JP6809456B2 - 通信装置 - Google Patents
通信装置 Download PDFInfo
- Publication number
- JP6809456B2 JP6809456B2 JP2017525792A JP2017525792A JP6809456B2 JP 6809456 B2 JP6809456 B2 JP 6809456B2 JP 2017525792 A JP2017525792 A JP 2017525792A JP 2017525792 A JP2017525792 A JP 2017525792A JP 6809456 B2 JP6809456 B2 JP 6809456B2
- Authority
- JP
- Japan
- Prior art keywords
- packet
- parity
- information
- packets
- identification information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0041—Arrangements at the transmitter end
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/189—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast in combination with wireless systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding 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
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/3761—Decoding 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0045—Arrangements at the receiver end
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0076—Distributed coding, e.g. network coding, involving channel coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/324—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the data link layer [OSI layer 2], e.g. HDLC
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/11—Error 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/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic 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/1515—Reed-Solomon codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic 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/152—Bose-Chaudhuri-Hocquenghem [BCH] codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L2001/0092—Error control systems characterised by the topology of the transmission link
- H04L2001/0093—Point-to-multipoint
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L2001/0092—Error control systems characterised by the topology of the transmission link
- H04L2001/0097—Relays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W88/00—Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
- H04W88/08—Access point devices
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)
Description
第1に制御が複雑である。すなわち、パケットを再構成するために必要な管理情報と、記憶装置に蓄積されたパケットの所有情報とにより不足するパケットを把握し、無線受信機間で不足パケットを送受信する際のやりとりを制御することが必要となる。
第2に、データ共有のために使用するローカルネットワークの通信量が大きい。すなわち、どの端末が不足パケットを所有しているかといった情報を伝達する必要があり、その分ローカルネットワークでの通信が必要となってしまう。各端末の不足パケットをそれぞれ伝送する必要があり、ローカルネットワークの通信量を必要としてしまう。
第3に端末数に制限が生じる。すなわち、端末が増えると当然通信量が増えるため、ローカルネットワークの通信容量に応じて、端末数に制限が生じる。
基地局から送信された情報パケットを受信する機能と、
ローカルネットワークに接続する通信機能と、
正しく受信、もしくは回復できた情報パケットの中から複数の生成元パケットを選択し、選択された生成元パケットに対して誤り訂正符号化を行い、単数もしくは複数のパリティパケットを生成する機能と、
生成したパリティパケットと生成元パケットすべての識別情報とをローカルネットワークにマルチキャストする機能と、
他の通信装置がマルチキャストしたパリティパケットと生成元パケットすべての識別情報とをローカルネットワークを通じて受信する機能と、
受信したパリティパケットと生成元パケットすべての識別情報とを記憶部に保存する機能と、
パリティパケットと生成元パケットすべての識別情報とを使用して欠落しているパケットを回復させる機能と
を備える通信装置である。
なお、本開示の説明は、下記の順序にしたがってなされる。
<1.本開示の概要>
<2.第1の実施の形態>
<3.第2の実施の形態>
<4.変形例>
図1を参照して本開示の概要について説明する。基地局(放送局または携帯基地局)1が情報データ例えば放送データをマルチキャストまたはブロードキャストする。複数例えば4個の無線通信の通信装置である端末2a,2b,2cおよび2d(これらの端末を特に区別する必要がない場合は単に端末2と称する)が放送データの情報パケットを受信する。上記、基地局からのマルチキャストまたはブロードキャストは、端末2全てに対して同一の放送データを基地局からユニキャストすることによっても実現される。端末2の例としては、多機能携帯電話(スマートフォン)や、セットトップボックス、テレビ受像機等である。
例えば上記RTPのシーケンス番号を識別情報として用いる場合、正しく受信済みの情報パケットのRTPシーケンス番号をその情報パケットの識別情報とする。もし受信済みの一連の情報パケットのRTPシーケンス番号に欠落があれば、欠落しているRTPシーケンス番号が消失した情報パケットのRTPシーケンス番号であるから、消失している情報パケットの識別情報についても決めることができる。
上述のMPEG2−TSやRTPの例に限らず、各情報パケットに対して、端末間で一意に決められる情報であれば、その情報を識別情報とすることができる。
本開示の第1の実施の形態について以下説明する。図2は、第1の実施の形態の全体構成を示す。図1と同様に、基地局(放送局または携帯基地局)1が情報データ例えば放送データをメディア(無線通信メディア)4を通じてマルチキャストまたはブロードキャストする。複数例えば3個の無線通信の通信装置である端末2a,2bおよび2c(これらの端末を特に区別する必要がない場合は単に端末2と称する)が放送データの情報パケットを受信する。
(1)基地局1から送信された情報パケットを受信する機能
(2)情報パケットからパリティパケットおよびコーディングベクタを生成する機能
(3)生成したパリティパケットおよびコーディングベクタをローカルネットワークにマルチキャスト送信する機能
(4)他の端末がマルチキャスト送信したパリティパケットおよびコーディングベクタをローカルネットワークを通じて受信し、パリティパケットと、コーディングベクタを保存する機能
(5)保存したパリティパケットと、コーディングベクタを使用して、欠落している情報パケットを回復させる機能
(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となる。
(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]に付随させる。
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]は消失していない }と表記できる。
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
より一般的に端末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]は消失していない }と表記できる。
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]が生成される。
d[N]は予め決められた正の整数であり、Sの要素数以下とする。
たとえば4や、8といった数である。仮にこれらの値がSの要素数を超える場合はSの要素数をd[N]とする。また、d[N]の値に応じて、生成されたパリティパケットによる回復確率が異なるため、基地局1から伝送された情報パケットを受信する際のパケットロス率等に応じて、d[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]]
上記式の加算記号+は、パケットの各ビット毎の排他的論理和を演算する。Σは各要素(パケット)のビット毎の排他的論理和を演算する。
(3)パリティパケットのマルチキャスト送信
(i)端末2aは、パリティパケットP1[0]およびコーディングベクタV1[0]をローカルネットワーク3へマルチキャスト送信する。
(ii)端末2bも同様にパリティパケットP2[0]およびコーディングベクタV2[0]をローカルネットワーク3へマルチキャスト送信する。ローカルネットワーク3へマルチキャスト送信する際、パリティパケットとコーディングベクタを連結し、単一のパケットとしてローカルネットワーク3上で伝送する。
(i)端末2bは、ローカルネットワーク3上で送られたパリティパケットP1[0]と付随するコーディングベクタV1[0]を受信し、それらをパリティパケット記憶部16に保存する。
(ii)端末2aは、ローカルネットワーク3上で送られたパリティパケットP2[0]と付随するコーディングベクタV2[0]を受信し、それらをパリティパケット記憶部16に保存する。
(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[2] = R1[0]+R1[4]+R1[7]+P2[0]
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]個の情報パケットの内、一つだけ消失している場合はその情報パケットを回復させる。その一つだけ消失している情報パケットの識別情報を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に含まれることになる。
例えば、情報パケットxが、生成元パケットとして選択された回数がnの場合の相対的な選択確率をP(x,n)としたとき、次のように更新する。
P(x,n) = P(x,n-1)*0.05(n>0の場合)
P(x,0) = 1.0(n = 0の場合)
(i)パリティ生成およびパリティ送信のみを行う端末2
(ii)パリティ受信および情報パケットの回復のみを行う端末2
上記(i)は段落〔0019〕に記載した機能の内、(1)(2)(3)の機能のみを持つ端末である。
上記(ii)は段落〔0019〕に記載した機能の内、(1)(4)(5)の機能のみを持つ端末である。
上記(i)の機能をもつ端末2の例として、八木アンテナ等の屋外アンテナを備えた据え置き型の放送受信装置が考えられる。このような放送受信装置は放送受信性能が高く、放送受信時に情報パケットが消失する可能性が低いため、消失パケットの回復を行う必要がない。したがって上記(i)のようにパリティ生成・送信のみを行う端末2として機能させることが考えられる。
また、上記(ii)の機能を持つ端末2の例として、放送受信機能をもつスマートフォン等のポータブル機器が考えられる。このような端末が放送受信条件の悪い屋内等で使用される場合、放送受信時に情報パケットを消失する可能性が高いため、上記(ii)のようにパリティの受信・回復機能のみを行う端末2として機能させることが考えられる。
本開示の第2の実施の形態について説明する。説明で使用する用語について概念を説明する。
タナーグラフ:LDPC等の誤り訂正符号の構成を示す際に一般的に用いられるグラフである。バリアブルノードとチェックノードにより構成される。
バリアブルノード:本開示においては、情報パケットもしくはパリティパケットに対応する。
チェックノード:タナーグラフ上にて、バリアブルノード間のパリティチェック関係を示す。パリティチェック関係とは、チェックノードに接続されているバリアブルノード間の関係のことを意味し、それらバリアブルノードの排他的論理和がゼロとなる関係のことである。各チェックノードにおいてパリティチェック関係を評価することで消失パケットを回復させる。本開示では、チェックノードはパリティパケットに付随するコーディングベクタが受信される毎に追加されていく。
コーディングベクタ:パリティパケットに付随する情報である。本開示では、パリティパケット生成端末から他の端末に対して、パリティチェック関係を通知するために用いる。パリティパケットがどのパケットから生成されたか(=パリティチェック関係)を保持しており、単数もしくは複数の生成元パケットの識別情報を要素とする。本開示において、各端末は受信したコーディングベクタに従ってチェックノードの追加、バリアブルノードの接続を行う。
(i)第1の実施の形態では、パリティパケットを生成する際に、基地局から受信した情報パケットのみを使用していた。第2の実施の形態では、基地局から受信した情報パケットのみならず、既にローカルネットワーク上で共有されたパリティパケットも利用する。
(ii)第1の実施の形態では、コーディングベクタ単体をローカルネットワーク上で伝送する事は無かった。しかし、第2の実施の形態では、コーディングベクタ単体をローカルネットワーク上で伝送し、端末間で共有する機能を持つ。
上述(i)(ii)はパリティパケットによる回復性能の向上に寄与する。本開示に於いてパリティパケットはローカルネットワーク上でマルチキャスト伝送され、各端末で共有される。
しかしローカルネットワーク上でマルチキャスト伝送する際にパケットロス、つまりパリティパケットの消失が発生する可能性がある。この場合、(i)のようにパリティパケット自体が、他のパリティパケットと相関を持つ(=パリティチェック関係にある)ことにより、パリティパケットがローカルネットワーク上で伝送される際に消失した場合でも、他の正しく受信した別のパリティパケットを用いて回復できる可能性がある。また、(ii)のようにコーディングベクタのみを伝送する事により、(i)の機能によって回復できたパリティパケット(ローカルネットワーク伝送で消失したが、他のパリティパケットによって回復されたパリティパケット)を用いて、情報パケットを回復させることが可能となる。これら(i)(ii)の機能についての詳細は、後述する段落〔0139〕〔0140〕で述べる。
(2)生成元情報パケットの識別情報を、MPEG2−TSパケットヘッダのコンティニュイティカウンタから生成する。
(3)生成元情報パケットの識別情報を、MPEG2−TS内に多重されている複数のプログラムのPCR値と、複数のPIDのコンティニュイティカウンタを組み合わせて生成する。
(4)生成元パリティパケットの識別情報を、パリティパケット生成端末固有の情報と、その端末で既に生成されたパリティパケット数より生成する。
このパリティパケット生成端末固有の情報として、ローカルネットワークのIPアドレスもしくは、MACアドレスを用いる。
さらに、送信済みパリティパケットの生成元情報のみをローカルネットワーク上でマルチキャスト伝送する。
識別情報は、パリティパケットを共有する他の端末と共通の番号とする。
識別情報は、放送受信信号より、一意に決定できる値である。
一例として、識別情報は、同一のMPEG2−TS内に多重されている複数のPIDパケットのコンティニュイティカウンタ値、およびPCR値を用いて生成する。
A=([最新のPCR値] / [PCR周期]) mod x
B=[PID 102の最新のコンティニュイティ・カウンタ値]
C=[PID 101の該当パケットのコンティニュイティ・カウンタ値]
xは、識別情報の周期を決めるパラメータとなる。
識別情報の周期が情報パケットバッファサイズ(Nimax)より大きな周期となるようにxを設定する。
A: 37
B: 3
C: 15
識別情報 = (A,B,C) = (37,3,15)
次の動画パケットの識別情報は、同様にして、(A,B,C) = (37,3,0)となり、さらに次の動画パケットの識別情報は、(A,B,C) = (37,3,1)となる。以下、同様に、識別情報が付与される。以下、同様にして各動画パケットに対して識別情報が付与される。
このように識別情報を生成することで、パリティパケットを共有する端末間で共通の識別情報を情報パケットに与えることができる。
識別情報 = A+B*16^1+C*16^2
この式からも判るように、識別情報の値の大小を比較することで情報パケットの順序を知ることが可能である。
InfoBuf[X].data: TSパケットのデータ188バイトを格納する。
InfoBuf[X].info_id: 識別情報を格納する。
InfoBuf[X].loss: 消失もしくは誤りを示す情報であり、正常に受信できた情報パケットに対しては0を格納する。TSパケットヘッダのエラーフラグが立っている場合はloss = 1とする。
InfoBuf[X].sel_prob: パリティパケット生成時に選択される確率[相対的な確率]を格納する領域である。新たな情報パケットを格納する場合は1.0とする。
loss:エラーもしくは消失したパケットであることを示すフラグである。
info_id:情報パケット識別情報を格納する領域である。
sel_prob:パリティパケット生成時に選択される確率(相対的な確率)を格納する領域である。この値は情報パケット間で相対的な値である。初期値は0である。
data:MPEG2−TSパケットデータ(188バイト)を格納する領域である。
loss:パリティパケットがエラーもしくは消失していることを示すフラグである。
term_id:パリティを共有する端末間でユニークな送信端末識別情報である。
parity_id:パリティパケット識別情報(パリティを生成した端末内でユニーク)
sel_prob:エンコード処理部で、パリティパケットの生成元として選択される確率を格納する。相対的な選択率は各パケット間で相対的な値である。
チェックノード記憶部の各要素について説明する。
info_degree:チェックノードに接続されている情報パケットの数を格納する。
pInfo[]:チェックノードに接続されている情報パケットのデータ格納領域(InfoBuf[0]〜InfoBuf[Nimax-1]のいずれか)の位置(記憶領域のアドレス)を示す。
parity_degree:チェックノードに接続されているパリティパケットの数を格納する。
pParity[]:チェックノードに接続されているパリティパケットの格納領域(ParityBuf[0]〜ParityBuf[Npmax-1]のいずれか)の位置(記憶領域のアドレス)を示す。
また、パリティパケット(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〕で説明するように、コーディングベクタのみが伝送される場合も、コーディングベクタ受信時に、チェックノードと各パケットの接続が追加される。
ステップST1:エンコード処理が開始される。
ステップST2:degree_i決定処理がなされる。degree_iは、パリティパケット生成に用いる生成元情報パケットの数である。ランダムに1〜12の値をdegree_iとして決定する。
もしくは、ある定められた確率分布にてdegree_iを決定する。
もしくは、予め固定された数、たとえばdegree_i = 8等、とすることもできる。
ランダムに0〜4の値をdegree_pとする。
もしくは、予め固定された数、たとえばdegree_p = 1等、とすることもできる。
情報パケット記憶部24に格納されている情報パケットから生成元情報パケットを一つ選択する。
情報パケットのsel_prob値をすべて加算し、total_probとする。
情報パケットすべてについて、個々の情報パケットInfoBuf[x]が選択される確率を(InfoBuf[x].sel_prob/total_prob)とする。
上記確率にて、ランダムに情報パケットを一つ選択する。
選択した情報パケットが欠落パケット(loss = 1)である場合は、再度、上記確率にてランダムに選択し直す。
degree_i個選択されるまで、上記を繰り返す。
degree_i個選択された後、選択された情報パケットの選択確率sel_probの値を更新する。
選択された情報パケットをInfoBuf[x]とした場合、下記の計算により選択確率を更新する。
InfoBuf[x].sel_prob = InfoBuf[x].sel_prob*update_ratio
update_ratioは、0.1等の値とし、情報パケットInfoBuf[x]がパリティパケットの生成元として選択される度に、選択確率が小さくなる。
パリティパケット記憶部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]が生成元として選択される度に、選択確率が小さくなる。
選択された情報パケットおよびパリティパケットに対して、ビット毎の排他的論理和をとることで、新規パリティパケットを生成し、新規パリティパケットをパリティパケット記憶部26へ追加する。
また、追加した新規パリティパケットに対応するチェックノードを、チェックノード記憶部27へ追加する。
新規パリティパケットを追加する格納領域をParityBuf[x]、新規チェックノードを追加する格納領域をCheckNode[y]とし、生成元情報パケットをInfoBuf[a],InfoBuf[b],InfoBuf[c]、生成元パリティパケットをParityBuf[d]とすると、ParityBuf[x]とCheckNode[y]は以下のようにデータが格納される。
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].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]
新規生成されたパリティパケットへパリティパケットヘッダを付加し、パリティパケット伝送フォーマットとしてRTP/UDP/IPプロトコル処理部30へ渡す処理である。
RTP(Real-time Transport Protocol)は、映像データ、音声データをインターネットを介してリアルタイムに伝送するプロトコルである。
UDP(User Datagram Protocol)は、信頼性を保証しないトランスポート層の通信プロトコルである。
IP(Internet Protocol)は、インターネット層のプロトコルである。
パリティパケットヘッダ部は、新規生成されたパリティパケットの識別情報と、生成元パケット情報(コーディングベクタ情報)が格納される領域である。
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個つづく)
送信処理
エンコード処理部32から出力されるパリティパケット伝送フォーマットをローカルネットワークのMTU(Maximum Transmission Unit:ネットワークで1回で送信できる最大のデータサイズ)等に応じて複数結合し、各標準プロトコルに従ってパケット化処理を行い、予め決められたマルチキャストアドレスを宛先IPアドレスに設定し、ローカルネットワークへマルチキャスト送信する。
ローカルネットワークインターフェイス部29にてパリティパケット伝送フォーマットをペイロードとするIP/UDP/RTPパケットが受信された場合、ペイロードであるパリティパケット伝送フォーマットをパリティパケット入力部31へ渡す。もしIP/UDP/RTPパケットのペイロードとして複数のパリティパケット伝送フォーマットが含まれている場合は、個々のパリティパケットフォーマットへ分割してパリティパケット入力部31へ渡す。
ステップST12:パリティパケット記憶部空き領域取得処理がなされる。
受信パリティパケットを格納する領域を、パリティパケット記憶部26の空き領域から取得する。以下、取得した受信パリティパケットの領域をParityBuf[x]と表記する。
追加するチェックノードを格納する領域を、チェックノード記憶部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バイト)
コーディングベクタ情報に従って、チェックノードCheckNode[y]と既存パリティパケットの接続処理を行う。
ステップST16:情報パケット接続処理がなされる。
チェックノードの情報パケットへのポインタをセットし、チェックノードと情報パケットとの接続処理がなされる。
ステップST21:接続処理が開始される。
ステップST22:degree_p設定処理がなされる。
次のように、パリティパケットの生成元パケット数を追加チェックノードのdegree_pに格納する。
CheckNode[y].degree_p = コーディングベクタ情報のdegree_p
この処理はi = 0から、i = degree_p-1まで繰り返し処理する。以下、この処理について説明する。
ステップST24:生成元パリティパケット検索処理がなされる。
コーディングベクタ情報の、term_id[i],parity_id[i]と同一の端末識別情報、パリティパケット識別情報をもつパリティパケットを、パリティパケット記憶部26内で検索する。
ステップST25:生成元パリティパケットがパリティパケット記憶部26に存在しているかどうかが判定される。
以下、もし生成元パリティパケットがパリティパケット記憶部26に存在してれば、以下の説明ではそのパリティパケットを格納する領域をParityBuf[z]と表記する。
ステップST28:パリティパケット追加処理がなされる。ParityBuf[z]へ下記のようにデータを格納する。
ParityBuf[z].term_id = コーディングベクタ情報のterm_id[i]
ParityBuf[z].parity_id = コーディングベクタ情報のparity_id[i]
ParityBuf[z].sel_prob = 1.0
ParityBuf[z].dataへはデータを格納する必要はない。
次のようにチェックノードのパリティパケットへのポインタをセットし、チェックノードとパリティパケットを接続する。
CheckNode[y].pParity[i] = &ParityBuf[z]
ステップST29:パリティパケット接続処理が終了する。
ステップST31:接続処理が開始される。
ステップST32:degree_p設定処理がなされる。
次のように、パリティパケットの生成元パケット数を追加チェックノードのdegree_iに格納する。
CheckNode[y].degree_i = コーディングベクタ情報のdegree_i
この処理はi = 0から、i = degree_i-1まで繰り返し処理する。以下、この処理について説明する。
ステップST34:生成元パリティパケット検索処理がなされる。
コーディングベクタ情報の、info_id[i]と同一の識別情報をもつ情報パケットを、情報パケット記憶部24内で検索する。
ステップST35:生成元情報パケットが情報パケット記憶部24に存在しているかどうかが判定される。
以下、もし生成元情報パケットが情報パケット記憶部24に存在してれば、以下の説明ではその情報パケットをInfoBuf[z]と表記する。
ステップST38:情報パケット追加処理がなされる。InfoBuf[z]へ下記のようにデータを格納する。
InfoBuf[z].loss = 1
InfoBuf[z].info_id=コーディングベクタ情報のinfo_id[i]
InfoBuf[z].sel_prob=1.0
InfoBuf[z].dataへはデータを格納する必要はない。
次のようにチェックノードの情報パケットへのポインタをセットし、チェックノードと情報パケットを接続する。
CheckNode[y].pInfo[i]=&InfoBuf[z]
ステップST39:パリティパケット接続処理が終了する。
ステップST17:チェックノードキュー追加処理がなされる。
デコード処理部25のチェックノードキューへ、CheckNode[y]を追加する。
ステップST18:パリティパケット入力部の処理が終了する。
ステップST41:デコード処理が開始される。
ステップST42:チェックノードキューのアイテム数が0か否かが判定される。
チェックノードキューは、図24に示すように、処理の必要なチェックノードへのポインタを要素とする、FIFO(First-In First-Out)型のバッファである。
ステップST42において、チェックノードキューに処理待ちのチェックノードがある場合は、チェックノード取得処理(ステップST44)へ進む。
ステップST44:チェックノード取得処理は、チェックノードキューから処理待ちのチェックノードを取り出す。以下の説明では、ここで取り出したチェックノードをCheckNode[x]と表記する。
ステップST45:取り出されたチェックノードに対する処理がなされる。
ステップST51:チェックノード処理が開始される。
ステップST52:消失パケット数カウントがなされる。ステップST52において、CheckNode[x]に接続されている情報パケットとパリティパケットすべてについて、消失しているパケットかどうかを確認し、消失パケット数をカウントする。消失しているかどうかは消失フラグ(loss値)により確認する。
ステップST54:消失パケット数が1の場合、パケット回復処理を行う。回復処理を行うパケットをInfoBuf[x]とすると下記のように回復処理を行う。チェックノード処理が終了する(回復パケットあり)。
InfoBuf[x].data ={CheckNode[x]に接続されている他のパケットのdata部分の排他的論理和}
InfoBuf[x].loss=0
ステップST53において、消失パケット数が1でない場合、パケット回復処理を行わずにチェックノード処理が終了する(回復パケット無し)。
ステップST46:回復パケットの有無が判定される。回復パケットがない場合は、チェックノード取得処理(ステップST42)へ処理が戻る。
チェックノード追加処理では、回復パケットInfoBuf[x]に接続されているチェックノードをチェックノード記憶部27内で検索し、InfoBuf[x]に接続されているチェックノードをチェックノードキューへ追加する。
チェックノード追加処理後、チェックノード取得処理(ステップST42)へ処理が戻る。
本実施例では、CASデスクランブル部34で実施されるデスクランブル処理前の情報パケットを用いてパリティパケットの生成・共有を行う。スクランブルが施されている情報パケットを用いてパリティパケット生成・共有を行うため、著作権が保護された状態でローカルネットワークを介したデータ共有を実現することが可能である。
エンコード処理部32に対する制御・モニタは、処理の実行タイミングを指示することである。
図26に示すように、パリティパケット生成周期Tgenにてエンコード処理を行い、5つのパリティパケットを生成した時点で、RTP/UDP/IPプロトコル処理部30が5つのパリティパケットを結合し、ローカルネットワークインターフェース部29を通じてローカルネットワークにマルチキャスト伝送している。
チェックノード記憶部27にある自端末で生成されたパリティパケットに対応するチェックノードの情報からコーディングベクタ情報を生成し、RTP/UDP/IPプロトコル処理部30へ出力する。この処理は、予め定めた周期で行う。
コーディングベクタ情報の生成に用いるチェックノードは、チェックノード記憶部27よりランダムに選択する。
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へ追加する。
ステップST61:コーディングベクタの入力処理を開始する。
ステップST62:チェックノード検索処理がなされる。
受信したコーディングベクタ情報と同一のチェックノード(チェックノードに接続されている全てのパケットの識別情報が、受信したコーディングベクタ情報と一致する物)をチェックノード記憶部27内で検索する。
ステップST65:ステップST63において同一のチェックノードが存在しないと判定される場合は、チェックノード記憶部空き領域取得処理がなされる。
チェックノード記憶部空き領域取得処理(ステップST65)以降の、パリティパケット接続処理(ステップST66)、情報パケット接続処理(ステップST67)、チェックノードキュー追加処理(ステップST68)は、図20、図21および図22のフローチャートを参照して説明したパリティパケット入力部31の処理と同一である。
一例として、図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ではパリティパケットと付随するコーディングベクタが、パリティパケット伝送フォーマットとして結合された後、ローカルネットワークにて伝送される。
たとえば図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}
このように各チェックノードは、パリティパケットを受信する毎に付随するコーディングベクタVi, Vpの情報に基いて生成元パケット間を接続していく。
情報パケット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]を回復することができない。
(1)空間ダイバーシティ効果が得られ、受信品質が高まる。
(2)通常のアンテナダイバーシティと比較し、自由に移動可能な端末間でダイバーシティ効果を得るため、フェージング相関が低くなり、高いダイバーシティ効果が期待できる。
(3)端末数に制限がなく、多くの端末の受信品質を同時に向上させることができる。
(4)パリティパケットを同時に複数の端末で共有することで、ローカルネットワークの負荷が小さくてすむ。
(5)ローカルネットワーク上のパケットロスに対する誤り制御としても働く。
(6)パリティパケット生成時に、生成元パケットを選択する確率を更新することで、効率的なパリティパケットを生成することができる。
以上、本開示の実施の形態について具体的に説明したが、上述の各実施の形態に限定されるものではなく、本開示の技術的思想に基づく各種の変形が可能である。例えは本開示は、複数のTSパケットを集めたものを一つのパケットとして扱うようにしても良い。さらに、TSパケット以外のパケットを処理の単位としても良い。
2,2a〜2d・・・端末
3・・・ローカルネットワーク
13・・・情報パケット記憶部
14・・・A/Vデコード部
16・・・パリティパケット記憶部
17・・・パリティ共有誤り制御部
22・・・情報パケット識別情報付与部
24・・・情報パケット記憶部
25・・・デコード処理部
26・・・パリティパケット記憶部
27・・・チェックノード記憶部
28・・・制御部
31・・・パリティパケット入力部
32・・・エンコード処理部
33・・・情報パケット出力部
Claims (12)
- 基地局と、前記基地局に対する端末としての通信装置と、複数の前記通信装置が接続され、複数の前記通信装置間で情報を共有するためのローカルネットワークからなる通信システムにおける前記通信装置であって、
前記基地局から送信された情報パケットを受信する機能と、
前記ローカルネットワークに接続する通信機能と、
正しく受信、もしくは回復できた情報パケットの中から複数の生成元パケットを選択し、選択された前記生成元パケットに対して誤り訂正符号化を行い、単数もしくは複数のパリティパケットを生成する機能と、
生成した前記パリティパケットと前記生成元パケットすべての識別情報とを前記ローカルネットワークにマルチキャストする機能と、
他の通信装置がマルチキャストした前記パリティパケットと前記生成元パケットすべての識別情報とを前記ローカルネットワークを通じて受信する機能と、
受信した前記パリティパケットと前記生成元パケットすべての識別情報とを記憶部に保存する機能と、
前記パリティパケットと前記生成元パケットすべての識別情報とを使用して欠落しているパケットを回復させる機能と
を備える通信装置。 - 正しく受信、もしくは回復できた情報パケットの中から複数の生成元パケットを選択し、選択された前記生成元パケットのビット毎の排他的論理和により、前記パリティパケットを生成する請求項1に記載の通信装置。
- 前記パリティパケットの生成に用いる複数の生成元パケットをランダムに選択する請求項2に記載の通信装置。
- 複数の生成元パケットおよび既に生成されたパリティパケットを選択し、ビット毎の排他的論理和により前記パリティパケットを生成する請求項1に記載の通信装置。
- 前記生成元パケットをランダムに選択する際に、すでに選択された回数に応じて、選択される確率を変える請求項4に記載の通信装置。
- 送信済みパリティパケットの生成元情報のみをローカルネットワーク上でマルチキャスト伝送する請求項1に記載の通信装置。
- 生成元情報パケットの識別情報として、情報パケット内のシーケンス番号もしくは、タイムスタンプ値を用いる請求項1に記載の通信装置。
- 生成元情報パケットの識別情報を、MPEG2−TSのPCR値から生成する請求項1に記載の通信装置。
- 生成元情報パケットの識別情報を、MPEG2−TSパケットヘッダのコンティニュイティカウンタから生成する請求項1に記載の通信装置。
- 生成元情報パケットの識別情報を、MPEG2−TS内に多重されている複数のプログラムのPCR値と、複数のPIDのコンティニュイティカウンタを組み合わせて生成する請求項1に記載の通信装置。
- 生成元パリティパケットの識別情報を、パリティパケット生成装置固有の情報と、その端末で既に生成されたパリティパケット数より生成する請求項1に記載の通信装置。
- 受信パリティパケットの生成元パケットと同一の識別情報を持つパケットを記憶部から検索し、生成元パケットの内、欠落パケットが一つだけであれば、受信パリティパケットと他の複数の生成元パケットの排他的論理和により、消失パケットを回復する請求項1に記載の通信装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015133301 | 2015-07-02 | ||
JP2015133301 | 2015-07-02 | ||
PCT/JP2016/002167 WO2017002291A1 (ja) | 2015-07-02 | 2016-04-25 | 通信装置、通信システム、通信方法およびプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2017002291A1 JPWO2017002291A1 (ja) | 2018-04-19 |
JP6809456B2 true JP6809456B2 (ja) | 2021-01-06 |
Family
ID=57608129
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017525792A Active JP6809456B2 (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) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101870750B1 (ko) * | 2017-12-28 | 2018-06-26 | 오픈스택 주식회사 | 패킷 전송 순서 재배열을 이용한 영상 인코딩 장치 및 그 동작 방법 |
CN111786743A (zh) * | 2019-04-04 | 2020-10-16 | 华为技术有限公司 | 一种数据传输的方法和装置 |
DE112020005969T5 (de) * | 2019-12-05 | 2022-09-22 | Sony Group Corporation | Empfangsendgerät und verfahren |
Family Cites Families (13)
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 |
JP4125865B2 (ja) | 2000-10-30 | 2008-07-30 | 日本放送協会 | 相補ネットワークを用いた無線受信方式およびその無線受信機 |
CN1868157B (zh) * | 2003-08-21 | 2011-07-27 | 高通股份有限公司 | 无线链路控制层上的前向纠错编码方法和相关装置 |
US7596743B2 (en) * | 2005-09-28 | 2009-09-29 | Ati Technologies Inc. | Method and apparatus for error management |
CN101512989B (zh) * | 2006-07-25 | 2013-08-14 | 汤姆森特许公司 | 利用交错播放和交叉分组前向纠错在基于因特网协议的无线网络中恢复突发分组丢失 |
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 |
JP5279640B2 (ja) * | 2009-07-09 | 2013-09-04 | 三菱電機株式会社 | 無線通信システム、無線通信装置、受信装置および無線通信方法 |
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 | 삼성전자주식회사 | 통신 시스템에서 패킷 송수신 방법 및 장치 |
US20150381314A1 (en) * | 2013-02-20 | 2015-12-31 | Mitsubishi Electric Corporation | Wireless device |
-
2016
- 2016-04-25 WO PCT/JP2016/002167 patent/WO2017002291A1/ja active Application Filing
- 2016-04-25 CN CN201680037705.8A patent/CN107710627B/zh active Active
- 2016-04-25 JP JP2017525792A patent/JP6809456B2/ja active Active
- 2016-04-25 DE DE112016002961.6T patent/DE112016002961T5/de active Pending
- 2016-04-25 US US15/739,461 patent/US10897372B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JPWO2017002291A1 (ja) | 2018-04-19 |
CN107710627A (zh) | 2018-02-16 |
US10897372B2 (en) | 2021-01-19 |
DE112016002961T5 (de) | 2018-03-15 |
WO2017002291A1 (ja) | 2017-01-05 |
US20180183617A1 (en) | 2018-06-28 |
CN107710627B (zh) | 2022-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11457098B2 (en) | Transmitting apparatus, receiving apparatus, and signal processing method thereof | |
JP6809456B2 (ja) | 通信装置 | |
JP2011142421A (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) | 受信装置及び方法、プログラム、並びに受信システム | |
JP6364268B2 (ja) | 送信装置及び受信装置 | |
KR100579132B1 (ko) | 타이밍정보 지터 방지를 위한 멀티미디어데이터전송스트림의 계층적 전송 장치 및 그 방법과, 계층적으로전송된 멀티미디어데이터 전송스트림의 복원 장치 및 그방법 | |
JP7031932B2 (ja) | 放送信号送信装置および放送信号送信方法 | |
JP2021158549A (ja) | Si送出装置、si送出システム、si送出方法およびsi送出システムの運用方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190320 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200609 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200807 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20201006 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20201022 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20201110 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20201123 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 6809456 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |