WO2017002291A1 - 通信装置、通信システム、通信方法およびプログラム - Google Patents

通信装置、通信システム、通信方法およびプログラム Download PDF

Info

Publication number
WO2017002291A1
WO2017002291A1 PCT/JP2016/002167 JP2016002167W WO2017002291A1 WO 2017002291 A1 WO2017002291 A1 WO 2017002291A1 JP 2016002167 W JP2016002167 W JP 2016002167W WO 2017002291 A1 WO2017002291 A1 WO 2017002291A1
Authority
WO
WIPO (PCT)
Prior art keywords
packet
information
packets
parity
identification information
Prior art date
Application number
PCT/JP2016/002167
Other languages
English (en)
French (fr)
Inventor
深田 浩之
高弘 古谷
Original Assignee
ソニー株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ソニー株式会社 filed Critical ソニー株式会社
Priority to DE112016002961.6T priority Critical patent/DE112016002961T5/de
Priority to US15/739,461 priority patent/US10897372B2/en
Priority to JP2017525792A priority patent/JP6809456B2/ja
Priority to CN201680037705.8A priority patent/CN107710627B/zh
Publication of WO2017002291A1 publication Critical patent/WO2017002291A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/189Arrangements for providing special services to substations for broadcast or conference, e.g. multicast in combination with wireless systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3761Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 using code combining, i.e. using combining of codeword portions which may have been transmitted separately, e.g. Digital Fountain codes, Raptor codes or Luby Transform [LT] codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0076Distributed coding, e.g. network coding, involving channel coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/324Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the data link layer [OSI layer 2], e.g. HDLC
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/1515Reed-Solomon codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/152Bose-Chaudhuri-Hocquenghem [BCH] codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L2001/0092Error control systems characterised by the topology of the transmission link
    • H04L2001/0093Point-to-multipoint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L2001/0092Error control systems characterised by the topology of the transmission link
    • H04L2001/0097Relays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/08Access point devices

Definitions

  • the present disclosure relates to a communication device, a communication system, a communication method, and a program applied to broadcasting and mobile wireless communication.
  • a spatial diversity method (antenna selection method) that preferentially uses an antenna signal having a good radio wave condition for the same radio signal received by a plurality of antennas is known. Also known is a method of retransmitting data that could not be received to a base station.
  • Patent Document 1 has the following problems.
  • the control is complicated. In other words, the lack of packets is grasped based on the management information necessary to reconstruct the packets and the packet ownership information stored in the storage device, and the exchange when transmitting and receiving the missing packets between the wireless receivers is controlled. It will be necessary.
  • the communication amount of the local network used for data sharing is large. That is, it is necessary to transmit information such as which terminal owns the missing packet, and communication on the local network is required accordingly. It is necessary to transmit the shortage packet of each terminal, and the communication amount of the local network is required.
  • the number of terminals is limited. That is, since the amount of communication naturally increases as the number of terminals increases, the number of terminals is limited according to the communication capacity of the local network.
  • an object of the present disclosure is to provide a communication device, a communication system, a communication method, and a program that can solve these problems.
  • the present disclosure includes a function of receiving an information packet transmitted from a base station; A communication function that connects to a local network for sharing information between multiple terminals, The ability to generate parity packets; This is a communication device having a function of multicasting the generated parity packet and the identification information of all the source packets to the local network.
  • the present disclosure includes a function of receiving an information packet transmitted from a base station; A function of receiving the parity packet multicasted by another terminal and the identification information of all the source packets through the local network; A function of storing the received parity packet and identification information of all the generation packets in a storage unit; It is a communication device having a function of recovering a missing packet by using a parity packet and identification information of all generation packets.
  • the present disclosure includes a function of receiving an information packet transmitted from a base station; A communication function that connects to a local network for sharing information between multiple terminals, The ability to generate parity packets; A function to multicast the generated parity packet and the identification information of all the source packets to the local network; A function of receiving the parity packet multicasted by another terminal and the identification information of all the source packets through the local network; A function of storing the received parity packet and identification information of all the generation packets in a storage unit; It is a communication device having a function of recovering a missing packet by using a parity packet and identification information of all generation packets.
  • the present disclosure has a plurality of terminals that receive multicast or broadcast information packets from a base station, and a network for sharing information among the plurality of terminals,
  • This is a communication system in which a plurality of terminals transmit / receive a parity packet to / from each other multiple times to share information packets that could not be normally received by each terminal.
  • a plurality of terminals receive an information packet multicast or broadcast from a base station, and the information is shared among a plurality of terminals via a network.
  • This is a communication method in which a plurality of terminals transmit and receive parity packets to and from each other multiple times to share information packets that could not be normally received at each terminal.
  • This disclosure Receiving an information packet transmitted from a base station; A communication step of connecting to a local network for sharing information between a plurality of terminals; Generating a parity packet; Multicasting the generated parity packet and the identification information of all the source packets to the local network; Receiving the parity packet multicasted by another terminal and the identification information of all the source packets through the local network; Storing the received parity packet and identification information of all the generation packets in a storage unit; A program that causes a computer to execute a communication method including a step of recovering a missing packet by using a parity packet and identification information of all generation packets.
  • each terminal does not need to know missing information of other terminals and does not need to transmit control information thereof. Further, a parity packet is generated from the received data and is multicast-transmitted to each terminal. Since errors and missing parts at each terminal are different stochastically, it is possible to simultaneously recover errors / missing at a plurality of terminals with one parity packet. Therefore, the consumption of the communication capacity of the local network is small. Furthermore, it is not necessary to know the lost data of each terminal, and a recovery function can be simultaneously performed in a plurality of terminals by a parity packet.
  • the number of terminals is not limited according to the communication capacity of the local network.
  • the effect described here is not necessarily limited, and any effect described in this invention may be sufficient. Further, the contents of the present invention are not construed as being limited by the effects exemplified in the following description.
  • Tanner graph for explaining the present disclosure. It is a Tanner graph for explaining the present disclosure. It is a Tanner graph for explaining the present disclosure. It is a Tanner graph for explaining the present disclosure. It is a Tanner graph for explaining the present disclosure. It is a Tanner graph for explaining the present disclosure. It is a Tanner graph for explaining the present disclosure. It is a Tanner graph for explaining the present disclosure. It is a Tanner graph for explaining the present disclosure.
  • a base station (broadcast station or portable base station) 1 multicasts or broadcasts information data, for example, broadcast data.
  • a plurality of, for example, four terminals 2a, 2b, 2c, and 2d (which are simply referred to as terminals 2 when there is no need to distinguish between them) receive broadcast data information packets.
  • the multicast or broadcast from the base station is also realized by unicasting the same broadcast data from the base station to all the terminals 2.
  • Examples of the terminal 2 are a multi-function mobile phone (smartphone), a set top box, a television receiver, and the like.
  • the terminal 2 selects a plurality or a single information packet from the information packets that have been correctly received or recovered, and generates a parity packet by exclusive OR for each bit of the selected information packet.
  • the generated parity packet and the identification information of the source packet are multicast on the local network 3 to share the parity packet among the plurality of terminals 2.
  • the local network 3 is a network capable of multicast transmission, for example, a wired LAN (Local Area Network) or a wireless LAN (Local Area Network) capable of IP (Internet Protocol) multicast transmission.
  • Each terminal receives information packets every moment, but due to differences in reception conditions due to fading or the like, errors or disappearances (hereinafter simply referred to as disappearances) occur in information packets that are stochastically different at each terminal.
  • the parity generated from the information packet is shared between different terminals 2. Even a single parity packet may perform a recovery function for different information data of a plurality of terminals 2. By sharing a plurality of such parity packets, it is possible to recover information packets lost with high probability.
  • Data sharing by multicasting of parity packets eliminates the need for each terminal to know each error status (which information packet is wrong in which terminal) and can simultaneously perform a recovery function in a plurality of terminals 2 It is.
  • This numbering method when applied to the current broadcast, is a method of creating identification information using a PCR (Program Clock Reference) or continuity counter in MPEG2-TS, or a radio that transmits TS packets. It is conceivable to use a frame number, a counter value for removing jitter transmitted at the same time, or the like.
  • the sequence number and the time stamp value in the RTP packet header can be used as identification information.
  • such a sequence number or time stamp value has a continuous value between packets that are continuously transmitted (having a certain difference between successive packets), so that the terminal 2 It is possible to know the transmission order of information packets received every moment and the existence of lost packets.
  • the RTP sequence number is used as identification information
  • the RTP sequence number of a correctly received information packet is used as the identification information of the information packet.
  • the identification information of the lost information packet is also determined. be able to.
  • the information is not limited to the MPEG2-TS and RTP examples described above, and can be used as identification information as long as it is information uniquely determined between terminals for each information packet.
  • FIG. 2 shows the overall configuration of the first embodiment.
  • a base station (broadcast station or portable base station) 1 multicasts or broadcasts information data, for example, broadcast data through a medium (wireless communication medium) 4.
  • the terminals 2 are provided to communicate with each other via the local network 3.
  • the terminal 2 selects a plurality or a single information packet from the information packets that have been correctly received or recovered, and generates a parity packet by exclusive OR for each bit of the selected information packet.
  • the information packet used to generate the parity packet is referred to as a generation source information packet.
  • a set of identification information of the generation source information packet is referred to as a coding vector.
  • the generated parity packet and the coding vector of the parity packet are multicast on the local network 3, and the parity packet and the coding vector are shared among the plurality of terminals 2.
  • the terminal 2 that is a wireless communication device has the following functions. (1) Function for receiving information packet transmitted from base station 1 (2) Function for generating parity packet and coding vector from information packet (3) Function for multicast transmission of generated parity packet and coding vector to local network ( 4) A function for receiving parity packets and coding vectors transmitted from other terminals via multicast via the local network and storing the parity packets and coding vectors. (5) Using the saved parity packets and coding vectors, missing For recovering information packets
  • FIG. 3 shows a configuration of the terminal 2 according to the first embodiment. For simplicity, only two terminals 2a and 2b are shown. Since the terminals 2a and 2b have the same configuration, the terminal 2a will be described, and the corresponding components of the terminal 2b will be denoted by the same reference numerals and redundant description will be omitted.
  • the wireless unit 11 of the terminal 2 performs wireless communication through the base station 1 and the media 4.
  • the base station 1 transmits the data and the terminal 2 receives the transmission data.
  • the wireless unit 11 has an antenna function and an RF tuner function.
  • a demodulator 12 that demodulates the received data of the radio unit 11 is provided, and the demodulator 12 outputs, for example, an MPEG2-TS packet.
  • the same number of TS packets as the number of packets transmitted by the base station 1 are output from the demodulator 12 as error packets or the like at regular intervals. It is made so that.
  • the TS packet from the demodulation unit 12 is stored in the information packet storage unit 13. Note that identification information for identifying the packet is added to the TS packet.
  • the video data V and the audio data A are demodulated by being supplied to the A / V decoding unit 14. Video data V and audio data A are supplied to the display device 15, and video and audio are reproduced by the display device 15.
  • a parity packet storage unit 16 for storing parity packets is provided.
  • the information packet storage unit 13 and the parity packet storage unit 16 are connected to the parity sharing error control unit 17.
  • the parity sharing error control unit 17 has a function that is a feature of the present disclosure.
  • the parity sharing error control unit 17 performs encoding on the received information packet and recovery processing of the lost information packet using the parity packet obtained from another terminal.
  • other general parity generation methods and decoding methods based on forward error correction codes can be applied. The operation of the parity sharing error control unit 17 will be described with reference to FIGS.
  • FIG. 4 is a diagram for explaining the transmission of the information packet from the base station 1 and the generation of the parity packet at the terminal 2, and the operation is as follows.
  • Information packet transmission from the base station 1 and packet generation at the terminal (i) Information packets i [0], i [1], i [2], i [3], i [4], i [5], i [6], i [7] are transmitted from the base station 1 Is done.
  • x be the identification information of the information packet i [x].
  • the identification information of i [7] is 7.
  • received packets R1 [0], R1 [1],... corresponding to the packets i [0], i [1],. R1 [7] is received.
  • the received information packet R1 [2] shaded is a lost packet. For example, loss can be detected for each packet, and a flag indicating the loss is formed for each packet.
  • the received information packet is stored in the information packet storage unit 13.
  • the identification information of R1 [x] is x.
  • the identification information of R1 [7] is 7.
  • the terminal 2b also receives and stores information packets R2 [0], R2 [1],... R2 [7] corresponding to the packets transmitted from the base station 1.
  • the hatched information packet R2 [5] is a lost packet. Let the identification information of R2 [x] be x. For example, the identification information of R2 [7] is 7.
  • Parity packet generation (i) In the terminal 2a, the parity sharing error control unit 7 generates a parity packet.
  • a parity packet is generated by selecting a plurality or a single information packet from information packets that have been correctly received or recovered, and performing exclusive OR for each bit of the selected information packet (referred to as a source information packet). The From a received information packet (information packet that has not been lost), a predetermined number (four in the example of FIG. 4) of source information packets R1 [0], R1 [3], R1 [5 ], R1 [7] are selected, and an exclusive OR for each bit (indicated by EX-OR in the figure) is taken. The result is a parity packet P1 [0]. Also, the set ⁇ 0, 3, 5, 7 ⁇ of identification information of all the source information packets used for generating the parity packet P1 [0] is attached to the parity packet P1 [0] as a coding vector of P1 [0]. .
  • the parity packet generated at the Nth (the first parity packet is 0th) of the terminal 2a is denoted as P1 [N]
  • the coding vector of P1 [N] is denoted as V1 [N].
  • d1 [N] is the number of source information packets used for generating the Nth parity packet P1 [N].
  • the + symbol in the expression of P1 [N] means an exclusive OR operation for each bit in the packet.
  • An example of the terminal 2a in FIG. 4 can be expressed as follows.
  • the terminal 2b generates a parity packet P2 [0], and sets a set of identification numbers ⁇ 0, 2, 4, 7 ⁇ of the source packet used for generating the parity packet P2 [0] to P2 [0] Is attached to P2 [0] as a coding vector.
  • the parity packet generated by the terminal 2b at the Nth (the first parity packet is 0th) is denoted as P2 [N]
  • the coding vector of P2 [N] is denoted as V2 [N].
  • the coding vector V2 [N] is a vector value having one or a plurality of elements.
  • V2 [N] identification information of the source parity packet
  • V2 [N] ⁇ v2 [N, 0], v2 [N, 1], ... v2 [N, d2 [N]- 1] ⁇
  • d2 [N] is the number of source information packets selected when generating the Nth parity packet.
  • the + symbol in the expression of P2 [N] means an exclusive OR operation for each bit in the packet.
  • An example of the terminal 2b in FIG. 4 can be expressed as follows.
  • the parity packet generated at the terminal 2 Nth (the first generated parity packet is assumed to be 0th) is denoted as P [N], and the coding vector corresponding to P [N] is denoted as V [N].
  • the number of elements of V [N] is expressed as d [N]
  • d [N] is a positive integer determined in advance and is equal to or less than the number of elements of S. For example, a number such as 4 or 8. If these values exceed the number of elements of S, let the number of elements of S be d [N]. Further, since the recovery probability due to the generated parity packet varies depending on the value of d [N], d [N] depends on the packet loss rate when receiving the information packet transmitted from the base station 1 or the like. It is also possible to determine the value dynamically.
  • V [N] selection of source information packet
  • the identification information of the selected d [N] packets is the value of each element of V [N], and v [N, 0], v [N, 1], ..., v [N, d [ N] -1].
  • P [N] generation parity packet generation
  • FIG. 5 is a diagram for explaining the multicast transmission of the generated parity packet and the recovery of the lost packet, and the operation is as follows.
  • (3) Multicast transmission of parity packet (i) The terminal 2a multicast-transmits the parity packet P1 [0] and the coding vector V1 [0] to the local network 3. (ii) Similarly, the terminal 2b multicasts the parity packet P2 [0] and the coding vector V2 [0] to the local network 3.
  • the parity packet and the coding vector are concatenated and transmitted as a single packet on the local network 3.
  • the terminal 2b receives the parity packet P1 [0] and the accompanying coding vector V1 [0] sent on the local network 3, and stores them in the parity packet storage unit 16.
  • the terminal 2a receives the parity packet P2 [0] and the accompanying coding vector V2 [0] sent on the local network 3, and stores them in the parity packet storage unit 16.
  • R1 [0], R1 [4], R1 [7], and P2 [0] are data that has not been lost in the terminal 2a, if R1 [2] is solved, the lost information packet R1 [2] is recovered. it can.
  • R1 [2] R1 [0] + R1 [4] + R1 [7] + P2 [0]
  • R2 [5] R2 [0] + R2 [3] + R2 [7] + P1 [0]
  • the information packet recovery process is a process executed individually in each terminal 2 and is executed each time a parity packet is received and stored. In the state where a certain terminal 2 has received N parity packets and a coding vector, information packet recovery processing will be described below.
  • the “parity check process” shown below is executed for each of the N parity packets stored in the parity packet storage 16 of the terminal 2 and corresponding to the coding vector.
  • (ii-1) When one or more information packets are recovered as a result of (i), (i) is executed again.
  • (ii-2) If there is no recovered information packet as a result of (i), the recovery process is terminated.
  • Parity packet for parity check processing is expressed as P [x]
  • the corresponding coding vector is expressed as V [x]
  • the number of elements of V [x] is expressed as d [x]
  • the elements of V [x] V [x] ⁇ v [x, 0], v [x, 1], ..., v [x, d [x] -1]
  • the information packet of the identification information y is R [y ]
  • S ⁇ R [x]
  • the generator information packet of P [x], that is, d [x] information packets whose identification information is the value of each element of V [x] is R [v [x, 0]], R [v [x, 1]], ..., R [v [x, d [x] -1]].
  • R [z] P [x] + ⁇ ⁇ R [y]
  • y is included in the elements of V [x] and y is not equal to z ⁇
  • + calculates an exclusive OR for each bit of the packet
  • calculates an exclusive OR for each bit of the packet as an element.
  • the recovery equation for R [z] is a set of information packets having identification information included in V [x] ⁇ R [v [x, 0]], R1 [v [x, 1]], ... , R1 [v [x, d [x] -1]] ⁇ , all the information packets whose identification information is not z and the parity packet P [x] are lost by taking the bitwise exclusive OR. It shows that the information packet R [x] being recovered is recovered. Further, R [z] is included in the set S after the recovery process from the definition of the set S.
  • the above description is an operation description of the two terminals 2a and 2b, but each terminal 2 performs the same operation even when there are three or more terminals 2.
  • the parity packet is transmitted by multicast transmission not only to the terminals 2a and 2b but also to all the terminals 2 connected to the local network 3,
  • Each receiving terminal 2 receives the signals at the same time and performs a recovery process.
  • a plurality of terminals can simultaneously share a parity packet and perform lost packet recovery processing by multicast transmission, so that a load on the local network can be reduced. It is possible to efficiently share received data and recover lost packets.
  • the information packet from which the parity packet is generated is selected at random, and information on which information packet is lost in other terminals 2 is not required. Since there is no need to individually transmit individual lost packets of the terminal 2 as in the prior art, the number of terminals 2 is not limited with respect to the capacity of the local network 3.
  • FIG. 6 shows the effect of updating the selection probability of the information packet.
  • a line 20a is a case where the selection probability is always constant, and a line 20b is a case where the selection probability is updated by the above-described formula.
  • the selection probability is updated (line 20b), more packets can be recovered with a smaller number of parity packets.
  • FIG. 6 shows the effect of updating the selection probability of the information packet.
  • a line 20a is a case where the selection probability is always constant, and a line 20b is a case where the selection probability is updated by the above-described formula.
  • the selection probability is updated (line 20b), more packets can be recovered with a smaller number of parity packets.
  • Terminal 2 that performs only parity generation and parity transmission
  • Terminal 2 that only performs parity reception and information packet recovery
  • the above (i) is a terminal having only the functions (1), (2), and (3) among the functions described in paragraph [0019].
  • the above (ii) is a terminal having only the functions (1), (4), and (5) among the functions described in paragraph [0019].
  • a stationary broadcast receiving apparatus including an outdoor antenna such as a Yagi antenna is conceivable.
  • Such a broadcast receiving apparatus has a high broadcast receiving performance and is unlikely to lose an information packet when receiving the broadcast, so there is no need to recover lost packets. Therefore, it is conceivable to function as a terminal 2 that performs only parity generation / transmission as in (i) above. Further, as an example of the terminal 2 having the function (ii), a portable device such as a smartphone having a broadcast receiving function can be considered. When such a terminal is used indoors where broadcast reception conditions are poor, there is a high possibility that information packets will be lost during broadcast reception. Therefore, the terminal 2 that performs only the parity reception / recovery function as described in (ii) above. It can be considered to function as.
  • the parity packet can be generated using general error correction coding in addition to the method of this embodiment.
  • a parity packet can be generated using an error correction code such as a Reed-Solomon code, a BCH code, or an LDPC code.
  • the recovery process is performed by error correction decoding corresponding to the encoding of the parity packet.
  • Tanner graph a graph generally used to show the configuration of an error correction code such as LDPC. It consists of variable nodes and check nodes.
  • Variable node In the present disclosure, it corresponds to an information packet or a parity packet.
  • Check node Indicates a parity check relationship between variable nodes on a Tanner graph. The parity check relationship means a relationship between variable nodes connected to the check node, and is a relationship in which the exclusive OR of these variable nodes becomes zero. The lost packet is recovered by evaluating the parity check relationship at each check node.
  • a check node is added each time a coding vector associated with a parity packet is received.
  • Coding vector information accompanying a parity packet.
  • each terminal adds a check node and connects a variable node according to the received coding vector.
  • the second embodiment differs between the second embodiment and the first embodiment.
  • the first embodiment only the information packet received from the base station is used when generating the parity packet.
  • the second embodiment not only the information packet received from the base station but also a parity packet already shared on the local network is used.
  • the coding vector alone is not transmitted on the local network.
  • the second embodiment has a function of transmitting a single coding vector on a local network and sharing it between terminals.
  • the parity packet is multicast on the local network and shared by each terminal.
  • packet loss that is, loss of parity packets may occur.
  • the parity packet recovered by the function of (i) (the parity packet lost by local network transmission but recovered by other parity packets) is used.
  • the information packet can be recovered. Details of the functions (i) and (ii) will be described in paragraphs [0139] and [0140] described later.
  • FIG. 7 shows the configuration of the terminal in the second embodiment.
  • the broadcast receiver / demodulator 21 has an antenna function, an RF tuner function, and a demodulation function.
  • An MPEG2-TS packet is output from the broadcast receiving / demodulating unit 21.
  • the TS packet output from the broadcast receiving / demodulating unit 21 is supplied to the information packet identification information adding unit 22.
  • the information packet identification information adding unit 22 adds identification information to the MPEG2-TS packet output from the broadcast receiving / demodulating unit 21.
  • identification information for all packets that generate Paris packets is added.
  • the following can be used as a method for generating the identification information.
  • the identification information of the generation source information packet is generated from the MPEG2-TS PCR value.
  • the identification information of the generation source information packet is generated from the continuity counter of the MPEG2-TS packet header.
  • the identification information of the source information packet is generated by combining the PCR values of a plurality of programs multiplexed in MPEG2-TS and the continuity counters of a plurality of PIDs.
  • the generation source parity packet identification information is generated from information unique to the parity packet generation terminal and the number of parity packets already generated by the terminal. As information specific to the parity packet generation terminal, an IP address or a MAC address of the local network is used. Further, only the source information of the transmitted parity packet is multicast transmitted on the local network.
  • a plurality of programs are multiplexed in MPEG2-TS, but identification information is assigned to a PID that requires error control by parity sharing.
  • the identification information is a number common to other terminals sharing the parity packet.
  • the identification information is a value that can be uniquely determined from the broadcast reception signal.
  • the identification information is generated using continuity counter values and PCR values of a plurality of PID packets multiplexed in the same MPEG2-TS.
  • MPEG2-TS is configured by multiplexing in accordance with TS specified in MPEG2 (ISO / IEC 13818-1).
  • FIG. 8 shows an outline of MPEG2-TS.
  • MPEG2-TS uses fixed length (188 byte) packets.
  • a 4-byte header area is defined at the beginning of each packet, and an adaptation field that is a variable-length extension header and a payload for transmitting contents (video, audio, or additional data) are arranged in the remaining 184 bytes.
  • the header contains a 13-bit PID (packet ID).
  • the PID is an address that identifies the type of packet.
  • the PID is set for each moving image or audio stream, and the same PID is used for the same stream. For example, the moving picture PID of NHK general broadcasting is determined to be 256, and the audio PID is determined to be 272.
  • the 4-bit continuity counter in the header is a serial number given to packets with the same PID, and increments by 1 with 16 as a modulo (having a value of 0 to 15).
  • the adaptation field has a variable length in bytes.
  • As an extension function of the header there is a function of transmitting a PCR (Program Clock Reference) for a synchronization function.
  • the PCR is not always sent, and is usually transmitted as a value in the adaptation field at a cycle of 100 ms.
  • the cycle of the counter value is a counter that goes around once a day, and the resolution of the value is 90 kHz.
  • FIG. 9 shows an example in which audio (information rate lower than that of a moving image) is multiplexed and transmitted together with the moving image.
  • Each square block in FIG. 9 represents one TS packet, and the hatched TS packet is a voice packet.
  • the continuity counter value circulates with a value of 0 to 15 for each PID.
  • the value indicated by PCR indicates the PCR base value.
  • the identification information of the generation source packet is generated by combining a plurality of multiplexed push-pull PCR values and a plurality of PID continuity counters. For example, for moving picture packets (PID: 101), identification information (A, B, C) consisting of three numbers is generated and used as identification information for each packet.
  • identification information (A, B, C) consisting of three numbers is generated and used as the identification information of each TS packet.
  • A ([Latest PCR value] / [PCR cycle]) mod x
  • B [Latest continuity counter value of PID 102]
  • C [Continuity counter value of the corresponding packet with PID 101]
  • x is a parameter that determines the period of the identification information.
  • X is set so that the period of the identification information is larger than the information packet buffer size (Nimax).
  • the latest PCR value of the first moving image packet is (1234567), so the identification information is determined for this packet as follows.
  • identification information is given.
  • identification information is assigned to each moving picture packet in the same manner.
  • FIG. 8 is a diagram for explaining a method of generating identification information for an information packet (MPEG2-TS packet).
  • identification information having a long cycle can be obtained by combining a continuity counter of a plurality of PIDs and a PCR value.
  • identification information By generating the identification information in this way, common identification information can be given to the information packet between terminals sharing the parity packet.
  • identification information is generated by combining two PID continuity counter values and one PCR value, but it is also possible to combine more PID continuity counter values and PCR values. .
  • the number is expressed as a combination of three numbers, but can be expressed as one number.
  • the information packet with the identification information described above is output to the information packet input unit 23.
  • the information packet input unit 23 stores the TS packet provided with the identification information in the information packet storage unit 24.
  • InfoBuf [X] .data Stores 188 bytes of TS packet data.
  • InfoBuf [X] .info_id Stores identification information.
  • InfoBuf [X] .sel_prob This area stores the probability [relative probability] selected when generating a parity packet. Set 1.0 when storing new information packets.
  • FIG. 10 shows the configuration of the information packet storage unit 24.
  • InfoBuf [0] to InfoBuf [Nimax-1] are storage areas for storing information packets (MPEG2-TS packets) and information packet identification information. Stores Nimax packets at maximum.
  • loss A flag indicating an error or lost packet.
  • info_id An area for storing information packet identification information.
  • sel_prob an area for storing a probability (relative probability) selected at the time of parity packet generation. This value is a relative value between information packets. The initial value is 0.
  • data An area for storing MPEG2-TS packet data (188 bytes).
  • the relative selectivity sel_prob will be described. An information packet with a relatively high sel_prob value is selected as a parity packet generation source packet with a high probability, and conversely, an information packet with a small sel_prob value has a low probability of being selected as a parity packet generation source packet. By reducing this value according to the number of times of selection, it is possible to reduce the possibility that the same information packet is selected redundantly, and to generate an efficient parity packet.
  • the sel_prob value is updated by the encoding processing unit 32.
  • FIG. 11 shows the configuration of the parity packet storage unit 26.
  • Npmax is the number of parity packets that can be stored in the parity packet storage unit.
  • ParityBuf [0] to ParityBuf [Npmax-1] are storage areas for storing parity packets.
  • parity packet storage unit 26 Each element of the parity packet storage unit 26 will be described.
  • loss A flag indicating that the parity packet is in error or lost.
  • term_id Transmission terminal identification information that is unique among terminals sharing parity.
  • parity_id Parity packet identification information (unique within the terminal that generated the parity)
  • sel_prob Stores the probability of being selected as a parity packet generation source in the encoding processing unit.
  • the relative selectivity is a relative value between packets.
  • FIG. 12 shows the configuration of the check node storage unit 27.
  • the check node is an area for storing the parity check relationship between the information packet and the parity packet.
  • info_degree Stores the number of information packets connected to the check node.
  • pInfo [] Indicates the position (storage area address) of the data storage area (any of InfoBuf [0] to InfoBuf [Nimax-1]) of the information packet connected to the check node.
  • parity_degree Stores the number of parity packets connected to the check node.
  • pParity [] Indicates the position (storage area address) of the storage area (any one of ParityBuf [0] to ParityBuf [Npmax-1]) of the parity packet connected to the check node.
  • FIG. 13 shows a Tanner graph
  • FIGS. 14, 15 and 16 are diagrams illustrating specific examples of the correspondence relationship between the three storage units in the state of the Tanner graph of FIG.
  • the information packet storage unit 24 and the parity packet storage unit 26 correspond to variable nodes (also expressed as variable nodes, message nodes, etc.) in the Tanner graph, and the check node storage unit 27 corresponds to the check node.
  • variable nodes also expressed as variable nodes, message nodes, etc.
  • check node storage unit 27 corresponds to the check node.
  • seven information packets ⁇ A, B, C, D, E, F, G ⁇ shown in FIG. 14 and two parity packets ⁇ (J, K), (L, M) ⁇ shown in FIG. Are connected via check nodes ⁇ H, I ⁇ shown in FIG.
  • FIG. 13 shows that the parity packet (J, K) is generated by exclusive OR of four information packets ⁇ A, C, D, F ⁇ . That is, the four information packets ⁇ A, C, D, F ⁇ are the generation packets (generation information packets) of the parity packets (J, K).
  • the parity packet (L, M) is generated by exclusive OR of five information packets ⁇ B, C, D, E, G ⁇ and one parity packet (J, K). .
  • the five information packets ⁇ B, C, D, E, G ⁇ are the source information packets of the parity packets (L, M)
  • one parity packet (J, K) is the parity packet (L, M) is a source parity packet.
  • the check node is connected to the information packet and the parity packet, and is in a parity check relationship (a relationship in which the exclusive OR for each bit of all the connected packets is zero) between the connected packets. Hold. Using this parity check relationship, lost packets are recovered. In other words, if only one of the packets connected to the check node is lost, the lost packet can be recovered by taking an exclusive OR for each bit of the packet other than the lost packet. . For example, when the information packet G in FIG. 13 is lost and the other packets are not lost, the information packet G is divided into information packets B, C, D, E and parity packets ( J, K) (L, M) can be recovered by bitwise exclusive OR.
  • check node connection information is transmitted as a coding vector accompanying a parity packet.
  • a new check node is added every time a parity packet is received by a parity packet receiving process described later, and a connection between the check node and each packet is added according to the received coding vector. Also, as described in paragraphs [0131] to [0143], when only the coding vector is transmitted, a connection between the check node and each packet is added when the coding vector is received.
  • FIG. 17 is a flowchart showing a processing flow of the encoding processing unit 32.
  • Step ST1 The encoding process is started.
  • degree_i is the number of source information packets used for parity packet generation. Randomly determine a value between 1 and 12 as degree_i.
  • degree_i is determined by a predetermined probability distribution.
  • Step ST3 degree_p determination processing is performed.
  • Step ST4 Information packet selection processing is performed.
  • parityBuf [x] ParityBuf [x] .sel_prob * update_ratio update_ratio is set to a value such as 0.1, and the selection probability decreases each time the parity packet ParityBuf [x] is selected as the generation source.
  • Step ST6 A new parity packet generation process is performed.
  • a new parity packet is generated by taking an exclusive OR for each bit of the selected information packet and parity packet, and the new parity packet is added to the parity packet storage unit 26.
  • a check node corresponding to the added new parity packet is added to the check node storage unit 27.
  • the storage area for adding a new parity packet is ParityBuf [x]
  • the storage area for adding a new check node is CheckNode [y]
  • the source information packet is InfoBuf [a], InfoBuf [b], InfoBuf [c], generated If the original parity packet is ParityBuf [d], data is stored in ParityBuf [x] and CheckNode [y] as follows.
  • Step ST7 Parity packet transmission processing is performed.
  • a parity packet header is added to the newly generated parity packet, and the parity packet is transmitted to the RTP / UDP / IP protocol processing unit 30 as a parity packet transmission format.
  • RTP Real-time Transport Protocol
  • UDP User Datagram Protocol
  • IP Internet Protocol
  • FIG. 19 shows a parity packet transmission format.
  • the parity packet header part is an area in which identification information of a newly generated parity packet and source packet information (coding vector information) are stored.
  • parity_id_new Terminal identification information of the parity generation terminal (own terminal)
  • parity_id_new Parity_id of the newly generated parity packet info_degree: CheckNode [y] .info_degree info_id [0]: CheckNode [y] .pInfo [0]-> info_id info_id [1]: CheckNode [y] .pInfo [1]-> info_id ;
  • parity_degree CheckNode [y] .parity_degree term_id [0]: CheckNode [y] .pParity [0]-> term_id parity_id [0]: CheckNode [y] .Pparity [0]-> parity_id term_id [1]: CheckNode [y] .pParity [1]-> term_id parity_id [1]: CheckNode [y] .Pparity [1]-> parity_id ).
  • Transmission processing Multiple parity packet transmission formats output from the encoding processing unit 32 are combined according to the local network's MTU (Maximum Transmission Unit: maximum data size that can be transmitted once in the network), etc., and packetized according to each standard protocol Processing is performed, a predetermined multicast address is set as the destination IP address, and multicast transmission is performed to the local network.
  • MTU Maximum Transmission Unit: maximum data size that can be transmitted once in the network
  • a plurality of coding vector information output from the control unit 28 is combined according to the MTU of the local network, etc., packetized according to each standard protocol, a predetermined multicast address is set as the destination IP address, and the local network Multicast transmission.
  • the parity packet transmission format as a payload is passed to the parity packet input unit 31. If a plurality of parity packet transmission formats are included as the payload of the IP / UDP / RTP packet, it is divided into individual parity packet formats and passed to the parity packet input unit 31.
  • the coding vector information is passed to the control unit 28. If a plurality of coding vector information is included as the payload of the IP / UDP / RTP packet, it is divided into individual coding vector information and passed to the control unit 28.
  • the parity packet input unit 31 performs an addition process to the parity packet storage unit 26 and the check node storage unit 27 in accordance with the input parity packet transmission format.
  • the flowchart of FIG. 20 shows the processing flow of the parity packet input unit 31.
  • the process of FIG. 20 is executed each time a parity packet transmission format is input to the parity packet input unit 31.
  • parity packet input unit 31 a parity packet included in the parity transmission format input to the parity packet input unit 31 is referred to as a “received parity packet”, and a parity packet that already exists in the parity packet storage unit 26 is represented. Indicated as “existing parity packet”.
  • Step ST11 The processing of the packet input unit 31 is started.
  • Step ST12 Parity packet storage unit free area acquisition processing is performed. An area for storing the received parity packet is acquired from an empty area of the parity packet storage unit 26. Hereinafter, the acquired area of the received parity packet is denoted as ParityBuf [x].
  • Step ST13 Check node storage unit free area acquisition processing is performed. An area for storing the check node to be added is acquired from an empty area of the check node storage unit 27. Hereinafter, the acquired area is referred to as CheckNode [y].
  • Step ST14 Received parity packet addition processing is performed. Data is stored in ParityBuf [x] as follows according to the information of the parity packet transmission format.
  • Step ST15 Parity packet connection processing is performed. In accordance with the coding vector information, connection processing between the check node CheckNode [y] and the existing parity packet is performed.
  • Step ST16 Information packet connection processing is performed. A pointer to the information packet of the check node is set, and connection processing between the check node and the information packet is performed.
  • Step ST15 The connection process is started.
  • Step ST22 degree_p setting processing is performed.
  • the number of parity packet generation source packets is stored in degree_p of the additional check node.
  • CheckNode [y] .degree_p degree_p of coding vector information
  • Step ST24 Source parity packet search processing is performed. The parity packet storage unit 26 is searched for a parity packet having the same terminal identification information and parity packet identification information as the term_id [i] and parity_id [i] in the coding vector information.
  • Step ST25 It is determined whether or not the generation source parity packet exists in the parity packet storage unit 26.
  • ParityBuf [z] the area for storing the parity packet is denoted as ParityBuf [z] in the following description.
  • step ST25 If it is determined in step ST25 that the source parity packet exists in the parity packet storage unit 26, the process proceeds to the check node connection process ST26. If it is determined in step ST25 that the generation source parity packet does not exist, the process proceeds to a parity packet storage unit free area acquisition process ST27.
  • Step ST27 A free area acquisition process is performed from the parity packet storage unit 26.
  • the acquired parity packet area is expressed as ParityBuf [z].
  • Step ST28 Parity packet addition processing is performed. Store data in ParityBuf [z] as follows.
  • the flowchart of FIG. 22 shows information packet connection processing (step ST16).
  • connection processing between the check node and the information packet is performed.
  • Step ST31 The connection process is started.
  • the number of parity packet generation source packets is stored in degree_i of the additional check node as follows.
  • CheckNode [y] .degree_i degree_i of coding vector information
  • Step ST34 Generation parity packet search processing is performed.
  • the information packet storage unit 24 is searched for an information packet having the same identification information as the info_id [i] of the coding vector information.
  • Step ST35 It is determined whether or not the generation source information packet exists in the information packet storage unit 24.
  • the information packet will be denoted as InfoBuf [z] in the following description.
  • step ST35 If it is determined in step ST35 that the generation source information packet exists in the information packet storage unit 24, the process proceeds to the check node connection process ST36. If it is determined in step ST35 that the generation source information packet does not exist, the process proceeds to information packet storage unit free area acquisition processing ST37.
  • Step ST37 A free area acquisition process is performed from the information packet storage unit 24.
  • the acquired information packet area is denoted as InfoBuf [z].
  • Step ST38 Information packet addition processing is performed. Store data in InfoBuf [z] as follows.
  • InfoBuf [z] Store data in InfoBuf [z] as follows.
  • Step ST36 A check node connection process is performed.
  • the pointer to the information packet of the check node is set as follows, and the check node and the information packet are connected.
  • CheckNode [y] .pInfo [i] & InfoBuf [z]
  • Step ST39 The parity packet connection process ends.
  • Step ST17 Check node queue addition processing is performed. CheckNode [y] is added to the check node queue of the decoding processing unit 25. Step ST18: The processing of the parity packet input unit ends.
  • Step ST41 The decoding process is started.
  • Step ST42 It is determined whether or not the number of items in the check node queue is zero.
  • the check node queue is a FIFO (First-In First-Out) type buffer having a pointer to a check node that needs processing as an element.
  • step ST42 If it is determined in step ST42 that the number of check nodes registered in the check node queue is 0, the decoding process is terminated (step ST43). If there is a check node waiting for processing in the check node queue in step ST42, the process proceeds to check node acquisition processing (step ST44).
  • Step ST44 The check node acquisition process extracts a check node waiting for processing from the check node queue. In the following description, the check node taken out here is represented as CheckNode [x].
  • Step ST45 A process is performed for the check node taken out.
  • Step ST51 Check node processing is started.
  • Step ST52 The number of lost packets is counted. In step ST52, it is confirmed whether all information packets and parity packets connected to CheckNode [x] are lost packets, and the number of lost packets is counted. Whether it has disappeared is confirmed by the disappearance flag (loss value).
  • Step ST53 It is determined whether or not the number of lost packets is 1.
  • Step ST46 The presence / absence of a recovery packet is determined. If there is no recovery packet, the process returns to the check node acquisition process (step ST42).
  • Step ST47 If it is determined that there is a recovery packet, check node queue addition processing is performed.
  • the check node addition process the check node connected to the recovery packet InfoBuf [x] is searched in the check node storage unit 27, and the check node connected to InfoBuf [x] is added to the check node queue. After the check node addition process, the process returns to the check node acquisition process (step ST42).
  • the information packet output unit 33 selects the information packet having the oldest order from the information packets stored in the information packet storage unit 24, and outputs the data part to the CAS (Conditional Access System) descrambling unit 34 at the subsequent stage. To do.
  • the order of the information packets can be determined from the identification information.
  • the area of the information packet output to the subsequent stage is an empty area.
  • the CAS descrambling unit 34 performs a conditional access descrambling process.
  • the output of the CAS descrambling unit 34 is supplied to the Demux / A / V decoding unit 35.
  • the Demux / A / V decoding unit 35 demultiplexes and decodes the MPEG2-TS output from the information packet output unit 33 and outputs video / audio data.
  • the video / audio data is supplied to the display unit 36.
  • the display unit 36 displays video data and outputs audio.
  • parity packets are generated and shared using information packets before descrambling performed by the CAS descrambling unit 34. Since the parity packet is generated and shared using the scrambled information packet, it is possible to realize data sharing via the local network with the copyright protected.
  • the control unit 28 controls operation parameters and operation timing of each function, and monitors the state of each function. Control / monitoring for each function will be described below. Control / monitoring for the encoding processing unit 32 is to instruct the execution timing of processing.
  • FIG. 26 is an explanatory diagram of the encoding processing timing of the encoding processing unit 32. As shown in FIG. 26, encoding processing is performed at the parity packet generation cycle Tgen, and when five parity packets are generated, the RTP / UDP / IP protocol processing unit 30 combines the five parity packets to generate a local network interface. Multicast transmission to the local network through the unit 29 is performed.
  • the control unit 28 instructs the encoding processing unit 32 to execute processing at the parity packet generation cycle with reference to the input timing of the information packet obtained from the parity packet input unit 31.
  • Coding vector information is generated from the check node information corresponding to the parity packet generated by the own terminal in the check node storage unit 27 and output to the RTP / UDP / IP protocol processing unit 30. This process is performed at a predetermined cycle.
  • the check node used for generating the coding vector information is randomly selected from the check node storage unit 27.
  • FIG. 27 shows coding vector information.
  • the check node selected from the check node storage unit 27 is CheckNode [y]
  • each element of the coding vector is determined as follows.
  • info_degree CheckNode [y] .info_degree info_id [0]: CheckNode [y] .pInfo [0]-> info_id info_id [1]: CheckNode [y] .pInfo [1]-> info_id ;
  • parity_degree CheckNode [y] .parity_degree term_id [0]: CheckNode [y] .pParity [0]-> term_id parity_id [0]: CheckNode [y] .Pparity [0]-> parity_id term_id [1]: CheckNode [y] .pParity [1]-> term_id parity_id [1]: CheckNode [y] .Pparity [1]-> parity_id ; [parity_degree items continued]
  • the parity packet that cannot be received by the other terminal due to packet loss or the like on the local network even though it is transmitted from the own terminal is also configured in the other terminal.
  • the check node can be generated by acquiring information (source packet information). Transmission of coding vector information can perform a recovery function against packet loss on the local network.
  • the coding vector information reception process will be described. According to the coding vector information obtained from the RTP / UDP / IP protocol processing unit 30, it is added to the check node storage unit 27.
  • Step ST61 The coding vector input process is started.
  • Step ST62 A check node search process is performed.
  • the check node storage unit 27 is searched for the same check node as the received coding vector information (the identification information of all packets connected to the check node matches the received coding vector information).
  • Step ST63 It is determined whether or not the same check node exists. If the same check node exists, the process ends (step ST64).
  • Step ST65 When it is determined in step ST63 that the same check node does not exist, check node storage unit free area acquisition processing is performed.
  • the parity packet connection process (step ST66), the information packet connection process (step ST67), and the check node queue addition process (step ST68) after the check node storage unit free area acquisition process (step ST65) are shown in FIGS. This is the same as the processing of the parity packet input unit 31 described with reference to the flowchart of FIG.
  • Vi [x] ⁇ vi [x, 0], vi [x, 1], ..., vi [x, di [x], a set of identification numbers of the source information packets of the parity packet P [x] -1] ⁇ .
  • di [x] is the number of source information packets of P [x].
  • a set of identification numbers of parity packets P [x] that are generated from the source packet, Vp [x] ⁇ vp [x, 0], vp [x, 1], ..., vp [x, dp [1] -1] ⁇ .
  • dp [x] is the number of generation parity packets of P [x]. For example, since P [2] in FIG.
  • FIGS. 30 to 33 show a process in which a certain terminal sequentially receives parity packets from other terminals. It is a figure explaining operation
  • FIG. 32 shows a state where the parity packet P [3] is received
  • FIG. 33 shows a state where the parity packet P [4] is received.
  • the check nodes connect the source packets based on the information of the accompanying coding vectors Vi and Vp.
  • the operation when the information packet I [1] and the parity packet P [1] are lost is taken as an example.
  • the effect of using a packet and the effect of transmitting only a coding vector will be described.
  • the state shown in FIG. 34 is obtained. Since the parity packet P [1] and the coding vectors Vi [1] and Vp [1] are combined in the encoding processing unit 32 and then transmitted to the local network, the parity packet P [1] is lost in transmission on the local network. In this case, the accompanying coding vectors Vi [1] and Vp [1] are also lost.
  • the parity packet when there is a possibility that the parity packet may be lost on the local network, the parity packet was lost by using not only the information packet but also other already generated / shared parity packets.
  • the parity packet can be recovered, and further, the lost information packet can be recovered by transmitting only the coding vector generated in the past again. Also, since the coding vector information does not include the data to be transmitted (payload) and the amount of information is small, the load on the local network at the time of transmission is small, and it is possible to efficiently recover lost data.
  • the embodiment of the present disclosure described above has the following effects. (1) A spatial diversity effect is obtained, and reception quality is increased. (2) Compared to normal antenna diversity, a diversity effect is obtained between freely movable terminals, so that fading correlation is lowered, and a high diversity effect can be expected. (3) The number of terminals is not limited, and reception quality of many terminals can be improved at the same time. (4) By sharing the parity packet among a plurality of terminals at the same time, the load on the local network can be reduced. (5) Also serves as error control for packet loss on the local network. (6) An efficient parity packet can be generated by updating the probability of selecting a generation source packet when generating a parity packet.
  • this indication can also take the following structures.
  • a function of receiving information packets transmitted from the base station A communication function that connects to a local network for sharing information between multiple terminals, The ability to generate parity packets;
  • a communication device comprising a function of multicasting the generated parity packet and identification information of all the generation source packets to the local network.
  • (2) A function of receiving information packets transmitted from the base station; A function of receiving, through the local network, the parity packet multicasted by another terminal and identification information of all the source packets; A function of storing the received parity packet and identification information of all generation packets in a storage unit;
  • a communication device comprising: a function of recovering a missing packet using the parity packet and identification information of all the generation packets.
  • a function of receiving information packets transmitted from the base station A communication function that connects to a local network for sharing information between multiple terminals, The ability to generate parity packets; A function of multicasting the generated parity packet and identification information of all the generation packets to the local network; A function of receiving, through the local network, the parity packet multicasted by another terminal and identification information of all the source packets; A function of storing the received parity packet and identification information of all generation packets in a storage unit; A communication device comprising: a function of recovering a missing packet using the parity packet and identification information of all the generation packets.
  • a plurality of information packets are selected from information packets that have been correctly received or recovered, and error correction coding is performed on the selected information packets to generate one or a plurality of parity packets (1), ( The communication device according to any one of 2) and (3).
  • a plurality or a single information packet is selected from information packets that have been correctly received or recovered, and the parity packet is generated by exclusive OR for each bit of the selected information packet (1), (2 ) And (3).
  • (6) The communication apparatus according to (5), wherein one or a plurality of generation source packets used for generation of the parity packet are randomly selected.
  • the communication apparatus according to any one of (1), (2), and (3), wherein the identification information of the generation source information packet is generated from a PCR value of MPEG2-TS.
  • identification information of a generation source information packet is generated from a continuity counter of an MPEG2-TS packet header.
  • the identification information of the generation source information packet is generated by combining the PCR values of a plurality of programs multiplexed in MPEG2-TS and the continuity counters of a plurality of PIDs (1), (2) and (3) The communication apparatus in any one of.
  • the communication device (14) The communication device according to (6), wherein the identification information of the generation source parity packet is generated from information unique to the parity packet generation device and the number of parity packets already generated by the terminal. (15) A packet having the same identification information as the generation packet of the reception parity packet is searched from the storage unit, and if only one missing packet is generated among the generation packets, the reception parity packet and the other generation packet are exclusive.
  • the communication device according to (1) or (3), wherein the lost packet is recovered by logical sum.
  • a plurality of terminals that receive multicast or broadcast information packets from a base station, and a network for sharing information among the plurality of terminals, A communication system in which the plurality of terminals transmit and receive parity packets to and from each other a plurality of times to share information packets that could not be normally received by each terminal.
  • one or a plurality of terminals is a first communication device that only generates and transmits a parity packet
  • the other plurality of terminals are second communication devices
  • the first communication device is: A function of receiving information packets transmitted from the base station; A communication function that connects to a local network for sharing information between multiple terminals, A function of generating the parity packet; A function of multicasting the generated parity packet and identification information of all the source packets to the local network
  • the second communication device is: A function of receiving an information packet transmitted from the base station; A function of receiving, through the local network, the parity packet multicasted by the first communication device and identification information of all the generation packets; A function of storing the received parity packet and identification information of all the generation source packets in a storage unit;
  • the communication system according to (16) which is a communication device having a function of recovering a missing packet using the parity packet and identification information of all the generation packets.
  • Each of the plurality of terminals is A function of receiving information packets transmitted from the base station; A communication function for connecting to a local network for sharing information among multiple receiving terminals, The ability to generate parity packets; A function of multicasting the generated parity packet and identification information of all the generation packets to the local network; A function of receiving, through the local network, the parity packet multicasted by another terminal and the identification information of all the source packets; A function of storing the received parity packet and identification information of all the generation source packets in a storage unit; The communication system according to (16), further including a function of recovering a missing packet using the parity packet and identification information of all the generation source packets.
  • a plurality of terminals receive multicast or broadcast information packets from a base station, share information among the plurality of terminals via a network, A communication method in which the plurality of terminals recovers information packets that could not be normally received at each terminal by transmitting and receiving parity packets to and from each other multiple times.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Probability & Statistics with Applications (AREA)
  • Quality & Reliability (AREA)
  • General Physics & Mathematics (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Error Detection And Correction (AREA)

Abstract

基地局から送信された情報パケットを受信する機能と、複数の受信端末で情報を共有するためのローカルネットワークに接続する通信機能と、パリティパケットを生成する機能と、生成したパリティパケットと生成元パケットすべての識別情報とをローカルネットワークにマルチキャストする機能と、他の端末がマルチキャストしたパリティパケットと生成元パケットすべての識別情報とをローカルネットワークを通じて受信する機能と、受信したパリティパケットと生成元パケットすべての識別情報とを記憶部に保存する機能と、パリティパケットと生成元パケットすべての識別情報とを使用して欠落しているパケットを回復させる機能とを備える。

Description

通信装置、通信システム、通信方法およびプログラム
 本開示は、放送や携帯無線通信に適用される通信装置、通信システム、通信方法およびプログラムに関する。
 通信の質を向上させるために、複数のアンテナで受信した同一の無線信号に関して、電波状況の良いアンテナの信号を優先的に用いる空間ダイバーシティ方式(アンテナ選択方式)が知られている。また、受信できなかったデータを、基地局に再送信させる方式も知られている。
 これらの方式では、基地局と受信機との間の回線が確保されていることが必要とされる。そのため、回線の確保が困難な場合には、これらの方式を使用することができない。このような問題に対処するために、複数の受信機がネットワークを構成し、複数の受信機間で放送データを共有し、ネットワークを介して他の受信機から受信できなかったデータを収集する方式が提案されている(特許文献1参照)。
特開2002-141856号公報
 特許文献1に記載の方式は、下記の問題点がある。
 第1に制御が複雑である。すなわち、パケットを再構成するために必要な管理情報と、記憶装置に蓄積されたパケットの所有情報とにより不足するパケットを把握し、無線受信機間で不足パケットを送受信する際のやりとりを制御することが必要となる。
 第2に、データ共有のために使用するローカルネットワークの通信量が大きい。すなわち、どの端末が不足パケットを所有しているかといった情報を伝達する必要があり、その分ローカルネットワークでの通信が必要となってしまう。各端末の不足パケットをそれぞれ伝送する必要があり、ローカルネットワークの通信量を必要としてしまう。
 第3に端末数に制限が生じる。すなわち、端末が増えると当然通信量が増えるため、ローカルネットワークの通信容量に応じて、端末数に制限が生じる。
 したがって、本開示の目的は、これらの問題点が解消できる通信装置、通信システム、通信方法およびプログラムを提供することにある。
 上述の課題を解決するために、本開示は、基地局から送信された情報パケットを受信する機能と、
 複数の端末間で情報を共有するためのローカルネットワークに接続する通信機能と、
 パリティパケットを生成する機能と、
 生成したパリティパケットと生成元パケットすべての識別情報とをローカルネットワークにマルチキャストする機能と
 を備える通信装置である。
 本開示は、基地局から送信された情報パケットを受信する機能と、
 他の端末がマルチキャストしたパリティパケットと生成元パケットすべての識別情報とをローカルネットワークを通じて受信する機能と、
 受信したパリティパケットと生成元パケットすべての識別情報とを記憶部に保存する機能と、
 パリティパケットと生成元パケットすべての識別情報とを使用して欠落しているパケットを回復させる機能と
 を備える通信装置である。
 本開示は、基地局から送信された情報パケットを受信する機能と、
 複数の端末間で情報を共有するためのローカルネットワークに接続する通信機能と、
 パリティパケットを生成する機能と、
 生成したパリティパケットと生成元パケットすべての識別情報とをローカルネットワークにマルチキャストする機能と、
 他の端末がマルチキャストしたパリティパケットと生成元パケットすべての識別情報とをローカルネットワークを通じて受信する機能と、
 受信したパリティパケットと生成元パケットすべての識別情報とを記憶部に保存する機能と、
 パリティパケットと生成元パケットすべての識別情報とを使用して欠落しているパケットを回復させる機能と
 を備える通信装置である。
 本開示は、基地局からマルチキャストまたはブロードキャストされた情報パケットを受信する複数の端末と、複数の端末同士で情報を共有するためのネットワークとを有し、
 複数の端末が複数回にわたりパリティパケットをお互いに送受信して共有することにより、各端末で正常に受信できなかった情報パケットを回復するようにした通信システムである。
 本開示は、複数の端末が基地局からマルチキャストまたはブロードキャストされた情報パケットを受信し、ネットワークを介して複数の端末同士で情報を共有し、
 複数の端末が複数回にわたりパリティパケットをお互いに送受信して共有することにより、各端末で正常に受信できなかった情報パケットを回復するようにした通信方法である。
 本開示は、
 基地局から送信された情報パケットを受信するステップと、
 複数の端末間で情報を共有するためのローカルネットワークに接続する通信ステップと、
 パリティパケットを生成するステップと、
 生成したパリティパケットと生成元パケットすべての識別情報とをローカルネットワークにマルチキャストするステップと、
 他の端末がマルチキャストしたパリティパケットと生成元パケットすべての識別情報とをローカルネットワークを通じて受信するステップと、
 受信したパリティパケットと生成元パケットすべての識別情報とを記憶部に保存するステップと、
 パリティパケットと生成元パケットすべての識別情報とを使用して欠落しているパケットを回復させるステップと
 を有する通信方法をコンピュータに対して実行させるプログラムである。
 少なくとも一つの実施形態によれば、各端末が他の端末の欠落情報を知る必要はなく、それらの制御情報を伝送する必要がない。さらに、受信できているデータからパリティパケットを生成し、各端末へマルチキャスト伝送する。各端末での誤りや欠落部分が確率的に異なるため、ひとつのパリティパケットによって複数の端末の誤り・欠落の回復を同時に行うことができる。したがって、ローカルネットワークの通信容量の消費が少ない。さらに、端末各々の消失データを互いに知る必要がなく、かつ、パリティパケットにより複数の端末において同時に回復機能を果たすことが可能である。また、マルチキャスト伝送を用いてパリティパケットを共有することにより、全端末が同一のパリティパケットを同時に受信し、同時に消失パケットの回復が可能であることから、ローカルネットワークの負荷が端末数に依存せず、従来技術のようにローカルネットワークの通信容量に応じて端末数が制限されることが無い。なお、ここに記載された効果は必ずしも限定されるものではなく、この発明中に記載されたいずれの効果であってもよい。また、以下の説明における例示された効果によりこの発明の内容が限定して解釈されるものではない。
本開示のシステムの説明に使用するブロック図である。 本開示の第1の実施の形態の全体構成を示すブロック図である。 全体構成と端末の構成を示すブロック図である。 本開示の動作を説明するための略線図である。 本開示の動作を説明するための略線図である。 本開示の情報パケットの選択率を更新する効果を説明するためのグラフである。 本開示の第2の実施の形態における端末の構成のブロック図である。 トランスポートストリームを説明するための略線図である。 識別情報の付加の方法の一例を説明するための略線図である。 情報パケット記憶部の記憶領域を説明するための略線図である。 パリティパケット記憶部の記憶領域を説明するための略線図である。 チェックノード記憶部の記憶領域を説明するための略線図である。 タナーグラフを説明するための略線図である。 タナーグラフと対応する情報パケット記憶部を説明するための略線図である。 タナーグラフと対応するチェックノード記憶部を説明するための略線図である。 タナーグラフと対応するパリティパケット記憶部を説明するための略線図である。 エンコード処理部の処理を説明するためのフローチャートである。 パリティ生成に使用する情報パケットの選択範囲を説明するための略線図である。 パリティパケット伝送フォーマットを説明するための略線図である。 パリティパケット入力部の処理を説明するためのフローチャートである。 パリティパケット接続処理を説明するためのフローチャートである。 情報パケット接続処理を説明するためのフローチャートである。 デコード処理部の処理を説明するためのフローチャートである。 チェックノードキューを説明するための略線図である。 チェックノード処理を説明するためのフローチャートである。 エンコード処理のタイミングを説明するためのタイミングチャートである。 コーディングベクタ情報を説明するための略線図である。 コーディングベクタ情報受信処理を説明するためのフローチャートである。 本開示を説明するためのタナーグラフである。 本開示を説明するためのタナーグラフである。 本開示を説明するためのタナーグラフである。 本開示を説明するためのタナーグラフである。 本開示を説明するためのタナーグラフである。 本開示を説明するためのタナーグラフである。 本開示を説明するためのタナーグラフである。
 以下に説明する実施の形態は、本開示の好適な具体例であり、技術的に好ましい種々の限定が付されている。しかしながら、本開示の範囲は、以下の説明において、特に本開示を限定する旨の記載がない限り、これらの実施の形態に限定されないものとする。
 なお、本開示の説明は、下記の順序にしたがってなされる。
<1.本開示の概要>
<2.第1の実施の形態>
<3.第2の実施の形態>
<4.変形例>
<1.本開示の概要>
 図1を参照して本開示の概要について説明する。基地局(放送局または携帯基地局)1が情報データ例えば放送データをマルチキャストまたはブロードキャストする。複数例えば4個の無線通信の通信装置である端末2a,2b,2cおよび2d(これらの端末を特に区別する必要がない場合は単に端末2と称する)が放送データの情報パケットを受信する。上記、基地局からのマルチキャストまたはブロードキャストは、端末2全てに対して同一の放送データを基地局からユニキャストすることによっても実現される。端末2の例としては、多機能携帯電話(スマートフォン)や、セットトップボックス、テレビ受像機等である。
 端末2は、正しく受信、もしくは回復できた情報パケットの中から複数もしくは単数の情報パケットを選択し、選択された情報パケットのビット毎の排他的論理和により、パリティパケットを生成する。生成されたパリティパケットと、生成元パケットの識別情報をローカルネットワーク3上でマルチキャストして、複数の端末2間で、パリティパケットを共有する。ローカルネットワーク3は、マルチキャスト伝送の可能なネットワークであり、例えばIP(Internet Protocol)マルチキャスト伝送が可能な有線LAN(Local Area Network)や無線LAN(Local Area Network)である。
 各端末では、刻々と情報パケットを受信しているが、フェージング等による受信状況の違いにより、各端末では確率的に異なる情報パケットで誤りまたは消失(以下単に消失と称する)が生じる。このような消失を回復するために、異なる端末2間で情報パケットから生成されたパリティを互いに共有する。一つのパリティパケットであっても、複数の端末2の異なる情報データに対して回復機能を果たす可能性がある。そのようなパリティパケットを複数共有することによって、高い確率で消失した情報パケットが回復可能となる。
 パリティパケットのマルチキャストによるデータ共有は、各端末が各々のエラー状況(どの端末でどの情報パケットが誤っているのか)を知る必要がなく、かつ、複数の端末2において同時に回復機能を果たすことが可能である。
 現状の放送に対して適用する場合、MPEG2(Moving Picture Experts Group Phase 2)-TS(Transport Stream)パケット(もしくはこれを複数結合したもの)に対してパリティ生成を行う必要がある。この場合、MPEG2-TS受信データのみから一意に識別情報を付与する必要がある(各端末で同一の番号付けが可能な方法が必要)。この番号付けの方法は、現在の放送へ適用する場合、MPEG2-TS内のPCR(Program Clock Reference)やコンティニュイティ・カウンタを使用して識別情報を作りだす方法や、TSパケットが伝送された無線フレームの番号や、同時に伝送されているジッタ除去用のカウンタ値などを使用することが考えられる。
 また、基地局からの情報パケットがRTP(Real-time Transport Protocol)により伝送されている場合、RTPパケットヘッダ内のシーケンス番号やタイムスタンプ値を識別情報に用いることができる。一般的にこのようなシーケンス番号やタイムスタンプ値は、連続して送信されているパケット間においては連続的な値を持つ(連なるパケット間で一定の差分を持つ)ので、端末2が基地局1から刻々と受信している情報パケットの送信順序や、消失パケットの存在を知ることが可能である。
 例えば上記RTPのシーケンス番号を識別情報として用いる場合、正しく受信済みの情報パケットのRTPシーケンス番号をその情報パケットの識別情報とする。もし受信済みの一連の情報パケットのRTPシーケンス番号に欠落があれば、欠落しているRTPシーケンス番号が消失した情報パケットのRTPシーケンス番号であるから、消失している情報パケットの識別情報についても決めることができる。
 上述のMPEG2-TSやRTPの例に限らず、各情報パケットに対して、端末間で一意に決められる情報であれば、その情報を識別情報とすることができる。
<2.第1の実施の形態>
 本開示の第1の実施の形態について以下説明する。図2は、第1の実施の形態の全体構成を示す。図1と同様に、基地局(放送局または携帯基地局)1が情報データ例えば放送データをメディア(無線通信メディア)4を通じてマルチキャストまたはブロードキャストする。複数例えば3個の無線通信の通信装置である端末2a,2bおよび2c(これらの端末を特に区別する必要がない場合は単に端末2と称する)が放送データの情報パケットを受信する。
 端末2は、ローカルネットワーク3を介して互いに通信するように設けられている。端末2は、正しく受信、もしくは回復できた情報パケットの中から複数もしくは単数の情報パケットを選択し、選択された情報パケットのビット毎の排他的論理和により、パリティパケットを生成する。パリティパケットを生成するのに使用した情報パケットを生成元情報パケットと称する。生成元情報パケットの識別情報の集合をコーディングベクタと称する。生成されたパリティパケットと、そのパリティパケットのコーディングベクタをローカルネットワーク3上でマルチキャストして、複数の端末2間で、そのパリティパケットおよびコーディングベクタを共有する。
 無線通信装置である端末2は、下記の機能を有する。
 (1)基地局1から送信された情報パケットを受信する機能
 (2)情報パケットからパリティパケットおよびコーディングベクタを生成する機能
 (3)生成したパリティパケットおよびコーディングベクタをローカルネットワークにマルチキャスト送信する機能
 (4)他の端末がマルチキャスト送信したパリティパケットおよびコーディングベクタをローカルネットワークを通じて受信し、パリティパケットと、コーディングベクタを保存する機能
 (5)保存したパリティパケットと、コーディングベクタを使用して、欠落している情報パケットを回復させる機能
 図3は、第1の実施の形態の端末2の構成を示す。簡単のため、2つの端末2aおよび2bのみが示されている。端末2aおよび2bは、同一の構成とされているので、端末2aについて説明し、端末2bの対応する構成要素に対しては、同一の参照符号を付して重複した説明を省略する。
 端末2の無線部11は、基地局1とメディア4を通じて無線通信を行う。基地局1からが送信され、端末2が送信データを受信する。例えば無線部11は、アンテナ機能、RFチューナ機能を有する。無線部11の受信データを復調する復調部12が設けられ、復調部12は、例えばMPEG2-TSパケットを出力する。本実施の形態ではフェージング等により受信状態が悪くなった場合においても、基地局1が送信しているパケット数と等しい数のTSパケットがエラーパケット等として、一定の間隔で復調部12から出力されるようになされている。
 復調部12からのTSパケットは、情報パケット記憶部13に記憶される。なお、TSパケットに対しては、パケットを識別するための識別情報が付加される。A/Vデコード部14に供給され、ビデオデータVおよびオーディオデータAが復調される。ビデオデータVおよびオーディオデータAが表示装置15に供給され、ビデオおよびオーディオが表示装置15によって再生される。
 パリティパケットを記憶するパリティパケット記憶部16が設けられている。情報パケット記憶部13とパリティパケット記憶部16がパリティ共有誤り制御部17と接続されている。このパリティ共有誤り制御部17が本開示の特徴とする機能を備えている。パリティ共有誤り制御部17では受信した情報パケットに対する符号化と、他の端末から得られたパリティパケットを用いて消失情報パケットの回復処理を行う。以降の本実施例で記載するパリティ生成方法や復号方法以外にも、他の一般的な前方誤り訂正符号に基づいたパリティの生成方法、復号方法を適用することが可能である。図4および図5を参照してパリティ共有誤り制御部17の動作について説明する。
 図4は、基地局1からの情報パケットの送信と、端末2でのパリティパケットの生成について説明する図で、以下のような動作となる。
(1)基地局1からの情報パケットの送信と、端末でのパケットの生成
(i)基地局1から情報パケットi[0],i[1],i[2],i[3],i[4],i[5],i[6],i[7]が送信される。情報パケットi[x]の識別情報をxとする。たとえばi[7]の識別情報は7である。
(ii)端末2aでは、基地局1から送信されたパケットi[0],i[1], ・・・i[7]に対応した受信パケットR1[0],R1[1],・・・R1[7]が受信される。ただし、斜線を付した受信した情報パケットR1[2]は消失したパケットである。例えばパケット毎に消失を検出することが可能とされ、パケット毎に消失を示すフラグが形成される。受信した情報パケットは情報パケット記憶部13に保存される。R1[x]の識別情報をxとする。たとえばR1[7]の識別情報は7となる。
(iii)端末2bでも、端末2aと同様に、基地局1から送信されたパケットに対応した情報パケットR2[0],R2[1],・・・R2[7]が受信、保存される。ただし、斜線を付した情報パケットR2[5]は消失したパケットである。R2[x]の識別情報をxとする。たとえばR2[7]の識別情報は、7となる。
(2)パリティパケットの生成
(i)端末2aでは、パリティ共有誤り制御部7にてパリティパケットを生成する。正しく受信、もしくは回復できた情報パケットの中から複数もしくは単数の情報パケットを選択し、選択された情報パケット(生成元情報パケットと称する)のビット毎の排他的論理和により、パリティパケットが生成される。受信した情報パケット(消失していない情報パケット)から、ランダムに、予め定められた個数の(図4の例では4個)の生成元情報パケットR1[0],R1[3],R1[5],R1[7]を選択し、ビット毎の排他的論理和(図においては、EX-ORと表記する)をとる。その結果をパリティパケットP1[0]とする。また、パリティパケットP1[0]生成に用いた全ての生成元情報パケットの識別情報の集合{0,3,5,7}をP1[0]のコーディングベクタとしてパリティパケットP1[0]に付随させる。
 より一般的に端末2aのN番目(最初のパリティパケットを0番目とする)に生成したパリティパケットをP1[N]と表記し、P1[N]のコーディングベクタをV1[N]と表記する。コーディングベクタV1[N]は単数もしくは複数の要素を持ち得るベクトル値となる。
 V1[N]の各要素は生成元パリティパケットの識別情報であり、V1[N] = {v1[N,0], v1[N,1], ... v1[N,d1[N]-1] }と各要素を表記する。ここでd1[N]はN番目のパリティパケットP1[N]の生成に用いた生成元情報パケット数である。端末2aにおいて消失していない情報パケット(基地局1から正常に受信、もしくは既に回復済みの情報パケット)の集合をS1とし、S1={R1[x] | R1[x]は消失していない }と表記できる。
 まとめると、端末2aのN番目のパリティパケットP1[N]に関して下記のように一般的に表記できる。
S1={R1[x] | R1[x]は消失していない }
V1[N] = {v1[N,0], v1[N,1], ... , v1[N,d1[N]-1] }
P1[N] = R1[v1[N,0]] + R1[v1[N,1]] + ... + R1[v1[N,d1[N]-1]]
ここでP1[N]の式内+記号は、パケット内の各ビット毎の排他的論理和の演算を意味する。
図4の端末2aの例は下記のように表記できる。
S1={R1[0],R1[1],R1[3],R1[4],R1[5],R1[6],R1[7]}
V1[0] = {v1[0,0], v1[0,1], v1[0,2], v1[0,3] } = {0, 3, 5, 7}
P1[0] = R1[0] + R1[3] + R1[5] + R1[7]
d1[0] = 4
 (ii)端末2bでも同様にパリティパケットP2[0]を生成し、パリティパケットP2[0]生成に用いた生成元パケットの識別番号の集合{0,2,4,7}をP2[0]のコーディングベクタとしてP2[0]に付随させる。
 より一般的に端末2bのN番目(最初のパリティパケットを0番目とする)に生成したパリティパケットをP2[N]と表記し、P2[N]のコーディングベクタをV2[N]と表記する。端末2aの場合と同様、コーディングベクタV2[N]は単数もしくは複数の要素を持つベクトル値となる。V2[N]の各要素は生成元パリティパケットの識別情報であり、V2[N] = {v2[N,0], v2[N,1], ... v2[N,d2[N]-1] }と表記する。ここでd2[N]はN番目のパリティパケットの生成時に選択した生成元情報パケット数である。端末2bにおいて消失していない情報パケット(基地局1から正常に受信、もしくは既に回復済みの情報パケット)の集合をS2とし、S2={R2[x] | R2[x]は消失していない }と表記できる。
 まとめると、端末2bのN番目のパリティパケットP2[N]に関して下記のように一般的に表記できる。
S2={R2[x] | R2[x]は消失していない }
V2[N] = {v2[N,0], v2[N,1], ... , v2[N,d2[N]-1]}
P2[N] = R2[v2[N,0]] + R2[v2[N,1]] + ... + R2[v2[N,d2[N]-1]]
 ここでP2[N]の式内+記号はパケット内の各ビット毎の排他的論理和の演算を意味する。
図4の端末2bの例は下記のように表記できる。
S2={R2[0],R2[1],R2[2],R2[3],R2[4],R2[6],R2[7]}
P2[0] = R2[0] + R2[2] + R2[4] + R2[7]
V2[0] = {v2[0,0], v2[0,1], v2[0,2], v2[0,3] } = {0, 2, 4, 7}
d2[0] = 4
 パリティパケットおよびコーディングベクタの生成方法について、より一般的に述べる。
 ある端末2が受信した識別情報xの情報パケットをR[x]と表記し、該端末2において消失していない情報パケットの集合をS = {R[x] | R[x]は消失していない}と表記する。該端末2にて N番目(最初に生成されるパリティパケットを0番目とする)に生成したパリティパケットをP[N]と表記し、P[N]に対応するコーディングベクタをV[N]と表記し、V[N]の要素数をd[N]と表記し、V[N]の各要素をV[N]={v[N,0],v[N,1], ... , V[N,d[N]-1]と表記した場合、以下のようにパリティパケットP[N]とコーディングベクタV[N]が生成される。
(i)d[N]の決定
 d[N]は予め決められた正の整数であり、Sの要素数以下とする。
 たとえば4や、8といった数である。仮にこれらの値がSの要素数を超える場合はSの要素数をd[N]とする。また、d[N]の値に応じて、生成されたパリティパケットによる回復確率が異なるため、基地局1から伝送された情報パケットを受信する際のパケットロス率等に応じて、d[N]値を動的に決めることも可能である。
(ii)V[N]の生成(生成元情報パケットの選択)
 該端末2で消失していない情報パケットの集合Sから、前述d[N]個をランダムに重複無く選択する。選択されたd[N]個のパケットの識別情報をV[N]の各要素の値とし、それぞれv[N,0],v[N,1], ..., v[N,d[N]-1]とする。
(iii)P[N]の生成 (パリティパケットの生成)
 V[N]の各要素の値を識別情報とするd[N]個の情報パケットについて、ビット毎の排他的論理和を生成し、その結果をP[N]とする。
 P[N] = Σ{R[x] | xがV[N]に含まれる }
= R[v[N,0]] + R[v[N,1]] + ,,, + R[v[N,d[N]-1]]
 上記式の加算記号+は、パケットの各ビット毎の排他的論理和を演算する。Σは各要素(パケット)のビット毎の排他的論理和を演算する。
 図5は、生成したパリティパケットのマルチキャスト伝送と、消失パケットの回復について説明する図で、以下のような動作となる。
(3)パリティパケットのマルチキャスト送信
 (i)端末2aは、パリティパケットP1[0]およびコーディングベクタV1[0]をローカルネットワーク3へマルチキャスト送信する。
 (ii)端末2bも同様にパリティパケットP2[0]およびコーディングベクタV2[0]をローカルネットワーク3へマルチキャスト送信する。ローカルネットワーク3へマルチキャスト送信する際、パリティパケットとコーディングベクタを連結し、単一のパケットとしてローカルネットワーク3上で伝送する。
(4)パリティパケットの受信と保存
(i)端末2bは、ローカルネットワーク3上で送られたパリティパケットP1[0]と付随するコーディングベクタV1[0]を受信し、それらをパリティパケット記憶部16に保存する。
(ii)端末2aは、ローカルネットワーク3上で送られたパリティパケットP2[0]と付随するコーディングベクタV2[0]を受信し、それらをパリティパケット記憶部16に保存する。
(5)情報パケットの回復処理
(i)端末2aでは、パリティ共有誤り制御部17において、パリティパケットP2[0]と付随するコーディングベクタ、V2[0]={0,2,4,7}から、消失している情報パケットR1[2]を下記のように回復することができる。なお、+の記号はパケットの各ビット毎に排他的論理和を取る演算を示す。
 コーディングベクタV2[0]={0,2,4,7} から、
 P2[0] = R2[0]+R2[2]+R2[4]+R2[7]が解る。端末2aと端末2bは基地局から同一の情報パケットを受信しているので、それぞれが受信した同一の識別情報の情報パケットは同一の値を持つ。つまり同じ識別情報xに対してR1[x] = R2[x]となるので、R2をR1で置き換えると、
 P2[0] = R1[0]+R1[2]+R1[4]+R1[7]となる。
 R1[0],R1[4],R1[7], P2[0]は端末2aでは消失していないデータなので、R1[2]について解けば、消失している情報パケットR1[2]を回復できる。
 R1[2] = R1[0]+R1[4]+R1[7]+P2[0]
 (ii)端末2bも同様に、パリティパケットP1[0]と付随するコーディングベクタV1[0]={0,3,5,7}より、下記の計算によりR2[5]を回復できる。
 R2[5] = R2[0]+R2[3]+R2[7]+P1[0]
 情報パケットの回復処理についてより一般的に述べる。
 情報パケットの回復処理は、端末2各々において個別に実行する処理であり、パリティパケットの受信と保存が行われる毎に実行される。仮にある端末2がN個のパリティパケットとコーディングベクタを受信した状態において、情報パケットの回復処理を下記に述べる。
(i)該端末2のパリティパケット記憶16に保存されているN個のパリティパケットと対応するコーディングベクタ各々について、下記に示す「パリティチェック処理」を実行する。
(ii)(i)の処理を終了後、(i)を再度実行するかどうか反復判定を行う。
(ii-1)(i)の結果、一つ以上の情報パケットが回復された場合、再度(i)を実行する。
(ii-2)(i)の結果回復された情報パケットが無い場合は回復処理を終了する。
「パリティチェック処理]
 パリティチェック処理を行うパリティパケットをP[x]表記とし、対応するコーディングベクタをV[x]と表記し、V[x]の要素数をd[x]と表記し、V[x]の要素をV[x] = { v[x,0], v[x,1], ... , v[x,d[x]-1]と表記し、識別情報yの情報パケットをR[y] と表記し、該端末2において消失していない情報パケット(基地局1から正常に受信、もしくは既に回復済みの情報パケット)の集合をS={R[x] | R[x]は消失していない }と表記する。P[x]の生成元情報パケット、つまりV[x]の各要素の値を識別情報とする情報パケットはd[x]個であり、それぞれR[v[x,0]], R[v[x,1]], ... , R[v[x,d[x]-1]]と表記できる。
 これらのd[x]個の情報パケットの内、該端末2において消失パケットとなっている個数が一つだけであるかどうかを判定する。つまり上記、d[x]個の情報パケット、{ R[v[x,0]], R[v[x,1]], ... , R[v[x,d[x]-1]] }の内、集合Sに含まれていない個数が1つのみであるかどうかを判定する。
 もし、これらd[x]個の情報パケットの内、一つだけ消失している場合はその情報パケットを回復させる。その一つだけ消失している情報パケットの識別情報をzとすると下記のようにR[z]を回復させる。
R[z]の回復
R[z] = P[x] + Σ{R[y]| yはV[x]の要素に含まれていて、かつ、yがzに等しくない }
 ここで、+はパケットのビット毎の排他的論理和を演算し、Σは要素とするパケットのビット毎の排他的論理和を演算する。
 上記のR[z]の回復式は、V[x]に含まれる識別情報をもつ情報パケットの集合{ R[v[x,0]],R1[v[x,1]], ... , R1[v[x,d[x]-1]] }の内、識別情報がzではない情報パケット全てと、パリティパケットP[x]について、ビット毎の排他的論理和をとることにより消失している情報パケットR[x]を回復させることを示している。
また、集合Sの定義よりR[z]は回復処理後に集合Sに含まれることになる。
 上述した(2)(3)(4)(5)の処理を繰り返して、複数のパリティパケットを共有することで、消失パケットを回復できる可能性が高まり、受信品質を改善できる。
 上述説明は端末2a、端末2bの2台の端末における動作説明であるが、端末2が3台以上である場合においても、各端末2は同様の動作を行う。ローカルネットワーク3上に端末2が3台以上存在する場合、パリティパケットはマルチキャスト伝送により、端末2a、端末2bのみならず、ローカルネットワーク3に接続されている全ての端末2に対して同時に伝送され、各受信端末2において同時に受信され、回復処理が行われることになる。
上述した本開示の一実施の形態によれば、マルチキャスト伝送により、複数の端末が同時にパリティパケットを共有し、消失パケットの回復処理が可能なため、ローカルネットワークへの負荷が少なくて済む。効率の良い受信データの共有・消失パケットの回復が可能となる。
 (2)で述べたように、パリティパケットの生成元の情報パケットはランダムに選択され、他の端末2においてどの情報パケットが消失しているかという情報は必要としない。従来技術のように端末2の個々の消失パケットを個別に伝送する必要が無いため、ローカルネットワーク3の容量に対して端末2の台数が制限されない。
 また、繰り返す際に、処理(2)においてより効率的なパリティパケットを生成するため、生成元パケットをランダムに選択する際に、すでに選択された回数に応じて、選択される確率を更新する。
 例えば、情報パケットxが、生成元パケットとして選択された回数がnの場合の相対的な選択確率をP(x,n)としたとき、次のように更新する。
 P(x,n) = P(x,n-1)*0.05(n>0の場合)
 P(x,0) = 1.0(n = 0の場合)
 第一回目のパリティパケット生成時は、どの情報パケットも同じ確率で選択されるが、一度情報パケットxがパリティ生成に選択されると、次回パリティ生成時に情報パケットxが選択される相対的な確率は1/20となる。
 図6は、情報パケットの選択確率を更新する効果を示す。線20aは、選択確率が常に一定の場合であり、線20bは、上述した式で、選択確率を更新した場合である。選択確率を更新した場合(線20b)は、少ないパリティパケット数でより多くのパケットを回復できている。
 図6は、情報パケットの選択確率を更新する効果を示す。線20aは、選択確率が常に一定の場合であり、線20bは、上述した式で、選択確率を更新した場合である。選択確率を更新した場合(線20b)は、少ないパリティパケット数でより多くのパケットを回復できている。
 前記説明した端末2の機能の内、下記に示すように一部の機能を省略した端末2を用いて実施することも可能である。
(i)パリティ生成およびパリティ送信のみを行う端末2
(ii)パリティ受信および情報パケットの回復のみを行う端末2
 上記(i)は段落〔0019〕に記載した機能の内、(1)(2)(3)の機能のみを持つ端末である。
 上記(ii)は段落〔0019〕に記載した機能の内、(1)(4)(5)の機能のみを持つ端末である。
 上記(i)の機能をもつ端末2の例として、八木アンテナ等の屋外アンテナを備えた据え置き型の放送受信装置が考えられる。このような放送受信装置は放送受信性能が高く、放送受信時に情報パケットが消失する可能性が低いため、消失パケットの回復を行う必要がない。したがって上記(i)のようにパリティ生成・送信のみを行う端末2として機能させることが考えられる。
 また、上記(ii)の機能を持つ端末2の例として、放送受信機能をもつスマートフォン等のポータブル機器が考えられる。このような端末が放送受信条件の悪い屋内等で使用される場合、放送受信時に情報パケットを消失する可能性が高いため、上記(ii)のようにパリティの受信・回復機能のみを行う端末2として機能させることが考えられる。
 パリティパケットの生成については、本実施例の方法以外にも、一般的な誤り訂正符号化を用いて生成することが可能である。例えばリードソロモン符号やBCH符号、LDPC符号等の誤り訂正符号を用いてパリティパケットを生成することができる。この場合、回復処理はパリティパケットの符号化に対応した誤り訂正復号によって行う。
<3.第2の実施の形態>
 本開示の第2の実施の形態について説明する。説明で使用する用語について概念を説明する。
タナーグラフ:LDPC等の誤り訂正符号の構成を示す際に一般的に用いられるグラフである。バリアブルノードとチェックノードにより構成される。
バリアブルノード:本開示においては、情報パケットもしくはパリティパケットに対応する。
チェックノード:タナーグラフ上にて、バリアブルノード間のパリティチェック関係を示す。パリティチェック関係とは、チェックノードに接続されているバリアブルノード間の関係のことを意味し、それらバリアブルノードの排他的論理和がゼロとなる関係のことである。各チェックノードにおいてパリティチェック関係を評価することで消失パケットを回復させる。本開示では、チェックノードはパリティパケットに付随するコーディングベクタが受信される毎に追加されていく。
コーディングベクタ:パリティパケットに付随する情報である。本開示では、パリティパケット生成端末から他の端末に対して、パリティチェック関係を通知するために用いる。パリティパケットがどのパケットから生成されたか(=パリティチェック関係)を保持しており、単数もしくは複数の生成元パケットの識別情報を要素とする。本開示において、各端末は受信したコーディングベクタに従ってチェックノードの追加、バリアブルノードの接続を行う。
 第2の実施の形態と、第1の実施の形態との違いについて説明する。
(i)第1の実施の形態では、パリティパケットを生成する際に、基地局から受信した情報パケットのみを使用していた。第2の実施の形態では、基地局から受信した情報パケットのみならず、既にローカルネットワーク上で共有されたパリティパケットも利用する。
(ii)第1の実施の形態では、コーディングベクタ単体をローカルネットワーク上で伝送する事は無かった。しかし、第2の実施の形態では、コーディングベクタ単体をローカルネットワーク上で伝送し、端末間で共有する機能を持つ。
 上述(i)(ii)の機能と効果について述べる。
 上述(i)(ii)はパリティパケットによる回復性能の向上に寄与する。本開示に於いてパリティパケットはローカルネットワーク上でマルチキャスト伝送され、各端末で共有される。
 しかしローカルネットワーク上でマルチキャスト伝送する際にパケットロス、つまりパリティパケットの消失が発生する可能性がある。この場合、(i)のようにパリティパケット自体が、他のパリティパケットと相関を持つ(=パリティチェック関係にある)ことにより、パリティパケットがローカルネットワーク上で伝送される際に消失した場合でも、他の正しく受信した別のパリティパケットを用いて回復できる可能性がある。また、(ii)のようにコーディングベクタのみを伝送する事により、(i)の機能によって回復できたパリティパケット(ローカルネットワーク伝送で消失したが、他のパリティパケットによって回復されたパリティパケット)を用いて、情報パケットを回復させることが可能となる。これら(i)(ii)の機能についての詳細は、後述する段落〔0139〕〔0140〕で述べる。
 図7は、第2の実施の形態における端末の構成を示す。放送受信部・復調部21は、アンテナ機能、RFチューナ機能、復調機能を備えている。放送受信部・復調部21からMPEG2-TSパケットが出力される。本実施の形態では、フェージング等により受信状態が悪くなった場合においても、放送送信装置で送信しているパケット数と等しい数のTSパケットがエラーパケット等として一定の間隔で出力されることを仮定する。
 放送受信部・復調部21から出力されたTSパケットが情報パケット識別情報付与部22に供給される。情報パケット識別情報付与部22は、放送受信部・復調部21から出力されたMPEG2-TSパケットに対し識別情報を付与する。
 マルチキャスト伝送時に、パリパケットの生成元パケットすべての識別情報を付加する。識別情報の生成方法としては、下記に示すものが可能である。
(1)生成元情報パケットの識別情報を、MPEG2-TSのPCR値から生成する。
(2)生成元情報パケットの識別情報を、MPEG2-TSパケットヘッダのコンティニュイティカウンタから生成する。
(3)生成元情報パケットの識別情報を、MPEG2-TS内に多重されている複数のプログラムのPCR値と、複数のPIDのコンティニュイティカウンタを組み合わせて生成する。
(4)生成元パリティパケットの識別情報を、パリティパケット生成端末固有の情報と、その端末で既に生成されたパリティパケット数より生成する。
 このパリティパケット生成端末固有の情報として、ローカルネットワークのIPアドレスもしくは、MACアドレスを用いる。
 さらに、送信済みパリティパケットの生成元情報のみをローカルネットワーク上でマルチキャスト伝送する。
 一般的にMPEG2-TS内には複数のプログラム(PID)が多重されているが、識別情報の付与はパリティ共有による誤り制御が必要なPIDに対して行う。
 識別情報は、パリティパケットを共有する他の端末と共通の番号とする。
 識別情報は、放送受信信号より、一意に決定できる値である。
 一例として、識別情報は、同一のMPEG2-TS内に多重されている複数のPIDパケットのコンティニュイティカウンタ値、およびPCR値を用いて生成する。
 デジタル放送では、MPEG2(ISO/IEC 13818-1)に規定されるTSに準拠した多重化を行い、MPEG2-TSを構成している。
 図8は、MPEG2-TSの概略を示している。MPEG2-TSは、固定長(188バイト)のパケットを使用する。各パケットの先頭に4バイトのヘッダ領域が規定され、残りの184バイトに可変長の拡張ヘッダであるアダプテーションフィールドと、内容(映像、音声、または付加データ)を伝送するペイロードとが配置される。
 ヘッダの中に、13ビットのPID(パケットID)が含まれている。PIDは、パケットの種類を識別するアドレスである。PIDは、動画や音声のストリーム毎に値が設定されており、同じストリームであれば同じPIDとなる。例えばNHK総合放送の動画PIDは256、音声PIDは272と決められている。
 ヘッダの中の4ビットのコンティニュイティ・カウンタは、同一のPIDのパケットに対して付される連続番号で、16をモジュロとして1づつインクリメントする(0~15の値を有する)。アダプテーションフィールドは、バイト単位で可変の長さを有する。ヘッダの拡張機能として同期機能のためのPCR(Program Clock Reference)を伝送する機能がある。PCRは常に送られるわけではなく、通常100ms周期で、アダプテーションフィールド内の値として伝送される。カウンタ値の周期は一日で一周するカウンタであり、値の解像度は90kHzである。
 一つのMPEG2-TSには、複数の動画や音声のストリームが異なるPIDにて多重化されている。図9は、動画と共に音声(動画より情報レートが低い)が多重化されて伝送されている例である。図9の各四角のブロックが一つのTSパケットを示し、斜線を付したTSパケットが音声パケットである。動画パケットは、(PID:101)とされ、音声パケットは、(PID=102)とされている。コンティニュイティ・カウンタの値は、PID毎に0~15の値で巡回している。PCRで示した値は、PCRベース値を示している。
 生成元パケットの識別情報は、多重化されている複数のプッシュプルのPCR値と、複数のPIDのコンティニュイティ・カウンタを組み合わせて生成する。例えば動画パケット(PID:101)について、3つの数からなる識別情報(A,B,C)を生成し、各パケットの識別情報とする。
 PCR値、コンティニュイティ・カウンタ値を組みあわせて、3つの数からなる識別情報(A,B,C)を生成し、各TSパケットの識別情報とする。
 A=([最新のPCR値] / [PCR周期]) mod x
 B=[PID 102の最新のコンティニュイティ・カウンタ値]
 C=[PID 101の該当パケットのコンティニュイティ・カウンタ値]
 xは、識別情報の周期を決めるパラメータとなる。
 識別情報の周期が情報パケットバッファサイズ(Nimax)より大きな周期となるようにxを設定する。
 PCR周期 9000、Xを50とすると、最初の動画パケットの最新のPCR値が(1234567)であるので、このパケットについては、下記のように識別情報が決定される。
 A: 37
 B: 3
 C: 15
 識別情報 = (A,B,C) = (37,3,15)
 次の動画パケットの識別情報は、同様にして、(A,B,C) = (37,3,0)となり、さらに次の動画パケットの識別情報は、(A,B,C) = (37,3,1)となる。以下、同様に、識別情報が付与される。以下、同様にして各動画パケットに対して識別情報が付与される。
 なお、図9の例では、音声パケット(PID=102)の伝送周期は、動画パケット(PID=101)が16個以内である。PCRの伝送周期が音声パケット(PID=102)が16個以内である。
 図8は、情報パケット(MPEG2-TSパケット)に対する識別情報の生成方法を説明する図である。図中、MPEG2-TS内に、動画(PID=101)および、音声(PID=102)が多重されている。動画(PID=101)のパケットに対して識別情報生成方法を説明した図である。
 このように、複数PIDのコンティニュイティカウンタおよび、PCR値を組み合わせることで、周期の長い識別情報を得ることが可能である。
 このように識別情報を生成することで、パリティパケットを共有する端末間で共通の識別情報を情報パケットに与えることができる。
 この例では識別情報を2つのPIDのコンティニュイティカウンタ値と1つのPCR値を組み合わせて生成しているが、より多くのPIDのコンティニュイティカウンタ値や、PCR値を組み合わせることも可能である。また、この例では、3つの数の組み合わせで表現しているが、一つの数として表現することも可能である。
 たとえばAおよびBの値の範囲は0~15の整数であるから、下記のように一つの数としても表現できる。
 識別情報 = A+B*16^1+C*16^2
 この式からも判るように、識別情報の値の大小を比較することで情報パケットの順序を知ることが可能である。
 上述した識別情報が付与された情報パケットが情報パケット入力部23に出力される。情報パケット入力部23は、識別情報が付与されたTSパケットを、情報パケット記憶部24へ格納する。
 情報パケット記憶部24内から情報パケットが格納されていない空き領域を検索する。情報パケット記憶部24の空き領域をInfoBuf[X]とすると、下記のように格納する。
 InfoBuf[X].data: TSパケットのデータ188バイトを格納する。
 InfoBuf[X].info_id: 識別情報を格納する。
 InfoBuf[X].loss: 消失もしくは誤りを示す情報であり、正常に受信できた情報パケットに対しては0を格納する。TSパケットヘッダのエラーフラグが立っている場合はloss = 1とする。
 InfoBuf[X].sel_prob: パリティパケット生成時に選択される確率[相対的な確率]を格納する領域である。新たな情報パケットを格納する場合は1.0とする。
 図10は、情報パケット記憶部24の構成を示す。InfoBuf[0]~InfoBuf[Nimax-1]は、情報パケット(MPEG2-TSパケット)と情報パケット識別情報を格納する記憶領域である。最大、Nimaxパケットを記憶する。
 情報パケット記憶部24の各要素について説明する。
 loss:エラーもしくは消失したパケットであることを示すフラグである。
 info_id:情報パケット識別情報を格納する領域である。
 sel_prob:パリティパケット生成時に選択される確率(相対的な確率)を格納する領域である。この値は情報パケット間で相対的な値である。初期値は0である。
 data:MPEG2-TSパケットデータ(188バイト)を格納する領域である。
 相対的な選択率sel_probについて説明する。sel_prob値が相対的に高い情報パケットは、それだけ高い確率でパリティパケットの生成元パケットに選ばれ、逆にsel_prob値が小さい情報パケットはパリティパケットの生成元パケットに選ばれる確率が小さくなる。選択された回数に応じてこの値を小さくすることで、同じ情報パケットが重複して選択される可能性を低くし、効率の良いパリティパケットを生成することが可能である。sel_prob値はエンコード処理部32により更新される。
 図11は、パリティパケット記憶部26の構成を示す。以降、Npmaxはパリティパケット記憶部で保存可能なパリティパケット数とする。ParityBuf[0]~ParityBuf[Npmax-1]は、パリティパケットを格納する記憶領域である。
 パリティパケット記憶部26の各要素について説明する。
 loss:パリティパケットがエラーもしくは消失していることを示すフラグである。
 term_id:パリティを共有する端末間でユニークな送信端末識別情報である。
 parity_id:パリティパケット識別情報(パリティを生成した端末内でユニーク)
 sel_prob:エンコード処理部で、パリティパケットの生成元として選択される確率を格納する。相対的な選択率は各パケット間で相対的な値である。
 図12は、チェックノード記憶部27の構成を示す。チェックノードは、情報パケットとパリティパケットのパリティチェック関係を保存する領域である。
 チェックノード記憶部の各要素について説明する。
 info_degree:チェックノードに接続されている情報パケットの数を格納する。
 pInfo[]:チェックノードに接続されている情報パケットのデータ格納領域(InfoBuf[0]~InfoBuf[Nimax-1]のいずれか)の位置(記憶領域のアドレス)を示す。
 parity_degree:チェックノードに接続されているパリティパケットの数を格納する。
 pParity[]:チェックノードに接続されているパリティパケットの格納領域(ParityBuf[0]~ParityBuf[Npmax-1]のいずれか)の位置(記憶領域のアドレス)を示す。
 上述した情報パケット記憶部24、パリティパケット記憶部26、チェックノード記憶部27の関係について説明する。図13は、タナー(Tanner)グラフを示し、図14、図15および図16は、図13のタナーグラフの状態における、3つの記憶部の対応関係の具体例を説明した図である。
 情報パケット記憶部24と、パリティパケット記憶部26は、タナーグラフで言うところのバリアブルノード(変数ノード、メッセージノード等の表現もある)に対応し、チェックノード記憶部27は、チェックノードに対応する。この例では、図14に示す7つの情報パケット{A,B,C,D,E,F,G}と、図16に示す2つのパリティパケット{(J,K),(L,M)}が、図15に示すチェックノード{H,I}を介して接続されている。
 図13では、パリティパケット(J,K)は、4つの情報パケット{A,C,D,F}の排他的論理和により生成されたことを示している。つまり、4つの情報パケット{A,C,D,F}はパリティパケット(J,K)の生成元パケット(生成元情報パケット)である。
 また、パリティパケット(L,M)は、5つの情報パケット{B,C,D,E,G}と1つのパリティパケット(J,K)の排他的論理和により生成されたことを示している。言い換えると、5つの情報パケット{B,C,D,E,G}はパリティパケット(L,M)の生成元情報パケットであり、1つのパリティパケット(J,K)が、パリティパケット(L,M)の生成元パリティパケットである。
 チェックノードの機能について説明する。チェックノードは、情報パケットおよびパリティパケットへ接続されており、接続されているパケット間にパリティチェック関係(接続されているパケットすべてのビット毎の排他的論理和がゼロとなる関係)にあることを保持する。このパリティチェック関係を利用して、消失パケットの回復を行う。つまり、チェックノードに接続されている全パケットの内、一つだけ消失している場合は、その消失パケット以外のパケットのビット毎の排他的論理和をとることより、消失パケットを回復可能である。
 たとえば図13の情報パケットGが消失しており、その他のパケットは消失していない場合、情報パケットGは、チェックノードIのパリティチェック関係により、情報パケットB,C,D,Eおよびパリティパケット(J,K)(L,M)のビット毎の排他的論理和によって回復できる。
 本開示ではチェックノードの接続情報はパリティパケットに付随するコーディングベクタとして伝送される。後述するパリティパケット受信処理によって、パリティパケットを受信する毎に新たなチェックノードが追加され、同時に受信したコーディングベクタに従って、チェックノードと各パケットの接続が追加される。
 また、段落〔0131〕から〔0143〕で説明するように、コーディングベクタのみが伝送される場合も、コーディングベクタ受信時に、チェックノードと各パケットの接続が追加される。
 図17は、エンコード処理部32の処理の流れを示すフローチャートである。
 ステップST1:エンコード処理が開始される。
 ステップST2:degree_i決定処理がなされる。degree_iは、パリティパケット生成に用いる生成元情報パケットの数である。ランダムに1~12の値をdegree_iとして決定する。
 もしくは、ある定められた確率分布にてdegree_iを決定する。
 もしくは、予め固定された数、たとえばdegree_i = 8等、とすることもできる。
 ステップST3:degree_p決定処理がなされる。degree_pはパリティパケット生成に用いる生成元パリティパケットの数である。
 ランダムに0~4の値をdegree_pとする。
 もしくは、予め固定された数、たとえばdegree_p = 1等、とすることもできる。
 ステップST4:情報パケット選択処理がなされる。図18は、生成元情報パケットの選択範囲を示している。degree_i個の情報パケットを生成元情報パケットとして選択する。
 情報パケット記憶部24に格納されている情報パケットから生成元情報パケットを一つ選択する。
 情報パケットのsel_prob値をすべて加算し、total_probとする。
 情報パケットすべてについて、個々の情報パケットInfoBuf[x]が選択される確率を(InfoBuf[x].sel_prob/total_prob)とする。
 上記確率にて、ランダムに情報パケットを一つ選択する。
 選択した情報パケットが欠落パケット(loss = 1)である場合は、再度、上記確率にてランダムに選択し直す。
 degree_iが2以上の場合で、すでに生成元パケットとして選択されている情報パケットを再度選択した場合は、再度、上記確率にてランダムに選択し直す。
 degree_i個選択されるまで、上記を繰り返す。
 degree_i個選択された後、選択された情報パケットの選択確率sel_probの値を更新する。
 選択された情報パケットをInfoBuf[x]とした場合、下記の計算により選択確率を更新する。
 InfoBuf[x].sel_prob = InfoBuf[x].sel_prob*update_ratio
 update_ratioは、0.1等の値とし、情報パケットInfoBuf[x]がパリティパケットの生成元として選択される度に、選択確率が小さくなる。
 ステップST5:パリティパケット選択処理がなされる。degree_p個のパリティパケットを生成元パリティパケットとして選択する。
 パリティパケット記憶部26に格納されているすべてのパリティパケットのsel_prob値を加算し、total_probとする。
 あるパリティパケットParityBuf[x]が選択される確率を(ParityBuf[x].sel_prob/total_prob)とする。
 上記確率にて、ランダムに情報パケットを一つ選択する。
 選択したパリティパケットが欠落パケット(loss = 1)である場合は、再度、上記確率にてランダムに選択し直す。
 すでに生成元パケットとして選択されているパリティパケットを再度選択した場合は、再度、上記確率にてランダムに選択し直す。
 degree_p個選択されるまで、上記を繰り返す。
 degree_p個選択された後、選択された情報パケットの選択確率sel_probの値を更新する。
 選択されたパリティパケットをParityBuf[x]とした場合、下記の計算により選択確率を更新する。
 ParityBuf[x].sel_prob = ParityBuf[x].sel_prob*update_ratio
 update_ratioは、0.1等の値とし、パリティパケットParityBuf[x]が生成元として選択される度に、選択確率が小さくなる。
 ステップST6:新規パリティパケット生成処理がなされる。
 選択された情報パケットおよびパリティパケットに対して、ビット毎の排他的論理和をとることで、新規パリティパケットを生成し、新規パリティパケットをパリティパケット記憶部26へ追加する。
 また、追加した新規パリティパケットに対応するチェックノードを、チェックノード記憶部27へ追加する。
 新規パリティパケットを追加する格納領域をParityBuf[x]、新規チェックノードを追加する格納領域をCheckNode[y]とし、生成元情報パケットをInfoBuf[a],InfoBuf[b],InfoBuf[c]、生成元パリティパケットをParityBuf[d]とすると、ParityBuf[x]とCheckNode[y]は以下のようにデータが格納される。
 ParityBuf[x].loss = 0
 ParityBuf[x].term_id = 自端末の識別情報
 ParityBuf[x].parity_id = (自端末のパリティパケット生成数+1)
 ParityBuf[x].sel_prob = 1.0
 ParityBuf[x].data = InfoBuf[a].data^InfoBuf[b].data^InfoBuf[c].data
 ParityBuf[d].data
 各生成元パケットをビット毎に排他的論理和をとり、パリティパケットのデータとする。
 CheckNode[y].info_degree = 3
 CheckNode[y].pInfo[0] = &InfoBuf[a]
 CheckNode[y].pInfo[1] = &InfoBuf[b]
 CheckNode[y].pInfo[2] = &InfoBuf[c]
 CheckNode[y].parity_degree = 1
 CheckNode[y].pParity[0] = &ParityBuf[d]
 ステップST7:パリティパケット伝送処理がなされる。
 新規生成されたパリティパケットへパリティパケットヘッダを付加し、パリティパケット伝送フォーマットとしてRTP/UDP/IPプロトコル処理部30へ渡す処理である。
 RTP(Real-time Transport Protocol)は、映像データ、音声データをインターネットを介してリアルタイムに伝送するプロトコルである。
 UDP(User Datagram Protocol)は、信頼性を保証しないトランスポート層の通信プロトコルである。
 IP(Internet Protocol)は、インターネット層のプロトコルである。
 図19にパリティパケット伝送フォーマットを示す。
 パリティパケットヘッダ部は、新規生成されたパリティパケットの識別情報と、生成元パケット情報(コーディングベクタ情報)が格納される領域である。
 以下のようにパリティパケットヘッダ部およびコーディングベクタ情報へデータを設定する。
 term_id_new :パリティ生成端末(自端末)の端末識別情報
 parity_id_new : 新規生成されたパリティパケットのparity_id
 info_degree :CheckNode[y].info_degree
 info_id[0] :CheckNode[y].pInfo[0]->info_id
 info_id[1] :CheckNode[y].pInfo[1]->info_id
 .....(info_degree個つづく)
 parity_degree :CheckNode[y].parity_degree
 term_id[0] :CheckNode[y].pParity[0]->term_id
 parity_id[0] :CheckNode[y].Pparity[0]->parity_id
 term_id[1] :CheckNode[y].pParity[1]->term_id
 parity_id[1] :CheckNode[y].Pparity[1]->parity_id
 .....(parity_degree個つづく)
 RTP/UDP/IPプロトコル処理部30の処理について説明する。
 送信処理
 エンコード処理部32から出力されるパリティパケット伝送フォーマットをローカルネットワークのMTU(Maximum Transmission Unit:ネットワークで1回で送信できる最大のデータサイズ)等に応じて複数結合し、各標準プロトコルに従ってパケット化処理を行い、予め決められたマルチキャストアドレスを宛先IPアドレスに設定し、ローカルネットワークへマルチキャスト送信する。
 制御部28から出力されるコーディングベクタ情報を、ローカルネットワークのMTU等に応じて複数結合し、各標準プロトコルに従ってパケット化処理を行い、予め決められたマルチキャストアドレスを宛先IPアドレスに設定し、ローカルネットワークへマルチキャスト送信する。
 受信処理
 ローカルネットワークインターフェイス部29にてパリティパケット伝送フォーマットをペイロードとするIP/UDP/RTPパケットが受信された場合、ペイロードであるパリティパケット伝送フォーマットをパリティパケット入力部31へ渡す。もしIP/UDP/RTPパケットのペイロードとして複数のパリティパケット伝送フォーマットが含まれている場合は、個々のパリティパケットフォーマットへ分割してパリティパケット入力部31へ渡す。
 ローカルネットワークインターフェイス部29にてコーディングベクタ情報をペイロードとするIP/UDP/RTPパケットが受信された場合は、制御部28へコーディングベクタ情報を渡す。もしIP/UDP/RTPパケットのペイロードとして複数のコーディングベクタ情報が含まれている場合は、個々のコーディングベクタ情報へ分割して制御部28へ渡す。
 パリティパケット入力部31は、入力されたパリティパケット伝送フォーマットに従い、パリティパケット記憶部26と、チェックノード記憶部27への追加処理を行う。
 図20のフローチャートにパリティパケット入力部31の処理の流れを示す。図20の処理は、パリティパケット伝送フォーマットがパリティパケット入力部31へ入力される度に実行される。
 以下、パリティパケット入力部31の処理フローについて説明する。なお、用語について説明すると、パリティパケット入力部31に入力されるパリティ伝送フォーマット内に含まれているパリティパケットを、「受信パリティパケット」と表記し、すでにパリティパケット記憶部26に存在するパリティパケットを「既存パリティパケット」と表記する。
 ステップST11:パケット入力部31の処理が開始される。
 ステップST12:パリティパケット記憶部空き領域取得処理がなされる。
 受信パリティパケットを格納する領域を、パリティパケット記憶部26の空き領域から取得する。以下、取得した受信パリティパケットの領域をParityBuf[x]と表記する。
 ステップST13:チェックノード記憶部空き領域取得処理がなされる。
 追加するチェックノードを格納する領域を、チェックノード記憶部27の空き領域から取得する。以下、取得した領域をCheckNode[y]と表記する。
 ステップST14:受信パリティパケット追加処理がなされる。
 パリティパケット伝送フォーマットの情報に従って、ParityBuf[x]へ下記のようにデータを格納する。
 ParityBuf[x].loss = 0
 ParityBuf[x].term_id=パリティヘッダのterm_id_new
 ParityBuf[x].parity_id = パリティヘッダのparity_id_new
 ParityBuf[x].sel_prob = 1.0
 ParityBuf[x].data = パリティパケットのdata部分(188バイト)
 ステップST15:パリティパケット接続処理がなされる。
 コーディングベクタ情報に従って、チェックノードCheckNode[y]と既存パリティパケットの接続処理を行う。
 ステップST16:情報パケット接続処理がなされる。
 チェックノードの情報パケットへのポインタをセットし、チェックノードと情報パケットとの接続処理がなされる。
 図21のフローチャートは、パリティパケット接続処理(ステップST15)を示す。以下、フローチャートに沿って処理を説明する。
 ステップST21:接続処理が開始される。
 ステップST22:degree_p設定処理がなされる。
 次のように、パリティパケットの生成元パケット数を追加チェックノードのdegree_pに格納する。
 CheckNode[y].degree_p = コーディングベクタ情報のdegree_p
 ステップST23:図21において点線枠内で示すように、チェックノードとパリティパケット接続処理がなされる。
 この処理はi = 0から、i = degree_p-1まで繰り返し処理する。以下、この処理について説明する。
 ステップST24:生成元パリティパケット検索処理がなされる。
 コーディングベクタ情報の、term_id[i],parity_id[i]と同一の端末識別情報、パリティパケット識別情報をもつパリティパケットを、パリティパケット記憶部26内で検索する。
 ステップST25:生成元パリティパケットがパリティパケット記憶部26に存在しているかどうかが判定される。
 以下、もし生成元パリティパケットがパリティパケット記憶部26に存在してれば、以下の説明ではそのパリティパケットを格納する領域をParityBuf[z]と表記する。
 もし、生成元パリティパケットがパリティパケット記憶部26に存在していると、ステップST25で判定されれば、チェックノード接続処理ST26へ進む。もし、生成元パリティパケットが存在しないと、ステップST25で判定されれば、パリティパケット記憶部空き領域取得処理ST27へ進む。
 ステップST27:パリティパケット記憶部26から空き領域取得処理がなされる。以下、取得したパリティパケット領域をParityBuf[z]と表記する。
 ステップST28:パリティパケット追加処理がなされる。ParityBuf[z]へ下記のようにデータを格納する。
 ParityBuf[z].loss = 1
 ParityBuf[z].term_id = コーディングベクタ情報のterm_id[i]
 ParityBuf[z].parity_id = コーディングベクタ情報のparity_id[i]
 ParityBuf[z].sel_prob = 1.0
 ParityBuf[z].dataへはデータを格納する必要はない。
 ステップST26:チェックノード接続処理がなされる。
 次のようにチェックノードのパリティパケットへのポインタをセットし、チェックノードとパリティパケットを接続する。
 CheckNode[y].pParity[i] = &ParityBuf[z]
 ステップST29:パリティパケット接続処理が終了する。
 図22のフローチャートは、情報パケット接続処理(ステップST16)を示す。コーディングベクタ情報に従って、チェックノードと情報パケットの接続加処理を行う。以下、フローチャートに沿って処理を説明する。
 ステップST31:接続処理が開始される。
 ステップST32:degree_p設定処理がなされる。
 次のように、パリティパケットの生成元パケット数を追加チェックノードのdegree_iに格納する。
 CheckNode[y].degree_i = コーディングベクタ情報のdegree_i
 ステップST33:図22において点線枠内で示すように、チェックノードと情報パケットの接続処理がなされる。
 この処理はi = 0から、i = degree_i-1まで繰り返し処理する。以下、この処理について説明する。
 ステップST34:生成元パリティパケット検索処理がなされる。
 コーディングベクタ情報の、info_id[i]と同一の識別情報をもつ情報パケットを、情報パケット記憶部24内で検索する。
 ステップST35:生成元情報パケットが情報パケット記憶部24に存在しているかどうかが判定される。
 以下、もし生成元情報パケットが情報パケット記憶部24に存在してれば、以下の説明ではその情報パケットをInfoBuf[z]と表記する。
 もし、生成元情報パケットが情報パケット記憶部24に存在していると、ステップST35で判定されれば、チェックノード接続処理ST36へ進む。もし、生成元情報パケットが存在しないと、ステップST35で判定されれば、情報パケット記憶部空き領域取得処理ST37へ進む。
 ステップST37:情報パケット記憶部24から空き領域取得処理がなされる。以下、取得した情報パケット領域をInfoBuf[z]と表記する。
 ステップST38:情報パケット追加処理がなされる。InfoBuf[z]へ下記のようにデータを格納する。
 InfoBuf[z]へ下記のようにデータを格納する。
 InfoBuf[z].loss = 1
 InfoBuf[z].info_id=コーディングベクタ情報のinfo_id[i]
 InfoBuf[z].sel_prob=1.0
 InfoBuf[z].dataへはデータを格納する必要はない。
 ステップST36:チェックノード接続処理がなされる。
 次のようにチェックノードの情報パケットへのポインタをセットし、チェックノードと情報パケットを接続する。
 CheckNode[y].pInfo[i]=&InfoBuf[z]
 ステップST39:パリティパケット接続処理が終了する。
 図20のフローチャートに戻って説明する。
 ステップST17:チェックノードキュー追加処理がなされる。
 デコード処理部25のチェックノードキューへ、CheckNode[y]を追加する。
 ステップST18:パリティパケット入力部の処理が終了する。
 図23のフローチャートを参照してデコード処理部25の処理について説明する。
 ステップST41:デコード処理が開始される。
 ステップST42:チェックノードキューのアイテム数が0か否かが判定される。
 チェックノードキューは、図24に示すように、処理の必要なチェックノードへのポインタを要素とする、FIFO(First-In First-Out)型のバッファである。
 ステップST42において、チェックノードキューに登録されているチェックノード数が0と判定されると、デコード処理を終了する(ステップST43)。
 ステップST42において、チェックノードキューに処理待ちのチェックノードがある場合は、チェックノード取得処理(ステップST44)へ進む。
 ステップST44:チェックノード取得処理は、チェックノードキューから処理待ちのチェックノードを取り出す。以下の説明では、ここで取り出したチェックノードをCheckNode[x]と表記する。
 ステップST45:取り出されたチェックノードに対する処理がなされる。
 図25のフローチャートは、チェックノード処理を示す。チェックノード処理について説明する。
 ステップST51:チェックノード処理が開始される。
 ステップST52:消失パケット数カウントがなされる。ステップST52において、CheckNode[x]に接続されている情報パケットとパリティパケットすべてについて、消失しているパケットかどうかを確認し、消失パケット数をカウントする。消失しているかどうかは消失フラグ(loss値)により確認する。
 ステップST53:消失パケット数が1かどうかが判定される。
 ステップST54:消失パケット数が1の場合、パケット回復処理を行う。回復処理を行うパケットをInfoBuf[x]とすると下記のように回復処理を行う。チェックノード処理が終了する(回復パケットあり)。
 InfoBuf[x].data ={CheckNode[x]に接続されている他のパケットのdata部分の排他的論理和}
 InfoBuf[x].loss=0
 ステップST53において、消失パケット数が1でない場合、パケット回復処理を行わずにチェックノード処理が終了する(回復パケット無し)。
 図23のフローチャートに戻って説明すると、上述したチェックノード処理(ステップST45)が終了すると、処理がステップST46に移る。
 ステップST46:回復パケットの有無が判定される。回復パケットがない場合は、チェックノード取得処理(ステップST42)へ処理が戻る。
 ステップST47:回復パケットがあると判定される場合は、チェックノードキュー追加処理を行う。
 チェックノード追加処理では、回復パケットInfoBuf[x]に接続されているチェックノードをチェックノード記憶部27内で検索し、InfoBuf[x]に接続されているチェックノードをチェックノードキューへ追加する。
 チェックノード追加処理後、チェックノード取得処理(ステップST42)へ処理が戻る。
 情報パケット出力部33は、情報パケット記憶部24に格納されている情報パケットの中から、最も順序の古い情報パケットを選択し、data部分を後段のCAS(Conditional Access System)デスクランブル部34へ出力する。情報パケットの順序は識別情報から決定可能である。後段に出力した情報パケットの領域は空き領域とする。
 CASデスクランブル部34は、コンディショナルアクセスのデスクランブル処理を行う。CASデスクランブル部34の出力がDemux,A/Vデコード部35に供給される。Demux,A/Vデコード部35は、情報パケット出力部33から出力されたMPEG2-TSをデマルチプレックス処理、デコード処理し、映像音声データを出力する。映像音声データは、表示部36に供給される。表示部36が映像データの表示、音声出力を行う。
 本実施例では、CASデスクランブル部34で実施されるデスクランブル処理前の情報パケットを用いてパリティパケットの生成・共有を行う。スクランブルが施されている情報パケットを用いてパリティパケット生成・共有を行うため、著作権が保護された状態でローカルネットワークを介したデータ共有を実現することが可能である。
 制御部28は、各機能の動作パラメータ・動作タイミングを制御し、各機能の状態をモニタする。各機能に対する制御・モニタについて以下に説明する。
 エンコード処理部32に対する制御・モニタは、処理の実行タイミングを指示することである。
 図26は、エンコード処理部32のエンコード処理タイミングの説明図である。
 図26に示すように、パリティパケット生成周期Tgenにてエンコード処理を行い、5つのパリティパケットを生成した時点で、RTP/UDP/IPプロトコル処理部30が5つのパリティパケットを結合し、ローカルネットワークインターフェース部29を通じてローカルネットワークにマルチキャスト伝送している。
 制御部28は、パリティパケット入力部31から得られる、情報パケットの入力タイミングを基準とし、パリティパケット生成周期にてエンコード処理部32の処理実行を指示する。
 コーディングベクタ情報送信処理について説明する。
 チェックノード記憶部27にある自端末で生成されたパリティパケットに対応するチェックノードの情報からコーディングベクタ情報を生成し、RTP/UDP/IPプロトコル処理部30へ出力する。この処理は、予め定めた周期で行う。
 コーディングベクタ情報の生成に用いるチェックノードは、チェックノード記憶部27よりランダムに選択する。
 図27は、コーディングベクタ情報を示す。チェックノード記憶部27から選択されたチェックノードをCheckNode[y]とすると、コーディングベクタの各要素を次のように決定する。
 info_degree  :CheckNode[y].info_degree
 info_id[0]  :CheckNode[y].pInfo[0]->info_id
 info_id[1]  :CheckNode[y].pInfo[1]->info_id
 .....[info_degree個つづく]
 parity_degree  :CheckNode[y].parity_degree
 term_id[0]  :CheckNode[y].pParity[0]->term_id
 parity_id[0]  :CheckNode[y].Pparity[0]->parity_id
 term_id[1]  :CheckNode[y].pParity[1]->term_id
 parity_id[1]  :CheckNode[y].Pparity[1]->parity_id
 .....[parity_degree個つづく]
 コーディングベクタ情報を送信することにより、自端末から送信したにも関わらず、ローカルネットワーク上でのパケットロス等の理由で他の端末では受信できなかったパリティパケットについても、他の端末において、その構成情報(生成元パケット情報)を取得してチェックノードを生成できるようになる。
 コーディングベクタ情報の伝送は、ローカルネットワーク上のパケットロスに対して回復機能を果たすことができる。
 コーディングベクタ情報受信処理について説明する。
 RTP/UDP/IPプロトコル処理部30から得られたコーディングベクタ情報に従って、チェックノード記憶部27へ追加する。
 図28のフローチャートは、コーディングベクタ受信時の処理を示す。以下、フローチャートの各処理について説明する。
 ステップST61:コーディングベクタの入力処理を開始する。
 ステップST62:チェックノード検索処理がなされる。
 受信したコーディングベクタ情報と同一のチェックノード(チェックノードに接続されている全てのパケットの識別情報が、受信したコーディングベクタ情報と一致する物)をチェックノード記憶部27内で検索する。
 ステップST63:同一のチェックノードが存在しているか否かが判定される。同一のチェックノードが存在する場合は処理を終了する(ステップST64)。
 ステップST65:ステップST63において同一のチェックノードが存在しないと判定される場合は、チェックノード記憶部空き領域取得処理がなされる。
 チェックノード記憶部空き領域取得処理(ステップST65)以降の、パリティパケット接続処理(ステップST66)、情報パケット接続処理(ステップST67)、チェックノードキュー追加処理(ステップST68)は、図20、図21および図22のフローチャートを参照して説明したパリティパケット入力部31の処理と同一である。
 図29乃至図35のタナーグラフを参照して本開示の効果を説明する。
 一例として、図29のタナーグラフで示すような符号を考える。本開示では、情報パケットとパリティパケットとの間にチェックノードを設けている。パリティパケットP[1],P[2],P[3],P[4]および情報パケット I[1],I[2],I[3],I[4]がチェックノード C[1],C[2],C[3],C[4]を介して接続されている図である。パリティパケットは、P[1],P[2],P[3],P[4]の順番に生成・伝送が行われる。また、エンコード処理部32ではパリティパケットと付随するコーディングベクタが、パリティパケット伝送フォーマットとして結合された後、ローカルネットワークにて伝送される。
 パリティパケットP[x]の生成元情報パケットの識別番号の集合、をVi[x] = {vi[x,0], vi[x,1], ... , vi[x,di[x]-1] }と表記する。ここで di[x]はP[x]の生成元情報パケットの数である。パリティパケットP[x]の生成元パリティパケットの識別番号の集合、をVp[x] = {vp[x,0], vp[x,1], ... , vp[x,dp[1]-1] }と表記する。ここで dp[x]はP[x]の生成元パリティパケットの数である。
 たとえば図29のP[2]は情報パケットI[3],I[4]と、パリティパケットP[1]から生成されることから、コーディングベクタVi[2]およびVp[2]は次のように表記できる。
 di[2] = 2
 Vi[2] = { vi[2,0], vi[2,1] } = {3, 4}
 dp[2] = 1
 Vp[2] = { vp[2,0] } = {1}
 最終的なタナーグラフが図29となることを前提とし、図30から図33は、ある端末が、他の端末からパリティパケットを順次受信している過程を示しており、情報パケットおよびパリティパケットに消失が無い場合の動作を説明する図である。図30は、P[1]を受信した状態を示している。P[1]は情報パケット1,2から生成される。したがってP[1]のコーディングベクタVi[1]は要素を持ちVi[1] = {1,2}である。P[1]の生成元パケットは情報パケットのみである(他のパリティパケットは生成元として使われていない)からVp[1]は要素を持たない。P[1]を受信すると、P[1]に付随するコーディングベクタVp[1],Vi[1]に基いてC[1]が接続され、C[1]はP[1]およびI[1],I[2]に接続される。図31は、パリティパケットP[2]を受信した状態を示す。P[2]はI[3],I[4]およびP[1]により生成されているので、コーディングベクタはVi[2]={3,4},Vp[2]={1}となる。したがって受信端末はVi[2],Vp[2]に従ってC[2]を接続し、I[3],I[4],P[1]およびP[2]に接続される。同様に、図32は、パリティパケットP[3]を受信した状態を示し、図33は、パリティパケットP[4]を受信した状態を示す。
 このように各チェックノードは、パリティパケットを受信する毎に付随するコーディングベクタVi, Vpの情報に基いて生成元パケット間を接続していく。
 上述の動作を前提とし、情報パケットI[1]とパリティパケットP[1]が消失した場合の動作を例とし、パリティパケットの生成に、情報パケットだけでなく既に生成・共有済みの他のパリティパケットも使用する効果、および、コーディングベクタのみを伝送する効果を説明する。
 情報パケットI[1]とパリティパケットP[1]とが消失した場合は、図34に示す状態となる。パリティパケットP[1]とコーディングベクタVi[1],Vp[1]はエンコード処理部32において結合された後、ローカルネットワークへ送信されるため、パリティパケットP[1]がローカルネットワーク上の伝送消失した場合、付随するコーディングベクタVi[1],Vp[1]も消失することになる。したがって、P[1]が消失した場合、チェックノードC[1]の接続状態(=パリティパケットP[1]のコーディングベクタ)も不明となる。この状態からは、チェックノードC[2]の接続情報(パリティパケットP[2]のコーディングベクタVi[2],Vp[2]により接続された)により、I[3]、I[4]、P[2]の排他的論理和によってP[1]を回復することができる。これはP[2]の生成元パケットとしてP[1]が使用された効果(パリティパケッの生成に、情報パケットだけでなく既に生成・共有済みの他のパリティパケットも使用する効果)である。ただし、この状態では、C[1]の接続情報が無いため、I[1]を回復することができない。
 しかしながら、図35に示すように、パリティパケットP[1]のコーディングベクタVi[1],Vp[1]が他の端末から再度ローカルネットワーク上でマルチキャスト伝送され、受信できた場合、チェックノードC[1]の接続状態が判り(破線で示した接続)情報パケットI[1]を回復することができる。つまり、P[1]がローカルネットワーク上の伝送にて消失した場合でも、P[1]を再度伝送することなく、そのコーディングベクタVi[1],Vp[1]さえ再度伝送すれば、情報パケットI[1]を回復できることが判る。
 以上の説明をまとめると、パリティパケットがローカルネットワーク上で消失する可能性がある場合は、パリティパケットの生成に情報パケットだけでなく既に生成・共有済みの他のパリティパケットも使用することにより消失したパリティパケットを回復可能となり、さらに、過去に生成したコーディングベクタのみを再度伝送することにより消失している情報パケットの回復機能を果たすことができる。また、コーディングベクタ情報は伝送するデータ自体(ペイロード)を含まず、情報量が小さいため、伝送時のローカルネットワークの負荷が小さく、効率的な消失データの回復が可能となる。
 上述した本開示の実施の形態は、下記の効果を奏するものである。
(1)空間ダイバーシティ効果が得られ、受信品質が高まる。
(2)通常のアンテナダイバーシティと比較し、自由に移動可能な端末間でダイバーシティ効果を得るため、フェージング相関が低くなり、高いダイバーシティ効果が期待できる。
(3)端末数に制限がなく、多くの端末の受信品質を同時に向上させることができる。
(4)パリティパケットを同時に複数の端末で共有することで、ローカルネットワークの負荷が小さくてすむ。
(5)ローカルネットワーク上のパケットロスに対する誤り制御としても働く。
(6)パリティパケット生成時に、生成元パケットを選択する確率を更新することで、効率的なパリティパケットを生成することができる。
 なお、本開示は、以下のような構成も取ることができる。
(1)
 基地局から送信された情報パケットを受信する機能と、
 複数の端末間で情報を共有するためのローカルネットワークに接続する通信機能と、
 パリティパケットを生成する機能と、
 生成した前記パリティパケットと生成元パケットすべての識別情報とを前記ローカルネットワークにマルチキャストする機能と
 を備える通信装置。
(2)
 基地局から送信された情報パケットを受信する機能と、
 他の端末がマルチキャストした前記パリティパケットと生成元パケットすべての識別情報とを前記ローカルネットワークを通じて受信する機能と、
 受信した前記パリティパケットと生成元パケットすべての識別情報とを記憶部に保存する機能と、
 前記パリティパケットと生成元パケットすべての識別情報とを使用して欠落しているパケットを回復させる機能と
 を備える通信装置。
(3)
 基地局から送信された情報パケットを受信する機能と、
 複数の端末間で情報を共有するためのローカルネットワークに接続する通信機能と、
 パリティパケットを生成する機能と、
 生成した前記パリティパケットと生成元パケットすべての識別情報とを前記ローカルネットワークにマルチキャストする機能と、
 他の端末がマルチキャストした前記パリティパケットと生成元パケットすべての識別情報とを前記ローカルネットワークを通じて受信する機能と、
 受信した前記パリティパケットと生成元パケットすべての識別情報とを記憶部に保存する機能と、
 前記パリティパケットと生成元パケットすべての識別情報とを使用して欠落しているパケットを回復させる機能と
 を備える通信装置。
(4)
 正しく受信、もしくは回復できた情報パケットの中から複数の情報パケットを選択し、選択された前記情報パケット対して誤り訂正符号化を行い、単数もしくは複数の前記パリティパケットを生成する(1)、(2)および(3)の何れかに記載の通信装置。
(5)
 正しく受信、もしくは回復できた情報パケットの中から複数もしくは単数の情報パケットを選択し、選択された前記情報パケットのビット毎の排他的論理和により、前記パリティパケットを生成する(1)、(2)および(3)の何れかに記載の通信装置。
(6)
 前記パリティパケットの生成に用いる単数もしくは複数の生成元パケットをランダムに選択する(5)に記載の通信装置。
(7)
 複数または単数の情報パケットおよび既に生成されたパリティパケットを選択し、ビット毎の排他的論理和により前記パリティパケットを生成する(1)、(2)および(3)の何れかに記載の通信装置。
(8)
 前記生成元パケットをランダムに選択する際に、すでに選択された回数に応じて、選択される確率を変える(7)に記載の通信装置。
(9)
 送信済みパリティパケットの生成元情報のみをローカルネットワーク上でマルチキャスト伝送する(1)または(2)に記載の通信装置。
(10)
 生成元情報パケットの識別情報として、情報パケット内のシーケンス番号もしくは、タイムスタンプ値を用いる(1)、(2)および(3)の何れかに記載の通信装置。
(11)
 生成元情報パケットの識別情報を、MPEG2-TSのPCR値から生成する(1)、(2)および(3)の何れかに記載の通信装置。
(12)
 生成元情報パケットの識別情報を、MPEG2-TSパケットヘッダのコンティニュイティカウンタから生成する(1)、(2)および(3)の何れかに記載の通信装置。
(13)
 生成元情報パケットの識別情報を、MPEG2-TS内に多重されている複数のプログラムのPCR値と、複数のPIDのコンティニュイティカウンタを組み合わせて生成する(1)、(2)および(3)の何れかに記載の通信装置。
(14)
 生成元パリティパケットの識別情報を、パリティパケット生成装置固有の情報と、その端末で既に生成されたパリティパケット数より生成する(6)に記載の通信装置。
(15)
 受信パリティパケットの生成元パケットと同一の識別情報を持つパケットを記憶部から検索し、生成元パケットの内、欠落パケットが一つだけであれば、受信パリティパケットと他の生成元パケットの排他的論理和により、消失パケットを回復する(1)または(3)に記載の通信装置。
(16)
 基地局からマルチキャストまたはブロードキャストされた情報パケットを受信する複数の端末と、前記複数の端末同士で情報を共有するためのネットワークとを有し、
 前記複数の端末が複数回にわたりパリティパケットをお互いに送受信して共有することにより、各端末で正常に受信できなかった情報パケットを回復するようにした通信システム。
(17)
 前記複数の端末の内、1つもしくは複数の端末はパリティパケットの生成、送信のみを行う第1の通信装置であり、それ以外の複数の端末は第2の通信装置であり、
 前記第1の通信装置は、
 基地局から送信された情報パケットを受信する機能と、
 複数の端末間で情報を共有するためのローカルネットワークに接続する通信機能と、
 前記パリティパケットを生成する機能と、
 生成した前記パリティパケットと生成元パケットすべての識別情報とを前記ローカルネットワークにマルチキャストする機能とを備え、
 前記第2の通信装置は、
 前記基地局から送信された情報パケットを受信する機能と、
 前記第1の通信装置がマルチキャストした前記パリティパケットと前記生成元パケットすべての識別情報とを前記ローカルネットワークを通じて受信する機能と、
 受信した前記パリティパケットと前記生成元パケットすべての識別情報とを記憶部に保存する機能と、
 前記パリティパケットと前記生成元パケットすべての識別情報とを使用して欠落しているパケットを回復させる機能とを備える通信装置である(16)に記載の通信システム。
(18)
 前記複数の端末のそれぞれは、
 基地局から送信された情報パケットを受信する機能と、
 複数の受信端末で情報を共有するためのローカルネットワークに接続する通信機能と、
 パリティパケットを生成する機能と、
 生成した前記パリティパケットと前記生成元パケットすべての識別情報とを前記ローカルネットワークにマルチキャストする機能と、
 他の端末がマルチキャストした前記パリティパケットと前記生成元パケットすべての識別情報とを前記ローカルネットワークを通じて受信する機能と、
 受信した前記パリティパケットと前記生成元パケットすべての識別情報とを記憶部に保存する機能と、
 前記パリティパケットと前記生成元パケットすべての識別情報とを使用して欠落しているパケットを回復させる機能と
 を有する(16)に記載の通信システム。
(19)
 複数の端末が基地局からマルチキャストまたはブロードキャストされた情報パケットを受信し、ネットワークを介して前記複数の端末同士で情報を共有し、
 前記複数の端末が複数回にわたりパリティパケットをお互いに送受信して共有することにより、各端末で正常に受信できなかった情報パケットを回復するようにした通信方法。
(20)
 基地局から送信された情報パケットを受信するステップと、
 複数の端末間で情報を共有するためのローカルネットワークに接続する通信ステップと、
 パリティパケットを生成するステップと、
 生成した前記パリティパケットと生成元パケットすべての識別情報とを前記ローカルネットワークにマルチキャストするステップと、
 他の端末がマルチキャストした前記パリティパケットと生成元パケットすべての識別情報とを前記ローカルネットワークを通じて受信するステップと、
 受信した前記パリティパケットと生成元パケットすべての識別情報とを記憶部に保存するステップと、
 前記パリティパケットと生成元パケットすべての識別情報とを使用して欠落しているパケットを回復させるステップと
 を有する通信方法をコンピュータに対して実行させるプログラム。
<4.変形例>
 以上、本開示の実施の形態について具体的に説明したが、上述の各実施の形態に限定されるものではなく、本開示の技術的思想に基づく各種の変形が可能である。例えは本開示は、複数のTSパケットを集めたものを一つのパケットとして扱うようにしても良い。さらに、TSパケット以外のパケットを処理の単位としても良い。
 また、上述の実施の形態の構成、方法、工程、形状、材料および数値などは、本開示の主旨を逸脱しない限り、互いに組み合わせることが可能である。
1・・・基地局
2,2a~2d・・・端末
3・・・ローカルネットワーク
13・・・情報パケット記憶部
14・・・A/Vデコード部
16・・・パリティパケット記憶部
17・・・パリティ共有誤り制御部
22・・・情報パケット識別情報付与部
24・・・情報パケット記憶部
25・・・デコード処理部
26・・・パリティパケット記憶部
27・・・チェックノード記憶部
28・・・制御部
31・・・パリティパケット入力部
32・・・エンコード処理部
33・・・情報パケット出力部

Claims (20)

  1.  基地局から送信された情報パケットを受信する機能と、
     複数の端末間で情報を共有するためのローカルネットワークに接続する通信機能と、
     パリティパケットを生成する機能と、
     生成した前記パリティパケットと生成元パケットすべての識別情報とを前記ローカルネットワークにマルチキャストする機能と
     を備える通信装置。
  2.  基地局から送信された情報パケットを受信する機能と、
     他の端末がマルチキャストした前記パリティパケットと生成元パケットすべての識別情報とを前記ローカルネットワークを通じて受信する機能と、
     受信した前記パリティパケットと生成元パケットすべての識別情報とを記憶部に保存する機能と、
     前記パリティパケットと生成元パケットすべての識別情報とを使用して欠落しているパケットを回復させる機能と
     を備える通信装置。
  3.  基地局から送信された情報パケットを受信する機能と、
     複数の端末間で情報を共有するためのローカルネットワークに接続する通信機能と、
     パリティパケットを生成する機能と、
     生成した前記パリティパケットと生成元パケットすべての識別情報とを前記ローカルネットワークにマルチキャストする機能と、
     他の端末がマルチキャストした前記パリティパケットと生成元パケットすべての識別情報とを前記ローカルネットワークを通じて受信する機能と、
     受信した前記パリティパケットと生成元パケットすべての識別情報とを記憶部に保存する機能と、
     前記パリティパケットと生成元パケットすべての識別情報とを使用して欠落しているパケットを回復させる機能と
     を備える通信装置。
  4.  正しく受信、もしくは回復できた情報パケットの中から複数の情報パケットを選択し、選択された前記情報パケット対して誤り訂正符号化を行い、単数もしくは複数の前記パリティパケットを生成する請求項1に記載の通信装置。
  5.  正しく受信、もしくは回復できた情報パケットの中から複数もしくは単数の情報パケットを選択し、選択された前記情報パケットのビット毎の排他的論理和により、前記パリティパケットを生成する請求項1に記載の通信装置。
  6.  前記パリティパケットの生成に用いる単数もしくは複数の生成元パケットをランダムに選択する請求項5に記載の通信装置。
  7.  複数または単数の情報パケットおよび既に生成されたパリティパケットを選択し、ビット毎の排他的論理和により前記パリティパケットを生成する請求項1に記載の通信装置。
  8.  前記生成元パケットをランダムに選択する際に、すでに選択された回数に応じて、選択される確率を変える請求項7に記載の通信装置。
  9.  送信済みパリティパケットの生成元情報のみをローカルネットワーク上でマルチキャスト伝送する請求項1に記載の通信装置。
  10.  生成元情報パケットの識別情報として、情報パケット内のシーケンス番号もしくは、タイムスタンプ値を用いる請求項1に記載の通信装置。
  11.  生成元情報パケットの識別情報を、MPEG2-TSのPCR値から生成する請求項1に記載の通信装置。
  12.  生成元情報パケットの識別情報を、MPEG2-TSパケットヘッダのコンティニュイティカウンタから生成する請求項1に記載の通信装置。
  13.  生成元情報パケットの識別情報を、MPEG2-TS内に多重されている複数のプログラムのPCR値と、複数のPIDのコンティニュイティカウンタを組み合わせて生成する請求項1に記載の通信装置。
  14.  生成元パリティパケットの識別情報を、パリティパケット生成装置固有の情報と、その端末で既に生成されたパリティパケット数より生成する請求項7に記載の通信装置。
  15.  受信パリティパケットの生成元パケットと同一の識別情報を持つパケットを記憶部から検索し、生成元パケットの内、欠落パケットが一つだけであれば、受信パリティパケットと他の生成元パケットの排他的論理和により、消失パケットを回復する請求項1に記載の通信装置。
  16.  基地局からマルチキャストまたはブロードキャストされた情報パケットを受信する複数の端末と、前記複数の端末同士で情報を共有するためのネットワークとを有し、
     前記複数の端末が複数回にわたりパリティパケットをお互いに送受信して共有することにより、各端末で正常に受信できなかった情報パケットを回復するようにした通信システム。
  17.  前記複数の端末の内、1つもしくは複数の端末はパリティパケットの生成、送信のみを行う第1の通信装置であり、それ以外の複数の端末は第2の通信装置であり、
     前記第1の通信装置は、
     基地局から送信された情報パケットを受信する機能と、
     複数の端末間で情報を共有するためのローカルネットワークに接続する通信機能と、
     前記パリティパケットを生成する機能と、
     生成した前記パリティパケットと生成元パケットすべての識別情報とを前記ローカルネットワークにマルチキャストする機能とを備え、
     前記第2の通信装置は、
     前記基地局から送信された情報パケットを受信する機能と、
     前記第1の通信装置がマルチキャストした前記パリティパケットと前記生成元パケットすべての識別情報とを前記ローカルネットワークを通じて受信する機能と、
     受信した前記パリティパケットと前記生成元パケットすべての識別情報とを記憶部に保存する機能と、
     前記パリティパケットと前記生成元パケットすべての識別情報とを使用して欠落しているパケットを回復させる機能とを備える通信装置である請求項16に記載の通信システム。
  18.  前記複数の端末のそれぞれは、
     基地局から送信された情報パケットを受信する機能と、
     複数の受信端末で情報を共有するためのローカルネットワークに接続する通信機能と、
     パリティパケットを生成する機能と、
     生成した前記パリティパケットと前記生成元パケットすべての識別情報とを前記ローカルネットワークにマルチキャストする機能と、
     他の端末がマルチキャストした前記パリティパケットと前記生成元パケットすべての識別情報とを前記ローカルネットワークを通じて受信する機能と、
     受信した前記パリティパケットと前記生成元パケットすべての識別情報とを記憶部に保存する機能と、
     前記パリティパケットと前記生成元パケットすべての識別情報とを使用して欠落しているパケットを回復させる機能と
     を有する請求項16に記載の通信システム。
  19.  複数の端末が基地局からマルチキャストまたはブロードキャストされた情報パケットを受信し、ネットワークを介して前記複数の端末同士で情報を共有し、
     前記複数の端末が複数回にわたりパリティパケットをお互いに送受信して共有することにより、各端末で正常に受信できなかった情報パケットを回復するようにした通信方法。
  20.  基地局から送信された情報パケットを受信するステップと、
     複数の端末間で情報を共有するためのローカルネットワークに接続する通信ステップと、
     パリティパケットを生成するステップと、
     生成した前記パリティパケットと生成元パケットすべての識別情報とを前記ローカルネットワークにマルチキャストするステップと、
     他の端末がマルチキャストした前記パリティパケットと生成元パケットすべての識別情報とを前記ローカルネットワークを通じて受信するステップと、
     受信した前記パリティパケットと生成元パケットすべての識別情報とを記憶部に保存するステップと、
     前記パリティパケットと生成元パケットすべての識別情報とを使用して欠落しているパケットを回復させるステップと
     を有する通信方法をコンピュータに対して実行させるプログラム。
PCT/JP2016/002167 2015-07-02 2016-04-25 通信装置、通信システム、通信方法およびプログラム WO2017002291A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
DE112016002961.6T DE112016002961T5 (de) 2015-07-02 2016-04-25 Kommunikationsvorrichtung, kommunikationssystem, kommunikationsverfahren und programm
US15/739,461 US10897372B2 (en) 2015-07-02 2016-04-25 Communication device, communication system, communication method and program
JP2017525792A JP6809456B2 (ja) 2015-07-02 2016-04-25 通信装置
CN201680037705.8A CN107710627B (zh) 2015-07-02 2016-04-25 通信设备、通信系统、通信方法和程序

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2015-133301 2015-07-02
JP2015133301 2015-07-02

Publications (1)

Publication Number Publication Date
WO2017002291A1 true WO2017002291A1 (ja) 2017-01-05

Family

ID=57608129

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2016/002167 WO2017002291A1 (ja) 2015-07-02 2016-04-25 通信装置、通信システム、通信方法およびプログラム

Country Status (5)

Country Link
US (1) US10897372B2 (ja)
JP (1) JP6809456B2 (ja)
CN (1) CN107710627B (ja)
DE (1) DE112016002961T5 (ja)
WO (1) WO2017002291A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019122023A (ja) * 2017-12-28 2019-07-22 オープン スタック, インコーポレイテッド パケット伝送順序を再配列するための映像エンコーディング装置及びその動作方法
WO2021111903A1 (ja) * 2019-12-05 2021-06-10 ソニーグループ株式会社 受信端末および方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111786743A (zh) * 2019-04-04 2020-10-16 华为技术有限公司 一种数据传输的方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002141856A (ja) * 2000-10-30 2002-05-17 Nippon Hoso Kyokai <Nhk> 相補ネットワークを用いた無線受信方式およびその無線受信機
JP2011019118A (ja) * 2009-07-09 2011-01-27 Mitsubishi Electric Corp 無線通信システム、無線通信装置、受信装置および無線通信方法
WO2014129044A1 (ja) * 2013-02-20 2014-08-28 三菱電機株式会社 無線装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6307837B1 (en) * 1997-08-12 2001-10-23 Nippon Telegraph And Telephone Corporation Method and base station for packet transfer
SE522356C2 (sv) * 1999-07-09 2004-02-03 Ericsson Telefon Ab L M Transmission av komprimerad information med realtidskrav i ett paketorienterat informationsnät
CN1871804B (zh) * 2003-08-21 2010-09-01 高通股份有限公司 广播/多播内容的外部编码方法及其相关装置
US7596743B2 (en) * 2005-09-28 2009-09-29 Ati Technologies Inc. Method and apparatus for error management
JP5184527B2 (ja) * 2006-07-25 2013-04-17 トムソン ライセンシング スタガーキャスティング及びクロスパケット前方誤り訂正を用いたインターネットプロトコル型無線ネットワークでのバーストパケット損失からの回復
EP2131516A1 (en) * 2008-06-04 2009-12-09 THOMSON Licensing A cell dependent multi-group hybrid automatic repeat request method for multicast in wireless networks
US20100232338A1 (en) * 2009-03-13 2010-09-16 Qualcomm Incorporated Apparatus and method for providing venuecast services on a next generation forward link only (flo) network
JP2011193434A (ja) * 2009-10-28 2011-09-29 Panasonic Corp パリティパケットを用いた通信方法、通信装置及び中継器
JP2011135305A (ja) * 2009-12-24 2011-07-07 Nec Corp データ修復方法、データ修復システム、マッチングサーバ及び装置グループ化プログラム
KR20130126876A (ko) * 2012-04-30 2013-11-21 삼성전자주식회사 통신 시스템에서 패킷 송수신 방법 및 장치

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002141856A (ja) * 2000-10-30 2002-05-17 Nippon Hoso Kyokai <Nhk> 相補ネットワークを用いた無線受信方式およびその無線受信機
JP2011019118A (ja) * 2009-07-09 2011-01-27 Mitsubishi Electric Corp 無線通信システム、無線通信装置、受信装置および無線通信方法
WO2014129044A1 (ja) * 2013-02-20 2014-08-28 三菱電機株式会社 無線装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
TOSHINORI HORI ET AL.: "A Study on Application of the Erasure Correcting Code to Wireless LAN Systems", IEICE TECHNICAL REPORT, vol. 113, no. 465, 27 February 2014 (2014-02-27), pages 7 - 10 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019122023A (ja) * 2017-12-28 2019-07-22 オープン スタック, インコーポレイテッド パケット伝送順序を再配列するための映像エンコーディング装置及びその動作方法
WO2021111903A1 (ja) * 2019-12-05 2021-06-10 ソニーグループ株式会社 受信端末および方法

Also Published As

Publication number Publication date
JPWO2017002291A1 (ja) 2018-04-19
DE112016002961T5 (de) 2018-03-15
US20180183617A1 (en) 2018-06-28
CN107710627B (zh) 2022-01-11
CN107710627A (zh) 2018-02-16
JP6809456B2 (ja) 2021-01-06
US10897372B2 (en) 2021-01-19

Similar Documents

Publication Publication Date Title
US11457098B2 (en) Transmitting apparatus, receiving apparatus, and signal processing method thereof
JP6809456B2 (ja) 通信装置
JP2005210219A (ja) 送受信システム、送信装置および方法、受信装置および方法、記録媒体、並びにプログラム
US20230247242A1 (en) Content transmission method and content playback method
WO2018230348A1 (ja) 復調装置、処理装置、受信装置、及びデータ処理方法
US7415528B2 (en) Apparatus and method for transmitting hierarchically multimedia data TS to prevent jitter of timing information and for recovering the multimedia data TS
JP2011142420A (ja) 受信装置及び方法、プログラム、並びに受信システム
KR100579132B1 (ko) 타이밍정보 지터 방지를 위한 멀티미디어데이터전송스트림의 계층적 전송 장치 및 그 방법과, 계층적으로전송된 멀티미디어데이터 전송스트림의 복원 장치 및 그방법
JP6364268B2 (ja) 送信装置及び受信装置
JP7031932B2 (ja) 放送信号送信装置および放送信号送信方法
JP2021158549A (ja) Si送出装置、si送出システム、si送出方法およびsi送出システムの運用方法
Konrad et al. Overhead Reduction Methods in DVB-NGH

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: 16817405

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2017525792

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 15739461

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 112016002961

Country of ref document: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16817405

Country of ref document: EP

Kind code of ref document: A1