JPH08186570A - Atm網における誤り制御方法 - Google Patents
Atm網における誤り制御方法Info
- Publication number
- JPH08186570A JPH08186570A JP32691194A JP32691194A JPH08186570A JP H08186570 A JPH08186570 A JP H08186570A JP 32691194 A JP32691194 A JP 32691194A JP 32691194 A JP32691194 A JP 32691194A JP H08186570 A JPH08186570 A JP H08186570A
- Authority
- JP
- Japan
- Prior art keywords
- data
- interleaver
- error
- fec
- column
- 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.)
- Granted
Links
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/0056—Systems characterized by the type of code used
- H04L1/0071—Use of interleaving
-
- 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/29—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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2906—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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
- H03M13/2909—Product codes
- H03M13/2915—Product codes with an error detection code in one dimension
-
- 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/63—Joint error correction and other techniques
- H03M13/635—Error control coding in combination with rate matching
- H03M13/6356—Error control coding in combination with rate matching by repetition or insertion of dummy data, i.e. rate reduction
-
- 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/0056—Systems characterized by the type of code used
- H04L1/0057—Block 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
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1812—Hybrid protocols; Hybrid automatic repeat request [HARQ]
- H04L1/1819—Hybrid protocols; Hybrid automatic repeat request [HARQ] with retransmission of additional or different redundancy
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q11/00—Selecting arrangements for multiplex systems
- H04Q11/04—Selecting arrangements for multiplex systems for time-division multiplexing
- H04Q11/0428—Integrated services digital network, i.e. systems for transmission of different types of digitised signals, e.g. speech, data, telecentral, television signals
- H04Q11/0478—Provisions for broadband connections
-
- 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
- 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
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L2012/5625—Operations, administration and maintenance [OAM]
- H04L2012/5627—Fault tolerance and recovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L2012/5629—Admission control
- H04L2012/563—Signalling, e.g. protocols, reference model
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Theoretical Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
ンシイの信頼性のある通信を可能とするATM網におけ
る誤り制御方法を提供することを目的とする。 【構成】 順次、一連のデータを所定長に順次区切って
マトリクス状のメモリを持つインタリーバのデータ領域
の各列に書き込んでいき、データ領域の最大列までデー
タで満たされた場合には最大列をデータ領域の最終列と
し/満たされなかった場合にはデータが最後に書き込ま
れた列またはその次の列を最終列とし、データ領域の各
行について最終列までのデータに対する誤り制御符号を
夫々求め、このデータ領域の各行に対する誤り制御符号
をインタリーバの誤り制御符号領域内の対応する位置に
夫々書き込む手順と、インタリーバの内容を列ごとに順
次読出していき、読出された列に対して所定の列数ごと
にシーケンスナンバを含むヘッダ/トレイラを付与する
手順を有する。
Description
ronous Transfer Mode)セルを用
いて主としてデータ通信を行う場合に関し、特にAAL
(ATM Adaptation Layer)におい
て誤り制御を行う方法に関する。
信形態に適応させるには、ATM網と上位レイヤとのイ
ンタワークが必要であり、その機能を備えたAALがA
TMレイヤと上位レイヤの間に存在する。
の一例としてAALタイプ5の位置づけを示す。タイプ
5の場合、AALは大きく分けてCSレイヤ(Conv
ergence Sublayer)とSARレイヤ
(Segmentationand Reassemb
le)の2つのサブレイヤからなっている。CSレイヤ
はさらに2つのサブレイヤからなっており、CPCSレ
イヤ(CommonPart CS)はサービスの種類
に係わらず必要となる処理を、また、SSCSレイヤ
(Service Specific CS)はサービ
スに依存して行われる処理を受け持っている。従って、
SSCSレイヤがヌルの場合も有る。SARレイヤは、
主にデータの分解/組立を行っており、送信時にはAT
MレイヤでATMヘッダを付与することができるサイ
ズ、つまりペイロードサイズである48オクテットにデ
ータを区切って下位レイヤに渡す処理を行う。それとは
反対に、受信時には下位レイヤからペイロードサイズの
データを受け取り、CS−PDUに組み立ててCSレイ
ヤに渡す。
じて4つのタイプがITU−Tなどにより標準化されて
いる。具体的には、AAL1は固定ビットレートの音声
・画像などのリアルタイム通信、AAL2は可変ビット
レートのリアルタイム通信、AAL3/4と5は可変デ
ータ通信用(但し、AAL3と5はコネクションオリエ
ンテッド(CO)通信用、AAL4はコネクションレス
(CL))となっている。
ータ通信用であることから、わずか1ビットのビット誤
りでさえ許容されないようなデータの正確さ、換言する
と受信したデータが送信したデータと完全に同一のもの
であるということを保証できるような信頼性が要求され
るアプリケーションの存在が考えられる。また、AAL
1、2といったリアルタイムアプリケーションで高いQ
OSが要求されるような場合にも、データ自体の信頼性
が必要となってくることは言うまでもない。
リミティブな部分の標準化に留まっており、AALにて
誤り制御機能が十分には提供されていない。このため、
正確さが要求されるデータ通信をAAL3/4、あるい
はAAL5のユーザが求める場合、例えばAAL5であ
れば、標準の決まっていないCPCSレイヤよりも上位
のレイヤに、信頼性を保証させるプロトコルを実装する
必要がある。AAL5のCPCSレイヤ以下では仕様が
固まっており、すでに標準化されているため、サービス
に依存した新しい機能を付加する場合にはCPCSレイ
ヤよりも上位のレイヤでなければならない。
Sレイヤ(Service Specific Con
vergence Sublayer;サービス依存C
Sレイヤ)に再送制御を基本としたプロトコルを実装す
る方法(例えば、ITU−TのQ.SAALプロトコ
ル)や、SSCSレイヤをヌルとし、その上位にトラン
スポートレイヤプロトコル(例えば、TCPやOSI/
TP4など)を実装する方法などがある。
信頼性を確保する方法である。
ョンなど、大容量で実時間性が求められ(すなわち再送
制御が基本的に許されない)、かつ信頼性も要求される
アプリケーションが今後ますます増えていくと考えられ
る。
ど、通信網の広域化がなされている。通信網が広域であ
ればあるほど、上記のレイテンシイの確保と、再送によ
る誤り制御とは相いれないものとなってくる(情報の再
送には莫大な時間がかかる)。
を行う方式においては、再送の単位は上位レイヤパケッ
ト群(具体的には、例えばTCPパケットや、レイヤ4
パケットグループ)であり、セルの廃棄といった比較的
小さな単位のデータ消失に対し、大きなデータの再送を
求めるものとなっており、網資源の浪費につながる場合
がある。
本とする誤り制御方法をATM端末上に実装するのみで
は対処が難しいデータ通信領域が、今後ますます増大し
ていくことが考えられる。特に、リアルタイム性が重視
される場合には、リアルタイム性の確保が必須であり、
再送を基本とする誤り制御方法による対処では極めて難
しい。
大会にて本発明者らは、“B−786 ATM網におけ
る誤り制御方式、FEC(Forward Error
Correction)on AAL Type
5”と題してFECをAAL5に実装する方法を提案し
ている。この方式は、送信するデータに対して誤り訂正
符号を付与して通信を行い、網内にて多少の情報の廃棄
や誤りが生じた場合でも受信側において消失情報の再生
を行うという、信頼性のある通信を行うための別のアプ
ローチを適用したものである。より具体的には、AAL
1のCSレイヤにおけるオプションとして用意されてい
る誤り訂正符号と同様の符号をAAL5のSSCSレイ
ヤ以上の部分に適用するものである。AAL1では、送
信側から受信側へ音声・映像などのリアルタイム通信を
行うため、再送が現実的にできないことから、該データ
に誤り制御符号を付与して、伝送中のエラーに対する耐
性を強くするといった工夫が行なわれている。この方法
と同様のインタリーブ方式を用いて、FEC冗長コード
をAAL5のデータに対して付加することによって(再
送を必要としない)リアルタイム通信や、信頼性のある
通信を保証することができる。
いた理由としては、例えば以下の点があげられる。
本命視される中、ITU−TやATMフォーラムなどの
標準化機関により標準化が進められているデータ通信用
AAL(具体的にはAAL5)が、今後の高速端末(マ
ルチメディア端末を含む)に実装されていく可能性が極
めて高いこと。
イテンシイを目的としていること。
にも実装可能であることはもちろんのことである。
いるようなFECを行うためには、送信側において、上
位レイヤから渡されたデータを一度マトリクス状のイン
タリーバに書き込んで、冗長用の符号を付与した後に転
送する必要がある。また、受信側では到着すべきであっ
たが廃棄されてしまったり、到着が許容範囲以上に遅く
なってしまったデータ(セル)が送信時にインタリーバ
のどの位置にあったかを特定する必要がある。AAL1
では、デフォルトの処理としてSARレイヤでセルにシ
ーケンスナンバ(SN)を付与することになっているの
で、オプションとしてFECを行う場合にもこれを用い
ることができ、必然的に誤り位置の特定を行うことがで
きた。一方、AAL5には位置を特定するための処理は
行われていない。そこで、FEC冗長符号およびSNの
付与を行う機能を、現状ではヌルであるSSCSレイヤ
に持たせることを提案した。
インタリーバはAAL1で用いられているものと同じで
あり、データを書き込めるサイズは固定であった。AA
L1では、転送するデータが音声等のCBR(Cons
tant Bit Rate;固定ビットレート)であ
り、一定の割合で連続して上位レイヤから渡されること
が予めわかっているので、大きめの固定サイズのインタ
リーバでも問題はなかった。しかしながら、データ転送
においては、どのようなタイミングで、どのような大き
さのデータが上位レイヤから渡されるかわからない。よ
って、大きさの固定されたインタリーバでは、インタリ
ーバのサイズよりもかなり小さいデータを転送する場合
には、残りの領域にダミーデータをパディングしてダミ
ーセルを送出しなければならない。データのサイズをイ
ンタリーバのサイズで割ったときの剰りが小さい場合、
ダミーデータが増えてしまうので、特に問題になる。
有効に使うことができず、余分なトラヒックを増やして
しまうことになりかねない。加えて、従来のAAL1と
異なり、ダミーデータがインタリーバ毎に入るときに
は、どこからがダミーデータであるかを示すための表示
部分がインタリーバ毎に必要であるので、この部分を受
信側で的確に取り出せるための機構も必要となる。
から渡されたデータを一度メモリに書き込んでから読み
出しを行っているので、書き込みと読み出しの方向が垂
直になる場合には、レイテンシイが少なくとも1つのイ
ンタリーバに書き込むのに必要な時間だけかかった。例
えば、ITU−T勧告I.363においてAAL1のオ
プションとなっているインタリーバ1つあたりのサイズ
はデータ領域で47×124=5828オクテットあ
り、この領域に対して最初の列にデータを書き込み始め
てから最終列の書き込みに入る所までの間、下位レイヤ
に対しての送出は全くできないことになる。
TU−T,SG XIII,Working Docu
ment TD/27(Rev.) (13−2)−
E,March,1994 at Geneva,“S
tatus Report on AAL1/2 fo
r video signal transport”
にあるように、斜めインタリーブ(読み出しと書き込み
の方向が斜めに交差する)という手法が提案されてい
る。しかしながら、この方法を用いても、垂直に交差す
る場合と比べてレイテンシイは半分にしかならないとい
う問題があった。
される文献(1994年春 電子情報通信学会 春季全
国大会 B−853;「ATMセルとMPEG−2シス
テム規格との整合性を考慮した誤り訂正手法の検討」)
において、データの読み出しと書き込みが同じ方向であ
るかのごときインタリーバが図示されており、そのよう
に書き込みと読み出しを行えば上記のような遅延自体は
改善される。当該図に対しては何ら説明が与えられてい
ないが、一般的に該インタリーバへはデータを書き込
み、その後読み出すという操作が必要であり、またその
読み書きのためのメモリ領域もインタリーバの大きさが
必要である。すなわち、この方法においても、なお、イ
ンタリーバの大きなメモリ領域の確保が必要であるとと
もに、該メモリへの読み書きのための遅延が回避できな
いという問題があった。
長符号が付与されている場合、既存の方法(AAL1
等)では、従来送信時にFEC冗長符号を付与するのと
同程度のあるいはそれ以上の遅延がすべてのデインタリ
ーバ処理で生じてしまうという問題もあった。それは、
受信時には到着したデータを、データ領域かFEC冗長
領域かにかかわらず、全て順次デインタリーバ内に格納
していくという処理が必要であったからである。AAL
1では、セル廃棄をSNで検出することは可能である
が、データ内のビット誤りを検出する機能がFEC冗長
符号にしかないため、データが正しいことを確認するに
は、受信側は全てのデータに対してFECによる復号処
理を行わなければならない。これらの処理に要する遅延
は、ビットエラーがセル廃棄と比較して極めてまれであ
ってほとんどのデータが正しいような場合には、特に無
駄が大きくなってしまっていた。
来のFECによる誤り訂正は、本来CBR伝送等に適切
な方式であって、転送すべきデータが連続的に上位レイ
ヤから到着することを前提としている。よって、特にA
AL3/4、5のようなデータ転送を行うプロトコル
に、従来のようなFECによる誤り訂正を実装するのは
不向きであった。すなわち、AAL1で採用されている
固定サイズのインタリーバでは、送りたいデータがその
サイズと比べて小さい場合には、データでインタリーバ
のデータ領域を満たすことができないので、残りの領域
にはダミーデータを入れてダミーセルを送出するしかな
かった。このような方法では、帯域を有効に使うことが
できず、余分なトラヒックを増やしてしまい、輻輳を招
くことになりかねない。加えて、どこからがダミーデー
タであるかをインタリーバ毎に明確にし、それを受信側
にわかるように伝送する機能が必要となるが、従来のA
AL1のインタリーバでは全く考えられていなかった。
て書き込みと読み出しの方向が異なるために、メモリに
書き込んでいる間、メモリからの読み出しを待つことで
遅延が存在する。この遅延はインタリーバの大きさにお
よそ比例するものであり、比較的低遅延であると言われ
ている斜めインタリーブの方法を用いても遅延の大きさ
を半分にすることしかできない。
タの読み書きが同じとなるような既存の方法において
も、インタリーバのメモリ領域の確保が必要で、また該
メモリへの読み書きのための遅延時間が必要であった。
法では、誤り検出や復号のために受信時にも従来送信時
と同程度あるいはそれ以上の遅延が生じてしまうという
問題もあった。というのは、受信時には、到着したデー
タをデータ領域のものだけでなくFEC冗長領域のもの
も含めて全て、順次デインタリーバ内に格納し、FEC
により誤り検出、さらには訂正を行なっていたからであ
る。
のであり、AALにおいて高スループットかつ低レイテ
ンシイの信頼性のある通信を可能とするATM網におけ
る誤り制御方法を提供することを目的とする。
ダプテーションレイヤにて行なうATM網における誤り
制御方法であって、上位レイヤから渡された送信しよう
とする一続きのデータを所定長のデータ列に順次区切
り、マトリクス状に定義された記憶領域を有するインタ
リーバのデータ記憶領域の各列に順次書き込んでいく第
1の手順と、この第1の手順により前記インタリーバの
データ記憶領域の最大列まで前記データで満たされた場
合にはこの最大列を前記インタリーバにおけるデータ記
憶領域の最終列とし、前記インタリーバのデータ記憶領
域の最大列まで前記データで満たされなかった場合には
前記データが最後に書き込まれた列またはその次の列を
データ記憶領域の最終列とし、前記インタリーバのデー
タ記憶領域の各行について、該最終列までのデータに対
する誤り制御符号を夫々求め、このデータ記憶領域の各
行に対する誤り制御符号を、前記インタリーバの誤り制
御符号記憶領域内の対応する位置に夫々書き込む第2の
手順と、前記インタリーバのデータ記憶領域および誤り
制御符号記憶領域の内容を列ごとに順次読み出してい
き、読み出した列に対して所定の列数ごとにシーケンス
ナンバを含むヘッダ/トレイラを付与する第3の手順と
を有することを特徴とする。
インタリーバのデータ領域の最終列の所定位置に、該最
終列の先頭から書き込まれているデータの長さを表示す
るための長さ表示情報を書き込むとともに、該最終列内
に書き込まれたデータの最終ビットの記憶位置と該長さ
表示情報の記憶位置との間の未使用部分にはパッドを与
えることを特徴とする。
5を用いる場合において、前記第1の手順では、上位レ
イヤから渡された前記データを、前記インタリーバに書
き込まずに、下位レイヤであるコモン・パート・コンバ
ージェンス・サブレイヤに渡し、前記第2の手順では、
前記第1の手順にて前記コモン・パート・コンバージェ
ンス・サブレイヤにデータを渡す際に誤り制御符号の計
算を行い、得られた誤り制御符号のみメモリに書き込
み、前記第3の手順では、前記メモリから前記誤り制御
符号を読み出し、読み出した前記誤り制御符号を前記コ
モン・パート・コンバージェンス・サブレイヤに渡すこ
とを特徴とする。
5を用いる場合において、前記インタリーバのデータ領
域と誤り制御符号領域とは互いに異なるコモン・パート
・コンバージェンス・サブレイヤのプロトコル・データ
・ユニットに属するものであって、受信側にて、同一の
前記インタリーバに属し前記データ領域の内容を含む1
つ以上のコモン・パート・コンバージェンス・サブレイ
ヤのプロトコル・データ・ユニットに対してATMアダ
プテーションレイヤ・タイプ5による誤り検出処理を行
う手順と、この手順にて誤りが検出された場合にのみ、
受信したデータ内に含まれるダミーデータを除いたデー
タの正確な大きさを認識した後に該データに対して誤り
訂正処理を行う手順をさらに有することを特徴とする。
法によると、AALにて、FECを用いた誤り制御方式
を実現する枠組みを提供することができる。これによ
り、FECの誤り訂正能力で回復可能な誤り発生のレベ
ルであれば、再送制御無しに信頼性の要求される通信を
行うことができる。
用いたFECによる誤り制御は長さ合わせのための意味
の無いオーバーヘッドであるデータ以外の部分(ダミ
ー)を含むセルが生じるものであり、特にデータの生成
がバースト的に起こるAAL3/4、5におけるデータ
転送では適用が難しく、ダミーセルの増加が著しい。
位になるインタリーバのサイズを可変とし最大値のみを
設けることによって柔軟性を持たせた。
最小限に抑えることができ、高スループット、低レイテ
ンシイを実現することが可能となる。また、従来の固定
サイズのインタリーバにてデータの入らなかった領域に
PADするような操作が不要となるので、計算量を削減
することができ、高速化を図ることができる。
みと読み出しの方向を同一にしたことで、データの書き
込みを開始した直後から読み出しを行うことができるよ
うになる。従来は、インタリーバのデータ領域分全てに
データを書き込むまで下位レイヤに対してデータを渡す
ことはできずかなりの遅延がかかっていたが、本発明に
よれば、この遅延はほぼ0と大幅に短縮できる。
御方法によると、インタリーバに書き込まれたデータの
最終位置を示すフィールドを設けることによって、イン
タリーバ内に書き込まれているデータのサイズを確実に
認識することができる。
ついて送受信双方でネゴシエーションをとっておくこと
によって、受信側でもデータのサイズを確実に認識で
き、正しいデータを再生して上位レイヤに渡すことが可
能となる。
で、最小限のパディングだけで済み、転送効率もFEC
を行なう場合としては最大限に引き上げることができ
る。
御方法によると、インタリーバ専用のメモリに書き込む
ことを省略しFEC冗長コードの計算結果を書き込むメ
モリのみを用意することによって、メモリ量を最小限に
抑えることができ、書き込みや読み出しのための遅延も
不要となりコスト削減につながる。
御方法によると、インタリーバのデータ部分と冗長コー
ド部分を独立したものとすることが可能となる。これに
よって、ネットワーク上での誤り率が比較的小さい場合
にはほとんどのインタリーバのデータ部分には誤りが無
いと判断されるのでFEC処理が不要となり、よってS
SCSレイヤでの処理時間を更に短縮することができ
る。
認識することができ、このデータに対してCPCSトレ
イラの誤り検出機能(CRC)を利用して誤りが検出さ
れた場合にのみ、該データに対してFECによる誤り訂
正処理を行うことによって、誤りを含んだデータからで
も正しいデータを再生することができる。
されたデータに対し、FEC部分は単に廃棄すればよい
ので、誤り率が小さければFECを行わないAAL5
(SSCSがヌルの場合)と処理時間はほとんど変わら
なくなる。すなわち、AAL5の本来の目的である軽い
プロトコルが実現される。よって、さらにリアルタイム
性を必要とするようなアプリケーションにも対応でき、
CPU資源を有効に用いることができる。
M通信網で高速通信を行う場合に、AALのいずれかの
レイヤにインタリーバとFECを用いた誤り制御方法を
実装し、さらに、インタリーバのサイズを柔軟にアプリ
ケーションデータのサイズに合わせることによってデー
タ転送の高効率化、高速化、省資源化を図ることができ
る。
行う場合には、CPCSよりも上位のレイヤに本発明の
誤り制御方法を適用することによって、本来FECが持
つオーバーヘッドを最小限に抑えつつ、AALタイプ5
の高速性を最大限に発揮することが可能となる。また、
AAL1、2、3/4に対しても、より高効率にFEC
を実装することが可能である。
説明する。
の間にてATM網を介してAALタイプ5を用いたデー
タ通信を行う場合を示すが、本発明は他のタイプの方式
にも同様に適用できることは言うまでもない。
ンザクション処理が行われており、両端末間におけるデ
ータのやりとりは、低レイテンシ(再送制御が基本的に
許されない)、高スループット、かつ信頼性のあるデー
タ通信が求められている場合を想定している。例えば、
端末が公衆網を介してWAN接続されており、物理的に
遠い距離にあるような場合も含まれる。
タにFEC(Forward Error Corre
ction)のための誤り訂正ビットを付与し、送信中
の伝送路やATMスイッチ内でセル廃棄が生じた場合
に、再送せずに正しいデータを再生できる手法を示す。
棄のみを主に仮定して説明を進めているが、実際のデー
タ通信ではビット誤りも生じる可能性はある。このビッ
ト誤りに対する訂正方法としては、後述するようなSS
CSヘッダ/トレイラにCRCフィールドを設け、セル
ごとにビット誤り検出を行うことによって誤りの検出さ
れたセルは廃棄し、セル廃棄されたものとみなす方法が
ある。また、誤り訂正を行う符号として、インタリーバ
内のどの位置にビット誤りが生じているのかわからなく
ても訂正可能であるリードソロモン符号(RS符号)を
用いる方法もある。ただし、この機能を適用するには、
受信側で必ず誤り位置の特定のための復号演算を行う必
要がある。
は、それぞれATM端末でありAAL5を用いている。
エラーフリーなデータを高いスループットで、かつ低い
レイテンシで送受信できるように、AAL5のCPCS
レイヤの上位レイヤであるSSCSレイヤにFEC機能
を実装している。
明する。本実施例は、1対1の端末が通信を行なう場合
の例である。
ルスタックの構造を示す。これは、Uプレーン通信(ア
プリケーション間の通信)を行なう場合のプロトコルス
タックである。図中、1はATM網、3はATM交換機
を表している。
は、ともに大容量トランザクション処理のアプリケーシ
ョンが動作しており、送信側端末2tから受信側端末2
rに対して大容量・リアルタイムのデータが転送され
る。両端末2t,2rは、直接接続されているものとす
る。このエンドーエンドのATMコネクションは、アプ
リケーション間に予め確立される。従って、レイヤ2、
3、4は通常ヌルとなっている。
信側端末2rのコネクション間に1つでもルータが介さ
れている場合には、そのルータはSSCSレイヤの処理
として同様のFEC処理を行えることが必要である。
いるAAL5を実装しており、標準のAAL5の上のS
SCSレイヤに、本発明のインタリーバ処理とFEC処
理を実装している。これにより、エンド−エンド間で信
頼性のある通信を実現している。
ヌルであったトランスポートプロトコルのレイヤ4にも
ライトウェイトな再送制御プロトコルを実装していても
よい。FECには冗長の程度に応じて訂正能力限界があ
り、通常はエラーは訂正能力の範囲内におさまるように
設計されるべきであるが、万一その範囲を越える場合
(すなわち訂正不可能な場合)も考えられる。再送制御
プロトコルを実装すれば、FECの能力を越えてしまう
ほど多量の廃棄が生じるようなことが仮にあった場合、
遅延の増大は生じるとしても、データの信頼性だけは保
つことができる。
2rの内部構成を示す。
(例えば広域トランザクション処理)を行い、受信側端
末2rに対してアプリケーションデータを送信する。
アプリケーションデータをSSCS処理モジュール6t
に渡す処理を行う。
たデータに対してインタリーブ操作を行い、FEC冗長
コードを付与した後、そのインタリーバの列に対してS
SCSヘッダ/トレイラを付与し、これをCPCS処理
モジュール14tに渡す。
CS処理モジュール6tから受けとったデータに対し
て、AAL5のCPCS処理、すなわち長さ表示とCR
Cの2つのフィールドを各々演算して付与する処理を含
むトレイラ付与作業を行ない、SAR処理モジュール2
0tに渡す。
AAL5のSARレイヤ処理としてCPCS処理モジュ
ール14tから渡されたデータに対してセグメンテーシ
ョンを行なう。
ヘッダ付与モジュール22tに渡され、ATMセルヘッ
ダが付与され、さらに図示しない下位レイヤの処理が行
なわれてATM網1にセルとなって投入される。
入力されてきたセル流に対して、図示しない物理レイヤ
およびATMレイヤの処理を行い、自端末宛のセルを選
択して取り出す。そして、ATMヘッダ削除モジュール
22rは、ATMヘッダを削除した後にSAR処理モジ
ュール20rに渡す。その際、ATMセルヘッダのPT
(ペイロードタイプ)のUUI(ユーザユーザ情報)領
域に、CS−PDUの最後部を示すビットが表示されて
いたら、これをSAR処理モジュール20rに通知す
る。
たデータ(セルのペイロード)に対して、CS−PDU
の最後部の情報を参照しながらAAL5のリアセンブリ
処理を行なう。
処理モジュール20rから受け取ったCS−PDUに対
してAAL5のCPCSレイヤ処理、すなわちCRCと
長さ表示のチェック等を行ない、CS−SDUを再生す
る。
12rは、CS−SDUに付与されたSSCSヘッダ/
トレイラを確認しながら削除し、デインタリーバモジュ
ール8rに渡していく。その際、CPCSトレイラで誤
りが検出されている場合には、その事実をFEC訂正モ
ジュール10rに通知する。
ータは、SSCS処理モジュール6rからアプリケーシ
ョンデータとしてアプリケーション処理モジュール4r
へ渡されていく。
ハードウェア処理あるいはソフトウェア処理のいずれで
行なっても構わない。例えば、アプリケーション処理モ
ジュール4t,4rおよびSSCS処理モジュール6
t,6rは、各々の端末2t,2r内部に設けたCPU
によるソフトウェア処理で、また、それらより下層のC
PCS処理モジュール14t,14r、SAR処理モジ
ュール20t,20rおよびATMヘッダ付与/削除モ
ジュール22t,22rは、各々端末2t,2r内にハ
ードウェアとして実装する方法もある。
ヤの順に従って説明する。
tによる処理 まず、アプリケーション処理モジュール4で、例えば図
3のようなアプリケーションデータが生成される。アプ
リケーションデータの長さは、アプリケーションに依っ
て異なり、一般的には広いレンジを持つ可変長のデータ
である。アプリケーションデータの発生間隔もアプリケ
ーションに依存し、連続する場合や断続的、断片的な場
合など様々なケースが考えられる。
インタリーバモジュール8tに対してアプリケーション
データ(AAL−IDU)を渡していくが、1アプリケ
ーションデータが終了した時点で、その旨をデリミタと
してインタリーバモジュール8tに通知する。
処理 インタリーバモジュール8tは、アプリケーション処理
モジュール4tから渡されたアプリケーションデータで
あるAAL−IDUを、マトリクス状メモリであるイン
タリーバのデータ領域の部分に順次書き込んでいく。書
き込み方は、例えば図4の様に左上端から垂直方向に1
列ずつ行う。
ここでは図4に示した方向、順序に従う例を挙げるが、
図5に示すような方法など、様々な書き込み順序、方向
が可能である。
ず、書き込み終了後に各行のシンボルごとに対して予め
決まった演算を行った結果を、対応するFEC冗長領域
内の各行に書き込む。なお、演算を行った結果をメモリ
内のインタリーバ領域に具体的に書き込まずに、論理的
に別のメモリに格納し必要に応じて読み出し下位レイヤ
に渡すという方法も可能である。
られるが、例えば、AAL1では以下のようなサイズの
インタリーバがオプションとしてITU−T勧告I.3
63によって標準化されている。横(列)のサイズとし
ては、1シンボルが1オクテットであって、データ領域
124シンボル、FEC冗長領域4シンボルである。こ
の場合の縦(行)のサイズは、セル長からSARヘッダ
長を差し引いた長さ、47オクテットである。また、A
AL1でのオプションの他の値として、同じシンボルサ
イズで縦のサイズが8シンボル、横のサイズがデータ8
8シンボル、FEC冗長領域6シンボルであるものも標
準化されている。ただし、ここではこれらの値にこだわ
る必要はない。
バサイズの値を提示しているが、これらはいずれも、イ
ンタリーバがデータ領域としてとることのできる最大値
を示している。すなわち、アプリケーションデータのサ
イズによって、それよりも小さく変化させることが可能
である。アプリケーションデータのサイズがインタリー
バの横のサイズを最大値まで用いた場合でも、その領域
に入らないときには、2枚目のインタリーバ、3枚目の
インタリーバと言うように、AAL1でのCBR転送と
同じように複数枚のインタリーバを用いて転送すること
となる。また、縦のサイズはセルのペイロードのサイズ
との関係でいくつか実装に適当なサイズがある。
のSSCSヘッダ/トレイラとAAL5のCPCSトレ
イラを付与する方法をとったものとする。この場合に
は、縦の長さはセルのペイロード長からSSCSヘッダ
/トレイラ分(ヘッダ/トレイラ部分によるオーバーヘ
ッドをなるべく小さくするように、1オクテット等が考
えられる)とCPCSトレイラ分(8オクテット)を除
いた長さ(48−1−8=)39オクテット等が考えら
れる。また、1列を複数セル、例えば2セル分とすれば
縦のサイズは(39+48=)87オクテット等が適当
であると考えられる。
べてみる。上述したものと同じ、インタリーバ1列をペ
イロードに持つSSCS−PDUについて比較すると、
SSCSヘッダ/トレイラ長が同じならば、縦のサイズ
の大きい方が上位レイヤデータの転送効率(packi
ng efficency)があがるという利点があ
る。一方、縦のサイズが長いと転送すべきデータが列の
途中で終了してしまう可能性も高く、その場合にはその
列の残りの部分をパディングで満たさなければならず、
逆に転送効率が下がってしまうという問題点もある。縦
のサイズとして適当な値を選ぶには、このようなトレー
ドオフを加味すべきである。さらに、あまりに大き過ぎ
ると、ランダムなビット誤りを含み易い問題あるいはF
EC符号のオーバーヘッドが上がる問題などが生じる。
正符号として1シンボルがnビットのリード・ソロモン
符号(以下RS符号と記す)を用いるとして、通常、最
大長が(2^n)−1シンボルに限定される。拡張RS
符号を利用すると、それよりも1あるいは2シンボル長
いものも可能であるが、拡張RS符号は通常のものと比
較して、受信後の復号処理、誤り訂正処理が複雑であ
る。従って本実施例では、あえて拡張RS符号を用いな
いこととする。nの値としては、ソフトウェアによる処
理の容易さも考慮して、8またはその倍数を用いること
が一般的である。
ない範囲で、インタリーバのサイズとして、横のサイズ
を4オクテットの倍数にする方法がある。この方法で
は、例えばRS符号で1シンボルをnビットとしたとき
に、nと列シンボル数との積が32の倍数になることを
意味している。FEC機能をソフト処理で実現する場合
を想定すると、計算機で仮想的にインタリーバへのデー
タの書き込み、読み出しを行うことになるが、計算機の
CPUはメモリへのアクセスが4オクテット単位の方が
扱いやすいので、有効なデータが足りない場合には4オ
クテット単位になるようにパディングをしてでもアライ
メントをとった方が良い場合もある。
イラをデータ領域とFEC冗長領域の各々に1つずつ付
ける例を考える。この場合、インタリーバの縦の長さは
SSCSヘッダ/トレイラ分のみを考慮すれば十分であ
る。よって、SSCSレイヤのオーバヘッドを例えば1
オクテットとして、(48−1=)47バイトが良いと
考えられる。しかしこの方法では、CPCSトレイラに
よって増加する8オクテットの増加分もセルのペイロー
ドとして伝送しなければいけないことを考慮していない
ので、そのための8バイト分をインタリーバのデータ領
域内に確保する方法か、あるいはCPCSレイヤのアラ
イメントをとる機能に任せる方法のいずれかをとる必要
が生じる。CPCSレイヤのアライメントをとる機能に
任せる場合には、CPCSトレイラのみを1セルに格納
することになるので40バイトのパディングが必要とな
り、オーバーヘッドが大きくなってしまう問題点があ
る。従って、インタリーバのデータ領域にあらかじめC
PCSレイヤ用に8オクテットのスペースを確保してお
く方がパッキング効率は良い。
L−IDUのサイズは一定でなく、SSCSモジュール
6tではこのサイズを認識し、さらに受信側SSCSモ
ジュール6rにも知らせる必要がある。多くのプロトコ
ルでは、SSCSモジュール6tでAAL−IDUの終
了(デリミタ)を検出することができ、SSCSレイヤ
では予めサイズを認識することが可能となっている。従
って、送信側のSSCSレイヤにおいてインタリーバの
どの位置までデータを書き込んだかを、何らかの手段で
明記し受信側SSCSレイヤにわかるようにしなければ
ならない。
いて任意のサイズのAAL−IDUをインタリーバに格
納していった最終的な様子をいくつかの例について説明
する。これらの例では、あらかじめコネクション毎に用
いるインタリーバの最大サイズ、FEC領域の大きさ、
SSCS−PDUの大きさやフォーマットなどが呼設定
時にネゴシエーションされているものとする。
9オクテットである例を示した。このサイズは、1列ご
とに対して1オクテットのSSCSヘッダ/トレイラ
(図7(b)のようにヘッダを付与している)とCPC
Sトレイラが1つずつ付いている例である。インタリー
バの最大列数は128オクテットであり、各行に4オク
テット分のFEC領域がある。
リケーションデータが格納された様子を示しており、複
数枚(#1から#Nまで)のインタリーバに渡ってい
る。もちろん、小さなサイズのアプリケーションデータ
であっても、図7に示したインタリーバの状態と同じよ
うに格納できる。図7(a)の#1は、データ領域がこ
の例で許容される最大値まで使用されているインタリー
バであり、最後の1オクテットを用いてその列に含まれ
ている有効なデータ量を長さ表示(LI)フィールドに
表示する。また、図7(a)の#Nはデータ領域に未使
用部分が残っている(アプリケーションデータが途中で
終了した)インタリーバであり、最終列はパディングを
含む場合もある。このインタリーバでも同様に最終列の
最後の1バイトを用いて、その列の有効データ量をLI
フィールドに表示する。よって、最終列の有効データ長
とLIフィールドの1オクテットの和が39オクテット
に満たない場合、その足りない分だけパッドを付加す
る。
が47バイトである例を示す。図9には、この場合のS
SCSレイヤの処理の流れを説明するための図を示す。
11)、インタリーバへの書き込みを行う(ステップS
13)。
14)、必要に応じてPADを挿入し、LIを書き込む
(ステップS15)。そして、FEC冗長コードの計算
を行う(ステップS16)。
タが読みだされ、SSCSヘッダが付与される(ステッ
プS17)。
8)、SAR処理(ステップS19)が行われ、ATM
ヘッダが付与され(ステップS18)、ATMセルとし
てATM網を転送される。
とFEC領域それぞれに対して1つずつCPCSトレイ
ラが付与されている例である。図7の例と同じように、
各列に対しては、1バイトのSSCSヘッダ/トレイラ
が付与される(図8(b))。また、この例も比較的大
きなサイズのアプリケーションデータが格納された様子
を示しており、複数枚のインタリーバ(#1〜#N)に
渡っている。もちろん、小さなサイズのアプリケーショ
ンデータであっても、図8に示したインタリーバの状態
と同じように格納できる。
まで使用されているインタリーバであり、最後の9バイ
トを用いてその列に含まれているパディングの量をLI
フィールド(1オクテット)に表示し、残り(8オクテ
ット)は未使用とする。この8オクテットCPCSトレ
イラが付与される際に余分なパディングを行わなくてす
むように、予めトレイラのサイズ分を確保しておくため
の領域である。また、図8(a)の#Nは、データ領域
に未使用部分が残っている(アプリケーションデータが
途中で終了した)インタリーバであり、最終列はパディ
ングを含む場合もある。このインタリーバでも同様に最
終列の最後の1バイトを用いてその列のパディングの量
をLIフィールドに表示する。よってパッドは、最終列
の有効データ長とLIフィールドの1オクテットの和が
47オクテットに満たない場合、その足りない分だけ付
加される。
示の方法について詳しく説明する。図10には、その例
を示した。(a)は図7に対応する場合で、データ領域
内の途中の列の最下行でアプリケーションデータが終了
した場合を表している。この場合最終列には有効なデー
タは含まれていないので、LIフィールドは0となり、
38オクテット分のパディングをする。また、(b)は
図8に対応する場合で、アプリケーションデータを書き
込んでいって終了した行が38〜47オクテット目であ
った場合の表示方法を示している。この時は、LIフィ
ールドにはパディングの量を示すようにする。この様な
方法をとることで、送信側から受信側に正確にアプリケ
ーションデータの量を伝えることが可能となる。
複数のAAL−IDUを1つのインタリーバ内に格納す
ることも可能である。よって、1つのAAL−IDUの
デリミタ検出後に、タイマを起動させ、ある一定時間次
のAAL−IDUが到着するまでそのインタリーバの送
出を待つこともできる。
れくらいのレイテンシを要求するかによっても様々な設
定が可能である。例えば、遅延に対する要求条件の厳し
くないファイル転送等では数秒待つことも可能であり、
またそれとは逆で、動画像などの場合にはタイマーのし
きい値を0に設定し帯域を最大限まで使用することもで
きる。
き込んだ後には、レイテンシイを小さく抑えるために
も、できるだけ速やかにFEC冗長領域を計算すること
が望ましい。
からの読み出しは書き込んだ方向、順序と同じに、1シ
ンボル書き込み終了後引き続いて1シンボル読み出しを
すぐに行う。書き込みと読み出しを交代に、または並列
に行うことによって、今まで書き込み終わるまで読み出
しができなかったというボトルネックが解消され、SS
CSレイヤの上位レイヤから下位レイヤに渡すまでにか
かる時間が大きく減少する。データ読み出し後は、順次
SSCSヘッダ/トレイラ付与モジュール12tへ渡し
ていく。
り生じていた遅延がほとんど無視でき、SSCSレイヤ
がヌルの場合とかなり近い速度が得られる。以前のイン
タリーブでは、書き込みは水平方向に、読み出しは垂直
方向にと、1つのデータ領域内全てにデータが書き込ま
れてから(全てが埋まらない場合にはPADをしてか
ら)読み出しを行っていた。これに対して本実施例の方
法では、下位レイヤに渡すデータの読み出し方向を書き
込み方向と同一にし、特にデータ領域に関しては書き込
みと読み出しがほぼ同時に行われるので、データ領域全
てを書き込むまでデータの送出を待たなくてもよくな
り、遅延がかなり小さくなる。
処理 FEC付与モジュール10tでは、図12に例を示すよ
うに、データ領域の範囲内に書き込まれたデータの各行
に対して、それぞれのFEC冗長領域を計算し対応する
位置に書き込んでいく。n行目に対するFEC冗長領域
は、n行1列、n行2列、・・・、n行m列のm個のシ
ンボルを用いて演算することによって得られた結果であ
る。
の場合は図12(a)のように、また、インタリーバの
途中でデータが終了している場合は図12(b)のよう
に未使用部分を除いて各行に対応するFEC冗長領域を
計算していく。(b)の場合に、n行目に対するFEC
冗長領域を計算するには、n行1列からn行4列までの
シンボルを用いて、未使用部分が無い場合と同じ演算方
法でFEC冗長領域を計算することが可能である。
となる場合の例を示す。インタリーバは、AAL−ID
Uであるデータが書き込み終わったら、図13(a)の
ように、その列の残りの部分をPAD(例えばシンボル
中のビットがall“0”またはall“1”)で埋め
て、さらにその列の最後の1シンボルの部分に、その列
に含まれる有効なデータの長さを書き込む。もし、ある
列の最後までデータが埋まっていたら、図13(b)の
ように、次の列を使って長さ表示を行う。要するに、列
の最後に長さ表示が含まれている列の前の列はデータで
満たされることになる。
しては、PAD等は行なわない。データ領域の最後は次
のステップで付与されるSSCSヘッダ/トレイラで受
信側が認識できるので、余分なPADをしてインタリー
バの最大サイズに合わせる必要はない。また、データを
書き込んでいない部分はセルとなって転送されることも
ない。この様な操作を行うと、CBR転送に適していた
インタリーバをデータ転送にも容易に適用することが可
能となるのである。
き込まれていずダミーの入っていないデータ領域の各列
はFEC冗長コード演算のために代入するパラメータが
存在しないので、演算数が少なくて済むことになる。し
かしながら、ダミーとして0または1がパディングされ
ていて、しかもそれをFECの計算のためのデータとし
て用いる従来の場合には、その値を用いてデータがある
列と同様の計算を各シンボルに対して行わなければなら
ないので、データ領域が有効なデータで満たされている
場合と同じだけの計算時間が必要になってしまう。した
がって、残ったデータ領域にPADを入れず、かつその
領域をFECのための演算領域からはずす場合は、演算
量が減少するため簡単に短時間でFEC冗長の計算が行
えることになり、より高速にプロトコル処理できること
になる。
ら、仮想的にインタリーブ行列をおいて、そこに左上か
ら書き込む様子を示しているが、FECのための冗長を
演算するような立場からは、実際には図14のように書
かれていることと等価になる。すなわち、マトリクスの
左側(すなわちFECのための情報部分の上位の方)は
ダミーのPADがつけられていて、データ領域の右端に
つめられて実データが置かれている構成である。実デー
タ領域の中では、番号の若い(すなわち早く上位レイヤ
から来た)データほど左側にある。すなわち、FEC演
算をする符号語、という点からは、下位の実データ分の
情報部分とFEC冗長部分とがあるように見える。この
様子を、図15(a)に示す。
入らない列にダミーデータを入れてFEC冗長領域を計
算するが、それらを含むダミーセルは送出しない方法も
ある。網に送出されるデータ量は図13の場合と同様に
最低限に抑えることが可能である。
にシンボル毎にインタリーブのデータ領域中にランダム
に配置したり、図5(b)のように行の順序をデータ領
域の中で自由に設定することも可能である。これらの場
合、同様にデータの全く入らない列にいれたダミーデー
タ列は送出しないことにより、網の送出されるデータ量
はやはり図13や図16と同じく最低限に抑えることが
可能である。
信双方でインタリーブ行列への挿入方法についてあらか
じめネゴシエーションしておくことは言うまでもない。
FEC演算の立場から見たインタリーブマトリクス構造
はそれぞれの図と同一である。すなわち、各符号語は、
図16の場合は、図15(b)にあるように、上位に実
データの情報、その下にダミーの(シンボル値0の)情
報があるような情報部分とFEC冗長部分とから構成さ
れる。また、図5(b)のようにランダムに実データ列
を配する場合は、図15(c)のように実データとダミ
ーデータがまだらに入ったような情報部分と、その右側
の冗長部分から成る。
部分はセルとして伝送されるが、ダミー部分は送出され
ない。受信側では、ダミー部分には0が送信されたもの
とみなして復号が行われる。
域の作成方法については、後でより詳細に説明する。以
下のプロトコル処理の流れでは、代表例として図13の
インタリーブマトリクスへの書き込み方法であるものと
して説明を行う。
ータ領域に一度書き込まれたデータはSSCSヘッダ/
トレイラを付与するためにSSCSヘッダ/トレイラ付
与モジュール12tにほとんど渡されている(図1
1)。図7および図8のように、FEC冗長領域に書き
込まれた計算結果も、演算終了次第、データ領域と同様
に列方向に1列ずつ読み出され、SSCSヘッダ/トレ
イラ付与モジュール12tへと順次渡されていく。FE
C冗長領域の計算にかかる時間は、一般にデータを水平
方向に書き込むのを待つ時間よりもはるかに小さいこと
がわかっている。
ュール12tによる処理 SSCSヘッダ/トレイラ付与モジュール12tでは、
インタリーバモジュール8tから列単位で読み出された
データに対して、SSCSヘッダ/トレイラを付与しC
PCS処理モジュール14tに渡していく。SSCSヘ
ッダ/トレイラを付与する単位は、図17(a)のよう
にインタリーバの1列ごとでもよいし、図17(b)の
ように、一定の列数ごと、例えば2列ごとをひとまとめ
にしたものなども考えられる。すなわち、インタリーバ
の複数列にSSCSヘッダ/トレイラを付与したものが
SSCS−PDUとなる。複数のインタリーバ列をSS
CS−PDUとする場合には、ひとまとめとする列数が
最低限FECの訂正能力を越えないようにする。FEC
方式の誤り訂正では、付与している誤り訂正符号のオー
バーヘッド(冗長部分)の量によって、訂正できるシン
ボル数(インタリーバの列数)に限界がある。例えば、
前述の図8におけるインタリーバのFEC冗長領域の列
サイズが4の場合には、データとFEC領域全体に対し
て、4列までの消失誤りを訂正することができる。
には、それが付与されているデータ列がインタリーバの
どの位置(何列目)にあったかを確実に特定するための
情報が含まれていなければならない。
は、Reed−Solomon符号があるが、この誤り
訂正符号を用いて容易に訂正するための前提として、
「誤り位置が特定されていること」という条件がある。
もし、誤り位置が特定されていない場合、その位置特定
のための計算量を多く必要とし、また、訂正能力も位置
特定時のおよそ半分のシンボルエラーしか訂正できな
い。誤り位置(ここでは誤りが生じているデータを含む
セルのインタリーバ内の位置に相当する)を特定するに
は、何らかの形で送信時にセル毎の識別子を付けておく
必要がある。その識別子として最も有効であろう方法
は、例えばセル単位にSNを付与することである。ま
た、SNにもある程度の信頼性を持たせる必要がある。
ば図18のようなフィールドを持たせることができる。
ここでは、1バイトの長さのヘッダの例を示している。
CPUを用いてのソフト処理のためには、データ長を該
CPUがアクセスする単位として4バイトにアライメン
トすることが望ましいことを前述したが、ここでも同様
のことが言え、ヘッダ/トレイラ長を4バイトとするこ
とも可能である。
ついて説明する。
バの先頭のSSCSヘッダ/トレイラであることを示
す。例えば、先頭の時は“1”、それ以外は“0”と表
示する。
タリーバ中の順序を表示する。例えば、セル廃棄された
時の抜けが検出できる。
umber Protection)ビット、すなわち
シーケンスナンバに対するプロテクトのためのパリティ
ビットであり、シーケンスナンバの誤りを検出する。
ビットであり、ペイロードの中身がデータであるかそれ
ともFEC冗長コードであるかを示す。
ビットであり、データとFEC冗長コード領域各々の最
後であることを示す。例えばインタリーバ内で、データ
領域およびFEC冗長領域の最後にあたるSSCSヘッ
ダ/トレイラのこのフラグを“1”、それ以外を“0”
に設定する。
いてFEC冗長領域が読み出され、SSCSヘッダ/ト
レイラ付与モジュール12tに渡されてくる。SSCS
ヘッダ/トレイラの付与は、これらのデータ列に対し
て、上述したようなヘッダ/トレイラを一定間隔に挿入
していくことで実現される。ここでいう一定間隔は、イ
ンタリーバにおける1列分の長さであったり、もしくは
複数列分の長さである。
SSCSヘッダ/トレイラの例を示す。ここで示した値
は、誤りの無い正しいSSCSヘッダ/トレイラの一例
である。
SSCS−PDUを示し、シーケンスナンバはこの場合
4ビットで循環している。図19の例では、シーケンス
ナンバはデータ領域に付与されている最初のSSCSヘ
ッダ/トレイラを0としてスタートし、16を法として
増加しており、データ領域の最後のSSCSヘッダ/ト
レイラとFEC冗長領域の最初のSSCSヘッダ/トレ
イラは連続している。また、別の方法としてFEC冗長
領域の最初のSSCSヘッダ/トレイラでシーケンスナ
ンバをクリアし再度0からスタートさせた場合でも実現
は可能である。ただし、シーケンスナンバを途中でクリ
アせずに図19の例のように連続していた方が、データ
領域とFEC冗長領域の境界でセル廃棄が生じた場合も
セル廃棄の検出が容易に行えるという利点がある。ま
た、1つのAAL−IDUのサイズがかなり大きく、複
数のインタリーブに渡って格納される場合に対しては、
連続したインタリーブ間に連続したシーケンスナンバを
付与する方法と、データ領域の先頭のSSCSヘッダ/
トレイラには必ず0を付与する方法との2通りが考えら
れる。データ領域の列数は固定長でないが、SSCSヘ
ッダ/トレイラの別のフィールド(D/FビットやB/
E)の表示や、FEC冗長領域のサイズが予めエンドエ
ンド間でネゴシエーションされていることから、データ
領域とFEC冗長領域が交代して転送されてくる境界を
正しく識別することが可能である。
シーケンスナンバに対して偶パリティを計算するものと
する。もちろん、その代わりに奇数パリティを用いても
構わない。
インタリーバ内のデータ領域であることを示し、0であ
ればFEC冗長領域であることを示している。B/Eビ
ットは、ENDを1として、データ領域のSSCS−P
DUの最後のPDUとFEC領域のSSCS−PDUの
最後のPDUにマークをしている。
で、B/Eフィールド=1,D/Fフィールド=デー
タ、の値を持つヘッダ/トレイラが、そのインタリーバ
のデータ領域の最終列に含まれる有効なデータ長を示す
LIフィールドを含むSSCS−SDUに付与される。
理 順次CPCS処理モジュール14tに渡されたデータに
は通常のAAL5処理が行われ、長さ表示とCPCSト
レイラが付けられる。CPCS−SDUとなる単位の例
として、図7と図8の2種類を挙げる。図7では、SS
CSヘッダ/トレイラとそのペイロードが1組となった
ものが、CPCS−SDUとなる単位である。図8で
は、インタリーバのデータ領域とインタリーバのFEC
冗長領域のそれぞれ(合計2つ)が、CPCS−SDU
となる単位である。
SSCSヘッダ/トレイラを付与する方法をとり、それ
ぞれに対してAAL5のCPCSトレイラが付与され
る。この方法ではAAL5のCRCがインタリーバの一
列に対して適用されるので、もし受信側でエラーが発見
された場合には、該インタリーバの特定の一列にエラー
のあることが認識される。また、もしセル廃棄が発生し
たとしても、SSCSヘッダ/トレイラにおけるシーケ
ンス番号の抜けから、どのインタリーブ列が受信側に到
着しなかったかを把握できるようになっている。このよ
うにして、セル廃棄やビット誤りの位置を正確に特定す
ることが可能となる。
はなく、複数列毎にSSCSヘッダ/トレイラを付与す
る方法もある。図7ではSSCSレイヤのオーバヘッド
とインタリーバデータの一列とCPCSトレイラの和が
例えば48オクテットになるようにインタリーバを設計
して、レイヤ毎に余分なパディングを防ぐような工夫を
している。これを応用した場合においても、インタリー
バの縦の長さを工夫して、SSCS−PDUの長さとC
PCSトレイラの長さの和が48オクテットの倍数か、
あるいはそれが通信を行う端末の操作上不可能な場合で
も、なるべくCPCSレイヤでのパディングを少なくす
るような設計が、データ転送効率をあげる上で望まし
い。
インタリーバに対して2つだけ付与する方法をとる。2
つとは、データ領域全体に対して1つのCPCSトレイ
ラを付与し、FEC冗長領域全体に対してもう1つのC
PCSトレイラを付与することを意味している。前者に
ついては、パディングを最小限にするために、予めイン
タリーバモジュール8tでインタリーバのデータ領域の
最後の8バイト分は未使用にしてあるので、SSCSレ
イヤから渡されたデータにCPCSトレイラを付与する
と、ちょうど48バイトの倍数になり、SAR処理を行
うときにパディングの必要がなくなる。一方、FEC冗
長領域に対してCPCSトレイラを付与する場合には、
予めインタリーバモジュール8tで未使用部分を確保し
ておくことができないので、図8のようにインタリーバ
の一列を47オクテット長とした場合には、40オクテ
ットのパディングが必要になってしまう。しかし、例え
ば図7と比較して、AAL5のトレイラ数が少ない分の
オーバーヘッドを小さくすることができ、転送効率があ
がることになる。また、上記パディングを減らしたい場
合には、例えば図8において、インタリーバの長さを変
更し、FEC冗長領域を含むSSCS−PDUとCPC
Sトレイラの長さの和を48オクテットで割った余りが
0であるかあるいは、48オクテットに十分近い値であ
るようにすることも可能である。詳しくは、受信側のS
SCSヘッダ/トレイラ確認モジュール12rの説明に
おいて述べる。
処理 SAR処理モジュール20tでは、CPCS処理モジュ
ール14tから受け取ったデータ(CPCS−PDU)
のセグメンテーション処理が行なわれる。ただし、イン
タリーバの縦のサイズ、SSCSヘッダ/トレイラのサ
イズ、CPCSトレイラのサイズの合計が48オクテッ
トになっていれば、セグメンテーションは行なわれな
い。一方、例えば、CPCS−PDUが図8のようにな
っていて、CPCSトレイラがデータ領域、FEC冗長
領域のそれぞれに対して1つずつ付与されているような
場合には、セグメンテーションが行われる。
Uは、ATMヘッダ付与モジュール22tに渡される。
その際、ATMヘッダ付与モジュール22tに渡される
SAR−PDUがCS−PDUの最後部にあたるデータ
である場合、その旨をATMヘッダ付与モジュール22
tに通知する。
による処理 ATMヘッダ付与モジュール22tでは、呼設定時に定
められたATMセルヘッダを付与した後、物理レイヤの
処理を介して、ATMセル化されたデータをATM網1
に対して送出する。SAR処理モジュール20tからデ
ータ(SAR−PDU)を受け取る際、これはCPCS
−PDUの最後部である旨の通知を受けている場合は、
ATMセルヘッダのペイロードのUUIフィールドに、
これを告げる旨のビットを立てておく。
れである。
ヤの昇順、すなわち各処理モジュールの動作する順に従
って説明する。
による処理 ATMヘッダ削除モジュール22rでは、ATM網1か
ら受け取ったセル流について、物理レイヤ処理を行った
後に呼設定時に定められたATMセルヘッダを有したセ
ルを受け取った場合、これをフィルタリングして受け取
り、その他のセルは無視し、ATMセルヘッダを削除し
てSAR処理モジュール20rに渡す。ここで、ATM
セルヘッダのペイロードタイプのUUIフィールドに、
CPCS−PDUの最後部であることを示すビットが立
てられていたらその旨をSAR処理モジュール20rに
対して通知する。
であることを示すビットを含むセルが廃棄された場合、
図20のように、次に到着するCPCS−PDUと同一
のCPCS−PDUとして上位レイヤに渡されてしま
う。しかしながら、CPCSトレイラのチェックにより
この誤りは検出される。さらに、その誤りを含むCPC
S−PDUをSSCS処理モジュール6tまで渡すこと
で、FECを用いて訂正することが可能なのである。
処理 SAR処理モジュール20rでは、ATMセルヘッダ削
除モジュール22rから渡されたデータ(SAR−PD
U)に対し、CPCS−PDUの最後部であるという表
示を参照してデータのアセンブリを行う。アセンブリ終
了後、CPCS処理モジュール14rに該データが渡さ
れる。
る処理 CPCS処理モジュール14rでは、SAR処理モジュ
ール20rから受け取ったCPCS−PDUに対し、A
AL5の処理であるCRC演算処理、および長さ表示の
確認を順次行う。
の値のいずれかに誤りが検出されたかどうか、結果をS
SCS処理モジュール6rに通知する。この場合、どち
らの演算で誤りが生じたかを知らせる必要は必ずしもな
い。
ュール12rによる処理 SSCSヘッダ/トレイラ確認モジュール12rでは、
主にSNに抜けがないか、さらに、CPCSトレイラで
誤りが検出されている場合にはその通知を受け取る等の
確認しながら、ヘッダ/トレイラを取り除いていく。
ことを通知されている場合には、そのCPCS−PDU
に含まれるSSCS−PDUのいずれかが廃棄されてい
る可能性が高いので、SNをチェックしセル廃棄の位置
を特定しなければならない。
誤りも含む)としては様々な状況が考えられる。ここで
は、図18の例に示したフィールドを持ったヘッダ/ト
レイラの誤りの対処について説明する。
を示すビットである。そのSSCS−PDUがインタリ
ーバの先頭のデータを含んでいる場合にはそのビットを
たてて1とし、その他の場合には0とするものである。
もし、この同期ビットが反転してしまうような誤りが起
きた場合には、そのSSCS−PDUから新規のインタ
リーバであることがわからないかも知れない。しかし、
その前のSSCS−PDUの(d)のFEC冗長コード
である表示と(e)B/Eビットが最後であることを示
していることによって、同期ビットが反転していても新
規のインタリーバの先頭を検出することが可能である。
生じた場合には、その後の(c)のシーケンスナンバプ
ロテクション(例えば、偶数パリティ)を用いて誤り検
出することができる。前後のシーケンスナンバが正しい
ことがわかれば、ヘッダ/トレイラを取り除いた後、S
SCSのペイロード部はインタリーバの相当する位置に
書き込むことができる。また、その代わりに、疑わしい
データを廃棄してしまってセル廃棄と見なしてFEC冗
長コードを用いて正しいデータを再生させることも可能
である。
ット列がデータであれば1、FEC冗長コードであれば
0というように、ペイロードのタイプを示す。また、
(e)のB/Eは、データを含む複数の連続したSSC
S−PDUの中でそのSSCS−PDUが最後であるこ
とを示す。FEC冗長部についても、同様に、連続した
SSCS−PDUの中で最後であることを示す。従っ
て、B/Eビットが1の(要するにそのSSCS−PD
Uが最後のデータである)場合に、この表示がビット誤
りを起こしたとする。しかし、次のSSCSヘッダ/ト
レイラのD/Fビットが1から0になり、そのペイロー
ドにはFEC冗長コードを含むことが知らされるので、
SSCS確認モジュール12rでは正しく認識すること
が可能である。
例えば10^(−10)以下といった微小なネットワー
クであるような場合を想定していることから、該SSC
Sヘッダ/トレイラおよびその前後のSSCSヘッダ/
トレイラには同時に2ビット以上のビット誤りが存在し
ないことを前提として記述をしている(ただし、^はべ
き乗を意味する)。しかしながら、実際には、極めて珍
しいことではあるが、その範囲に2ビット以上の誤りが
含まれることもあり、その場合には、例えば、インタリ
ーバのFEC冗長領域の大きさが固定であることや、シ
ーケンス番号が連続していること等、上記以外の条件を
加味して正確なSSCSヘッダ/トレイラを再現するこ
とが可能である。さらには、該SSCSヘッダ/トレイ
ラ全体の長さを例えば2オクテット長にし、その一部ま
たは全体を誤り訂正符号化することによって、ほぼ完全
にビット誤り対策が施されることになる。
で、具体例として図7と図8で示した送信データを受信
した場合の処理について説明する。また、各々の場合
で、CPCS処理モジュール14rからCPCSトレイ
ラに誤りが検出された対処の方法について述べる。
な単位、例えば1列ごとに1つのSSCSデータについ
て、1つのCPCSトレイラが付与されている。それぞ
れの列に関してCRCおよび長さ表示を用いたチェック
を行うことができるので、それらが正しい場合にはそれ
ぞれのペイロード部の信頼性が保証され、ペイロードに
含まれているSSCSヘッダ/トレイラの信頼性も保証
されることになる。もちろん、CRCチェックによって
漏れがあるような誤りパターンが存在しない訳ではな
い。しかしながら、そのようなパターンの発生確率は、
該データに4ビット以上の誤りが発生し、かつ、その誤
りパターンが偶然CRCチェックにより検出できないと
いう、極めて微小なケースであり、これはこのレイヤの
誤り検出レベルとしては、十分無視できる程度のもので
ある。
では、セル単位にCRCが演算されることになり、セル
内のビット誤りを検出することも可能となる。そこで、
ビット誤りの検出されたセルを廃棄されたと見なすこと
によって、誤り位置不明のビット誤りを位置のわかった
消失誤りの形で誤り訂正することができる。FEC符号
では、位置不明のランダム誤りを訂正するよりも、位置
のわかった消失誤りに対しての方がおよそ2倍の訂正能
力があるため、この手法はより少ないFEC冗長部で同
じ訂正能力を有することができるという点で極めて有効
である。
対してCPCSトレイラを1つ付加する場合を上述し
た。そのような場合に、もし1つのCPCS−PDUが
1つのセルに入らない場合は、複数セルに対して、CP
CSトレイラによるチェックが行われる。そのケース
で、CRC等のチェックによってビットエラーが発見さ
れたとすると、そのエラーがインタリーバの数列のどこ
にあるかがわからないため、該当するCPCS−PDU
に属するインタリーバの数列全部を廃棄されたものとみ
なす方法と、位置の特定できないランダム誤りが発生し
たとして訂正を行う方法がある。もちろん、これらいず
れの場合においても、訂正できるだけの十分なFEC冗
長領域を有していることが必要である。
れるデータ領域を含む全てのCPCS−PDUに対して
CPCSトレイラの誤りが全く通知されていない場合に
は、上述したように、該インタリーバのデータ領域には
誤りがないと判断できる。この場合、SSCSヘッダ/
トレイラ確認モジュール12rはそれらのデータに対し
て以下の手順で処理を行う。
ッダ/トレイラのD/FビットがDであることを確認し
ながら、デインタリーバモジュール8rに渡していく。
CPCSトレイラで誤りが検出されていないので、デイ
ンタリーバモジュール8rのデータ領域に格納せずに、
直接上位レイヤであるアプリケーションレイヤまで渡す
ように通知する。
複数のCPCS−SDUより以降に到着する、FEC冗
長符号を含むCPCS−SDUは廃棄するように命令を
出す。というのは、もはや誤り訂正をする必要がないの
で、次以降に到着するFEC冗長領域のデータを含むC
PCS−SDUは不要だからである。
棄が無いことを確認しながら、SSCSヘッダ/トレイ
ラを取り除くことはいうまでもない。これらの処理は、
SSCSヘッダ/トレイラ確認モジュール12rの基本
動作である。よって、以下に説明するケースでも必ず行
われる。
誤りが検出された場合を考える。
ヘッダ/トレイラのD/FビットがDであることを確認
しながら、デインタリーバのデータ領域に格納するよう
にデインタリーバモジュール8rに渡していく。データ
領域の最後の列を含むSSCS−PDUに付与されたヘ
ッダ/トレイラはエンドビットがマークされており、更
に次のSSCS−PDUはF/DビットがDからFに変
わる。このPDUからは、FECを含むデータであるこ
とをデインタリーバモジュール8rに通知する。この通
知に従って、デインタリーバモジュール8rは、データ
とFEC冗長符号をデインタリーバの正しい位置に格納
していく。途中で生じているセル廃棄は、SSCSヘッ
ダ/トレイラ中のSNにより廃棄されたセルの位置の特
定が可能である。
データに関する誤り訂正の詳細については、デインタリ
ーバモジュール8rによる処理の説明のところで行う。
は、インタリーバ内のデータ領域とFEC冗長領域に対
してそれぞれ1つずつのCPCSトレイラが付与されて
いる例である。図21には、この場合の処理の流れを説
明するための図を示す。
ATMヘッダを削除し(ステップS31)、SAR処理
(ステップS32)、CPCSR処理(ステップS3
3)を行う。CPCS−PDUに対して行われたCRC
および長さ表示チェックの結果がCPCS処理モジュー
ル14rからSSCSレイヤに対して通知される。
なければ、その旨の通知をSSCSヘッダ/トレイラ確
認モジュール12rがCPCS処理モジュール14rか
ら受けている。この場合には、次にFEC冗長領域を含
むCPCS−PDUがCPCSレイヤから渡されたとき
には、誤りを含む含まないに係わらずそのCPCS−S
DUを廃棄してよい。よって、図21で「FEC冗長コ
ードの廃棄命令を出す」というオペレーションが動作し
(ステップS35)、次に到着するCPCS−SDUを
廃棄する(ステップS36)。このように処理を行え
ば、FECを付与していない場合と比較してもSSCS
ヘッダ/トレイラを削除するだけのオーバーヘッドで実
現が可能である。
別々のCPCS−PDUに属していることにより、上述
したように、データ領域のCPCS−PDUにエラーの
ない場合に、FEC領域のSSCS処理を行う無駄がな
くなり、結果として処理の軽減を図ることができるので
ある。これは、必ずしもデータ領域とFEC冗長領域に
1つずつのCPCS−PDUを割り当てる場合にとどま
らず、図7の例などにもあるように、1つのCPCS−
PDU内に、インタリーバのデータ領域とFEC冗長領
域が混ざって存在しなければ、同様にあてはまることで
ある。
にエラーが発見された場合について説明する。CPCS
トレイラで誤りが検出されたデータ列の先頭に位置する
SSCSヘッダ/トレイラの中を見て(ステップS3
4)、ペイロード内のデータ列がデータ領域を示してい
る場合、すなわちD/FビットがDである場合、誤り訂
正を行わなければならない(ステップS38,S4
0)。ペイロードの中身がFEC冗長領域、すなわちD
/FビットがFである場合には、それとペアであるデー
タ領域を含むCPCS−SDUで誤りが検出されていな
ければ上述の例にあてはまるので、FEC冗長符号を含
むCPCS−SDUはもはや不要であり、訂正の必要は
ない(ステップS39,S40)。
ヘッダ/トレイラのD/FビットがDであることを確認
しながら、デインタリーバのデータ領域に格納するよう
にデインタリーバモジュール8rに渡していく。データ
領域の最後の列を含むSSCS−PDUに付与されたヘ
ッダ/トレイラはエンドビットがマークされており、更
に次のSSCS−PDUはF/DビットがDからFに変
わる。このPDUからは、FECを含むデータであるこ
とをデインタリーバモジュール8rに通知する。この通
知に従って、デインタリーバモジュール8rは、データ
とFEC冗長符号をデインタリーバの正しい位置に格納
していく。途中で生じているセル廃棄は、SSCSヘッ
ダ/トレイラ中のSNにより廃棄されたセルの位置の特
定が可能である。
のランダム誤りが含まれている場合、その誤り位置をイ
ンタリーブのどの一列あるいは数列であるかを特定する
ことができない。従って、この場合は、位置のわからな
いランダム誤りが含まれることを前提とした誤り訂正処
理を行わなければならない。
訂正よりも処理量が多くなるため、それを防ぐための工
夫を行うことができる。
からないビット誤り)を検出するためには、セル毎にセ
ル全体に対するCRCを設けることが必要である。この
ようなCRCを設けるには、SSCSヘッダ/トレイラ
に含めることが適切であると考えられ、その場合には、
SSCSヘッダ/トレイラは、図18に示した例よりも
大きなサイズになる可能性もある。SSCSヘッダ/ト
レイラのCRCにより、あるセル内に誤りが生じている
ことが発見された場合には、そのセルは消失したものと
みなし、デインタリーバにはそのセルは廃棄されたと通
知する手段をとる。このように、ランダム誤りを消失誤
りにみたてて訂正を行うことにより、処理量が多くなる
のを避けることができる。
S処理を協調動作させたソフトウェアで実現する場合に
は、さらなる高速化を図ることができる。すなわち、デ
ータ領域に対するCPCS処理時に行う通常の長さのカ
ウントとCRC演算を同時に行うのと並行に、SSCS
処理としてSSCSヘッダ/トレイラの削除を行うもの
である。
検出されなかった場合には、すでにメモリにはSSCS
ヘッダ/トレイラの取り除かれた状態で書き込まれてい
るので、上位レイヤへの受け渡しがポインタ渡しで瞬時
に行えるのである。もちろんこの後に渡されるFEC冗
長領域を含むCPCS−SDUは、すでに不必要である
ので廃棄して構わない。
ついてのチェックで誤りが検出されたならば、その旨を
SSCS処理モジュール6rに通知し、続いてCPCS
処理モジュール14rで処理されるFEC冗長領域を含
むCPCS−PDUをチェックし、両CPCS−PDU
をSSCS処理モジュール6rに渡さなければならな
い。SSCS処理モジュール6rでも誤りの検出された
通知を受け、それに従いシーケンスナンバ等ヘッダ/ト
レイラのを確認し、セルの抜けている位置をデインタリ
ーバに通知し誤り訂正をさせることとなる。
る処理 デインタリーバモジュール8rでは、SSCSヘッダ/
トレイラ確認モジュール12rからの情報により、デー
タ領域に誤りがなければデータ列をインタリーバに書き
込みしなおすことなく、スルーな状態でアプリケーショ
ン処理モジュール4rに渡していく。例えば図5のよう
に、インタリーブ上ではランダムな並びであるようなデ
ータもあるが、これらデータの送受信の順序は上位アプ
リケーションから見て順序透過性がある。すなわち、C
PCSレイヤからのデータについて、SSCSレイヤで
のオーバヘッドを除けば、そのままスルーしてアプリケ
ーション処理モジュール4rに渡すことが可能である。
12rからの情報により、データ領域に誤りが検出され
ていれば、誤りを含むデータをインタリーバの所定の位
置に戻していき、該データ領域に対応して付随されてい
るFEC冗長領域のビット列をSSCSヘッダ/トレイ
ラ確認モジュール12rから受け取り、同じくインタリ
ーバのFEC冗長領域に戻し、FEC演算を行って誤り
訂正を行う。
DUは全てがデータではなく、一部がダミーデータであ
る可能性が高い。1列のどこまでがデータであるかは、
SSCSヘッダ/トレイラによりデータを含む最後のS
SCS−SDUであることを認識した結果を、デインタ
リーバまで通知してもらうことにより検出する。
域の最後のSSCS−SDUが到着したら、その列の最
後から9シンボル目(LIフィールド)を見る。そこに
示された値は、LIフィールドから逆方向に何オクテッ
トのパディングが挿入されているかを示している。ま
た、図7の場合には、データ領域の最終列の最後のシン
ボルがLIフィールドとなっており、そのLIフィール
ドから逆方向に何オクテットのパディングが挿入されて
いるか、またはその最終列内の最上行から何オクテット
の実データが含まれているかのいずれかの情報を表す。
正されたデータをアプリケーション処理モジュール4r
に渡していく。渡す順序は送信側端末2tでインタリー
バモジュール8tに書き込んだ順序と同様に列方向に読
み出しながら渡していく。デインタリーバ処理を行って
データ長を正確に把握しているので、上位レイヤに渡す
場合にもパッドのダミーデータを上位に渡してしまうこ
とはない。データ領域のSSCS−PDUに誤りが検出
されていない場合にも、上位にパッド以外のデータのみ
を渡さなければならないので、データの正確な長さを把
握する必要がある。この場合は、FEC冗長コードの廃
棄命令を出す際に、先に説明したデインタリーバを行っ
た場合と同じようにデータ領域を含む最後のSSCS−
SDUをSSCSヘッダ/トレイラ確認時に通知しても
らい、それによって長さを正確に知る。パッドであった
部分は上位レイヤに渡す前に取り除く。
rによる処理 最後に、アプリケーション処理モジュール4rが、アプ
リケーションデータをSSCSヘッダ/トレイラ確認モ
ジュール12rから受け取り、アプリケーション処理を
行う。
れである。
モジュール10tおよびFEC訂正モジュール10rに
おけるFEC手法の動作例をあげる。
0tでは、インタリーバモジュール8tからのデータを
見ながらインタリーバのFEC冗長領域に付加すべきデ
ータを計算し、その結果をすぐにインタリーバモジュー
ル8tに返す役割を担う。インタリーバモジュール8t
では、受け取ったFEC冗長領域用のデータを通常のデ
ータに続けてSSCSヘッダ/トレイラ付与モジュール
12tに渡す。SSCSヘッダ/トレイラ付与モジュー
ル12tでは、それぞれの領域に従って、ヘッダ/トレ
イラを付与する。
ール10rは、そのインタリーバについて訂正する必要
のある時のみ動作する。すなわち、下位のCPCS処理
モジュール14rにおいてセル抜けやビット誤りによる
エラーが検出された時、そのデータはSSCS処理モジ
ュール6rに渡されてデインタリーバモジュール8rに
蓄えられる。そして、SSCSヘッダ/トレイラ確認モ
ジュール12rにおいて、多くの場合、デインタリーバ
内のどの位置にセル抜けあるいはビット誤りがあるのか
が検出される。プロトコル仕様によっては、位置の正確
に特定できないビット誤りが含まれることがあるが、そ
の場合でも、訂正能力は誤り位置の特定された場合より
も限定されるものの、FEC訂正モジュール10rにお
いては訂正可能な構成をとることができる。しかしなが
ら、この実施例では簡単のため、上記SSCSヘッダ/
トレイラに付与された種々のビットが有する能力によっ
て、ビット誤りが発生した場合においても、その誤りシ
ンボル位置が特定できるものと仮定する。このようなエ
ラーに対して、FEC訂正モジュール10rでは、デイ
ンタリーバモジュール8rのデータを参照しながら、デ
ータ抜け部分の復元、あるいはビット誤りの訂正を行
う。そして、訂正情報をデインタリーバモジュール8t
に戻す。
訂正モジュール10rの構成は、これまでに述べてきた
インタリーバモジュール自身のサイズや、それぞれのイ
ンタリーバについて、1つのSSCSヘッダ/トレイラ
を付与する列数や、またインタリーバへの書き込み位置
等によって、少しずつ異なることになる。
際には、インタリーバモジュール8tおよびデインタリ
ーバモジュール8rと関連させながら説明することとな
る。はじめに、送信側におけるFEC冗長シンボル構成
法の例をあげ、その後にそれぞれの方法に対する、受信
側での誤り訂正方法の例を述べることとする。
ンタリーバの一列がすべて1セルのペイロードに収容さ
れ、また該1列のみでSSCSレイヤのペイロードとな
る場合について説明する。このような場合は、インタリ
ーバの縦の長さは39オクテットまたは47オクテッ
ト、横の最大長はRS符号の1シンボルをkビットとし
て2^k−1シンボル長以下になる。このようにシンボ
ルの大きさを可変にすると、それに従ってインタリーバ
の大きさが変わるが、これらインタリーブ処理には、主
としてソフトウェア上での操作を考慮する必要があるの
で、ソフトウェア処理に適したインタリーバ長にするた
め、1シンボルのビット数は2のn乗(nは整数)、す
なわち4ビット、8ビット、16ビット等が望ましい。
また、この中で、AAL1では1シンボルを8ビットと
した仕様が決められている。従って以下では、1シンボ
ルは全て8ビットの場合のみについて記すこととする。
もちろん、他のビット数の場合も同様の操作で行われ
る。
インタリーバの縦の長さが39オクテット、横の長さが
255オクテット長以下の任意のオクテット長となる。
また図8では、横は同じで縦のみが47オクテットとな
る。どちらの図でも、データ領域に最大124オクテッ
ト、FEC冗長領域に4オクテット分を割り当ててい
る。実際にはこれらの合計が255オクテットを越えな
いように設計できることになるが、本実施例では、AA
L1におけるインタリーバの横の大きさに合わせた例と
して、図7および図8の場合について詳細に示すことと
する。従って、生成多項式等もAAL1と同様のものと
して論じることとする。
し、生成多項式は、 G(X)=(X−α*120)(X−α*121)(X−α*122)(X−α*123) =X*3−α*162・X*2+α*35 ・X*2−α*150・X+α*231 …(1) とする。ただし、(1)式およびそれ以降の式はすべて
GF(2^8)上での演算によるものとする。ここで、
α^bは、αのb乗を表すものとする。
の方法としては、図13および図14による方法、図1
6による方法、図5による方法等がある。
バへのデータ挿入方法に対するFEC冗長データの生成
方法を示す。
ンタリーバのなるべく右側につめてデータが挿入されて
いることが特徴である。従って、図7のインタリーバで
具体的に説明すると、データがインタリーバのデータ領
域に全部入っている場合には、39×124シンボル分
のデータが入るが、もしデータがm列分しかない場合、
インタリーバの左から(124−m)列は空(データが
はいっていない)となる。そして、残りm列の先頭から
データが入るが、データ領域の最後の列は実データが全
部入っている場合と、パディング用のデータの混じって
いる場合がある。
m)列に関しては、この部分をセルに合成して送信する
ことはないため、FEC用の符号化をするに際しても、
この部分は、符号化のための情報部に含めない。ただ
し、装置化するにあたって、送受信の少なくとも一方が
インタリーバの大きさを可変長にすることが困難である
ような場合があるかもしれない。そのときは、あらかじ
め送受信間でネゴシエーションし、実際にはデータを送
らないとしても、インタリーバの中で空きがでる部分に
どのようなダミーデータをいれてFECの符号化および
復号化を行うかについて決めておく方法もある。
を行うこととする。この場合、mシンボル(オクテッ
ト)の情報部分と4シンボル(オクテット)の冗長部分
からなる符号語が39行分できることになる。各行は並
列に符号化/復号化が行われ、それぞれの行で同じ動作
が行われるため、以下では一行のみについて示すことと
する。
個(1≦m≦124)あるので、それをインタリーバの
左側から表して、 M=(M[m-1] 、M[m-2] 、M[m-3] 、・・・、M[0] ) …(2) と表記することにする。たまに情報シンボルの存在しな
い行が存在するが、その場合はM[*]はない。
るので、それもインタリーバの左側から表すと、 C=(C[m+3] 、C[m+2] 、C[m+1] 、・・・、 C[4] 、C[3] 、C[2] 、C[1] 、C[0] ) …(3) となる。情報Mと符号語Cとは一対一であるので、必ず
しも同じシンボル値を共有する必要はないが、今回のよ
うにインタリーブすることによって遅延が増えないよう
にするためには、なるべくシンボル値を共有することが
望ましい。
て、情報シンボルはそのまま符号シンボルとして使用
し、 C[m+3] =M[m-1] C[m+2] =M[m-2] C[m+1] =M[m-3] ・ ・ ・ C[4] =M[0] …(4) とする。そして、C[3]、C[2]、C[1]、C
[0]を冗長部分とする。
からのメッセージをそのまま下位に流すことができる。
すなわち、一旦インタリーバに書き込むことなく、上位
レイヤからのメッセージをスルーして流せるため、遅延
が小さくて済むというメリットが生まれる。ただし、上
位から下位へ流すデータは、冗長シンボル生成のための
計算処理のためには使用される。
領域の全体、あるいはその領域をいくつかに分割したそ
れぞれの部分に対して、下位レイヤにおいてCRCによ
る誤り検査が行われる。この検査の結果そのデインタリ
ーバのデータ領域に誤りがないと判定された場合には、
データ領域のデータは、SSCSレイヤにおいて、デイ
ンタリーバに改めて書き込むことなく、SSCSヘッダ
/トレイラ処理のみを行ってスルーして上位レイヤに送
ることができる。また、冗長部分は不必要なので、これ
も特に処理を行わず即座に廃棄できる。このようにし
て、受信側処理全体のスループットを向上させるという
メリットがある。ところが、もし同じ値を元の情報と符
号語とで共有している式(4)のような構成になってい
なければ、符号語全体を受信しないと元のメッセージが
復元できないため、上述のメリットが生まれないことに
なる。
ーバモジュール8t中のデータについて述べた。式
(4)のようにして、C[m+3]からC[4]までは
簡単に生成することができる。
る。この冗長部分は、上述した構成のインタリーバモジ
ュール8tからのデータ受けて、FEC付与モジュール
10tにおいて生成される。
を用いることとしているので、演算としては、まず情報
Mを多項式表現したM(X)を、 M(X)=M[m-1] ・X*(m-1) +M[m-2] ・X*(m-2) +・・・ +M[1] ・X+M[0] …(5) と表して M(X)・X*4 =Q(X)・G(X) +a[m] ・X*3+b[m] ・X*2+c[m] ・X+d[m] …(6) となるような、a[m]、b[m]、c[m]、d
[m]の係数を求めることを行えばよい。
G(X)で割った商にあたり、式(6)のQ(X)・G
(X)以外の右辺部分は、その余りに相当する。よっ
て、M(X)が決まると、式(6)の左辺をG(X)で
わり算すればよい。a[m]、b[m]、c[m]、d
[m]はそれぞれ、 C[3] =a[m] C[2] =b[m] C[1] =c[m] C[0] =d[m] …(7) に相当する。
ーバはある最大サイズまでは可変であり、しかもそれが
どれ位の大きさになるかは、上位からのデータ量次第で
ある。従ってデータが多い場合も少ない場合も同じよう
な計算手法を使わないと、計算に無駄が生じることにな
る。式(6)をそのまま用いることは、M(X)が確定
してからならばよいが、通常は上位レイヤからいきなり
メッセージMを全部一度に与えられることはない。上位
レイヤからは、例えば数バイト長ずつのデータが流れて
きている。それを全部受け取った後に、はじめて上位レ
イヤからのメッセージ長がどれだけの量であった、とい
うことが判明するのである。従って、もしM(X)が確
定するまでFEC演算処理の開始を待つとすると、それ
は従来のAAL1のような垂直方向のデータの読み書き
をする場合と同じ程度の遅延を要することになってしま
う。そのような訳で、上位レイヤからデータが流れ始め
ると、すぐにFEC冗長領域の計算が開始でき、しかも
いつ上位レイヤからのデータが終わったとしても、常に
式(6)の形になっているような計算方法を用いる必要
がある。
アにおいて符号化に用いられているシフトレジスタを用
いた方式を(ソフトウェアで実現する場合においても)
採用するのがよい。すなわち、まずM[m−1]が上位
レイヤより来るため、これに対してあたかもこれが最終
列のシンボルであるかのように以下の計算を行う。
(8)の値は、 a[1] =M[m-1] ・α*162 b[1] =M[m-1] ・α*35 c[1] =M[m-1] ・α*150 d[1] =M[m-1] ・α*231 …(9) により簡単に求められる。これは、実際に計算してもよ
いし、かけ算のテーブルをひく方法をとってもよい。
後であったとすると、右辺の4つの係数の値がそれぞれ
式(6)のa,b,c,dに相当する。すなわち、M
[0]はC[4]にそのまま変わり、 C[3] =a[1] C[2] =b[1] C[1] =c[1] C[0] =d[1] …(10) となる。このように1シンボル目では式(8)と式
(6)とでは整合がとれている。
る。式(6)に合わせるように記述すると、 M[m-1] ・X*5+M[m-2] ・X*4 =(a[2] ・X*3+b[2] ・X*2+c[2] ・X+d[2] )mod G(X) …(11) となる。この場合は、X^5の項とX^4の項に分け
て、別々にG(X)で割った剰余を計算し、それを後で
加える方法がある。しかし、そのような方法では、シン
ボル数が段々増えていくにつれて、その計算回数がシン
ボル数に比例して増えていく、という問題が生じる。当
然テーブルを引く場合にも、テーブル参照回数が増えて
いってしまう。
考える。式(11)は、式(8)を用いて、 (a[1] ・X*3+b[1] ・X*2+c[1] ・X+d[1] )・X+M[m-2] ・X*4 =(a[2] ・X*3+b[2] ・X*2+c[2] ・X+d[2] ) mod G(X) …(12) と変形できる。
域のシンボル値が求められる。
る。すなわち、2シンボル目以降は毎回その以前のシン
ボル値から容易に計算できる。よってkシンボル目が到
着した時には、 a[k] =(a[k-1] +M[m-k] )・α*162+b[k-1] b[k] =(a[k-1] +M[m-k] )・α*35 +c[k-1] c[k] =(a[k-1] +M[m-k] )・α*150+d[k-1] d[k] =(a[k-1] +M[m-k] )・α*231 (k=2,3,・・,m) …(15) という計算を行えばよい。
まで、あるいはインタリーバに収容されるデータ領域の
最大列数(本実施例では124)までのシンボルが計算
されると、終了し、その次のタイミングで、他の行にお
いて計算されたものと一緒に、FEC付与モジュール1
0tからインタリーバモジュールにFEC冗長領域デー
タとして送られる。送る順序は、a[m]、b[m]、
c[m]、d[m]の順である。
グされた部分があるが、この部分については符号化のた
めの情報に加える方法も加えない方法も実現可能であ
る。しかし、少なくともLI表示のシンボルはFEC符
号化のためのデータに加えたいので、パディング部分も
(たとえall“0”のデータでも)一応、加えた方が
装置化が楽になるであろう。もし、パディング部分を含
まないようなFEC符号化を行うとすると、全くデータ
のない(つまり情報Mがヌルである)行が存在し得る。
このような場合は、FEC付与モジュールは、a[0]
=b[0]=c[0]=d[0]=0のデータをインタ
リーバモジュールに返す。
ンタリーバの左上から正確に挿入するような場合のFE
C冗長データの生成方法を示す。
はインタリーバのなるべく左側につめてデータが挿入さ
れているという特徴を有している。従って、図7のイン
タリーバで具体的に説明すると、データがインタリーバ
のデータ領域に全部入っている場合には、前述した例と
同様に、39×124シンボル分のデータが入るが、も
しデータがm列分しかない場合、インタリーバの右から
(124−m)列は空(データがはいっていない)とな
る。そして、m列目は実データが全部入っている場合
と、パディング用のデータの混ざっている場合がある。
しては、この部分をセルに合成して送信することはな
い。それはすなわちトラヒックの無駄を意味するからで
ある。FEC用の符号化をするに際しては、この部分
は、あたかも全て“0”のデータが入っているかのよう
に扱われる。
ゴシエーションし、実際にはデータを送らないとして
も、インタリーバの中で空きがでる部分にどのようなダ
ミーデータをいれてFECの符号化および復号化を行う
かについて決めておく手法もある。この場合は必ずしも
空き領域を全て“0”にするような必要はなく、お互い
の決めたビットパターンを用いて符号化すればよい。し
かし、一般にそのようなビットパターンを決めておく
と、FECのための符号化にはかえって演算時間を増加
させることになってしまので、ここではall“0”を
仮定することとする。
様に各行毎に符号化を行うこととする。すると、この場
合はmシンボル(オクテット)の情報部分と、(124
−m)シンボルの“0”のデータと、4シンボル(オク
テット)の冗長部分からなる符号語が39行分できるこ
とになる。各行は並列に符号化/復号化が行われ、それ
ぞれの行で同じ動作が行われるため、そのうち一列につ
いて見ることとする。
個(1≦m≦124)あるので、それをインタリーバの
左側から表して、 M=(M[m-1] 、M[m-2] 、M[m-3] 、・・・、M[0] ) …(16) と表記することにする。たまに情報シンボルの存在しな
い行が存在するが、その場合はM[*]はない。
で、それもインタリーバの左側から表すと、 C=(C[127] 、C[126] 、C[125] 、・・、C[3] 、C[2] 、C[1] 、 C[0] ) …(17) となる。情報Mと符号語Cとは一対一であるので、必ず
しも同じシンボル値を共有する必要はないが、インタリ
ーブすることによって遅延が増えないようにするために
は、情報シンボル値を共有することが望ましい。
いて、情報シンボルはそのまま符号シンボルとして使用
し、 C[127] =M[m-1] C[126] =M[m-2] C[125] =M[m-3] ・ ・ C[127-m+2] =M[1] C[127-m+1] =M[0] C[127-m] =0 C[127-m-1] =0 ・ ・ C[4] =0 …(18) とする。そして、C[3]、C[2]、C[1]、C
[0]を冗長部分とする。ただし、式(18)におい
て、C[127−m]からC[4]までは実際にはネッ
トワークには送出しない。
ヤからのメッセージをそのまま下位に流すことができ
る。すなわち、一旦インタリーバに書き込むことなく、
上位レイヤからのメッセージをスルーして流せるため、
遅延が小さくて済むというメリットが生まれる。ただ
し、上位から下位へ流すデータは、冗長部分生成のため
の計算処理のためには使用される。
り検査の結果、そのデインタリーバのデータ領域に誤り
がない場合、データはSSCSヘッダ/トレイラ処理の
みでスルーして上位レイヤに渡せる。冗長部分は即座に
廃棄でき、デインタリーバへ改めて誤り訂正のための書
き込みを行う必要はない。このようにして、全体の処理
遅延を減らすことができるという利点が得られる。も
し、式(18)のように同じ値を元情報と符号語とで共
有しているような構成になっていなければ、符号語全体
を受信しないと元のメッセージが復元できないため、上
述の利点は得られない。
ーバモジュール8t中のデータについて述べた。式(1
8)のようにして、C[127]からC[4]までは簡
単に生成することができる。
る。この冗長部分は、上述した構成のインタリーバモジ
ュール8tからのデータ受けて、FEC付与モジュール
10tにおいて生成される。
を用いることとしているので、演算としては、まず情報
Mを多項式表現したM(X)を、 M(X)=M[m-1] ・X*123 +M[m-2] ・X*122 +・・・ +M[1] ・X*(123-m+2)+M[0] ・X*(123-m+1) …(19) と表して、 M(X)・X*4 =Q(X)・G(X) +e[m] ・X*3+f[m] ・X*2+g[m] ・X+h[m] …(20) となるような、e[m]、f[m]、g[m]、h
[m]の係数を求めることを行えばよい。
G(X)で割った商にあたり、式(20)のQ(X)・
G(X)以外の右辺部分は、その余りに相当する。イン
タリーバのデータ領域中のダミー部分は、値が“0”で
あり、符号化の計算には関わらないため、式(20)で
は既に省略されている。よって、M(X)が決まると、
式(20)の左辺ををG(X)でわり算すればよい。e
[m]、f[m]、g[m]、h[m]はそれぞれ、 C[3] =e[m] C[2] =f[m] C[1] =g[m] C[0] =h[m] …(21) に相当する。
る個々の項において、M(X)におけるmの値によらず
項の係数と次数は変化しない。すなわち、インタリーバ
の1列目のデータM[m−1]に対しては、必ずX^1
23であり、これは2列目、3列目とデータが増えてい
っても変化しない。もちろん2列目以降についても同様
である。すると、式(20)において、 左辺=M(X)・X*4 =M[m-1] ・X*127 +M[m-2] ・X*126 +・・・ +M[1] ・X*(127-m+2)+M[0] ・X*(127-m+1) …(22) となるので、mの値にかかわらず、インタリーバの最初
のデータから順にXのべき乗をかけたもの、すなわち式
(22)における各項をを個別にG(X)で割ることが
可能である。従って、このような形での冗長領域の計算
方法としては、インタリーバのデータが1シンボル到着
する度に、そのデータに対してG(X)によるわり算を
実行し、その余りをそれまでに計算された余りに加える
方法が考えられる。
すると、 M[m-1] ・X*127=(e[1] ・X*3+f[1] ・X*2+g[1] ・X+h[1] ) mod G(X) …(23) となるe[1]、f[1]、g[1]、h[1]を計算
する。次に2番目のデータが到着すると、式(23)と
同様に M[m-2] ・X*126=(e'[2]・X*3+f'[2]・X*2+g'[2]・X+h'[2]) mod G(X) …(24) を計算し、その後、 e[2] =e[1] +e'[2] f[2] =f[1] +f'[2] g[2] =g[1] +g'[2] h[2] =h[1] +h'[2] …(25) のように排他的論理和を行って2シンボルのデータに対
する冗長を計算する。以下も同様に行い、最終的にe
[m]、f[m]、g[m]、h[m]が得られる。こ
のように1つずつ計算することによって、最終のシンボ
ルが到着した時点でそのときの計算値が求められること
になる。
(X)でのモジュロ計算は、毎回行うとかなり計算時間
をとられることになる。従って、通常は、各Xのべき乗
に対するG(X)のモジュロ値のテーブルを持つのがよ
い。
[k]の値とそれに対応するXのべき乗の数が書かれて
いる。すなわち、例えば図22に示す表aのようにな
る。
[m−k+1]に対して、 M[m-k] ・X*[128-k] =M[m-k] ・(E[k] ・X*3+F[k] ・X*2+G[k] ・X+H[k] ) mod G(X) =(e'[k]・X*3+f'[k]・X*2+g'[k]・X+h'[k]) mod G(X) (k=1,2, ……,m) …(27) となることから、 e'[k]= M[m-k] ・E[k] f'[k]= M[m-k] ・F[k] g'[k]= M[m-k] ・G[k] h'[k]= M[m-k] ・H[k] (k=1,2,……,m) …(28) という計算によって、各シンボルに対する剰余の値が簡
単に算出できる。ただし、e[1]=e’[1]、f
[1]=f’[1]、g[1]=g’[1]、h[1]
=h’[1]である。
るまで、あるいはインタリーバに収容されるデータ領域
の最大列数(本実施例では124)までのシンボルが計
算されると終了し、その次のタイミングで、計算結果を
他の行において計算されたものと一緒に、FEC付与モ
ジュール10tからインタリーバモジュールにFEC冗
長領域データとして送る。送る順序は、e[m]、f
[m]、g[m]、h[m]の順である。
最後の列にはパディングされた部分があるが、この部分
については符号化のための情報に加える方法も加えない
方法も実現可能である。しかし、少なくともLI表示の
シンボルはFEC符号化のためのデータに加えたいの
で、パディング部分も(たとえall“0”のデータで
も)データとして加えた方が、装置化が容易になる。も
し、パディング部分を含まないようなFEC符号化を行
うとすると、全くデータのない(つまり情報Mがヌルで
ある)行が存在し得る。このような場合は、FEC付与
モジュールは、e[0]=f[0]=g[0]=h
[0]=0のデータをインタリーバモジュールに返す。
タ挿入方法に対するFEC冗長データの生成方法を示
す。
書き込みが行われる場合には、送信側FEC処理方法1
のような規則的な手法を用いることはできない。そこ
で、送信側FEC処理方法2のようなテーブルを用い
て、各シンボルに対する剰余を計算し、それを加えるこ
とによって、FEC冗長領域の値を計算する手法が用い
られる。
EC冗長領域の生成方法を述べる。
リーバの左端から規則正しくデータが挿入されていたの
で、テーブルの内容についても、図22の表aのように
規則正しく並んでいた。しかし、図5のそれぞれの実施
例については、その規則性がないため、それぞれ送信側
と受信側とであらかじめネゴシエーションした後に、は
じめて上記のような表が書けることになる。
は書き込む列の順序だけであり、縦方向の書き込み方は
決められているので、前述した例と同様に、図22の表
aだけを用いればよいが、図5(a)の方は、書き込む
列の順序だけでなく、その一列の中でのシンボルの書き
込み順序が異なるため、その順序情報についての表を追
加して書かなければならない。
では、図に従いデータ領域が右端7行、FEC冗長領域
が4行あることとする。左端の行から、5番目、2番
目、7番目(実際はヌルでデータなし)、4番目、1番
目、3番目、6番目(実際はヌル)、といったデータと
なる。
して、情報の多項式表現M(X)は、 M(X)=M[4] ・X*6+M[3] ・X*9+M[2] ・X*5+M[1] ・X*7 +M[0] ・X*10 …(29) となる。
おける式(20)〜式(28)の経過と比較して、M
[*]、e[*]、f[*]、g[*]、h[*]の係
数を除くとほとんど同じである。従って、図22の表a
を用いて、まずM[4]に対するeの係数を式(28)
の方法で、 e[122] =M[4] ・E[122] …(30) で求め、それ以下のものは、順に、 e[119] =e[122] +M[3] ・E[119] e[123] =e[119] +M[2] ・E[123] e[121] =e[123] +M[1] ・E[121] e[118] =e[121] +M[0] ・E[118] …(31) の排他的論理和演算を行うことによって最終のe[11
8]を得ることができる。係数f,g,hについても全
く同様の計算により得られる。こうして、e[11
8]、f[118]、g[118]、h[118]がそ
れぞれ求める冗長シンボルとなる。
も図に従ってシンボル単位に書き込みが行われるとする
と、図22の表a1の他に、図23の表bを用いること
によって計算することができる。ここでも、図に示され
ているようなデータ領域が右端6行、FEC冗長領域が
4行ある具体例を用いて説明する。なお、行番号は左端
および上端から昇べきの順につけるものとする。
から4行目の情報の多項式表現M(X)は、各シンボル
をM[*]で表すと、 M(X)=M[1] ・X*7+M[11]・X*5+M[18]・X*8+M[19]・X*9 …(32) と表せる。ここからは、図5(b)の例と同様にして図
22の表aを用い、X^3の係数eは、 e[121] =M[1] ・E[121] e[124] =e[121] +M[11]・E[124] e[120] =e[124] +M[18]・E[120] e[119] =e[120] +M[19]・E[119] …(33) の排他的論理和演算を順に行うことによって、得られ
る。他の係数f,g,hも同様である。
g[119]、h[119]がそれぞれ上から4行目の
冗長シンボルとなる。他の行については、式(33)に
おいて情報Mのシンボル番号が異なるだけで、それ以外
は同様の演算により得られる。
のFEC冗長領域の計算は、送信側FEC処理方法2を
多少変形した方法を用いることによって実行することが
できる。
て、インタリーバの一列が1セルよりも大きい場合、ま
た、インタリーバの複数列に対してSSCSヘッダを付
加する場合等が考えられるが、これらの場合において
も、図13、図16、図5のそれぞれの例に合わせて、
全く同様の演算でFEC冗長シンボルの計算が行える。
おけるFEC冗長領域の計算方法について説明してきた
が、今度はそれぞれに関する受信側での復号方法および
誤り訂正方法について説明する。
出力されたデータはセルとして伝送され、受信側に到達
し、セル分解の後、受信側のデインタリーバモジュール
8rに入る。ある送信側インタリーバからの受信データ
は、データ領域の何列かをペイロードに含む1つ以上の
CPCS−PDUと、FEC冗長領域の何列かをペイロ
ードに含むやはり1つ以上のCPCS−PDUから成っ
ている。このうち、データ領域をペイロードに含む全C
PCS−PDUが、CPCSレイヤにおけるCRCチェ
ック等によって、全てエラーなしと判定された場合、S
SCSレイヤにおいては、SSCSヘッダ/トレイラを
除去するのみで残りのデータをそのまま上位のアプリケ
ーションモジュール4rに渡す。そして、そのデインタ
リーバに関して、FEC冗長領域をペイロードに含むC
PCS−PDUは全て、デインタリーバ用のメモリに書
き込むことなく廃棄して構わない。
に含む複数のCPCS−PDUにおいて、1つでもCR
Cチェック等によるエラーがあるときには、そのデイン
タリーバに関連する全てのデータは、FEC冗長領域の
ものを含めて、誤り訂正のために必要なものとなる。
1つのCPCS−PDUを構成しており、しかもそれが
1つのセルとなる。このため、受信したCPCS−PD
UにおいてCPCSトレイラのCRCチェック等が異常
であるという場合には、該CPCS−PDU内にビット
誤りが発生していることを意味している。この時、エラ
ーの発見された列はデインタリーバモジュール8r上
で、伝送中にセル廃棄された場合と同じ扱いにしてしま
う。すなわち、そこの一列にはセルが到着しなかったと
同等にみなす。そしてその結果として生じたセル抜けの
位置をSSCSヘッダのSNチェックにより確認する。
ーバの一列は1セルであるが、CPCS−PDUは複数
列にまたがって構成される。従って、CPCSトレイラ
によるチェックのみでは、ランダム誤りおよびセル抜け
の状態が不明確である。仮にあるCPCS−PDUにお
いてセル抜けがあったとすると、CPCSトレイラの機
能だけでは、そのCPCS−PDUに属する他のデイン
タリーバ列がエラーフリーである保証がなされない。
Sヘッダ/トレイラのSNを用いて確認する。SN自体
に誤り検査ビットを加えておくと、抜けた位置を特定す
る際の確実性が増す。また、ランダムなビット誤りへの
対策としては、SSCSヘッダ/トレイラがデインタリ
ーバの1列毎についているので、この部分にSSCS−
PDU全体の誤り検出機能を付加する。そして、伝送中
のセル廃棄によって、CPCSトレイラの誤り検出機能
が有効に働かなかった場合、あるいはビット誤りによっ
てCPCSトレイラのCRCチェックにエラーが発見さ
れた場合に限って、SSCSレイヤにおけるデインタリ
ーバ一列単位の該誤り検査を行い、各列のエラーの有無
を検査するという方法が考えられる。これによって、C
PCS−PDUのサイズによらず、実際にビット誤りお
よびセル廃棄の発見されたインタリーバ列に属するシン
ボルのみを訂正すればよいことになる。
一列が複数セルで構成され、その一列をペイロードに含
んでSSCS−PDUおよびCPCS−PDUを構成す
ることも考えられる。ここでも、1つのセルが伝送路中
に廃棄された場合には、その他の部分のシンボルエラー
はCPCSトレイラを用いても検出不可能になる。この
場合には、計算を簡単にするために、該当する一列全て
が廃棄されたとみなして誤り訂正を試みる方法をとるこ
とができる。このような方法を用いることによって、例
えば図7の例に比べて誤り訂正能力は若干落ちるが、処
理遅延は増加させることなく小さく保持できる。廃棄さ
れたとみなされるデインタリーバ一列の位置は、SSC
Sヘッダ/トレイラによって特定される。
リーバと全く同様の順番でデインタリーバ領域に書き込
む。この書き込み順は、あらかじめ送受信間でネゴシエ
ーションされているものとする。その際、抜けのある部
分については、そのことを別領域に明示するか、あるい
はダミーのペイロードデータを書き込む。そして、その
データをFEC訂正モジュール10rに渡し、シンボル
抜けの部分を再生する。その後に、情報データをデイン
タリーバモジュール8tから書き込んだ順に読み出し
て、受信側のアプリケーション処理モジュール4rに送
る。
処理方法1,2,3に従って、受信側のFEC訂正モジ
ュール10rにて行われる夫々の場合に対応する誤り訂
正操作を、受信側FEC処理方法1,2,3として説明
する。このモジュールが動作するのは、デインタリーバ
の任意の一行において、訂正可能な範囲のシンボルエラ
ーがあり、かつその位置が判明している場合であり、以
下では、そのような場合を例にとって説明する。なお、
図7にあるように、インタリーバの一列がすべて1セル
のペイロードに収容され、また該1列のみでSSCSレ
イヤのペイロードを構成する場合について説明するが、
それ以外のデインタリーバの構成にも適用可能である。
リーバに対するデインタリーバを用いた誤り訂正方法を
記す。
域が4シンボル分である場合について記してあるので、
この受信側FEC処理方法1でもそれに従って記述す
る。FEC冗長領域が4シンボルの場合、誤りシンボル
位置が明確であれば、4シンボルまでの誤りを訂正する
ことが可能である。
シンボルに誤りまたは抜けがあるとする。ただし、0<
s<t<u<v<(m+1)であるとする。
て説明したように、デインタリーバのできるだけ右側に
つめてシンボルを挿入する構成をしている。デインタリ
ーバ上に埋まるデータ量は毎回可変なので、受信が開始
された時点では、どの位のデータが到着するかの予測が
できない。従って、送信側と同様に、可変シンボル長に
柔軟に対応できるような復号処理を行う必要がある。
ンボルとの合計がmシンボルあるとすると、(17)式
から、 R=(C[m-1] 、C[m-2] 、・・、C[m-s+1] 、E[m-s] 、C[m-s-1] 、・ ・、C[m-t+1] 、E[m-t] 、C[m-t-1] 、・・、C[m-u+1] 、E[m-u] 、C[m-u -1] 、・・、C[m-v+1] 、E[m-v] 、C[m-v-1] 、・・、C[0] ) …(34) のように表され、E[*]の部分はエラーがある部分を
意味する。それ以外のC[*]で書かれる部分は、送信
側のデータがそのまま正しく受信されていることを意味
する。式(34)では一般的な書き方をしたが、E
[*]は、先頭あるいは最後尾のシンボルにあっても構
わないし、また連続していても構わない。
理を行うまでに、既にシンボル単位にエラーの有無が明
確になっている。もし1シンボルもエラーがない場合に
は、式(34)は、 C=(C[m-1] 、C[m-2] 、・・・、C[0] ) …(35) と表され、これを用いた多項式C(X)は、生成多項式
G(X)で割り切れる。これは、すなわち、 C(α*120)=C(α*121)=C(α*122)=C(α*123)=0 …(36) となることを意味する。しかし、エラーシンボルの含ま
れる受信シンボル列Rを用いた多項式R(X)では、G
(X)による余りは0とはならない。そこで、これらを
シンドロームS[i](i=1,2,3,4)として次
のように表すこととする。
に、R(X)においては、 E[m-s] =E[m-t] =E[m-u] =E[m-v] =0 …(38) とおいておくこととする。
は、以下のようにして計算される。
=0とおく。
ちデインタリーバの1 列が到着する度に)、 S[i] ←S[i] ・α*(119+i) +C[m-k] (到着シンボルが正しい場合) または S[i] ←S[i] ・α*(119+i) +E[m-k] (到着シンボルが誤っている 場合) (i=1,2,3,4) (k=1〜m) …(39) のように代入していく。ここで+は排他的論理和を表
す。ただし、式(38)によって、E[m-k] =0であ
る。
した時のS[i](i=1,2,3,4)の値が、求めるシンドローム
値である。
(37)の値を求めたいのであるが、受信を終了するま
で、シンボル数がどれだけあるのかがわからない。よっ
て、シンボルを受信する度に計算を行い、突然シンボル
受信が終了したとしても、シンドロームS[i](i=
1,2,3,4)の計算結果が最終的に求める値になっ
ている必要がある。
とを行っている。まず、最初のシンボルC[m−1]が
到着すると、シンドローム値は、 S[i] =C[m-1] (i=1,2,3,4) …(40) となる。
と、 S[i] =C[m-1] ・α*(119+i)+C[m-2] (i=1,2,3,4) …(41) となる。
のシンボルが到着した時には、必ずシンドロームS
[i](i=1,2,3,4)は、(k−1)次の多項
式にα^(119+i) (i=1,2,3,4)を
代入した形をとっているので、デインタリーバモジュー
ル8rのシンボル到着がいつ終了しても、常にその時点
の本実施例に基づくデインタリーバ構成での正しいシン
ドローム演算値を示していることになる。なお、式(4
0)〜(42)において、エラーのあるシンボルを受信
した部分については、C[*]からE[*]に表記を書
き換えるとよい。
ム値の意味を考える。誤りのあるシンボルがもし正しく
受信されていたとすると、これらはそれぞれ、C[m−
k](k=s,t,u,v)と表される。すると、これ
らの記号を用いて式(37)のシンドロームS[1]の
値は、 S[1] =R(α*120) =C(α*120)+(E[m-s]-C[m-s])・α*120(m-s) +(E[m-t]-C[m-t])・α*120(m-t) +(E[m-u]-C[m-u])・α*120(m-u) +(E[m-v]-C[m-v])・α*120(m-v) =−C[m-s] ・α*120(m-s) −C[m-t] ・α*120(m-t) −C[m-u] ・α*120(m-u) −C[m-v] ・α*120(m-v) …(43) となる。
(b×c)乗を表すものとする。例えば、上記のα^1
20(m−s)は、αの(120×(m−s))乗を表
す。
定しているので、+の演算と−の演算はどちらも同じ排
他的論理和となる。すなわち式(43)と(44)は合
わせて、 S[i] =C[m-s] ・(α*(119+i)(m-s) ) +C[m-t] ・(α*(119+i)(m-t) ) +C[m-u] ・(α*(119+i)(m-u) ) +C[m-v] ・(α*(119+i)(m-v) ) (i=1,2,3,4) …(45) と表記できる。
S[i](i=1,2,3,4)の値が求められると、
式(45)は、C[m−s]、C[m−t]、C[m−
u]、C[m−v]に関する連立方程式となる。そして
これを解くことによって、それぞれの正しいシンボル値
が求められる。本実施例では、エラーシンボルの見落と
しがない(すなわち、SSCSレイヤ以下によってエラ
ーのあるシンボルが確実に検出され、それ以外には存在
しない)ことを想定しているので、これらの連立方程式
には、必ず一意な解が存在する。
し1つ(E[m−s])のみであれば、上式は、 S[i] =C[m-s] ・α*(119+i)(m-s) (i=1,2,3,4) …(47) であり、これから、 C[m-s] =(α*(119+i)(m-s) )/S[i] (i=1,2,3,4) …(48) となる。これはiの値によらず同じなので、どれか1つ
を計算すればよい。とすると、式(37)において、例
えばS[1]のみ計算すればよく、他のシンドローム計
算を行う必要がないので、その分の演算量を減らすこと
ができる。
−s]とE[m−t])であれば、式(45)は、 S[i] =C[m-s] ・(α*(119+i)(m-s) ) +C[m-t] ・(α*(119+i)(m-t) ) (i=1,2,3,4) …(49) となる。これも2つのシンドローム、例えばS[1]と
S[2]のみを計算すればよく、他のシンボルに対して
かかる演算の分を減らすことができる。
s]とE[m−t]とE[m−u])であるとき、式
(45)は、 S[i] =C[m-s] ・(α*(119+i)(m-s) ) +C[m-t] ・(α*(119+i)(m-t) ) +C[m-u] ・(α*(119+i)(m-u) ) (i=1,2,3,4) …(51) となり、この場合は3つのシンドローム、例えばS
[1]、S[2]、S[3]のみを計算すればよい。す
なわち、S[4]に対してかかる演算の分を減らすこと
ができる。
数必要となる。常に出てくる演算(例えばα^120
等)に関しては、表を作っておくと高速化を図ることが
できる。
バに対するデインタリーバを用いた誤り訂正方法を説明
する。
冗長領域の大きさと同じ4シンボルまで訂正可能であ
る。そこで、0<s<t<u<v<(m+5)であるよ
うな、s番目、t番目、u番目、v番目にそれぞれシン
ボル誤り、またはシンボル抜けがあるとする。
で説明したように、データ領域内のシンボルはデインタ
リーバのできるだけ左側に詰められており、一方FEC
冗長領域のシンボルは、デインタリーバの右端4列に入
れられているような構成である。受信側FEC処理方法
1と同様に、データが終了するまで、デインタリーバの
データ領域のどこまでデータが入るかは毎回に異なり、
全くわからない。従って、シンボル受信開始と同時に復
号演算を開始し、シンボル受信がいつが終了したとして
も、即座に誤り訂正処理に入れるような復号処理を行う
必要がある。
の場合とは異なり、データがmシンボル(0<m<12
5)、冗長部分が4シンボルあるとする。このとき、受
信シンボル列Rは(17)式から、 R=(C[127] 、C[126] 、・・、C[128-s+1] 、E[128-s] 、C[128-s-1 ] 、・・、C[128-t+1] 、E[128-t] 、C[128-t-1] 、・・、C[128-u+1] 、E [128-u] 、C[128-u-1] 、・・、C[128-v+1] 、E[128-v] 、C[128-v-1] 、・ ・、C[128-m] 、0 、0 、・・、0 、C[3] 、C[2] 、C[1] 、C[0] ) …(53) のように表され、E[*]の部分はエラーがあるシンボ
ルを意味する。それ以外のC[*]で書かれる部分は、
送信側のデータがそのまま正しく受信されていることを
意味する。式(53)は一般的な書き方であり、E
[*]はデータ領域の先頭や最後尾、あるいはFEC冗
長領域にあっても構わないし、また連続していても構わ
ない。C[128−m]とC[3]の間は、デインタリ
ーバのマトリクス上では、空のデータ領域(0データの
部分)があるが、送受信はされないことを意味してい
る。もちろん、m=124の場合は、この空データ領域
は存在しない。
うまでに、既にシンボル単位にエラーの有無が明確にな
っている。シンボルの訂正を簡単にするために、式(5
3)において、E[128−s]、E[128−t]、
E[128−u]、E[128−v]は全て値が0であ
るとおき、訂正後のシンボルをそれぞれC[128−
s]、C[128−t]、C[128−u]、C[12
8−V]とする。
7)のようにシンドロームS[i](i=1,2,3,
4)を定義すると、これらは以下のように計算される。
4)とおく。
した時のS[i](i=1,2,3,4)の値が求める
シンドローム値である。
時点で、仮に正しいデータ領域シンボルの到着が終わっ
たとすると、 S[i] =C[127] ・α*127(119+i) +C[3] ・α*3(119+i) +C[2] ・α*2 (119+i) +C[1] ・α*(119+i)+C[0] (i=1,2,3,4) …(55) となる。これはまさしく、図16にあるC[127]の
シンボルがデインタリーバの左端にある場合のシンドロ
ーム計算の結果を示している。もし正しいデータがこの
1シンボルのみであったとしても、その後にFEC冗長
領域部分の値を加えると、本実施例に基づくデインタリ
ーバ構成のシンドローム値となる。すなわち、シンボル
到着がいつ終了しても常に正しいシンドローム値が求め
られるような計算方法となっている。
は、もし受信シンボルに全く誤りがなければ全て0とな
る。実際は、受信側FEC処理方法1の式(45)にな
らって、 S[i] =C[128-s] ・(α*(119+i)(128-s) )+C[128-t] ・(α*(119+i) (128-t) )+C[128-u] ・(α*(119+i)(128-u) )+C[128-v] ・(α*(119+i) (128-v) ) (i=1,2,3,4) …(56) という値を持つことになる。式(54)の手順で求めら
れたシンボル値S[i](i=1,2,3,4)を使っ
て、式(56)の各シンボルC[128−k](k=
s,t,u,v)を求めることが、FEC訂正モジュー
ル10rでの誤り訂正処理となる。
し1つ(E[128−s])のみであれば、上式は、 S[i] =C[128-s] ・α*(119+i)(128-s) (i=1,2,3,4) …(58) であり、これから、 C[128-s] =(α*(119+i)(128-s) )/S[i] (i=1,2,3,4) …(59) となる。これは、iの値によらず同じなので、どれか1
つを計算すればよい。すると、式(54)において、例
えばS[1]のみ計算すればよく、他のシンドローム計
算を行う必要がないので、その分の演算量を減らすこと
ができる。
28−s]とE[128−t])であれば、式(45)
は、 S[i] =C[128-s] ・(α*(119+i)(128-s) )+C[128-t] ・(α*(119+i) (128-t) ) (i=1,2,3,4) …(60) となる。
[1]とS[2]のみを計算すればよく、他のシンドロ
ームに対してかかる分の演算を減らすことができる。
−s]とE[128−t]とE[128−u])である
とき、式(56)は、 S[i] =C[128-s] ・(α*(119+i)(128-s) )+C[128-t] ・(α*(119+i) (128-t) )+C[128-u] ・(α*(119+i)(128-u) ) (i=1,2,3,4) …(62) となり、この場合は3つのシンドローム、例えばS
[1]、S[2]、S[3]のみを計算すればよいの
で、S[4]に対してかかる演算の分を減らすことがで
きる。
9+i)(128−k) (k=1〜128),(i
=1,2,3,4)の演算に多少の時間がかかってしま
うので、iおよびkをパラメータとした表をあらかじめ
作成しておくと、毎回αのべき乗を計算するよりもより
高速に演算ができる。
バに対するデインタリーバを用いた誤り訂正方法を示
す。
ーシンボルは最大4つまで訂正可能である。そこで、そ
れらのエラーシンボル位置をそれぞれs番目、t番目、
u番目、s番目(0<s<t<u<v<(m+5))と
する。
タ領域のシンボルはランダムに、またFEC冗長領域の
シンボルは、受信側FEC処理方法1、2と同様にデイ
ンタリーバの右端4列に位置する。この場合も、デイン
タリーバによっていつシンボル受信が終了するかわから
ない。よって、そのような可変シンボル長に柔軟に対応
できるような復号処理を行う必要がある。
は式(34)で、エラーフリーの場合の受信シンボルは
式(35)で夫々表されるが、以下では、図5にある具
体例を用いて説明する。
シンボルが正しく受信できたときの受信系列Cは、 C=(C[8] 、C[7] 、・・、C[0] ) …(64) であり、そのうちC[3]、C[2]、C[1]、C
[0]は冗長シンボルである。これを多項式表現する
と、 C(X)=C[8] ・X*6+C[7] ・X*9+C[6] ・X*5+C[5] ・X*7+C [4] ・X*10 +C[3] ・X*3+C[2] ・X*2+C[1] ・X+C[0] …(65) となる。この例では9つのシンボルを受信するが、実際
には最大128シンボルまで受信することがあり得る。
これらのシンボルのそれぞれについて、何番目のシンボ
ルがどこの列に属するか(すなわち式(65)を作成す
るにあたって、各シンボルに対応するXのべき乗の値は
何であるか)といった一覧表を、送信側と同様に保持し
ている必要がある。
4つのシンボルがエラーを起こしているとする。ただ
し、冗長シンボルのみのエラーである場合は、誤り訂正
処理を行わないので、ここでは、少なくとも1つのエラ
ーシンボルは、データ領域に属するシンボルであるとす
る。
ー数に応じて、シンドロームS[i]の計算を行う。エ
ラーシンボル数と同じだけのシンドロームの計算を行え
ば、誤り訂正が可能である。シンドロームの計算は、 手順1:S[i]=0 (i=1,2,3,4)とお
く。
算を行う。
[i](i=1,2,3,4)が求めるシンドロームの
値である。
になる、多項式上のべき乗数を示す。例えば図5(b)
において、C[8]に相当するべき乗数はf(8)=6
である。
1,2,3,4)の別の表現は、式(45)の変形で与
えられる。誤りのあるシンボルの訂正後の値をC[m−
k](k=s,t,v,u)とすると、本実施例の具体
例では、m=8なので、 S[i] =C[8-s] ・(α*(119+i)f(8-s))+C[8-t] ・(α*(119+i)f(8- t))+C[8-u] ・(α*(119+i)f(8-u))+C[8-v] ・(α*(119+i)f(8-v)) (i=1,2,3,4) …(67) となる。
方程式ができ、これからC[8−k](k=s,t,
u,v)の値を求めることができる。エラーシンボルが
4つあるときの解は、それぞれ C[8-s] ={S[4] +(α*f(8-t) +α*f(8-u) +α*f(8-v) )・S[3] +(α*(f(8-t)+f(8-u))+α*(f(8-t)+f(8-v))+α*(f(8-u)+f(8-v ))) ・S[2] +α*(f(8-t)+f(8-u)+f(8-v)) ・S[1] } /{α*120f(8-s)・(α*f(8-t) +α*f(8-v) )・(α*f(8-t) + α*f(8-u) ) ・(α*f(8-u) +α*f(8-v) )} C[8-t] ={S[4] +(α*f(8-s) +α*f(8-u) +α*f(8-v) )・S[3] +(α*(f(8-s)+f(8-u))+α*(f(8-s)+f(8-v))+α*(f(8-u)+f(8-v ))) ・S[2] +α*(f(8-s)+f(8-u)+f(8-v)) ・S[1] } /{α*120f(8-t)・(α*f(8-s) +α*f(8-v) )・(α*f(8-s) + α*f(8-u) ) ・(α*f(8-u) +α*f(8-v) )} C[8-u] ={S[4] +(α*f(8-t) +α*f(8-s) +α*f(8-v) )・S[3] +(α*(f(8-t)+f(8-s))+α*(f(8-t)+f(8-v))+α*(f(8-s)+f(8-v ))) ・S[2] +α*(f(8-t)+f(8-s)+f(8-v)) ・S[1] } /{α*120f(8-t)・(α*f(8-t) +α*f(8-v) )・(α*f(8-t) + α*f(8-s) ) ・(α*f(8-s) +α*f(8-v) )} C[8-v] ={S[4] +(α*f(8-t) +α*f(8-u) +α*f(8-s) )・S[3] +(α*(f(8-t)+f(8-u))+α*(f(8-t)+f(8-s))+α*(f(8-u)+f(8-s ))) ・S[2] +α*(f(8-t)+f(8-u)+f(8-s)) ・S[1] } /{α*120f(8-v)・(α*f(8-t) +α*f(8-s) )・(α*f(8-t) + α*f(8-u) ) ・(α*f(8-u) +α*f(8-s) )} …(68) となる。
し1つ(s番目)のみであれば、上式は、 S[i] =C[8-s] ・α*(119+i)f(8-s) (i=1,2,3,4) …(69) であり、これから、 C[8-s] =(α*(119+i)f(8-s))/S[i] (i=1,2,3,4)…(70) となる。これは、iの値によらず同じなので、どれか1
つを計算すればよい。とすると、例えばS[1] のみ計算
すればよく、他のシンドロームに対する計算を行わずに
済むことになる。
とt番目)であれば、式(67)は、 S[i] =C[8-s] ・(α*(119+i)f(8-s)) +C[8-t] ・(α*(119+i)f(8-t)) (i=1,2,3,4) …(71) となる。これも2つのシンドローム、例えばS[1]と
S[2]のみを計算すればよく、他のシンドロームに対
する演算を行わずに済むことになる。
番目とu番目)であるとき、式(67)は、 S[i] =C[8-s] ・(α*(119+i)f(8-s)) +C[8-t] ・(α*(119+i)f(8-t)) +C[8-u] ・(α*(119+i)f(8-u)) (i=1,2,3,4) …(73) となり、この場合は3つのシンドローム、例えばS
[1]、S[2]、S[3]のみを計算すればよい。す
なわちS[4]の演算を必要とせずに済む。
数必要となる。常に出てくる演算(例えばα^120
等)に関しては、表を作っておくと高速化を図ることが
できる。
は基本的に図5(b)と同じであるので、図に示した具
体例のみを説明することとする。
同じ表2を持っていて、シンボル到着の度に、そのシン
ボルがデインタリーバのどの位置にくるのかを把握して
おく必要がある。ここでも、送信側と同じく上から4行
目を例にとり、この行がもし全くエラーがないとする
と、受信シンボルを使った多項式は、式(32)から C(X)=C[1] ・X*7+C[11]・X*5+C[18]・X*8+C[19]・X*9 +C[125] ・X*3+C[126] ・X*2+C[127] ・X+C[128] …(75) と表される。本来は、何番目のシンボルまで受信するか
は、あらかじめ送信側から知らされることはなく、CP
CS−PDUの終わりを検出することによって、初めて
知ることになる。
定する。シンドロームの計算方法は、式(66)にある
手順と全く同じである。ただし、kの値は式(75)に
あるC[k]から取り出されているので、ランダムな値
をとる。そして、f(k)は式(75)において、その
kの値に対するC[k]を係数とするXの次数を表す。
例えば、k=1に対して、f(1)=7である。
にはならず、式(67)にならって記述すると、 S[i]=C[s] ・(α*(119+i)f(s))+C[t] ・(α*(119+i)f(t)) +C[u] ・(α*(119+i)f(u))+C[v] ・(α*(119+i)f(v)) (i=1,2,3,4) …(76) となる。ただし、0<s<t<u<vであり、{s,
t,u,v∈k|kは4行目に属するシンボル番号}で
あるとする。そして、s,t,u,v番目のシンボルに
エラーが発生しているとする。また、C[k](k=
s,t,u,v)は、それぞれのシンボルの訂正後の値
を意味する。
て、訂正後のシンボル値が計算できる。まず、4つのエ
ラーがある場合は、 C[s] ={S[4] +(α*f(t) +α*f(u) +α*f(v) )・S[3] +(α*(f(t)+f(u))+α*(f(t)+f(v))+α*(f(u)+f(v)))・S[2] +α*(f(t)+f(u)+f(v)) ・S[1] } /{α*120f(s)・(α*f(t) +α*f(v) )・(α*f(t) +α*f(u) ) ・(α*f(u) +α*f(v) )} C[t] ={S[4] +(α*f(s) +α*f(u) +α*f(v) )・S[3] +(α*(f(s)+f(u))+α*(f(s)+f(v))+α*(f(u)+f(v)))・S[2] +α*(f(s)+f(u)+f(v)) ・S[1] } /{α*120f(t)・(α*f(s) +α*f(v) )・(α*f(s) +α*f(u) ) ・(α*f(u) +α*f(v) )} C[u] ={S[4] +(α*f(t) +α*f(s) +α*f(v) )・S[3] +(α*(f(t)+f(s))+α*(f(t)+f(v))+α*(f(s)+f(v)))・S[2] +α*(f(t)+f(s)+f(v)) ・S[1] } /{α*120f(t)・(α*f(t) +α*f(v) )・(α*f(t) +α*f(s) ) ・(α*f(s) +α*f(v) )} C[v] ={S[4] +(α*f(t) +α*f(u) +α*f(s) )・S[3] +(α*(f(t)+f(u))+α*(f(t)+f(s))+α*(f(u)+f(s)))・S[2] +α*(f(t)+f(u)+f(s)) ・S[1] } /{α*120f(v)・(α*f(t) +α*f(s) )・(α*f(t) +α*f(u) ) ・(α*f(u) +α*f(s) )} …(77) となる。
し1つ(s番目)のみであれば、上式は、 S[i] =C[s] ・α*(119+i)f(s) (i=1,2,3,4) …(78) であり、これから、 C[s] =(α*(119+i)f(s))/S[i] (i=1,2,3,4) …(79) となる。これはiの値によらず同じなので、どれか1つ
を計算すればよい。とすると、例えばS[1]のみ計算
すればよく、他のシンドローム計算を行う必要がないの
で、その分の演算量を減らすことができる。
とt番目)であれば、式(67)は S[i] =C[s] ・(α*(119+i)f(s))+C[t] ・(α*(119+i)f(t)) (i=1,2,3,4) …(80) となる。これも2つのシンドローム、例えばS[1]と
S[2]のみを計算すればよく、他のシンドロームに対
する演算を行わなくて済む。
番目とu番目)であるとき、式(67)は、 S[i] =C[s] ・(α*(119+i)f(s))+C[t] ・(α*(119+i)f(t)) +C[u] ・(α*(119+i)f(u)) (i=1,2,3,4) …(82) となり、この場合は3つのシンドローム、例えばS
[1]、S[2]、S[3]のみを計算すればよい。す
なわちS[4]の演算を行わなくて済む。
ためのプロトコルとしてはAALタイプ5のSSCSレ
イヤのFEC処理以外を想定していない。しかしなが
ら、実際にはFECの能力には限界があり、一定数以上
セルが廃棄された場合にはもはやFECによる誤り訂正
は不可能となってしまう。このような状況では再送によ
る誤り訂正を行なうしかなく、そのためには予めSSC
SレイヤのFECによる誤り訂正の他に上位レイヤにラ
イトウェイトな再送制御を実装しなければならない。F
ECで訂正できない場合、元のデータを得るには再送を
行なうしかないので、本実施例では、SSCSの上位に
ライトウェイトな再送制御のためのプロトコルは実装し
ていると想定している。また、予めATM網の状態をみ
て誤りの多く発生する状態であれば能力の高いFEC用
符号を用いる、またほとんど誤りの発生しない状態であ
れば軽いFEC符号を用いるなど、パラメータを選択し
た上で通信を開始できる。
タイプ5に関するものについて説明したが、本発明の誤
り訂正方法はデータ転送に限定されるものではなく、同
様の方法で他のタイプにも適用可能である。
れた端末装置において、該端末装置がマルチメディア/
コンティニュアスメディア処理機能(音声、動画等)を
持っていれば、この様なアプリケーションを実現する場
合にAAL5の処理機能に本実施例の誤り制御方式を併
用させることによって柔軟に対処し様々な状況で様々な
データの信頼性を保証することができるのである。
明する。第1の実施例は、1対1の端末が通信を行なう
場合の例であったが、第2の実施例では、1対多通信の
場合について説明する。
の送信側端末2tが、複数台の受信側端末2r(2r−
1〜2r−n)に対して通信を行なっているものとす
る。なお、図中の受信側端末2rのいずれか複数個が受
信側端末かつ送信側端末となり、同じようなコネクショ
ンを張り同じように1対多通信を行なうことによって多
対多通信を実現することもできるが、このような場合に
も、本発明を適用することが可能である。
なう場合の例について説明する。
コルスタックの一例である。基本的な構成は、第1の実
施例のプロトコルスタックとほぼ同様である。図1と異
なる点は、本実施例では、いずれかのレイヤにマルチキ
ャスト機能を提供する能力のあるプロトコルが必要にな
ることである。
を提供できるプロトコルとしては、マルチキャストIP
アドレスを使ったIP転送などがある。現状のシステム
では、IPマルチキャストを行なう場合に、その上位レ
イヤプロトコルとしてUDP(User Datagr
am Protcol)が用いられるのが通常である。
UDPはTCP(Transmission Cont
rol Protcol)と異なり、エンド−エンドに
信頼性の保証を行なわないプロトコルであるので、転送
途中でパケットが廃棄されても、ビット誤り等が生じて
も、訂正は行なわない。しかしながら、ここで転送しよ
うとしているアプリケーションデータはマルチメディア
で放送形態をとるデジタルメディアを想定しているの
で、IP+UDPのようなデータの信頼性を保証しない
プロトコルでは不都合である。そこで、本実施例では、
MTP(Multicast Transport P
rotocol)やRMP(Reliable Mul
ticast Protocol)をレイヤ4のプロト
コルとした。しかし、本発明のFECを実装している場
合には、信頼性の保証を上位レイヤによる再送で行なう
必要性がかなり少なくなる。
場合、転送途中に生じた誤りを訂正する機能を持ったプ
ロトコルである。現在はインターネットドラフトのRF
C1301に実現の方法に関する詳細が記述されてい
る。該ドラフトの誤り訂正の方法とは、受信者による再
送要求により送信者がデータを再送するという方法であ
る。RMPは、カリフォルニア大学バークレイ校のB.
Wettenらにより提案されたものであり、MTPと
ほぼ同様の動作及び機能を持ったプロトコルである。し
かし、両者ともCSCWなどをアプリケーションとする
ことを前提としているので、リアルタイム性の保証は行
なっていない。
ーションを実現するにはリアルタイム性の保持を行なう
必要がある。その場合には、受信者が誤りを検出してか
ら送信者に対して再送要求を行なっていたのでは、遅延
が許容範囲を越えてしまう可能性が高い。このような場
合にも、前述した第1の実施例のように、転送するデー
タに予め誤り訂正を行なうための冗長な符号を付与して
おくことによって、上記のような問題点を解消できるの
である。
るマルチキャストは、ATMレベルでは図25のように
スイッチ3のコピー機能などを用いて実現される。ま
た、コネクションの張り方としては、主に以下の2通り
が考えられる。
対してポイント−マルチポイントのATMコネクション
を張る。
一部の中継サーバに対してポイント−マルチポイントの
ATMコネクションを張る。中継サーバよりも(マルチ
キャストツリー内で)下流の受信側端末と中継サーバに
関しては、該中継サーバが担当する。中継サーバとは、
物理的または論理的にネットワークやサブネットを接続
しているような装置を指し、AALよりも上位のレイヤ
でコネクションを一度終端することもある。
末(2t)、H1〜H25は受信側端末(2r)、S1
〜S5は中継サーバである。ネットワーク1−1〜1−
7は、ATM網である。図26のように、送信側端末H
から受信側端末H1、H2、および中継サーバS1、S
2、S3に対して、コネクションを設定し、中継サーバ
S1、S2、S3は、それぞれの下流に位置するATM
網1−2,1−3,1−4内のマルチキャストグループ
に属する受信側端末やさらに下流にメンバーが存在する
中継サーバに対して同じようにコネクションを張る。
的少ない場合には適切な方法である。これに対して、上
記2の方法は受信側端末の総数がかなり多い場合でも、
階層的に下流の中継サーバにコネクションを一度終端さ
せることで、広域に渡るマルチキャストが実現できる方
法である。
rを説明する。図27に、本実施例の送信側端末2tお
よび受信側端末2rの内部構成を示す。本実施例の送信
側端末2tおよび受信側端末2rの内部構成は、基本的
には、第1の実施例とほぼ同様である。したがって、以
下では、本実施例の送信側端末2tおよび受信側端末2
rについて、第1の実施例との相違点を中心として説明
する。なお、ここでも、AALとしてタイプ5を例にあ
げる。
処理モジュール104t、MTP/RMP処理を行うM
TP/RMP処理モジュール130t、IP処理を行う
IP処理モジュール131tでは、マルチキャストした
い送信側端末2rに対して、それぞれのプロトコルに特
有な処理が行なわれる。データの種類としては、動画、
音声、テキストデータなどATMの特徴を活かして様々
なメディアを転送するが、ここまでの処理は、本発明に
限られた方法ではない。
CPCS処理モジュール114t、SAR処理モジュー
ル120tでは、第1の実施例で説明したものと同様の
処理が施される。
で、上位レイヤに対してエラーフリーな通信を提供する
場合、そのためには、SSCSレイヤ以下のレイヤでト
ランスペアレント(透過的)なデータの受渡しが可能で
あることが必要となる。というのは、送信側のSSCS
レイヤのエンティティに対して、受信側のSSCSレイ
ヤのエンティティから再送要求が送られた場合に、セル
単位の再送を行なうためには、SSCSレイヤで、個々
のセルの識別ができることが必須になるからである。例
えば、SSCSレイヤでセル単位の再送を行なう場合、
再送要求、あるいは再送に関係あるデータはSSCSレ
イヤよりも下のレイヤではトランスペアレントに受渡し
されなければならない。これらは、受信側端末2rの処
理の説明において詳しく述べる。SSCSレイヤ以下に
関しても、第1の実施例と同様の処理が行なわれる。
宛先に対してメッセージを送信するため、いずれかの受
信側端末2rで正しくデータを受信できない可能性が高
くなる。言い換えると、送信側にいずれかの送信側端末
2tから再送要求が送られる確率が高くなる。しかし、
本発明によれば、予めFECを付与するレイヤ(AAL
5の場合であればSSCSレイヤ)に、データの信頼性
を保証する機能を持たせることで、その確率を激減させ
ることができるのである。
PCS処理モジュール114rで行なわれる。その際、
誤りが検出されなければ、第1の実施例で示したよう
に、SSCS処理モジュール106rを省略して上位レ
イヤにデータを渡す方法も可能である。その場合には、
送信側で付与したFEC冗長符号のオーバーヘッド程度
ですみ、スループット、レイテンシイは、AAL5にか
なり近い性能を得ることができる。
IPレベルでマルチキャストグループに該当する複数の
IPアドレスに対してデータグラムを送出するので、一
般的なIPマルチキャストでは、送信側端末2tで再送
要求を受けとる確率がポイント−ポイントの場合よりも
大きい。マルチキャストグループに属する端末数が大き
ければ大きいほどその確率は大きくなる。例えば、受信
側端末数が10^4、データリンクの誤り率が無線程度
に大きい場合には、1に近い確率で送信側端末2tは再
送要求を受けとる。
けられる。 (1)予め付与した誤り訂正符号(FECコード)によ
り訂正可能な程度である場合 (2)上記1のレベルを上回り、FECコードによる訂
正が不可能、よって、再送以外に訂正は無理である場合 もちろん、上記1の場合には、第1の実施例の1対1通
信の場合と同様に誤り訂正を行なって、正しいデータを
上位レイヤに渡すことができる。
場合には再送により誤りを訂正しなければならず、その
方法としては以下のような候補がある。 A)AALよりも上位レイヤで再送制御を行なう(例え
ば、図25のレイヤ4に相当するMTP/RMP等)。 B)AALのいずれかのレイヤで再送制御を行なう。
トコルの手順にしたがって誤り訂正が行なわれるので、
第1の実施例で説明した手順をもちることができるが、
上記Bの方法で再送制御を行なうには、第1の実施例で
説明した手順に加え、いくつかの処理が必要になる。以
下、上記2のようなレベルの誤りが生じ、それを上記B
のような方法で誤り回復をはかろうとした場合の手順に
ついて説明する。
送中に生じた場合に、SSCSレイヤで信頼性保証のた
めに再送制御を行なう方法について説明する。再送制御
を行なうとすると、再送の単位は様々な方法が可能であ
る。 1)ATMレイヤレベルのセル再送 2)CPCS−PDUを単位とする再送 3)SSCS−PDU(インタリーバ)を単位とする再
送 4)SSCS−PDU(インタリーバ)内の列(任意の
列数)を単位とする再送 5)レイヤ3以上のパケットを単位とする再送 ここでは、一例として、マルチキャストを行う場合で、
かつ、上記3)のSSCS−PDU(インタリーバ)内
の列(任意の列数)を単位として再送により誤り訂正を
行なうケースについて述べる。
2tのSSCS処理モジュール106tでは、セル単位
にSNを含むSSCSヘッダが付与されている。受信側
端末2rのSSCS処理モジュール106rでは、この
SSCSヘッダに従ってセル廃棄されたセルを特定する
のである。これ以前で、何らかの誤りが生じているとい
う事実は、CPCSレイヤのCRCにより検出済みであ
る。検出した誤りが広範囲に及んでおり、送信時に付与
されたFECの訂正能力を越えている場合には、送信側
のSSCSレイヤに対して、再送要求を出す。再送要求
のメッセージは、マルチキャストグループのメンバーで
ある受信側端末のいずれかから送られることが予想さ
れ、その台数はわからない。1台だけかも知れないし、
または数台から送られることもある。
力以上の誤りを検出した場合、送信側端末2tのSSC
S処理モジュール106tに対して、受信側端末2r−
1は少なくとも自分のアドレス、またはマルチキャスト
アドレス、再送して欲しいセルのSNを送ることによっ
て誤り訂正を実現する(図28参照)。
は、送信側端末2tのSSCS処理モジュール106t
に届けられる。送信側端末2tでは再送要求メッセージ
の内容に応じて、それに対応するSNを持つセルを再送
する。その際、マルチキャストコネクションとは別に設
定されたポイント−ポイントコネクションを利用して、
再送要求を送信した受信側端末にのみ再送データを送信
しても構わないし、再度マルチキャストを行なっても構
わない。
の列に対応するかということをSNから特定できても、
この例ではAAL5を前提としているので、通常、その
廃棄されたセルのみを転送することはできない。AAL
5のトレイラが付与され、1セル分の実データでも2セ
ル分のAAL−PDUとなってしまう。再送データを転
送する方法としては、以下のようなものが可能である。 (1)実データを独立したインタリーバに格納し直し
て、新たにFECを付与し、独立したAAL−PDUと
して送出する。この場合は、廃棄された時のSNも新た
なSSCSヘッダ/トレイラに記す必要がある。 (2)AALをヌルにして送出する。SSCSヘッダ/
トレイラは以前のものを付与する。 (3)再送要求を受けとった時点で、その時、またはそ
の次に転送するインタリーバの最初または最後に含ませ
てしまう。他のデータと混ざらないように、再送データ
であることの表示が必要。
は、以下のそれぞれがある。 A)マルチキャストグループに属する全ての受信側端末
(マルチキャストによって転送する) B)再送要求を送ってきた受信側端末のみ(何らかの方
法でポイント−ポイントのコネクションを設定する必要
がある) C)再送用のコネクションを個々の受信側端末に対して
予め張っておいて、再送要求を送ってきた受信側端末に
対してのみ再送する。SSCSヘッダ/トレイラは以前
のものを付与する。 D)マルチキャストグループ内の一部 上記1の場合には、廃棄されたセル数が小さいと、FE
Cコードの冗長性が高くなってしまう可能性がある。
に送出することになりオーバーヘッドが小さい。
ータを送出すると、特定の受信側端末だけにコネクショ
ンを張り直すという処理を送信側端末が行なわなくて済
むという利点がある。
る場合、受信したデータが再送データであるという識別
は、SSCSヘッダ/トレイラに再送データであること
を示すビットを立てるようにすれば良い。すでに正しく
受信できている場合には受信側のSSCS処理モジュー
ル106rで廃棄してしまえば良いので実現は比較的簡
単である。
はそのようなフィールドがなく、SSCSレイヤでエラ
ーフリーな通信を提供する場合には、図29のように拡
張したSSCSヘッダ/トレイラが通常の転送時から必
要になる。
SCSヘッダ/トレイラに、再送データであることを表
示するフィールドを1ビット付加した。
地から、SSCSヘッダ/トレイラのSNをより大きな
値までとれるようにし、インタリーバ内のデータ領域と
冗長コードの領域がより確実に識別できるようフィール
ドを増やした。
ドを小さくすることによって1バイトのSSCSヘッダ
/トレイラ内に再送データ表示フィールドを1ビット設
けた。
て減らすことが可能である。例えば、FECの訂正能力
が128セル中4セルだった場合、再送要求で8個のセ
ルを再送するようにリクエストされたとする。このFE
Cコードでは4セル以内の廃棄ならば訂正できるので、
再送するセル数は少なくとも4セル送ってやれば済む。
このように、最小限のセルを送ることによって、網の輻
輳を引き起こさないように防止することができる。この
ような利点も、FECを用いている場合の特徴の一つで
ある。
再送要求が送られてきた場合について説明する。ここで
は、FECの訂正能力としては、1インタリーバのサイ
ズが16セル、その内、1セルまでの訂正が可能なコー
ドであるものとして説明する。
に、次のようにして再送セルの数を削減できる方法があ
る。
r−3から各々次のようなセルの再送要求が送信側端末
2tのSSCS処理モジュール106tに到着したとす
る。 受信側端末2r−1→セルのSN…1,2,3 受信側端末2r−3→セルのSN…2,3,4 どの受信側端末で、どのセルが廃棄されたのかが、送信
側端末で上記のように特定できた場合、その後の処理と
して以下のような方法がある。 (1)受信側端末が受信できなかったセルのSNを全て
再送する。 (2)FFCの能力に応じて復号に必要な最小限のセル
を再送する ここでもそれぞれ、マルチキャストで送る方法と、ポイ
ント−ポイントで送る方法がある。
と、2と3が共通であることがわかる。上記2の方法に
従えば、それぞれの受信側端末で3セルずつ廃棄が生じ
ているので、それぞれ、あと2セルずつ正しく受信でき
れば、残りの1セルはFEC符号により回復することが
できる。よって、前で説明したように最小限のセルを再
送する、というポリシーに基づいて、送信側端末2t
は、受信側端末2r−1,2r−3に対して共通の廃棄
セルであるSN=2,3を送信するという方法がとれ
る。もちろん、受信側端末2r−1に対してSN=1,
2,3のセル、受信側端末2r−3に対してSN=2,
3,4のセルと、個々に最小限のセルを送ることもでき
る。しかし、マルチキャストグループ内の特定の端末に
対して再送を行なう場合には、先にも述べたが対応する
ポイント−ポイントのコネクションが必要になる。
末2r−1,2r−3に限ることもできるし、再度マル
チキャストによってこれらの2セルのみ、またはSN=
1,2,3,4,の4個のセルを送ることもできる。
復号されている受信側端末ではデータが再送セルである
ことをSSCSレイヤで検出することができるのでその
セルは廃棄することができる。よって、重複して別のデ
ータに混入してしまって、影響を及ぼす恐れはない。
限にするために、再送セルのみをCPCS−SDUにせ
ず、SSCSレイヤのレベルで別のインタリーバに挿入
してしまうことが可能である。
端末(ここでは受信側端末2r−1,2r−3)にだけ
データを送るようにするには、送信側端末か、もしくは
送信側端末と受信側端末の中継点で特定の受信側端末に
だけコネクションを設定して必要最小限のセルのみを転
送するという方法が考えられる。
が再送要求を出すという、Negative ACK
(否定的な応答確認)を用いた方法であったが、Pos
itive ACK(肯定的な応答確認)を用いる方法
もとることができる。
ルチキャストデータを送信後、SSCS処理モジュール
106tでタイマを起動して、マルチキャストグループ
の全ての受信側端末2rからACKが返ってくるのを待
つ。ACKには、受信側端末2rのアドレス、受信でき
たデータの識別子などが記されている。
プタイムに応じて設定される。このタイマの上限値を越
えてもACKが返ってこない場合には、その返事のない
受信側端末に対してそれに応じたデータを再送する。こ
の再送の方法は、今まで述べてきた方法と同様である。
ィンドウ制御によく似ている方法であり、同じようにス
ライディングウィンドウを用いることもできる。ただ
し、マルチキャストという環境下でPositive
ACKを用いているので、全ての受信側端末2rからA
CKが返ってこないとそれに対応するデータは再送用の
メモリから排除できなくなってしまう。よって、ACK
が経路の途中の輻輳を起こしているノード等で送れてし
まっている時には、送信者は次のデータを送出できない
という状況に陥ってしまい、スループットの低下が起こ
る可能性もある。
SCSレイヤでのFECと再送による誤り制御の効果
で、エラーフリーな正しいデータが渡されることにな
る。その後は、レイヤ3,4の通常の処理が行なわれ、
アプリケーションレイヤにはもちろん正しいデータが届
けられる。
説明を述べた。このように行なうことで、マルチキャス
トを行なっている時に、FECの能力を越えてしまうほ
どの誤りが転送中に生じても、最小限のオーバーヘッド
と遅延でサービスを提供できる。
うことで、AALレベルにエラーフリーな通信を提供す
ることが可能である。マルチキャストを行なう場合は、
受信側端末の数が大きければ大きいほど、いずれかの受
信側端末から送信側端末に対して再送要求が生じる可能
性が高い。しかし、AALレベルにFEC機能を持た
せ、さらに、再送による誤り訂正を提供することによっ
て、信頼性が高く、リアルタイム性のより保証されたシ
ステムを構築することができる。
明によれば、ATM通信網で高速通信を行う場合に、A
ALのいずれかのレイヤにインタリーバとFECを用い
た誤り制御方法を実装し、さらに、インタリーバのサイ
ズを柔軟にアプリケーションデータのサイズに合わせる
ことによってデータ転送の高効率化、高速化、省資源化
を図ることができる。特に、AALタイプ5で高速デー
タ転送を行う場合には、CPCSよりも上位のレイヤに
本発明の誤り制御方法を適用することによって、本来F
ECが持つオーバーヘッドを最小限に抑えつつ、AAL
タイプ5の高速性を最大限に発揮することが可能とな
る。また、AAL1、2、3/4に対しても、より高効
率にFECを実装することが可能である。
されるものではなく、その要旨を逸脱しない範囲で、種
々変形して実施することができる。
単位になるインタリーバのサイズを可変とし最大値のみ
を設けることによって柔軟性を持たせたので、オーバー
ヘッドのトラヒックを最小限に抑えることができ、高ス
ループット、低レイテンシイを実現することが可能とな
る。また、従来の固定サイズのインタリーバと異なり、
データの入らなかった領域にPADする必要がないの
で、計算量を削減し高速化を図ることができる。
方向を同一にしたので、データの書き込みを開始した直
後から読み出しを行うことができる。従来は、インタリ
ーバのデータ領域分全てにデータを書き込むまで下位レ
イヤに対してデータを渡すことはできずかなりの遅延が
かかっていたが、本発明によれば、この遅延はほぼ0と
大幅に短縮できる。
FECを用いた誤り制御方式を実現する枠組みを提供す
ることができる。これにより、FECの誤り訂正能力で
回復可能な誤り発生のレベルであれば、再送制御無しに
信頼性の要求される通信を行うことができる。
バ内に書き込まれているデータのサイズを確実に認識す
ることができる。その結果、予めデータサイズの表示方
法についてネゴシエーションをとっておくことによっ
て、受信側でもデータのサイズを確実に認識でき、正し
いデータを再生して上位レイヤに渡すことが可能とな
る。
バ専用のメモリに書き込むことを省略しFEC冗長コー
ドの計算結果を書き込むメモリのみを用意することによ
って、メモリ量を最小限に抑えることができ、コスト削
減につながる。
タを除いたデータの正確な大きさを認識することがで
き、AAL5トレイラの誤り検出を利用し誤りが検出さ
れた場合にのみ、該データに対してFECによる誤り訂
正処理を行うことによって、誤りを含んだデータからで
も正しいデータを再生することができる。この方法を用
いると、誤り率が小さければ、FECを行わないAAL
5(SSCSがヌルの場合)と処理時間はほとんど変わ
らなくなる。AAL5の本来の目的である軽いプロトコ
ルが実現されるのである。また、網の状況に応じて、誤
り率が小さい場合にはSSCSレイヤでの処理時間を更
に短縮することができる。よって、さらにリアルタイム
性を必要とするようなアプリケーションにも対応でき、
CPU資源を有効に用いることができる。
ルスタックの構造を示す図
成を示す図
ケーションデータを示す図
き込みの様子を示す図
とる場合の様子を示す図
す図
を示す図
示す図
図
スの状態を示す図
す図
ーバの状態を示す図
示す図
トレイラを示す図
信側でのレイヤ処理を説明するための図
形態を示す図
の構造を示す図
の図
構成を示す図
た場合について説明するための図
いて説明するための図
めの図
2r…受信側端末、4t…アプリケーション処理モジュ
ール、4r…アプリケーション処理モジュール、6t…
SSCS処理モジュール、6r…SSCS処理モジュー
ル、8t…インタリーバモジュール、8r…デインタリ
ーバモジュール、10t…FEC付与モジュール、10
r…FEC訂正モジュール、12t…SSCSヘッダ/
トレイラ付与モジュール、12r…SSCSヘッダ/ト
レイラ確認モジュール、14t…CPCS処理モジュー
ル、14r…CPCS処理モジュール、16t…LI付
与モジュール、16r…LI確認モジュール、18t…
CRC付与モジュール、18r…CRC確認モジュー
ル、20t…SAR処理モジュール(セグメンテーショ
ン)、20r…SAR処理モジュール(リアセンブ
リ)、22t…ATMヘッダ付与モジュール、22r…
ATMヘッダ削除モジュール、1−1〜1−7…ATM
網、2r−1〜2r−5…受信側端末、30…マルチキ
ャストサーバ、104t…アプリケーション処理モジュ
ール、104r…アプリケーション処理モジュール、1
30t…MTP/RMP処理モジュール、130r…M
TP/RMP処理モジュール、131t…IP処理モジ
ュール、131r…IP処理モジュール、106t…S
SCS処理モジュール、106r…SSCS処理モジュ
ール、114t…CPCS処理モジュール、114r…
CPCS処理モジュール、120t…SAR処理モジュ
ール、120r…SAR処理モジュール、122t…A
TMヘッダ処理モジュール、122r…ATMヘッダ処
理モジュール、H…送信側端末、H1〜H25…受信側
端末、S1〜S5…中継サーバ
Claims (4)
- 【請求項1】ATMアダプテーションレイヤにて行なう
ATM網における誤り制御方法であって、 上位レイヤから渡された送信しようとする一続きのデー
タを所定長のデータ列に順次区切り、マトリクス状に定
義された記憶領域を有するインタリーバのデータ記憶領
域の各列に順次書き込んでいく第1の手順と、 この第1の手順により前記インタリーバのデータ記憶領
域の最大列まで前記データで満たされた場合にはこの最
大列を前記インタリーバにおけるデータ記憶領域の最終
列とし、前記インタリーバのデータ記憶領域の最大列ま
で前記データで満たされなかった場合には前記データが
最後に書き込まれた列またはその次の列をデータ記憶領
域の最終列とし、前記インタリーバのデータ記憶領域の
各行について、該最終列までのデータに対する誤り制御
符号を夫々求め、このデータ記憶領域の各行に対する誤
り制御符号を、前記インタリーバの誤り制御符号記憶領
域内の対応する位置に夫々書き込む第2の手順と、 前記インタリーバのデータ記憶領域および誤り制御符号
記憶領域の内容を列ごとに順次読み出していき、読み出
した列に対して所定の列数ごとにシーケンスナンバを含
むヘッダ/トレイラを付与する第3の手順とを有するこ
とを特徴とするATM網における誤り制御方法。 - 【請求項2】前記インタリーバのデータ領域の最終列の
所定位置に、該最終列の先頭から書き込まれているデー
タの長さを表示するための長さ表示情報を書き込むとと
もに、該最終列内に書き込まれたデータの最終ビットの
記憶位置と該長さ表示情報の記憶位置との間の未使用部
分にはパッドを与えることを特徴とする請求項1に記載
のATM網における誤り制御方法。 - 【請求項3】ATMアダプテーションレイヤ・タイプ5
にて行なうATM網における誤り制御方法であって、 前記第1の手順では、上位レイヤから渡された前記デー
タを、前記インタリーバに書き込まずに、下位レイヤで
あるコモン・パート・コンバージェンス・サブレイヤに
渡し、 前記第2の手順では、前記第1の手順にて前記コモン・
パート・コンバージェンス・サブレイヤにデータを渡す
際に誤り制御符号の計算を行い、得られた誤り制御符号
のみメモリに書き込み、 前記第3の手順では、前記メモリから前記誤り制御符号
を読み出し、読み出した前記誤り制御符号を前記コモン
・パート・コンバージェンス・サブレイヤに渡すことを
特徴とする請求項1に記載のATM網における誤り制御
方法。 - 【請求項4】ATMアダプテーションレイヤは、ATM
アダプテーションレイヤ・タイプ5であり、 前記インタリーバのデータ領域と誤り制御符号領域とは
互いに異なるコモン・パート・コンバージェンス・サブ
レイヤのプロトコル・データ・ユニットに属するもので
あって、 受信側にて、同一の前記インタリーバに属し前記データ
領域の内容を含む1つ以上のコモン・パート・コンバー
ジェンス・サブレイヤのプロトコル・データ・ユニット
に対してATMアダプテーションレイヤ・タイプ5によ
る誤り検出処理を行う手順と、 この手順にて誤りが検出された場合にのみ、受信したデ
ータ内に含まれるダミーデータを除いたデータの正確な
大きさを認識した後に該データに対して誤り訂正処理を
行う手順をさらに有することを特徴とする請求項1に記
載のATM網における誤り制御方法。
Priority Applications (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP32691194A JP3614907B2 (ja) | 1994-12-28 | 1994-12-28 | データ再送制御方法及びデータ再送制御システム |
| US08/580,156 US6061820A (en) | 1994-12-28 | 1995-12-28 | Scheme for error control on ATM adaptation layer in ATM networks |
| EP19950120655 EP0721267B1 (en) | 1994-12-28 | 1995-12-28 | Scheme for error control on ATM adaption layer in ATM networks |
| DE1995634833 DE69534833T2 (de) | 1994-12-28 | 1995-12-28 | Schema für Fehlerkontrolle an der ATM-Adaptierungsschicht in ATM Netzwerken |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP32691194A JP3614907B2 (ja) | 1994-12-28 | 1994-12-28 | データ再送制御方法及びデータ再送制御システム |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH08186570A true JPH08186570A (ja) | 1996-07-16 |
| JP3614907B2 JP3614907B2 (ja) | 2005-01-26 |
Family
ID=18193135
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP32691194A Expired - Fee Related JP3614907B2 (ja) | 1994-12-28 | 1994-12-28 | データ再送制御方法及びデータ再送制御システム |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US6061820A (ja) |
| EP (1) | EP0721267B1 (ja) |
| JP (1) | JP3614907B2 (ja) |
| DE (1) | DE69534833T2 (ja) |
Cited By (39)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2009016825A1 (ja) | 2007-07-30 | 2009-02-05 | Panasonic Corporation | 符号化装置及び復号化装置 |
| JPWO2007055150A1 (ja) * | 2005-11-10 | 2009-04-30 | 三菱電機株式会社 | 通信装置、送信機、受信機および誤り訂正光通信システム |
| WO2010001610A1 (ja) | 2008-07-02 | 2010-01-07 | パナソニック株式会社 | 消失訂正符号化装置及び消失訂正符号化方法 |
| WO2011039874A1 (ja) * | 2009-09-30 | 2011-04-07 | 富士通株式会社 | データ送信装置、データ生成プログラムおよびデータ送受信方法 |
| JP2012165211A (ja) * | 2011-02-07 | 2012-08-30 | Canon Inc | 情報処理装置、情報処理方法、及びプログラム |
| JP2012249303A (ja) * | 2005-06-10 | 2012-12-13 | Digital Fountain Inc | 前方エラー訂正(fec)符号およびストリーミング |
| US8732545B2 (en) | 2008-12-26 | 2014-05-20 | Panasonic Corporation | Encoding method and encoder for generating a low-density parity check convolutional code and decoder for decoding a low-density parity check convolutional code using belief propagation |
| US8887020B2 (en) | 2003-10-06 | 2014-11-11 | Digital Fountain, Inc. | Error-correcting multi-stage code generator and decoder for communication systems having single transmitters or multiple transmitters |
| US8918533B2 (en) | 2010-07-13 | 2014-12-23 | Qualcomm Incorporated | Video switching for streaming video data |
| US8958375B2 (en) | 2011-02-11 | 2015-02-17 | Qualcomm Incorporated | Framing for an improved radio link protocol including FEC |
| US9136878B2 (en) | 2004-05-07 | 2015-09-15 | Digital Fountain, Inc. | File download and streaming system |
| US9136983B2 (en) | 2006-02-13 | 2015-09-15 | Digital Fountain, Inc. | Streaming and buffering using variable FEC overhead and protection periods |
| US9178535B2 (en) | 2006-06-09 | 2015-11-03 | Digital Fountain, Inc. | Dynamic stream interleaving and sub-stream based delivery |
| US9185439B2 (en) | 2010-07-15 | 2015-11-10 | Qualcomm Incorporated | Signaling data for multiplexing video components |
| US9191151B2 (en) | 2006-06-09 | 2015-11-17 | Qualcomm Incorporated | Enhanced block-request streaming using cooperative parallel HTTP and forward error correction |
| US9237101B2 (en) | 2007-09-12 | 2016-01-12 | Digital Fountain, Inc. | Generating and communicating source identification information to enable reliable communications |
| US9236976B2 (en) | 2001-12-21 | 2016-01-12 | Digital Fountain, Inc. | Multi stage code generator and decoder for communication systems |
| US9236885B2 (en) | 2002-10-05 | 2016-01-12 | Digital Fountain, Inc. | Systematic encoding and decoding of chain reaction codes |
| US9240810B2 (en) | 2002-06-11 | 2016-01-19 | Digital Fountain, Inc. | Systems and processes for decoding chain reaction codes through inactivation |
| US9246633B2 (en) | 1998-09-23 | 2016-01-26 | Digital Fountain, Inc. | Information additive code generator and decoder for communication systems |
| US9253233B2 (en) | 2011-08-31 | 2016-02-02 | Qualcomm Incorporated | Switch signaling methods providing improved switching between representations for adaptive HTTP streaming |
| US9264069B2 (en) | 2006-05-10 | 2016-02-16 | Digital Fountain, Inc. | Code generator and decoder for communications systems operating using hybrid codes to allow for multiple efficient uses of the communications systems |
| US9270414B2 (en) | 2006-02-21 | 2016-02-23 | Digital Fountain, Inc. | Multiple-field based code generator and decoder for communications systems |
| US9270299B2 (en) | 2011-02-11 | 2016-02-23 | Qualcomm Incorporated | Encoding and decoding using elastic codes with flexible source block mapping |
| US9281847B2 (en) | 2009-02-27 | 2016-03-08 | Qualcomm Incorporated | Mobile reception of digital video broadcasting—terrestrial services |
| US9288010B2 (en) | 2009-08-19 | 2016-03-15 | Qualcomm Incorporated | Universal file delivery methods for providing unequal error protection and bundled file delivery services |
| US9294226B2 (en) | 2012-03-26 | 2016-03-22 | Qualcomm Incorporated | Universal object delivery and template-based file delivery |
| US9319448B2 (en) | 2010-08-10 | 2016-04-19 | Qualcomm Incorporated | Trick modes for network streaming of coded multimedia data |
| US9380096B2 (en) | 2006-06-09 | 2016-06-28 | Qualcomm Incorporated | Enhanced block-request streaming system for handling low-latency streaming |
| US9386064B2 (en) | 2006-06-09 | 2016-07-05 | Qualcomm Incorporated | Enhanced block-request streaming using URL templates and construction rules |
| US9419749B2 (en) | 2009-08-19 | 2016-08-16 | Qualcomm Incorporated | Methods and apparatus employing FEC codes with permanent inactivation of symbols for encoding and decoding processes |
| US9432433B2 (en) | 2006-06-09 | 2016-08-30 | Qualcomm Incorporated | Enhanced block-request streaming system using signaling or block creation |
| JP2016174362A (ja) * | 2002-05-06 | 2016-09-29 | クゥアルコム・インコーポレイテッドQualcomm Incorporated | 無線通信システムにおけるマルチメディア同報通信(broadcast)およびマルチキャスト・サービス(mbms) |
| US9485546B2 (en) | 2010-06-29 | 2016-11-01 | Qualcomm Incorporated | Signaling video samples for trick mode video representations |
| US9596447B2 (en) | 2010-07-21 | 2017-03-14 | Qualcomm Incorporated | Providing frame packing type information for video coding |
| US9843844B2 (en) | 2011-10-05 | 2017-12-12 | Qualcomm Incorporated | Network streaming of media data |
| US9917874B2 (en) | 2009-09-22 | 2018-03-13 | Qualcomm Incorporated | Enhanced block-request streaming using block partitioning or request controls for improved client-side handling |
| JP2021145168A (ja) * | 2020-03-10 | 2021-09-24 | 日本放送協会 | 配信サーバ及びプログラム |
| JPWO2022249268A1 (ja) * | 2021-05-25 | 2022-12-01 |
Families Citing this family (76)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6172972B1 (en) * | 1996-05-28 | 2001-01-09 | Microsoft Corporation | Multi-packet transport structure and method for sending network data over satellite network |
| EP0895379B1 (en) * | 1996-12-26 | 2008-02-13 | Ntt Mobile Communications Network Inc. | Data transmitting method |
| DE19702141C2 (de) * | 1997-01-22 | 1998-10-29 | Siemens Ag | Verfahren zum Übertragen von Sprachinformationen in ATM-Zellen |
| WO1998034380A2 (en) * | 1997-02-04 | 1998-08-06 | Gte Government Systems Corporation | Method and apparatus for transmitting atm over deployable line-of-sight channels |
| GB2322515A (en) * | 1997-02-21 | 1998-08-26 | Northern Telecom Ltd | Adaptation layer switching |
| KR100302263B1 (ko) * | 1997-03-25 | 2001-09-22 | 모리시타 요이찌 | 스트림 데이터 전송방법 및 시스템 |
| US6826181B1 (en) * | 1997-05-13 | 2004-11-30 | Matsushita Electric Industrial Co., Ltd. | Packet transmitter |
| US7284187B1 (en) * | 1997-05-30 | 2007-10-16 | Aol Llc, A Delaware Limited Liability Company | Encapsulated document and format system |
| GB2327578A (en) * | 1997-07-18 | 1999-01-27 | Nokia Mobile Phones Ltd | Convolutional interleaver for preventing the transmission of unwanted data |
| US5870412A (en) | 1997-12-12 | 1999-02-09 | 3Com Corporation | Forward error correction system for packet based real time media |
| US6145109A (en) * | 1997-12-12 | 2000-11-07 | 3Com Corporation | Forward error correction system for packet based real time media |
| ATE218778T1 (de) | 1997-12-12 | 2002-06-15 | 3Com Corp | Ein vorwärtsfehlerkorrektionssystem für packetbasierte echtzeitmedien |
| US6170075B1 (en) | 1997-12-18 | 2001-01-02 | 3Com Corporation | Data and real-time media communication over a lossy network |
| US6804246B1 (en) * | 1997-12-19 | 2004-10-12 | Telefonaktiebolaget Lm Ericsson (Publ) | Asynchronous transfer mode system handling differing AAL protocols |
| US7872969B2 (en) * | 1997-12-23 | 2011-01-18 | Ciena Corporation | Method and apparatus for auto detection of AAL5 type frames for VCC and VPC switches |
| KR100258355B1 (ko) * | 1997-12-26 | 2000-06-01 | 김영환 | 8 비트 병렬 셀 단위 인터리버 |
| JP3338369B2 (ja) * | 1998-04-17 | 2002-10-28 | 沖電気工業株式会社 | Atm試験方法およびatm試験方式 |
| US6438131B1 (en) * | 1998-07-28 | 2002-08-20 | Lucent Technologies Inc. | Low-overhead service specific convergence layer for voice and telephony over packet-based systems |
| JP2000078197A (ja) * | 1998-09-03 | 2000-03-14 | Toshiba Corp | 通信ノード及びパケット転送方法 |
| FI106504B (fi) * | 1998-10-06 | 2001-02-15 | Nokia Networks Oy | Datan segmentointimenetelmä tietoliikennejärjestelmässä |
| JP3567092B2 (ja) * | 1998-12-25 | 2004-09-15 | シャープ株式会社 | パケットデータ通信装置 |
| US7593380B1 (en) * | 1999-03-05 | 2009-09-22 | Ipr Licensing, Inc. | Variable rate forward error correction for enabling high performance communication |
| FI107425B (fi) * | 1999-03-16 | 2001-07-31 | Nokia Mobile Phones Ltd | Menetelmä ja järjestelmä multimediaan liittyvän informaation välittämiseksi pakettikytkentäisessä solukkoradioverkossa |
| US20030195983A1 (en) * | 1999-05-24 | 2003-10-16 | Krause Michael R. | Network congestion management using aggressive timers |
| US6574795B1 (en) * | 1999-05-28 | 2003-06-03 | Intel Corporation | Reliable communication of data by supplementing a unidirectional communications protocol |
| KR100608042B1 (ko) * | 1999-06-12 | 2006-08-02 | 삼성전자주식회사 | 멀티 미디어 데이터의 무선 송수신을 위한 인코딩 방법 및그 장치 |
| US6519261B1 (en) * | 1999-07-02 | 2003-02-11 | Nortel Networks Limited | Asynchronous transfer mode adaptation arrangements |
| AU751376B2 (en) * | 1999-07-08 | 2002-08-15 | Samsung Electronics Co., Ltd. | Apparatus and method for controlling a demultiplexer and a multiplexer used for rate matching in a mobile communication system |
| US6807648B1 (en) | 1999-09-13 | 2004-10-19 | Verizon Laboratories Inc. | Variable-strength error correction in ad-hoc networks |
| JP2001230785A (ja) * | 2000-02-18 | 2001-08-24 | Fujitsu Ltd | Aal1セル帯域制御方式 |
| KR100657253B1 (ko) * | 2000-03-29 | 2006-12-14 | 삼성전자주식회사 | 무선 패킷 송수신 장치 및 그 방법 |
| US6598200B1 (en) * | 2000-06-02 | 2003-07-22 | Nortel Networks Limited | Method and apparatus for frequency domain data frame transmission |
| JP2002027537A (ja) * | 2000-07-10 | 2002-01-25 | Sharp Corp | 携帯電話機を利用したデータ通信システム |
| US7111163B1 (en) | 2000-07-10 | 2006-09-19 | Alterwan, Inc. | Wide area network using internet with quality of service |
| US6594793B1 (en) * | 2000-09-08 | 2003-07-15 | Ericsson Inc. | Methods and systems for multiplexing and decoding variable length messages in digital communications systems |
| KR100351829B1 (ko) | 2000-09-26 | 2002-09-11 | 엘지전자 주식회사 | 디지털 통신 시스템 |
| US20020124224A1 (en) * | 2000-12-29 | 2002-09-05 | Blankenship Thomas Keith | Method and system for matching information rates in turbo coded channels |
| GB0101705D0 (en) * | 2001-01-23 | 2005-04-06 | Bae Sys Defence Sys Ltd | Improved ATM cell handling |
| US7594249B2 (en) * | 2001-05-04 | 2009-09-22 | Entropic Communications, Inc. | Network interface device and broadband local area network using coaxial cable |
| US7031342B2 (en) * | 2001-05-15 | 2006-04-18 | Webex Communications, Inc. | Aligning data packets/frames for transmission over a network channel |
| WO2003001712A1 (en) * | 2001-06-21 | 2003-01-03 | Flarion Technologies, Inc. | Methods and apparatus for indicating packet boundaries in frames |
| US7631242B2 (en) | 2001-06-22 | 2009-12-08 | Broadcom Corporation | System, method and computer program product for mitigating burst noise in a communications system |
| US7233576B1 (en) | 2001-08-16 | 2007-06-19 | Network General Technology | Method and apparatus for transferring data from an ATM connection table to memory for use by an application program |
| KR100434384B1 (ko) * | 2002-03-21 | 2004-06-04 | 엘지전자 주식회사 | 선택적 흐름제어를 통한 데이터 신뢰성 보장장치 및 방법 |
| WO2003085840A1 (en) * | 2002-04-05 | 2003-10-16 | Koninklijke Philips Electronics N.V. | Method and apparatus for embedding an additional layer of error correction into an error correcting code |
| KR100458878B1 (ko) * | 2002-05-03 | 2004-12-03 | 학교법인 경희대학교 | Fec 코딩 방식에 기초한 가변길이 패킷 송수신 방법 |
| US7882081B2 (en) * | 2002-08-30 | 2011-02-01 | Netapp, Inc. | Optimized disk repository for the storage and retrieval of mostly sequential data |
| US7336667B2 (en) * | 2002-11-21 | 2008-02-26 | International Business Machines Corporation | Apparatus, method and program product to generate and use CRC in communications network |
| US20050013274A1 (en) * | 2003-03-05 | 2005-01-20 | Harri Pekonen | System and method for data transmission and reception |
| US20040267968A1 (en) * | 2003-06-25 | 2004-12-30 | Agilent Technologies Belgium S.A./N.V | Implementation of a column interleaving function with a limited amount of columns |
| US7376198B2 (en) * | 2003-09-10 | 2008-05-20 | Cisco Technology, Inc. | Methods and apparatus for multicasting content |
| US7353448B1 (en) | 2003-10-21 | 2008-04-01 | Marvell Semiconductor Israel Ltd. | Methods, architectures, circuits and systems for transmission error determination |
| EP1526701A1 (en) * | 2003-10-22 | 2005-04-27 | Mitsubishi Denki Kabushiki Kaisha | Methods and devices for transferring and for recovering data packets |
| KR100571824B1 (ko) * | 2003-11-26 | 2006-04-17 | 삼성전자주식회사 | 부가정보 삽입된 mpeg-4 오디오 bsac부호화/복호화 방법 및 장치 |
| DE60322550D1 (de) * | 2003-12-09 | 2008-09-11 | St Microelectronics Nv | Methode und Apparat zur Entschachtelung aufeinanderfolgender Sequenzen von verschachtelten Abtastdaten |
| JP4349114B2 (ja) * | 2003-12-10 | 2009-10-21 | ソニー株式会社 | 送信装置および方法、受信装置および方法、記録媒体、並びにプログラム |
| US7451381B2 (en) * | 2004-02-03 | 2008-11-11 | Phonex Broadband Corporation | Reliable method and system for efficiently transporting dynamic data across a network |
| US7599294B2 (en) * | 2004-02-13 | 2009-10-06 | Nokia Corporation | Identification and re-transmission of missing parts |
| US7360142B1 (en) | 2004-03-03 | 2008-04-15 | Marvell Semiconductor Israel Ltd. | Methods, architectures, circuits, software and systems for CRC determination |
| US7434150B1 (en) | 2004-03-03 | 2008-10-07 | Marvell Israel (M.I.S.L.) Ltd. | Methods, circuits, architectures, software and systems for determining a data transmission error and/or checking or confirming such error determinations |
| WO2006038095A1 (en) * | 2004-10-07 | 2006-04-13 | Nokia Corporation | Efficient source blocking algorithm for fec for mbms streaming |
| US20090022079A1 (en) * | 2005-05-04 | 2009-01-22 | Fei Frank Zhou | Method and apparatus for providing enhanced channel interleaving |
| WO2007029432A1 (ja) | 2005-09-01 | 2007-03-15 | Nippon Telegraph And Telephone Corporation | 誤り訂正方法及び装置 |
| WO2009069262A1 (ja) * | 2007-11-29 | 2009-06-04 | Panasonic Corporation | 無線送信装置および無線送信方法 |
| US7900119B2 (en) * | 2007-11-30 | 2011-03-01 | Lantiq Deutschland Gmbh | Interleaving redundancy apparatus and method |
| US9496982B2 (en) | 2011-03-04 | 2016-11-15 | Alcatel Lucent | System and method providing resilient data transmission via spectral fragments |
| US9686062B2 (en) | 2011-03-04 | 2017-06-20 | Alcatel Lucent | Virtual aggregation of fragmented wireless spectrum |
| US9030953B2 (en) | 2011-03-04 | 2015-05-12 | Alcatel Lucent | System and method providing resilient data transmission via spectral fragments |
| US8601334B2 (en) | 2011-05-10 | 2013-12-03 | At&T Intellectual Property I, L.P. | System and method for delivering content over a multicast network |
| US9021330B2 (en) | 2012-05-15 | 2015-04-28 | Alcatel Lucent | System and method for multi-channel FEC encoding and transmission of data |
| US9543981B2 (en) * | 2014-03-25 | 2017-01-10 | Texas Instruments Incorporated | CRC-based forward error correction circuitry and method |
| US10372528B1 (en) * | 2014-12-15 | 2019-08-06 | Seagate Technology Llc | Random values from data errors |
| GB2539693B (en) * | 2015-06-24 | 2019-06-19 | Canon Kk | Emission of a signal in unused resource units to increase energy detection of an 802.11 channel |
| US10367605B2 (en) * | 2015-07-02 | 2019-07-30 | Intel Corporation | High speed interconnect symbol stream forward error-correction |
| KR102739832B1 (ko) * | 2016-11-24 | 2024-12-09 | 에스케이하이닉스 주식회사 | 컨트롤러, 메모리 시스템 및 그의 동작 방법 |
| US10320694B2 (en) * | 2017-05-04 | 2019-06-11 | Nokia Of America Corporation | Methods, apparatuses and computer-readable storage mediums for communication via user services platform |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5115436A (en) * | 1990-05-04 | 1992-05-19 | Bell Communications Research | Forward error correction code system |
| JP3159999B2 (ja) * | 1991-03-20 | 2001-04-23 | 富士通株式会社 | 伝送システム |
| JPH06121001A (ja) * | 1992-10-01 | 1994-04-28 | Matsushita Electric Ind Co Ltd | セル通信誤り時の再送制御方式 |
| US5572532A (en) * | 1993-12-29 | 1996-11-05 | Zenith Electronics Corp. | Convolutional interleaver and deinterleaver |
-
1994
- 1994-12-28 JP JP32691194A patent/JP3614907B2/ja not_active Expired - Fee Related
-
1995
- 1995-12-28 EP EP19950120655 patent/EP0721267B1/en not_active Expired - Lifetime
- 1995-12-28 DE DE1995634833 patent/DE69534833T2/de not_active Expired - Lifetime
- 1995-12-28 US US08/580,156 patent/US6061820A/en not_active Expired - Fee Related
Cited By (68)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9246633B2 (en) | 1998-09-23 | 2016-01-26 | Digital Fountain, Inc. | Information additive code generator and decoder for communication systems |
| US9236976B2 (en) | 2001-12-21 | 2016-01-12 | Digital Fountain, Inc. | Multi stage code generator and decoder for communication systems |
| JP2016174362A (ja) * | 2002-05-06 | 2016-09-29 | クゥアルコム・インコーポレイテッドQualcomm Incorporated | 無線通信システムにおけるマルチメディア同報通信(broadcast)およびマルチキャスト・サービス(mbms) |
| US9240810B2 (en) | 2002-06-11 | 2016-01-19 | Digital Fountain, Inc. | Systems and processes for decoding chain reaction codes through inactivation |
| US9236885B2 (en) | 2002-10-05 | 2016-01-12 | Digital Fountain, Inc. | Systematic encoding and decoding of chain reaction codes |
| US8887020B2 (en) | 2003-10-06 | 2014-11-11 | Digital Fountain, Inc. | Error-correcting multi-stage code generator and decoder for communication systems having single transmitters or multiple transmitters |
| US9136878B2 (en) | 2004-05-07 | 2015-09-15 | Digital Fountain, Inc. | File download and streaming system |
| US9236887B2 (en) | 2004-05-07 | 2016-01-12 | Digital Fountain, Inc. | File download and streaming system |
| JP2012249303A (ja) * | 2005-06-10 | 2012-12-13 | Digital Fountain Inc | 前方エラー訂正(fec)符号およびストリーミング |
| JPWO2007055150A1 (ja) * | 2005-11-10 | 2009-04-30 | 三菱電機株式会社 | 通信装置、送信機、受信機および誤り訂正光通信システム |
| US9136983B2 (en) | 2006-02-13 | 2015-09-15 | Digital Fountain, Inc. | Streaming and buffering using variable FEC overhead and protection periods |
| US9270414B2 (en) | 2006-02-21 | 2016-02-23 | Digital Fountain, Inc. | Multiple-field based code generator and decoder for communications systems |
| US9264069B2 (en) | 2006-05-10 | 2016-02-16 | Digital Fountain, Inc. | Code generator and decoder for communications systems operating using hybrid codes to allow for multiple efficient uses of the communications systems |
| US9178535B2 (en) | 2006-06-09 | 2015-11-03 | Digital Fountain, Inc. | Dynamic stream interleaving and sub-stream based delivery |
| US9386064B2 (en) | 2006-06-09 | 2016-07-05 | Qualcomm Incorporated | Enhanced block-request streaming using URL templates and construction rules |
| US11477253B2 (en) | 2006-06-09 | 2022-10-18 | Qualcomm Incorporated | Enhanced block-request streaming system using signaling or block creation |
| US9380096B2 (en) | 2006-06-09 | 2016-06-28 | Qualcomm Incorporated | Enhanced block-request streaming system for handling low-latency streaming |
| US9432433B2 (en) | 2006-06-09 | 2016-08-30 | Qualcomm Incorporated | Enhanced block-request streaming system using signaling or block creation |
| US9628536B2 (en) | 2006-06-09 | 2017-04-18 | Qualcomm Incorporated | Enhanced block-request streaming using cooperative parallel HTTP and forward error correction |
| US9191151B2 (en) | 2006-06-09 | 2015-11-17 | Qualcomm Incorporated | Enhanced block-request streaming using cooperative parallel HTTP and forward error correction |
| US9209934B2 (en) | 2006-06-09 | 2015-12-08 | Qualcomm Incorporated | Enhanced block-request streaming using cooperative parallel HTTP and forward error correction |
| WO2009016825A1 (ja) | 2007-07-30 | 2009-02-05 | Panasonic Corporation | 符号化装置及び復号化装置 |
| US8429503B2 (en) | 2007-07-30 | 2013-04-23 | Panasonic Corporation | Encoding device and decoding device |
| US9237101B2 (en) | 2007-09-12 | 2016-01-12 | Digital Fountain, Inc. | Generating and communicating source identification information to enable reliable communications |
| US8522109B2 (en) | 2008-07-02 | 2013-08-27 | Panasonic Corporation | Loss correction encoding device and loss correction encoding method |
| EP2963828A1 (en) | 2008-07-02 | 2016-01-06 | Panasonic Intellectual Property Corporation of America | Erasure correction coding for different packet sizes using packet division |
| WO2010001610A1 (ja) | 2008-07-02 | 2010-01-07 | パナソニック株式会社 | 消失訂正符号化装置及び消失訂正符号化方法 |
| US8892977B2 (en) | 2008-07-02 | 2014-11-18 | Panasonic Intellectual Property Corporation Of America | Communication apparatus, terminal apparatus and communication method |
| US11742984B2 (en) | 2008-07-02 | 2023-08-29 | Panasonic Intellectual Property Corporation Of America | Transmitting method with error correction coding |
| US11063693B2 (en) | 2008-07-02 | 2021-07-13 | Panasonic Intellectual Property Corporation Of America | Transmitting device with erasure correction coding and transmitting method with erasure correction coding |
| US12101182B2 (en) | 2008-07-02 | 2024-09-24 | Panasonic Intellectual Property Corporation Of America | Receiving method with error correction coding with generated dummy data |
| US10454613B2 (en) | 2008-07-02 | 2019-10-22 | Panasonic Intellectual Property Corporation Of America | Transmitting apparatus with erasure correction coding, receiving apparatus with erasure correction decoding, transmitting method with erasure correction coding, and receiving method with erasure correction decoding |
| US12126356B2 (en) | 2008-12-26 | 2024-10-22 | Panasonic Intellectual Property Corporation Of America | Transmission apparatus and method, and reception apparatus and method |
| US8732545B2 (en) | 2008-12-26 | 2014-05-20 | Panasonic Corporation | Encoding method and encoder for generating a low-density parity check convolutional code and decoder for decoding a low-density parity check convolutional code using belief propagation |
| US10693502B2 (en) | 2008-12-26 | 2020-06-23 | Panasonic Intellectual Property Corporation Of America | Transmission apparatus and method, and reception apparatus and method |
| US11139837B2 (en) | 2008-12-26 | 2021-10-05 | Panasonic Intellectual Property Corporation Of America | Transmission apparatus and method, and reception apparatus and method |
| US11722156B2 (en) | 2008-12-26 | 2023-08-08 | Panasonic Intellectual Property Corporation Of America | Transmission apparatus and method, and reception apparatus and method |
| US9065611B2 (en) | 2008-12-26 | 2015-06-23 | Panasonic Intellectual Property Corporation Of America | Transmission apparatus and transmission method |
| US9281847B2 (en) | 2009-02-27 | 2016-03-08 | Qualcomm Incorporated | Mobile reception of digital video broadcasting—terrestrial services |
| US9288010B2 (en) | 2009-08-19 | 2016-03-15 | Qualcomm Incorporated | Universal file delivery methods for providing unequal error protection and bundled file delivery services |
| US9660763B2 (en) | 2009-08-19 | 2017-05-23 | Qualcomm Incorporated | Methods and apparatus employing FEC codes with permanent inactivation of symbols for encoding and decoding processes |
| US9419749B2 (en) | 2009-08-19 | 2016-08-16 | Qualcomm Incorporated | Methods and apparatus employing FEC codes with permanent inactivation of symbols for encoding and decoding processes |
| US9876607B2 (en) | 2009-08-19 | 2018-01-23 | Qualcomm Incorporated | Methods and apparatus employing FEC codes with permanent inactivation of symbols for encoding and decoding processes |
| US10855736B2 (en) | 2009-09-22 | 2020-12-01 | Qualcomm Incorporated | Enhanced block-request streaming using block partitioning or request controls for improved client-side handling |
| US11743317B2 (en) | 2009-09-22 | 2023-08-29 | Qualcomm Incorporated | Enhanced block-request streaming using block partitioning or request controls for improved client-side handling |
| US12155715B2 (en) | 2009-09-22 | 2024-11-26 | Qualcomm Incorporated | Enhanced block-request streaming using block partitioning or request controls for improved client-side handling |
| US11770432B2 (en) | 2009-09-22 | 2023-09-26 | Qualcomm Incorporated | Enhanced block-request streaming system for handling low-latency streaming |
| US9917874B2 (en) | 2009-09-22 | 2018-03-13 | Qualcomm Incorporated | Enhanced block-request streaming using block partitioning or request controls for improved client-side handling |
| JPWO2011039874A1 (ja) * | 2009-09-30 | 2013-02-21 | 富士通株式会社 | データ送信装置、データ生成プログラムおよびデータ送受信方法 |
| US8938019B2 (en) | 2009-09-30 | 2015-01-20 | Fujitsu Limited | Data transmitting device and data transmitting/receiving method |
| WO2011039874A1 (ja) * | 2009-09-30 | 2011-04-07 | 富士通株式会社 | データ送信装置、データ生成プログラムおよびデータ送受信方法 |
| US9485546B2 (en) | 2010-06-29 | 2016-11-01 | Qualcomm Incorporated | Signaling video samples for trick mode video representations |
| US9992555B2 (en) | 2010-06-29 | 2018-06-05 | Qualcomm Incorporated | Signaling random access points for streaming video data |
| US8918533B2 (en) | 2010-07-13 | 2014-12-23 | Qualcomm Incorporated | Video switching for streaming video data |
| US9185439B2 (en) | 2010-07-15 | 2015-11-10 | Qualcomm Incorporated | Signaling data for multiplexing video components |
| US9602802B2 (en) | 2010-07-21 | 2017-03-21 | Qualcomm Incorporated | Providing frame packing type information for video coding |
| US9596447B2 (en) | 2010-07-21 | 2017-03-14 | Qualcomm Incorporated | Providing frame packing type information for video coding |
| US9319448B2 (en) | 2010-08-10 | 2016-04-19 | Qualcomm Incorporated | Trick modes for network streaming of coded multimedia data |
| US9456015B2 (en) | 2010-08-10 | 2016-09-27 | Qualcomm Incorporated | Representation groups for network streaming of coded multimedia data |
| JP2012165211A (ja) * | 2011-02-07 | 2012-08-30 | Canon Inc | 情報処理装置、情報処理方法、及びプログラム |
| US8958375B2 (en) | 2011-02-11 | 2015-02-17 | Qualcomm Incorporated | Framing for an improved radio link protocol including FEC |
| US9270299B2 (en) | 2011-02-11 | 2016-02-23 | Qualcomm Incorporated | Encoding and decoding using elastic codes with flexible source block mapping |
| US9253233B2 (en) | 2011-08-31 | 2016-02-02 | Qualcomm Incorporated | Switch signaling methods providing improved switching between representations for adaptive HTTP streaming |
| US9843844B2 (en) | 2011-10-05 | 2017-12-12 | Qualcomm Incorporated | Network streaming of media data |
| US9294226B2 (en) | 2012-03-26 | 2016-03-22 | Qualcomm Incorporated | Universal object delivery and template-based file delivery |
| JP2021145168A (ja) * | 2020-03-10 | 2021-09-24 | 日本放送協会 | 配信サーバ及びプログラム |
| WO2022249268A1 (ja) * | 2021-05-25 | 2022-12-01 | 日本電信電話株式会社 | 再送制御装置および再送制御方法 |
| JPWO2022249268A1 (ja) * | 2021-05-25 | 2022-12-01 |
Also Published As
| Publication number | Publication date |
|---|---|
| EP0721267B1 (en) | 2006-03-08 |
| EP0721267A2 (en) | 1996-07-10 |
| DE69534833D1 (de) | 2006-05-04 |
| EP0721267A3 (en) | 1998-02-04 |
| JP3614907B2 (ja) | 2005-01-26 |
| DE69534833T2 (de) | 2006-11-30 |
| US6061820A (en) | 2000-05-09 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3614907B2 (ja) | データ再送制御方法及びデータ再送制御システム | |
| EP0928086B1 (en) | Packet transmitter | |
| JP3571918B2 (ja) | 符号伝送方法、送信装置、受信装置および通信システム | |
| US6675346B2 (en) | Code transmission scheme for communication system using error correcting codes | |
| US5699369A (en) | Adaptive forward error correction system and method | |
| US6594244B1 (en) | Data communication device and method in a CDMA communication system | |
| US5930265A (en) | Data processing method for efficiently transporting multimedia packets over a conventional digital packet switching network | |
| EP2437421B1 (en) | Method, device and communication system for retransmitting based on forward error correction | |
| JPH08214010A (ja) | ユーザパケットの多重化方法 | |
| JP3630460B2 (ja) | データ長補正システム | |
| JPH0983541A (ja) | エラー処理方法および装置 | |
| US6230297B1 (en) | Cell based data transmission method | |
| JPH08214009A (ja) | 広帯域セルのペイロード生成方法 | |
| WO1997038549A1 (en) | Method and apparatus for forward error correction of transmitted digital signals in networks | |
| CA2297253A1 (en) | Telecommunications system | |
| MXPA02007857A (es) | Metodo para la transmision de mensajes divididos en varios paquetes. | |
| US7020821B2 (en) | Redundant packet telecommunication network system using minimum hamming distances to construct a final estimate of a original codeword | |
| JP2001230785A (ja) | Aal1セル帯域制御方式 | |
| US6731640B1 (en) | Frame synchronization over multiple networks | |
| JPH0787099A (ja) | Atm網における誤り制御方法 | |
| Feldmeier | A data labelling technique for high-performance protocol processing and its consequences | |
| US6728921B1 (en) | Cell based data transmission method | |
| WO2000036755A1 (en) | Method and apparatus for backward-compatible error correction for real time communication link | |
| Esaki et al. | Draft Proposal for Specification of FEC-SSCS for AAL Type 5 | |
| JP3019855B2 (ja) | Atm伝送装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040616 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040629 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040830 |
|
| 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: 20041026 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20041028 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20071112 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081112 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091112 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101112 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101112 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111112 Year of fee payment: 7 |
|
| LAPS | Cancellation because of no payment of annual fees |