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
Application number
JP32691194A
Other languages
English (en)
Other versions
JP3614907B2 (ja
Inventor
Kumiko Kanai
久美子 金井
Keiji Tsunoda
啓治 角田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP32691194A priority Critical patent/JP3614907B2/ja
Priority to US08/580,156 priority patent/US6061820A/en
Priority to EP19950120655 priority patent/EP0721267B1/en
Priority to DE1995634833 priority patent/DE69534833T2/de
Publication of JPH08186570A publication Critical patent/JPH08186570A/ja
Application granted granted Critical
Publication of JP3614907B2 publication Critical patent/JP3614907B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0071Use of interleaving
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, 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/2906Coding, 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/2909Product codes
    • H03M13/2915Product codes with an error detection code in one dimension
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/63Joint error correction and other techniques
    • H03M13/635Error control coding in combination with rate matching
    • H03M13/6356Error control coding in combination with rate matching by repetition or insertion of dummy data, i.e. rate reduction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements 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/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1812Hybrid protocols; Hybrid automatic repeat request [HARQ]
    • H04L1/1819Hybrid protocols; Hybrid automatic repeat request [HARQ] with retransmission of additional or different redundancy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q11/00Selecting arrangements for multiplex systems
    • H04Q11/04Selecting arrangements for multiplex systems for time-division multiplexing
    • H04Q11/0428Integrated services digital network, i.e. systems for transmission of different types of digitised signals, e.g. speech, data, telecentral, television signals
    • H04Q11/0478Provisions for broadband connections
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/1515Reed-Solomon codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L2001/0092Error control systems characterised by the topology of the transmission link
    • H04L2001/0093Point-to-multipoint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5625Operations, administration and maintenance [OAM]
    • H04L2012/5627Fault tolerance and recovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5629Admission control
    • H04L2012/563Signalling, 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

(57)【要約】 【目的】 AALにおいて高スループットかつ低レイテ
ンシイの信頼性のある通信を可能とするATM網におけ
る誤り制御方法を提供することを目的とする。 【構成】 順次、一連のデータを所定長に順次区切って
マトリクス状のメモリを持つインタリーバのデータ領域
の各列に書き込んでいき、データ領域の最大列までデー
タで満たされた場合には最大列をデータ領域の最終列と
し/満たされなかった場合にはデータが最後に書き込ま
れた列またはその次の列を最終列とし、データ領域の各
行について最終列までのデータに対する誤り制御符号を
夫々求め、このデータ領域の各行に対する誤り制御符号
をインタリーバの誤り制御符号領域内の対応する位置に
夫々書き込む手順と、インタリーバの内容を列ごとに順
次読出していき、読出された列に対して所定の列数ごと
にシーケンスナンバを含むヘッダ/トレイラを付与する
手順を有する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、ATM(Asynch
ronous Transfer Mode)セルを用
いて主としてデータ通信を行う場合に関し、特にAAL
(ATM Adaptation Layer)におい
て誤り制御を行う方法に関する。
【0002】
【従来の技術】多種多様な情報をATMセルを用いた通
信形態に適応させるには、ATM網と上位レイヤとのイ
ンタワークが必要であり、その機能を備えたAALがA
TMレイヤと上位レイヤの間に存在する。
【0003】図31に、ATMアダプテーションレイヤ
の一例として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レイ
ヤに渡す。
【0004】現在までに、AALは扱う情報の種類に応
じて4つのタイプがITU−Tなどにより標準化されて
いる。具体的には、AAL1は固定ビットレートの音声
・画像などのリアルタイム通信、AAL2は可変ビット
レートのリアルタイム通信、AAL3/4と5は可変デ
ータ通信用(但し、AAL3と5はコネクションオリエ
ンテッド(CO)通信用、AAL4はコネクションレス
(CL))となっている。
【0005】この中でも、特に、AAL3/4と5はデ
ータ通信用であることから、わずか1ビットのビット誤
りでさえ許容されないようなデータの正確さ、換言する
と受信したデータが送信したデータと完全に同一のもの
であるということを保証できるような信頼性が要求され
るアプリケーションの存在が考えられる。また、AAL
1、2といったリアルタイムアプリケーションで高いQ
OSが要求されるような場合にも、データ自体の信頼性
が必要となってくることは言うまでもない。
【0006】しかし、現状ではATM技術についてはプ
リミティブな部分の標準化に留まっており、AALにて
誤り制御機能が十分には提供されていない。このため、
正確さが要求されるデータ通信をAAL3/4、あるい
はAAL5のユーザが求める場合、例えばAAL5であ
れば、標準の決まっていないCPCSレイヤよりも上位
のレイヤに、信頼性を保証させるプロトコルを実装する
必要がある。AAL5のCPCSレイヤ以下では仕様が
固まっており、すでに標準化されているため、サービス
に依存した新しい機能を付加する場合にはCPCSレイ
ヤよりも上位のレイヤでなければならない。
【0007】これまで知られている例としては、SSC
Sレイヤ(Service Specific Con
vergence Sublayer;サービス依存C
Sレイヤ)に再送制御を基本としたプロトコルを実装す
る方法(例えば、ITU−TのQ.SAALプロトコ
ル)や、SSCSレイヤをヌルとし、その上位にトラン
スポートレイヤプロトコル(例えば、TCPやOSI/
TP4など)を実装する方法などがある。
【0008】上記のような方法は、全て再送によりその
信頼性を確保する方法である。
【0009】しかしながら、(1)大容量トランザクシ
ョンなど、大容量で実時間性が求められ(すなわち再送
制御が基本的に許されない)、かつ信頼性も要求される
アプリケーションが今後ますます増えていくと考えられ
る。
【0010】また、(2)LAN、MAN、WANな
ど、通信網の広域化がなされている。通信網が広域であ
ればあるほど、上記のレイテンシイの確保と、再送によ
る誤り制御とは相いれないものとなってくる(情報の再
送には莫大な時間がかかる)。
【0011】また、(3)一般に、再送による誤り制御
を行う方式においては、再送の単位は上位レイヤパケッ
ト群(具体的には、例えばTCPパケットや、レイヤ4
パケットグループ)であり、セルの廃棄といった比較的
小さな単位のデータ消失に対し、大きなデータの再送を
求めるものとなっており、網資源の浪費につながる場合
がある。
【0012】このような理由により、上述した再送を基
本とする誤り制御方法をATM端末上に実装するのみで
は対処が難しいデータ通信領域が、今後ますます増大し
ていくことが考えられる。特に、リアルタイム性が重視
される場合には、リアルタイム性の確保が必須であり、
再送を基本とする誤り制御方法による対処では極めて難
しい。
【0013】そこで、1994年電子情報通信学会春季
大会にて本発明者らは、“B−786 ATM網におけ
る誤り制御方式、FEC(Forward Error
Correction)on AAL Type
5”と題してFECをAAL5に実装する方法を提案し
ている。この方式は、送信するデータに対して誤り訂正
符号を付与して通信を行い、網内にて多少の情報の廃棄
や誤りが生じた場合でも受信側において消失情報の再生
を行うという、信頼性のある通信を行うための別のアプ
ローチを適用したものである。より具体的には、AAL
1のCSレイヤにおけるオプションとして用意されてい
る誤り訂正符号と同様の符号をAAL5のSSCSレイ
ヤ以上の部分に適用するものである。AAL1では、送
信側から受信側へ音声・映像などのリアルタイム通信を
行うため、再送が現実的にできないことから、該データ
に誤り制御符号を付与して、伝送中のエラーに対する耐
性を強くするといった工夫が行なわれている。この方法
と同様のインタリーブ方式を用いて、FEC冗長コード
をAAL5のデータに対して付加することによって(再
送を必要としない)リアルタイム通信や、信頼性のある
通信を保証することができる。
【0014】ここでAAL3/4でなく、AAL5を用
いた理由としては、例えば以下の点があげられる。
【0015】(1)次世代通信方式としてATM方式が
本命視される中、ITU−TやATMフォーラムなどの
標準化機関により標準化が進められているデータ通信用
AAL(具体的にはAAL5)が、今後の高速端末(マ
ルチメディア端末を含む)に実装されていく可能性が極
めて高いこと。
【0016】(2)AAL5は、高スループット、低レ
イテンシイを目的としていること。
【0017】ただし、上記方式をタイプ5以外のAAL
にも実装可能であることはもちろんのことである。
【0018】この実装にあたって、AAL1で行われて
いるようなFECを行うためには、送信側において、上
位レイヤから渡されたデータを一度マトリクス状のイン
タリーバに書き込んで、冗長用の符号を付与した後に転
送する必要がある。また、受信側では到着すべきであっ
たが廃棄されてしまったり、到着が許容範囲以上に遅く
なってしまったデータ(セル)が送信時にインタリーバ
のどの位置にあったかを特定する必要がある。AAL1
では、デフォルトの処理としてSARレイヤでセルにシ
ーケンスナンバ(SN)を付与することになっているの
で、オプションとしてFECを行う場合にもこれを用い
ることができ、必然的に誤り位置の特定を行うことがで
きた。一方、AAL5には位置を特定するための処理は
行われていない。そこで、FEC冗長符号およびSNの
付与を行う機能を、現状ではヌルであるSSCSレイヤ
に持たせることを提案した。
【0019】ところで、上記学会発表にて想定している
インタリーバはAAL1で用いられているものと同じで
あり、データを書き込めるサイズは固定であった。AA
L1では、転送するデータが音声等のCBR(Cons
tant Bit Rate;固定ビットレート)であ
り、一定の割合で連続して上位レイヤから渡されること
が予めわかっているので、大きめの固定サイズのインタ
リーバでも問題はなかった。しかしながら、データ転送
においては、どのようなタイミングで、どのような大き
さのデータが上位レイヤから渡されるかわからない。よ
って、大きさの固定されたインタリーバでは、インタリ
ーバのサイズよりもかなり小さいデータを転送する場合
には、残りの領域にダミーデータをパディングしてダミ
ーセルを送出しなければならない。データのサイズをイ
ンタリーバのサイズで割ったときの剰りが小さい場合、
ダミーデータが増えてしまうので、特に問題になる。
【0020】したがって、このような方法では、帯域を
有効に使うことができず、余分なトラヒックを増やして
しまうことになりかねない。加えて、従来のAAL1と
異なり、ダミーデータがインタリーバ毎に入るときに
は、どこからがダミーデータであるかを示すための表示
部分がインタリーバ毎に必要であるので、この部分を受
信側で的確に取り出せるための機構も必要となる。
【0021】また、既存のインタリーバは、上位レイヤ
から渡されたデータを一度メモリに書き込んでから読み
出しを行っているので、書き込みと読み出しの方向が垂
直になる場合には、レイテンシイが少なくとも1つのイ
ンタリーバに書き込むのに必要な時間だけかかった。例
えば、ITU−T勧告I.363においてAAL1のオ
プションとなっているインタリーバ1つあたりのサイズ
はデータ領域で47×124=5828オクテットあ
り、この領域に対して最初の列にデータを書き込み始め
てから最終列の書き込みに入る所までの間、下位レイヤ
に対しての送出は全くできないことになる。
【0022】他のインタリーブ方式としては、最近、I
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”
にあるように、斜めインタリーブ(読み出しと書き込み
の方向が斜めに交差する)という手法が提案されてい
る。しかしながら、この方法を用いても、垂直に交差す
る場合と比べてレイテンシイは半分にしかならないとい
う問題があった。
【0023】この遅延への対策として、松崎らにより示
される文献(1994年春 電子情報通信学会 春季全
国大会 B−853;「ATMセルとMPEG−2シス
テム規格との整合性を考慮した誤り訂正手法の検討」)
において、データの読み出しと書き込みが同じ方向であ
るかのごときインタリーバが図示されており、そのよう
に書き込みと読み出しを行えば上記のような遅延自体は
改善される。当該図に対しては何ら説明が与えられてい
ないが、一般的に該インタリーバへはデータを書き込
み、その後読み出すという操作が必要であり、またその
読み書きのためのメモリ領域もインタリーバの大きさが
必要である。すなわち、この方法においても、なお、イ
ンタリーバの大きなメモリ領域の確保が必要であるとと
もに、該メモリへの読み書きのための遅延が回避できな
いという問題があった。
【0024】また、受信側で受信するデータにFEC冗
長符号が付与されている場合、既存の方法(AAL1
等)では、従来送信時にFEC冗長符号を付与するのと
同程度のあるいはそれ以上の遅延がすべてのデインタリ
ーバ処理で生じてしまうという問題もあった。それは、
受信時には到着したデータを、データ領域かFEC冗長
領域かにかかわらず、全て順次デインタリーバ内に格納
していくという処理が必要であったからである。AAL
1では、セル廃棄をSNで検出することは可能である
が、データ内のビット誤りを検出する機能がFEC冗長
符号にしかないため、データが正しいことを確認するに
は、受信側は全てのデータに対してFECによる復号処
理を行わなければならない。これらの処理に要する遅延
は、ビットエラーがセル廃棄と比較して極めてまれであ
ってほとんどのデータが正しいような場合には、特に無
駄が大きくなってしまっていた。
【0025】
【発明が解決しようとする課題】以上述べたように、従
来のFECによる誤り訂正は、本来CBR伝送等に適切
な方式であって、転送すべきデータが連続的に上位レイ
ヤから到着することを前提としている。よって、特にA
AL3/4、5のようなデータ転送を行うプロトコル
に、従来のようなFECによる誤り訂正を実装するのは
不向きであった。すなわち、AAL1で採用されている
固定サイズのインタリーバでは、送りたいデータがその
サイズと比べて小さい場合には、データでインタリーバ
のデータ領域を満たすことができないので、残りの領域
にはダミーデータを入れてダミーセルを送出するしかな
かった。このような方法では、帯域を有効に使うことが
できず、余分なトラヒックを増やしてしまい、輻輳を招
くことになりかねない。加えて、どこからがダミーデー
タであるかをインタリーバ毎に明確にし、それを受信側
にわかるように伝送する機能が必要となるが、従来のA
AL1のインタリーバでは全く考えられていなかった。
【0026】また、既存の方法ではインタリーバに対し
て書き込みと読み出しの方向が異なるために、メモリに
書き込んでいる間、メモリからの読み出しを待つことで
遅延が存在する。この遅延はインタリーバの大きさにお
よそ比例するものであり、比較的低遅延であると言われ
ている斜めインタリーブの方法を用いても遅延の大きさ
を半分にすることしかできない。
【0027】さらに、これへの解決法と考えられるデー
タの読み書きが同じとなるような既存の方法において
も、インタリーバのメモリ領域の確保が必要で、また該
メモリへの読み書きのための遅延時間が必要であった。
【0028】また、AAL1等で行われている既存の方
法では、誤り検出や復号のために受信時にも従来送信時
と同程度あるいはそれ以上の遅延が生じてしまうという
問題もあった。というのは、受信時には、到着したデー
タをデータ領域のものだけでなくFEC冗長領域のもの
も含めて全て、順次デインタリーバ内に格納し、FEC
により誤り検出、さらには訂正を行なっていたからであ
る。
【0029】本発明は、上記問題点に鑑みてなされたも
のであり、AALにおいて高スループットかつ低レイテ
ンシイの信頼性のある通信を可能とするATM網におけ
る誤り制御方法を提供することを目的とする。
【0030】
【課題を解決するための手段】第1の発明は、ATMア
ダプテーションレイヤにて行なうATM網における誤り
制御方法であって、上位レイヤから渡された送信しよう
とする一続きのデータを所定長のデータ列に順次区切
り、マトリクス状に定義された記憶領域を有するインタ
リーバのデータ記憶領域の各列に順次書き込んでいく第
1の手順と、この第1の手順により前記インタリーバの
データ記憶領域の最大列まで前記データで満たされた場
合にはこの最大列を前記インタリーバにおけるデータ記
憶領域の最終列とし、前記インタリーバのデータ記憶領
域の最大列まで前記データで満たされなかった場合には
前記データが最後に書き込まれた列またはその次の列を
データ記憶領域の最終列とし、前記インタリーバのデー
タ記憶領域の各行について、該最終列までのデータに対
する誤り制御符号を夫々求め、このデータ記憶領域の各
行に対する誤り制御符号を、前記インタリーバの誤り制
御符号記憶領域内の対応する位置に夫々書き込む第2の
手順と、前記インタリーバのデータ記憶領域および誤り
制御符号記憶領域の内容を列ごとに順次読み出してい
き、読み出した列に対して所定の列数ごとにシーケンス
ナンバを含むヘッダ/トレイラを付与する第3の手順と
を有することを特徴とする。
【0031】第2の発明は、第1の発明において、前記
インタリーバのデータ領域の最終列の所定位置に、該最
終列の先頭から書き込まれているデータの長さを表示す
るための長さ表示情報を書き込むとともに、該最終列内
に書き込まれたデータの最終ビットの記憶位置と該長さ
表示情報の記憶位置との間の未使用部分にはパッドを与
えることを特徴とする。
【0032】第3の発明は、第1の発明でAALタイプ
5を用いる場合において、前記第1の手順では、上位レ
イヤから渡された前記データを、前記インタリーバに書
き込まずに、下位レイヤであるコモン・パート・コンバ
ージェンス・サブレイヤに渡し、前記第2の手順では、
前記第1の手順にて前記コモン・パート・コンバージェ
ンス・サブレイヤにデータを渡す際に誤り制御符号の計
算を行い、得られた誤り制御符号のみメモリに書き込
み、前記第3の手順では、前記メモリから前記誤り制御
符号を読み出し、読み出した前記誤り制御符号を前記コ
モン・パート・コンバージェンス・サブレイヤに渡すこ
とを特徴とする。
【0033】第4の発明は、第1の発明でAALタイプ
5を用いる場合において、前記インタリーバのデータ領
域と誤り制御符号領域とは互いに異なるコモン・パート
・コンバージェンス・サブレイヤのプロトコル・データ
・ユニットに属するものであって、受信側にて、同一の
前記インタリーバに属し前記データ領域の内容を含む1
つ以上のコモン・パート・コンバージェンス・サブレイ
ヤのプロトコル・データ・ユニットに対してATMアダ
プテーションレイヤ・タイプ5による誤り検出処理を行
う手順と、この手順にて誤りが検出された場合にのみ、
受信したデータ内に含まれるダミーデータを除いたデー
タの正確な大きさを認識した後に該データに対して誤り
訂正処理を行う手順をさらに有することを特徴とする。
【0034】
【作用】第1の発明に係るATM網における誤り制御方
法によると、AALにて、FECを用いた誤り制御方式
を実現する枠組みを提供することができる。これによ
り、FECの誤り訂正能力で回復可能な誤り発生のレベ
ルであれば、再送制御無しに信頼性の要求される通信を
行うことができる。
【0035】ところで、従来の固定長のインタリーバを
用いたFECによる誤り制御は長さ合わせのための意味
の無いオーバーヘッドであるデータ以外の部分(ダミ
ー)を含むセルが生じるものであり、特にデータの生成
がバースト的に起こるAAL3/4、5におけるデータ
転送では適用が難しく、ダミーセルの増加が著しい。
【0036】これに対して本発明では、データ転送の単
位になるインタリーバのサイズを可変とし最大値のみを
設けることによって柔軟性を持たせた。
【0037】この結果、オーバーヘッドのトラヒックを
最小限に抑えることができ、高スループット、低レイテ
ンシイを実現することが可能となる。また、従来の固定
サイズのインタリーバにてデータの入らなかった領域に
PADするような操作が不要となるので、計算量を削減
することができ、高速化を図ることができる。
【0038】また、本発明では、インタリーバの書き込
みと読み出しの方向を同一にしたことで、データの書き
込みを開始した直後から読み出しを行うことができるよ
うになる。従来は、インタリーバのデータ領域分全てに
データを書き込むまで下位レイヤに対してデータを渡す
ことはできずかなりの遅延がかかっていたが、本発明に
よれば、この遅延はほぼ0と大幅に短縮できる。
【0039】第2の発明に係るATM網における誤り制
御方法によると、インタリーバに書き込まれたデータの
最終位置を示すフィールドを設けることによって、イン
タリーバ内に書き込まれているデータのサイズを確実に
認識することができる。
【0040】この結果、予めデータサイズの表示方法に
ついて送受信双方でネゴシエーションをとっておくこと
によって、受信側でもデータのサイズを確実に認識で
き、正しいデータを再生して上位レイヤに渡すことが可
能となる。
【0041】また、データの長さ表示を付与すること
で、最小限のパディングだけで済み、転送効率もFEC
を行なう場合としては最大限に引き上げることができ
る。
【0042】第3の発明に係るATM網における誤り制
御方法によると、インタリーバ専用のメモリに書き込む
ことを省略しFEC冗長コードの計算結果を書き込むメ
モリのみを用意することによって、メモリ量を最小限に
抑えることができ、書き込みや読み出しのための遅延も
不要となりコスト削減につながる。
【0043】第4の発明に係るATM網における誤り制
御方法によると、インタリーバのデータ部分と冗長コー
ド部分を独立したものとすることが可能となる。これに
よって、ネットワーク上での誤り率が比較的小さい場合
にはほとんどのインタリーバのデータ部分には誤りが無
いと判断されるのでFEC処理が不要となり、よってS
SCSレイヤでの処理時間を更に短縮することができ
る。
【0044】また、意味のあるデータの正確な大きさを
認識することができ、このデータに対してCPCSトレ
イラの誤り検出機能(CRC)を利用して誤りが検出さ
れた場合にのみ、該データに対してFECによる誤り訂
正処理を行うことによって、誤りを含んだデータからで
も正しいデータを再生することができる。
【0045】また、CRCによってエラーがないと判断
されたデータに対し、FEC部分は単に廃棄すればよい
ので、誤り率が小さければFECを行わないAAL5
(SSCSがヌルの場合)と処理時間はほとんど変わら
なくなる。すなわち、AAL5の本来の目的である軽い
プロトコルが実現される。よって、さらにリアルタイム
性を必要とするようなアプリケーションにも対応でき、
CPU資源を有効に用いることができる。
【0046】以上説明したように本発明によれば、AT
M通信網で高速通信を行う場合に、AALのいずれかの
レイヤにインタリーバとFECを用いた誤り制御方法を
実装し、さらに、インタリーバのサイズを柔軟にアプリ
ケーションデータのサイズに合わせることによってデー
タ転送の高効率化、高速化、省資源化を図ることができ
る。
【0047】特に、AALタイプ5で高速データ転送を
行う場合には、CPCSよりも上位のレイヤに本発明の
誤り制御方法を適用することによって、本来FECが持
つオーバーヘッドを最小限に抑えつつ、AALタイプ5
の高速性を最大限に発揮することが可能となる。また、
AAL1、2、3/4に対しても、より高効率にFEC
を実装することが可能である。
【0048】
【実施例】以下、図面を参照しながら本発明の実施例を
説明する。
【0049】本実施例では、送信側端末と受信側端末と
の間にてATM網を介してAALタイプ5を用いたデー
タ通信を行う場合を示すが、本発明は他のタイプの方式
にも同様に適用できることは言うまでもない。
【0050】この送受信端末間では、例えば大容量トラ
ンザクション処理が行われており、両端末間におけるデ
ータのやりとりは、低レイテンシ(再送制御が基本的に
許されない)、高スループット、かつ信頼性のあるデー
タ通信が求められている場合を想定している。例えば、
端末が公衆網を介してWAN接続されており、物理的に
遠い距離にあるような場合も含まれる。
【0051】ここでは、両端末間にてやりとりするデー
タにFEC(Forward Error Corre
ction)のための誤り訂正ビットを付与し、送信中
の伝送路やATMスイッチ内でセル廃棄が生じた場合
に、再送せずに正しいデータを再生できる手法を示す。
【0052】本実施例では、ATMの特徴であるセル廃
棄のみを主に仮定して説明を進めているが、実際のデー
タ通信ではビット誤りも生じる可能性はある。このビッ
ト誤りに対する訂正方法としては、後述するようなSS
CSヘッダ/トレイラにCRCフィールドを設け、セル
ごとにビット誤り検出を行うことによって誤りの検出さ
れたセルは廃棄し、セル廃棄されたものとみなす方法が
ある。また、誤り訂正を行う符号として、インタリーバ
内のどの位置にビット誤りが生じているのかわからなく
ても訂正可能であるリードソロモン符号(RS符号)を
用いる方法もある。ただし、この機能を適用するには、
受信側で必ず誤り位置の特定のための復号演算を行う必
要がある。
【0053】本実施例では、送信側端末と受信側端末
は、それぞれATM端末でありAAL5を用いている。
エラーフリーなデータを高いスループットで、かつ低い
レイテンシで送受信できるように、AAL5のCPCS
レイヤの上位レイヤであるSSCSレイヤにFEC機能
を実装している。
【0054】(第1の実施例)まず、第1の実施例を説
明する。本実施例は、1対1の端末が通信を行なう場合
の例である。
【0055】図1に、本実施例の送受信端末のプロトコ
ルスタックの構造を示す。これは、Uプレーン通信(ア
プリケーション間の通信)を行なう場合のプロトコルス
タックである。図中、1はATM網、3はATM交換機
を表している。
【0056】送信側端末2tおよび受信側端末2rで
は、ともに大容量トランザクション処理のアプリケーシ
ョンが動作しており、送信側端末2tから受信側端末2
rに対して大容量・リアルタイムのデータが転送され
る。両端末2t,2rは、直接接続されているものとす
る。このエンドーエンドのATMコネクションは、アプ
リケーション間に予め確立される。従って、レイヤ2、
3、4は通常ヌルとなっている。
【0057】もし、何らかの理由で送信側端末2tと受
信側端末2rのコネクション間に1つでもルータが介さ
れている場合には、そのルータはSSCSレイヤの処理
として同様のFEC処理を行えることが必要である。
【0058】AALレイヤではすでに標準化が決まって
いるAAL5を実装しており、標準のAAL5の上のS
SCSレイヤに、本発明のインタリーバ処理とFEC処
理を実装している。これにより、エンド−エンド間で信
頼性のある通信を実現している。
【0059】ただし、より信頼性を増すために、上記で
ヌルであったトランスポートプロトコルのレイヤ4にも
ライトウェイトな再送制御プロトコルを実装していても
よい。FECには冗長の程度に応じて訂正能力限界があ
り、通常はエラーは訂正能力の範囲内におさまるように
設計されるべきであるが、万一その範囲を越える場合
(すなわち訂正不可能な場合)も考えられる。再送制御
プロトコルを実装すれば、FECの能力を越えてしまう
ほど多量の廃棄が生じるようなことが仮にあった場合、
遅延の増大は生じるとしても、データの信頼性だけは保
つことができる。
【0060】図2に、送信側端末2tおよび受信側端末
2rの内部構成を示す。
【0061】送信側端末2tは、アプリケーション処理
(例えば広域トランザクション処理)を行い、受信側端
末2rに対してアプリケーションデータを送信する。
【0062】アプリケーション処理モジュール4tは、
アプリケーションデータをSSCS処理モジュール6t
に渡す処理を行う。
【0063】SSCS処理モジュール6tでは、渡され
たデータに対してインタリーブ操作を行い、FEC冗長
コードを付与した後、そのインタリーバの列に対してS
SCSヘッダ/トレイラを付与し、これをCPCS処理
モジュール14tに渡す。
【0064】CPCS処理モジュール14tでは、SS
CS処理モジュール6tから受けとったデータに対し
て、AAL5のCPCS処理、すなわち長さ表示とCR
Cの2つのフィールドを各々演算して付与する処理を含
むトレイラ付与作業を行ない、SAR処理モジュール2
0tに渡す。
【0065】SAR処理モジュール20tでは、通常の
AAL5のSARレイヤ処理としてCPCS処理モジュ
ール14tから渡されたデータに対してセグメンテーシ
ョンを行なう。
【0066】セグメンテーションされたデータはATM
ヘッダ付与モジュール22tに渡され、ATMセルヘッ
ダが付与され、さらに図示しない下位レイヤの処理が行
なわれてATM網1にセルとなって投入される。
【0067】一方、受信側端末2rは、ATM網1から
入力されてきたセル流に対して、図示しない物理レイヤ
およびATMレイヤの処理を行い、自端末宛のセルを選
択して取り出す。そして、ATMヘッダ削除モジュール
22rは、ATMヘッダを削除した後にSAR処理モジ
ュール20rに渡す。その際、ATMセルヘッダのPT
(ペイロードタイプ)のUUI(ユーザユーザ情報)領
域に、CS−PDUの最後部を示すビットが表示されて
いたら、これをSAR処理モジュール20rに通知す
る。
【0068】SAR処理モジュール20rは、受け取っ
たデータ(セルのペイロード)に対して、CS−PDU
の最後部の情報を参照しながらAAL5のリアセンブリ
処理を行なう。
【0069】CPCS処理モジュール14rは、SAR
処理モジュール20rから受け取ったCS−PDUに対
してAAL5のCPCSレイヤ処理、すなわちCRCと
長さ表示のチェック等を行ない、CS−SDUを再生す
る。
【0070】SSCSヘッダ/トレイラ確認モジュール
12rは、CS−SDUに付与されたSSCSヘッダ/
トレイラを確認しながら削除し、デインタリーバモジュ
ール8rに渡していく。その際、CPCSトレイラで誤
りが検出されている場合には、その事実をFEC訂正モ
ジュール10rに通知する。
【0071】デインタリーバ8rで正しく再生されたデ
ータは、SSCS処理モジュール6rからアプリケーシ
ョンデータとしてアプリケーション処理モジュール4r
へ渡されていく。
【0072】ところで、上記した個々のモジュールは、
ハードウェア処理あるいはソフトウェア処理のいずれで
行なっても構わない。例えば、アプリケーション処理モ
ジュール4t,4rおよびSSCS処理モジュール6
t,6rは、各々の端末2t,2r内部に設けたCPU
によるソフトウェア処理で、また、それらより下層のC
PCS処理モジュール14t,14r、SAR処理モジ
ュール20t,20rおよびATMヘッダ付与/削除モ
ジュール22t,22rは、各々端末2t,2r内にハ
ードウェアとして実装する方法もある。
【0073】次に、送信側端末2tにおける処理をレイ
ヤの順に従って説明する。
【0074】(A)アプリケーション処理モジュール4
tによる処理 まず、アプリケーション処理モジュール4で、例えば図
3のようなアプリケーションデータが生成される。アプ
リケーションデータの長さは、アプリケーションに依っ
て異なり、一般的には広いレンジを持つ可変長のデータ
である。アプリケーションデータの発生間隔もアプリケ
ーションに依存し、連続する場合や断続的、断片的な場
合など様々なケースが考えられる。
【0075】アプリケーション処理モジュール4tは、
インタリーバモジュール8tに対してアプリケーション
データ(AAL−IDU)を渡していくが、1アプリケ
ーションデータが終了した時点で、その旨をデリミタと
してインタリーバモジュール8tに通知する。
【0076】(B)インタリーバモジュール8tによる
処理 インタリーバモジュール8tは、アプリケーション処理
モジュール4tから渡されたアプリケーションデータで
あるAAL−IDUを、マトリクス状メモリであるイン
タリーバのデータ領域の部分に順次書き込んでいく。書
き込み方は、例えば図4の様に左上端から垂直方向に1
列ずつ行う。
【0077】インタリーバへの書き込みの方法として、
ここでは図4に示した方向、順序に従う例を挙げるが、
図5に示すような方法など、様々な書き込み順序、方向
が可能である。
【0078】FEC冗長領域内にはデータは書き込ま
ず、書き込み終了後に各行のシンボルごとに対して予め
決まった演算を行った結果を、対応するFEC冗長領域
内の各行に書き込む。なお、演算を行った結果をメモリ
内のインタリーバ領域に具体的に書き込まずに、論理的
に別のメモリに格納し必要に応じて読み出し下位レイヤ
に渡すという方法も可能である。
【0079】インタリーバのサイズは様々なものが考え
られるが、例えば、AAL1では以下のようなサイズの
インタリーバがオプションとしてITU−T勧告I.3
63によって標準化されている。横(列)のサイズとし
ては、1シンボルが1オクテットであって、データ領域
124シンボル、FEC冗長領域4シンボルである。こ
の場合の縦(行)のサイズは、セル長からSARヘッダ
長を差し引いた長さ、47オクテットである。また、A
AL1でのオプションの他の値として、同じシンボルサ
イズで縦のサイズが8シンボル、横のサイズがデータ8
8シンボル、FEC冗長領域6シンボルであるものも標
準化されている。ただし、ここではこれらの値にこだわ
る必要はない。
【0080】本実施例において、いくつかのインタリー
バサイズの値を提示しているが、これらはいずれも、イ
ンタリーバがデータ領域としてとることのできる最大値
を示している。すなわち、アプリケーションデータのサ
イズによって、それよりも小さく変化させることが可能
である。アプリケーションデータのサイズがインタリー
バの横のサイズを最大値まで用いた場合でも、その領域
に入らないときには、2枚目のインタリーバ、3枚目の
インタリーバと言うように、AAL1でのCBR転送と
同じように複数枚のインタリーバを用いて転送すること
となる。また、縦のサイズはセルのペイロードのサイズ
との関係でいくつか実装に適当なサイズがある。
【0081】例えば、インタリーバの1列に対して1つ
のSSCSヘッダ/トレイラとAAL5のCPCSトレ
イラを付与する方法をとったものとする。この場合に
は、縦の長さはセルのペイロード長からSSCSヘッダ
/トレイラ分(ヘッダ/トレイラ部分によるオーバーヘ
ッドをなるべく小さくするように、1オクテット等が考
えられる)とCPCSトレイラ分(8オクテット)を除
いた長さ(48−1−8=)39オクテット等が考えら
れる。また、1列を複数セル、例えば2セル分とすれば
縦のサイズは(39+48=)87オクテット等が適当
であると考えられる。
【0082】縦のサイズが大きい場合と小さい場合を比
べてみる。上述したものと同じ、インタリーバ1列をペ
イロードに持つSSCS−PDUについて比較すると、
SSCSヘッダ/トレイラ長が同じならば、縦のサイズ
の大きい方が上位レイヤデータの転送効率(packi
ng efficency)があがるという利点があ
る。一方、縦のサイズが長いと転送すべきデータが列の
途中で終了してしまう可能性も高く、その場合にはその
列の残りの部分をパディングで満たさなければならず、
逆に転送効率が下がってしまうという問題点もある。縦
のサイズとして適当な値を選ぶには、このようなトレー
ドオフを加味すべきである。さらに、あまりに大き過ぎ
ると、ランダムなビット誤りを含み易い問題あるいはF
EC符号のオーバーヘッドが上がる問題などが生じる。
【0083】横のサイズに関しては、従来と同じ誤り訂
正符号として1シンボルがnビットのリード・ソロモン
符号(以下RS符号と記す)を用いるとして、通常、最
大長が(2^n)−1シンボルに限定される。拡張RS
符号を利用すると、それよりも1あるいは2シンボル長
いものも可能であるが、拡張RS符号は通常のものと比
較して、受信後の復号処理、誤り訂正処理が複雑であ
る。従って本実施例では、あえて拡張RS符号を用いな
いこととする。nの値としては、ソフトウェアによる処
理の容易さも考慮して、8またはその倍数を用いること
が一般的である。
【0084】図6に一例を示すように、上記の値を越え
ない範囲で、インタリーバのサイズとして、横のサイズ
を4オクテットの倍数にする方法がある。この方法で
は、例えばRS符号で1シンボルをnビットとしたとき
に、nと列シンボル数との積が32の倍数になることを
意味している。FEC機能をソフト処理で実現する場合
を想定すると、計算機で仮想的にインタリーバへのデー
タの書き込み、読み出しを行うことになるが、計算機の
CPUはメモリへのアクセスが4オクテット単位の方が
扱いやすいので、有効なデータが足りない場合には4オ
クテット単位になるようにパディングをしてでもアライ
メントをとった方が良い場合もある。
【0085】後で詳しく述べるが、今度はCPCSトレ
イラをデータ領域とFEC冗長領域の各々に1つずつ付
ける例を考える。この場合、インタリーバの縦の長さは
SSCSヘッダ/トレイラ分のみを考慮すれば十分であ
る。よって、SSCSレイヤのオーバヘッドを例えば1
オクテットとして、(48−1=)47バイトが良いと
考えられる。しかしこの方法では、CPCSトレイラに
よって増加する8オクテットの増加分もセルのペイロー
ドとして伝送しなければいけないことを考慮していない
ので、そのための8バイト分をインタリーバのデータ領
域内に確保する方法か、あるいはCPCSレイヤのアラ
イメントをとる機能に任せる方法のいずれかをとる必要
が生じる。CPCSレイヤのアライメントをとる機能に
任せる場合には、CPCSトレイラのみを1セルに格納
することになるので40バイトのパディングが必要とな
り、オーバーヘッドが大きくなってしまう問題点があ
る。従って、インタリーバのデータ領域にあらかじめC
PCSレイヤ用に8オクテットのスペースを確保してお
く方がパッキング効率は良い。
【0086】前述したように、データ転送の場合、AA
L−IDUのサイズは一定でなく、SSCSモジュール
6tではこのサイズを認識し、さらに受信側SSCSモ
ジュール6rにも知らせる必要がある。多くのプロトコ
ルでは、SSCSモジュール6tでAAL−IDUの終
了(デリミタ)を検出することができ、SSCSレイヤ
では予めサイズを認識することが可能となっている。従
って、送信側のSSCSレイヤにおいてインタリーバの
どの位置までデータを書き込んだかを、何らかの手段で
明記し受信側SSCSレイヤにわかるようにしなければ
ならない。
【0087】次に、これまで述べてきた種々の例に基づ
いて任意のサイズのAAL−IDUをインタリーバに格
納していった最終的な様子をいくつかの例について説明
する。これらの例では、あらかじめコネクション毎に用
いるインタリーバの最大サイズ、FEC領域の大きさ、
SSCS−PDUの大きさやフォーマットなどが呼設定
時にネゴシエーションされているものとする。
【0088】図7には、インタリーバの縦のサイズが3
9オクテットである例を示した。このサイズは、1列ご
とに対して1オクテットのSSCSヘッダ/トレイラ
(図7(b)のようにヘッダを付与している)とCPC
Sトレイラが1つずつ付いている例である。インタリー
バの最大列数は128オクテットであり、各行に4オク
テット分のFEC領域がある。
【0089】また、この例は比較的大きなサイズのアプ
リケーションデータが格納された様子を示しており、複
数枚(#1から#Nまで)のインタリーバに渡ってい
る。もちろん、小さなサイズのアプリケーションデータ
であっても、図7に示したインタリーバの状態と同じよ
うに格納できる。図7(a)の#1は、データ領域がこ
の例で許容される最大値まで使用されているインタリー
バであり、最後の1オクテットを用いてその列に含まれ
ている有効なデータ量を長さ表示(LI)フィールドに
表示する。また、図7(a)の#Nはデータ領域に未使
用部分が残っている(アプリケーションデータが途中で
終了した)インタリーバであり、最終列はパディングを
含む場合もある。このインタリーバでも同様に最終列の
最後の1バイトを用いて、その列の有効データ量をLI
フィールドに表示する。よって、最終列の有効データ長
とLIフィールドの1オクテットの和が39オクテット
に満たない場合、その足りない分だけパッドを付加す
る。
【0090】次に、図8に、インタリーバの縦のサイズ
が47バイトである例を示す。図9には、この場合のS
SCSレイヤの処理の流れを説明するための図を示す。
【0091】AAL−IDUが到着すると(ステップS
11)、インタリーバへの書き込みを行う(ステップS
13)。
【0092】インタリーバが満たされると(ステップS
14)、必要に応じてPADを挿入し、LIを書き込む
(ステップS15)。そして、FEC冗長コードの計算
を行う(ステップS16)。
【0093】インタリーバからは、順次、列ごとのデー
タが読みだされ、SSCSヘッダが付与される(ステッ
プS17)。
【0094】そして、CPCS処理(ステップS1
8)、SAR処理(ステップS19)が行われ、ATM
ヘッダが付与され(ステップS18)、ATMセルとし
てATM網を転送される。
【0095】さて、図8は、インタリーバのデータ領域
とFEC領域それぞれに対して1つずつCPCSトレイ
ラが付与されている例である。図7の例と同じように、
各列に対しては、1バイトのSSCSヘッダ/トレイラ
が付与される(図8(b))。また、この例も比較的大
きなサイズのアプリケーションデータが格納された様子
を示しており、複数枚のインタリーバ(#1〜#N)に
渡っている。もちろん、小さなサイズのアプリケーショ
ンデータであっても、図8に示したインタリーバの状態
と同じように格納できる。
【0096】図8(a)の#1は、データ領域が最大値
まで使用されているインタリーバであり、最後の9バイ
トを用いてその列に含まれているパディングの量をLI
フィールド(1オクテット)に表示し、残り(8オクテ
ット)は未使用とする。この8オクテットCPCSトレ
イラが付与される際に余分なパディングを行わなくてす
むように、予めトレイラのサイズ分を確保しておくため
の領域である。また、図8(a)の#Nは、データ領域
に未使用部分が残っている(アプリケーションデータが
途中で終了した)インタリーバであり、最終列はパディ
ングを含む場合もある。このインタリーバでも同様に最
終列の最後の1バイトを用いてその列のパディングの量
をLIフィールドに表示する。よってパッドは、最終列
の有効データ長とLIフィールドの1オクテットの和が
47オクテットに満たない場合、その足りない分だけ付
加される。
【0097】次に、図7と図8で用いられているLI表
示の方法について詳しく説明する。図10には、その例
を示した。(a)は図7に対応する場合で、データ領域
内の途中の列の最下行でアプリケーションデータが終了
した場合を表している。この場合最終列には有効なデー
タは含まれていないので、LIフィールドは0となり、
38オクテット分のパディングをする。また、(b)は
図8に対応する場合で、アプリケーションデータを書き
込んでいって終了した行が38〜47オクテット目であ
った場合の表示方法を示している。この時は、LIフィ
ールドにはパディングの量を示すようにする。この様な
方法をとることで、送信側から受信側に正確にアプリケ
ーションデータの量を伝えることが可能となる。
【0098】同じアプリケーションのデータであれば、
複数のAAL−IDUを1つのインタリーバ内に格納す
ることも可能である。よって、1つのAAL−IDUの
デリミタ検出後に、タイマを起動させ、ある一定時間次
のAAL−IDUが到着するまでそのインタリーバの送
出を待つこともできる。
【0099】タイマーの設定は、アプリケーションがど
れくらいのレイテンシを要求するかによっても様々な設
定が可能である。例えば、遅延に対する要求条件の厳し
くないファイル転送等では数秒待つことも可能であり、
またそれとは逆で、動画像などの場合にはタイマーのし
きい値を0に設定し帯域を最大限まで使用することもで
きる。
【0100】アプリケーションデータをデータ領域に書
き込んだ後には、レイテンシイを小さく抑えるために
も、できるだけ速やかにFEC冗長領域を計算すること
が望ましい。
【0101】図11に一例を示すように、インタリーバ
からの読み出しは書き込んだ方向、順序と同じに、1シ
ンボル書き込み終了後引き続いて1シンボル読み出しを
すぐに行う。書き込みと読み出しを交代に、または並列
に行うことによって、今まで書き込み終わるまで読み出
しができなかったというボトルネックが解消され、SS
CSレイヤの上位レイヤから下位レイヤに渡すまでにか
かる時間が大きく減少する。データ読み出し後は、順次
SSCSヘッダ/トレイラ付与モジュール12tへ渡し
ていく。
【0102】以上のように行うと、インターリーブによ
り生じていた遅延がほとんど無視でき、SSCSレイヤ
がヌルの場合とかなり近い速度が得られる。以前のイン
タリーブでは、書き込みは水平方向に、読み出しは垂直
方向にと、1つのデータ領域内全てにデータが書き込ま
れてから(全てが埋まらない場合にはPADをしてか
ら)読み出しを行っていた。これに対して本実施例の方
法では、下位レイヤに渡すデータの読み出し方向を書き
込み方向と同一にし、特にデータ領域に関しては書き込
みと読み出しがほぼ同時に行われるので、データ領域全
てを書き込むまでデータの送出を待たなくてもよくな
り、遅延がかなり小さくなる。
【0103】(C)FEC付与モジュール10tによる
処理 FEC付与モジュール10tでは、図12に例を示すよ
うに、データ領域の範囲内に書き込まれたデータの各行
に対して、それぞれのFEC冗長領域を計算し対応する
位置に書き込んでいく。n行目に対するFEC冗長領域
は、n行1列、n行2列、・・・、n行m列のm個のシ
ンボルを用いて演算することによって得られた結果であ
る。
【0104】パディングがなされていないインタリーバ
の場合は図12(a)のように、また、インタリーバの
途中でデータが終了している場合は図12(b)のよう
に未使用部分を除いて各行に対応するFEC冗長領域を
計算していく。(b)の場合に、n行目に対するFEC
冗長領域を計算するには、n行1列からn行4列までの
シンボルを用いて、未使用部分が無い場合と同じ演算方
法でFEC冗長領域を計算することが可能である。
【0105】図13に、1列が1つのCPCS−SDU
となる場合の例を示す。インタリーバは、AAL−ID
Uであるデータが書き込み終わったら、図13(a)の
ように、その列の残りの部分をPAD(例えばシンボル
中のビットがall“0”またはall“1”)で埋め
て、さらにその列の最後の1シンボルの部分に、その列
に含まれる有効なデータの長さを書き込む。もし、ある
列の最後までデータが埋まっていたら、図13(b)の
ように、次の列を使って長さ表示を行う。要するに、列
の最後に長さ表示が含まれている列の前の列はデータで
満たされることになる。
【0106】データが全く書かれていない残りの列に対
しては、PAD等は行なわない。データ領域の最後は次
のステップで付与されるSSCSヘッダ/トレイラで受
信側が認識できるので、余分なPADをしてインタリー
バの最大サイズに合わせる必要はない。また、データを
書き込んでいない部分はセルとなって転送されることも
ない。この様な操作を行うと、CBR転送に適していた
インタリーバをデータ転送にも容易に適用することが可
能となるのである。
【0107】FEC冗長領域を計算する際、データが書
き込まれていずダミーの入っていないデータ領域の各列
はFEC冗長コード演算のために代入するパラメータが
存在しないので、演算数が少なくて済むことになる。し
かしながら、ダミーとして0または1がパディングされ
ていて、しかもそれをFECの計算のためのデータとし
て用いる従来の場合には、その値を用いてデータがある
列と同様の計算を各シンボルに対して行わなければなら
ないので、データ領域が有効なデータで満たされている
場合と同じだけの計算時間が必要になってしまう。した
がって、残ったデータ領域にPADを入れず、かつその
領域をFECのための演算領域からはずす場合は、演算
量が減少するため簡単に短時間でFEC冗長の計算が行
えることになり、より高速にプロトコル処理できること
になる。
【0108】図13は、データを書き込むという観点か
ら、仮想的にインタリーブ行列をおいて、そこに左上か
ら書き込む様子を示しているが、FECのための冗長を
演算するような立場からは、実際には図14のように書
かれていることと等価になる。すなわち、マトリクスの
左側(すなわちFECのための情報部分の上位の方)は
ダミーのPADがつけられていて、データ領域の右端に
つめられて実データが置かれている構成である。実デー
タ領域の中では、番号の若い(すなわち早く上位レイヤ
から来た)データほど左側にある。すなわち、FEC演
算をする符号語、という点からは、下位の実データ分の
情報部分とFEC冗長部分とがあるように見える。この
様子を、図15(a)に示す。
【0109】他には、例えば図16の様にデータが全く
入らない列にダミーデータを入れてFEC冗長領域を計
算するが、それらを含むダミーセルは送出しない方法も
ある。網に送出されるデータ量は図13の場合と同様に
最低限に抑えることが可能である。
【0110】それ以外にも、前述した図5(a)のよう
にシンボル毎にインタリーブのデータ領域中にランダム
に配置したり、図5(b)のように行の順序をデータ領
域の中で自由に設定することも可能である。これらの場
合、同様にデータの全く入らない列にいれたダミーデー
タ列は送出しないことにより、網の送出されるデータ量
はやはり図13や図16と同じく最低限に抑えることが
可能である。
【0111】これらの例では、あらかじめ通信前に送受
信双方でインタリーブ行列への挿入方法についてあらか
じめネゴシエーションしておくことは言うまでもない。
【0112】図16および図5は、図13とは異なり、
FEC演算の立場から見たインタリーブマトリクス構造
はそれぞれの図と同一である。すなわち、各符号語は、
図16の場合は、図15(b)にあるように、上位に実
データの情報、その下にダミーの(シンボル値0の)情
報があるような情報部分とFEC冗長部分とから構成さ
れる。また、図5(b)のようにランダムに実データ列
を配する場合は、図15(c)のように実データとダミ
ーデータがまだらに入ったような情報部分と、その右側
の冗長部分から成る。
【0113】図13、図16および図5共に、実データ
部分はセルとして伝送されるが、ダミー部分は送出され
ない。受信側では、ダミー部分には0が送信されたもの
とみなして復号が行われる。
【0114】図13および図16に関するFEC冗長領
域の作成方法については、後でより詳細に説明する。以
下のプロトコル処理の流れでは、代表例として図13の
インタリーブマトリクスへの書き込み方法であるものと
して説明を行う。
【0115】FEC冗長領域を演算し始めた時には、デ
ータ領域に一度書き込まれたデータはSSCSヘッダ/
トレイラを付与するためにSSCSヘッダ/トレイラ付
与モジュール12tにほとんど渡されている(図1
1)。図7および図8のように、FEC冗長領域に書き
込まれた計算結果も、演算終了次第、データ領域と同様
に列方向に1列ずつ読み出され、SSCSヘッダ/トレ
イラ付与モジュール12tへと順次渡されていく。FE
C冗長領域の計算にかかる時間は、一般にデータを水平
方向に書き込むのを待つ時間よりもはるかに小さいこと
がわかっている。
【0116】(D)SSCSヘッダ/トレイラ付与モジ
ュール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列までの消失誤りを訂正することができる。
【0117】ここで付与するSSCSヘッダ/トレイラ
には、それが付与されているデータ列がインタリーバの
どの位置(何列目)にあったかを確実に特定するための
情報が含まれていなければならない。
【0118】代表的なFECを行う誤り訂正符号として
は、Reed−Solomon符号があるが、この誤り
訂正符号を用いて容易に訂正するための前提として、
「誤り位置が特定されていること」という条件がある。
もし、誤り位置が特定されていない場合、その位置特定
のための計算量を多く必要とし、また、訂正能力も位置
特定時のおよそ半分のシンボルエラーしか訂正できな
い。誤り位置(ここでは誤りが生じているデータを含む
セルのインタリーバ内の位置に相当する)を特定するに
は、何らかの形で送信時にセル毎の識別子を付けておく
必要がある。その識別子として最も有効であろう方法
は、例えばセル単位にSNを付与することである。ま
た、SNにもある程度の信頼性を持たせる必要がある。
【0119】SSCSヘッダ/トレイラとしては、例え
ば図18のようなフィールドを持たせることができる。
ここでは、1バイトの長さのヘッダの例を示している。
【0120】インタリーバの横のサイズの一例として、
CPUを用いてのソフト処理のためには、データ長を該
CPUがアクセスする単位として4バイトにアライメン
トすることが望ましいことを前述したが、ここでも同様
のことが言え、ヘッダ/トレイラ長を4バイトとするこ
とも可能である。
【0121】ここで、図18のSSCSヘッダの一例に
ついて説明する。
【0122】(a)は、同期ビットであり、インタリー
バの先頭のSSCSヘッダ/トレイラであることを示
す。例えば、先頭の時は“1”、それ以外は“0”と表
示する。
【0123】(b)は、シーケンスナンバであり、イン
タリーバ中の順序を表示する。例えば、セル廃棄された
時の抜けが検出できる。
【0124】(c)は、SNP(Sequence N
umber Protection)ビット、すなわち
シーケンスナンバに対するプロテクトのためのパリティ
ビットであり、シーケンスナンバの誤りを検出する。
【0125】(d)は、D/F(Data/Flag)
ビットであり、ペイロードの中身がデータであるかそれ
ともFEC冗長コードであるかを示す。
【0126】(e)は、B/E(Begin/End)
ビットであり、データとFEC冗長コード領域各々の最
後であることを示す。例えばインタリーバ内で、データ
領域およびFEC冗長領域の最後にあたるSSCSヘッ
ダ/トレイラのこのフラグを“1”、それ以外を“0”
に設定する。
【0127】インタリーバからは、データ領域に引き続
いてFEC冗長領域が読み出され、SSCSヘッダ/ト
レイラ付与モジュール12tに渡されてくる。SSCS
ヘッダ/トレイラの付与は、これらのデータ列に対し
て、上述したようなヘッダ/トレイラを一定間隔に挿入
していくことで実現される。ここでいう一定間隔は、イ
ンタリーバにおける1列分の長さであったり、もしくは
複数列分の長さである。
【0128】図19には、インタリーバ1つ分に対する
SSCSヘッダ/トレイラの例を示す。ここで示した値
は、誤りの無い正しいSSCSヘッダ/トレイラの一例
である。
【0129】同期ビットは、インタリーバの先頭にある
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冗長領域が交代して転送されてくる境界を
正しく識別することが可能である。
【0130】シーケンスナンバプロテクトは4ビットの
シーケンスナンバに対して偶パリティを計算するものと
する。もちろん、その代わりに奇数パリティを用いても
構わない。
【0131】本実施例では、D/Fビットは1であれば
インタリーバ内のデータ領域であることを示し、0であ
ればFEC冗長領域であることを示している。B/Eビ
ットは、ENDを1として、データ領域のSSCS−P
DUの最後のPDUとFEC領域のSSCS−PDUの
最後のPDUにマークをしている。
【0132】図19で示したSSCSヘッダ/トレイラ
で、B/Eフィールド=1,D/Fフィールド=デー
タ、の値を持つヘッダ/トレイラが、そのインタリーバ
のデータ領域の最終列に含まれる有効なデータ長を示す
LIフィールドを含むSSCS−SDUに付与される。
【0133】(E)CPCS処理モジュール14tの処
理 順次CPCS処理モジュール14tに渡されたデータに
は通常のAAL5処理が行われ、長さ表示とCPCSト
レイラが付けられる。CPCS−SDUとなる単位の例
として、図7と図8の2種類を挙げる。図7では、SS
CSヘッダ/トレイラとそのペイロードが1組となった
ものが、CPCS−SDUとなる単位である。図8で
は、インタリーバのデータ領域とインタリーバのFEC
冗長領域のそれぞれ(合計2つ)が、CPCS−SDU
となる単位である。
【0134】図7の場合は、インタリーバの1列ごとに
SSCSヘッダ/トレイラを付与する方法をとり、それ
ぞれに対してAAL5のCPCSトレイラが付与され
る。この方法ではAAL5のCRCがインタリーバの一
列に対して適用されるので、もし受信側でエラーが発見
された場合には、該インタリーバの特定の一列にエラー
のあることが認識される。また、もしセル廃棄が発生し
たとしても、SSCSヘッダ/トレイラにおけるシーケ
ンス番号の抜けから、どのインタリーブ列が受信側に到
着しなかったかを把握できるようになっている。このよ
うにして、セル廃棄やビット誤りの位置を正確に特定す
ることが可能となる。
【0135】図7の応用として、インタリーバの1列で
はなく、複数列毎にSSCSヘッダ/トレイラを付与す
る方法もある。図7ではSSCSレイヤのオーバヘッド
とインタリーバデータの一列とCPCSトレイラの和が
例えば48オクテットになるようにインタリーバを設計
して、レイヤ毎に余分なパディングを防ぐような工夫を
している。これを応用した場合においても、インタリー
バの縦の長さを工夫して、SSCS−PDUの長さとC
PCSトレイラの長さの和が48オクテットの倍数か、
あるいはそれが通信を行う端末の操作上不可能な場合で
も、なるべくCPCSレイヤでのパディングを少なくす
るような設計が、データ転送効率をあげる上で望まし
い。
【0136】図8の場合は、AAL5トレイラも1つの
インタリーバに対して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の説明に
おいて述べる。
【0137】(F)SAR処理モジュール20tによる
処理 SAR処理モジュール20tでは、CPCS処理モジュ
ール14tから受け取ったデータ(CPCS−PDU)
のセグメンテーション処理が行なわれる。ただし、イン
タリーバの縦のサイズ、SSCSヘッダ/トレイラのサ
イズ、CPCSトレイラのサイズの合計が48オクテッ
トになっていれば、セグメンテーションは行なわれな
い。一方、例えば、CPCS−PDUが図8のようにな
っていて、CPCSトレイラがデータ領域、FEC冗長
領域のそれぞれに対して1つずつ付与されているような
場合には、セグメンテーションが行われる。
【0138】48オクテットに区切られたSAR−PD
Uは、ATMヘッダ付与モジュール22tに渡される。
その際、ATMヘッダ付与モジュール22tに渡される
SAR−PDUがCS−PDUの最後部にあたるデータ
である場合、その旨をATMヘッダ付与モジュール22
tに通知する。
【0139】(G)ATMヘッダ付与モジュール22t
による処理 ATMヘッダ付与モジュール22tでは、呼設定時に定
められたATMセルヘッダを付与した後、物理レイヤの
処理を介して、ATMセル化されたデータをATM網1
に対して送出する。SAR処理モジュール20tからデ
ータ(SAR−PDU)を受け取る際、これはCPCS
−PDUの最後部である旨の通知を受けている場合は、
ATMセルヘッダのペイロードのUUIフィールドに、
これを告げる旨のビットを立てておく。
【0140】以上が、送信側端末2tにおける処理の流
れである。
【0141】次に、受信側端末2rにおける処理をレイ
ヤの昇順、すなわち各処理モジュールの動作する順に従
って説明する。
【0142】(H)ATMヘッダ削除モジュール22r
による処理 ATMヘッダ削除モジュール22rでは、ATM網1か
ら受け取ったセル流について、物理レイヤ処理を行った
後に呼設定時に定められたATMセルヘッダを有したセ
ルを受け取った場合、これをフィルタリングして受け取
り、その他のセルは無視し、ATMセルヘッダを削除し
てSAR処理モジュール20rに渡す。ここで、ATM
セルヘッダのペイロードタイプのUUIフィールドに、
CPCS−PDUの最後部であることを示すビットが立
てられていたらその旨をSAR処理モジュール20rに
対して通知する。
【0143】CPCS−PDUの最後部を構成するセル
であることを示すビットを含むセルが廃棄された場合、
図20のように、次に到着するCPCS−PDUと同一
のCPCS−PDUとして上位レイヤに渡されてしま
う。しかしながら、CPCSトレイラのチェックにより
この誤りは検出される。さらに、その誤りを含むCPC
S−PDUをSSCS処理モジュール6tまで渡すこと
で、FECを用いて訂正することが可能なのである。
【0144】(I)SAR処理モジュール20rによる
処理 SAR処理モジュール20rでは、ATMセルヘッダ削
除モジュール22rから渡されたデータ(SAR−PD
U)に対し、CPCS−PDUの最後部であるという表
示を参照してデータのアセンブリを行う。アセンブリ終
了後、CPCS処理モジュール14rに該データが渡さ
れる。
【0145】(J)CPCS処理モジュール14rによ
る処理 CPCS処理モジュール14rでは、SAR処理モジュ
ール20rから受け取ったCPCS−PDUに対し、A
AL5の処理であるCRC演算処理、および長さ表示の
確認を順次行う。
【0146】ここで、CRC演算処理、および長さ表示
の値のいずれかに誤りが検出されたかどうか、結果をS
SCS処理モジュール6rに通知する。この場合、どち
らの演算で誤りが生じたかを知らせる必要は必ずしもな
い。
【0147】(K)SSCSヘッダ/トレイラ確認モジ
ュール12rによる処理 SSCSヘッダ/トレイラ確認モジュール12rでは、
主にSNに抜けがないか、さらに、CPCSトレイラで
誤りが検出されている場合にはその通知を受け取る等の
確認しながら、ヘッダ/トレイラを取り除いていく。
【0148】CPCSトレイラで誤りが検出されている
ことを通知されている場合には、そのCPCS−PDU
に含まれるSSCS−PDUのいずれかが廃棄されてい
る可能性が高いので、SNをチェックしセル廃棄の位置
を特定しなければならない。
【0149】SSCSヘッダ/トレイラの誤り(ビット
誤りも含む)としては様々な状況が考えられる。ここで
は、図18の例に示したフィールドを持ったヘッダ/ト
レイラの誤りの対処について説明する。
【0150】(a)の同期ビットはインタリーバの先頭
を示すビットである。そのSSCS−PDUがインタリ
ーバの先頭のデータを含んでいる場合にはそのビットを
たてて1とし、その他の場合には0とするものである。
もし、この同期ビットが反転してしまうような誤りが起
きた場合には、そのSSCS−PDUから新規のインタ
リーバであることがわからないかも知れない。しかし、
その前のSSCS−PDUの(d)のFEC冗長コード
である表示と(e)B/Eビットが最後であることを示
していることによって、同期ビットが反転していても新
規のインタリーバの先頭を検出することが可能である。
【0151】(b)のシーケンスナンバでビット誤りが
生じた場合には、その後の(c)のシーケンスナンバプ
ロテクション(例えば、偶数パリティ)を用いて誤り検
出することができる。前後のシーケンスナンバが正しい
ことがわかれば、ヘッダ/トレイラを取り除いた後、S
SCSのペイロード部はインタリーバの相当する位置に
書き込むことができる。また、その代わりに、疑わしい
データを廃棄してしまってセル廃棄と見なしてFEC冗
長コードを用いて正しいデータを再生させることも可能
である。
【0152】(d)のD/Fは、ペイロード部が含むビ
ット列がデータであれば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では正しく認識すること
が可能である。
【0153】上記では、伝送路においてビット誤り率が
例えば10^(−10)以下といった微小なネットワー
クであるような場合を想定していることから、該SSC
Sヘッダ/トレイラおよびその前後のSSCSヘッダ/
トレイラには同時に2ビット以上のビット誤りが存在し
ないことを前提として記述をしている(ただし、^はべ
き乗を意味する)。しかしながら、実際には、極めて珍
しいことではあるが、その範囲に2ビット以上の誤りが
含まれることもあり、その場合には、例えば、インタリ
ーバのFEC冗長領域の大きさが固定であることや、シ
ーケンス番号が連続していること等、上記以外の条件を
加味して正確なSSCSヘッダ/トレイラを再現するこ
とが可能である。さらには、該SSCSヘッダ/トレイ
ラ全体の長さを例えば2オクテット長にし、その一部ま
たは全体を誤り訂正符号化することによって、ほぼ完全
にビット誤り対策が施されることになる。
【0154】次に、以上のような対誤り性を考慮した上
で、具体例として図7と図8で示した送信データを受信
した場合の処理について説明する。また、各々の場合
で、CPCS処理モジュール14rからCPCSトレイ
ラに誤りが検出された対処の方法について述べる。
【0155】まず、図7の場合について説明する。
【0156】この場合は、インタリーバ内の比較的小さ
な単位、例えば1列ごとに1つのSSCSデータについ
て、1つのCPCSトレイラが付与されている。それぞ
れの列に関してCRCおよび長さ表示を用いたチェック
を行うことができるので、それらが正しい場合にはそれ
ぞれのペイロード部の信頼性が保証され、ペイロードに
含まれているSSCSヘッダ/トレイラの信頼性も保証
されることになる。もちろん、CRCチェックによって
漏れがあるような誤りパターンが存在しない訳ではな
い。しかしながら、そのようなパターンの発生確率は、
該データに4ビット以上の誤りが発生し、かつ、その誤
りパターンが偶然CRCチェックにより検出できないと
いう、極めて微小なケースであり、これはこのレイヤの
誤り検出レベルとしては、十分無視できる程度のもので
ある。
【0157】また、このCPCSトレイラの付与の方法
では、セル単位にCRCが演算されることになり、セル
内のビット誤りを検出することも可能となる。そこで、
ビット誤りの検出されたセルを廃棄されたと見なすこと
によって、誤り位置不明のビット誤りを位置のわかった
消失誤りの形で誤り訂正することができる。FEC符号
では、位置不明のランダム誤りを訂正するよりも、位置
のわかった消失誤りに対しての方がおよそ2倍の訂正能
力があるため、この手法はより少ないFEC冗長部で同
じ訂正能力を有することができるという点で極めて有効
である。
【0158】図7の応用として、インタリーバの数列に
対してCPCSトレイラを1つ付加する場合を上述し
た。そのような場合に、もし1つのCPCS−PDUが
1つのセルに入らない場合は、複数セルに対して、CP
CSトレイラによるチェックが行われる。そのケース
で、CRC等のチェックによってビットエラーが発見さ
れたとすると、そのエラーがインタリーバの数列のどこ
にあるかがわからないため、該当するCPCS−PDU
に属するインタリーバの数列全部を廃棄されたものとみ
なす方法と、位置の特定できないランダム誤りが発生し
たとして訂正を行う方法がある。もちろん、これらいず
れの場合においても、訂正できるだけの十分なFEC冗
長領域を有していることが必要である。
【0159】図7において、1つのインタリーバに含ま
れるデータ領域を含む全てのCPCS−PDUに対して
CPCSトレイラの誤りが全く通知されていない場合に
は、上述したように、該インタリーバのデータ領域には
誤りがないと判断できる。この場合、SSCSヘッダ/
トレイラ確認モジュール12rはそれらのデータに対し
て以下の手順で処理を行う。
【0160】先頭SSCS−PDUから順にSSCSヘ
ッダ/トレイラのD/FビットがDであることを確認し
ながら、デインタリーバモジュール8rに渡していく。
CPCSトレイラで誤りが検出されていないので、デイ
ンタリーバモジュール8rのデータ領域に格納せずに、
直接上位レイヤであるアプリケーションレイヤまで渡す
ように通知する。
【0161】そして、データ領域に相当する部分を含む
複数のCPCS−SDUより以降に到着する、FEC冗
長符号を含むCPCS−SDUは廃棄するように命令を
出す。というのは、もはや誤り訂正をする必要がないの
で、次以降に到着するFEC冗長領域のデータを含むC
PCS−SDUは不要だからである。
【0162】もちろん、SNのチェックを行い、セル廃
棄が無いことを確認しながら、SSCSヘッダ/トレイ
ラを取り除くことはいうまでもない。これらの処理は、
SSCSヘッダ/トレイラ確認モジュール12rの基本
動作である。よって、以下に説明するケースでも必ず行
われる。
【0163】次に、図7において、CPCS−PDUに
誤りが検出された場合を考える。
【0164】先頭のSSCS−PDUから順にSSCS
ヘッダ/トレイラのD/FビットがDであることを確認
しながら、デインタリーバのデータ領域に格納するよう
にデインタリーバモジュール8rに渡していく。データ
領域の最後の列を含むSSCS−PDUに付与されたヘ
ッダ/トレイラはエンドビットがマークされており、更
に次のSSCS−PDUはF/DビットがDからFに変
わる。このPDUからは、FECを含むデータであるこ
とをデインタリーバモジュール8rに通知する。この通
知に従って、デインタリーバモジュール8rは、データ
とFEC冗長符号をデインタリーバの正しい位置に格納
していく。途中で生じているセル廃棄は、SSCSヘッ
ダ/トレイラ中のSNにより廃棄されたセルの位置の特
定が可能である。
【0165】上記のようにデインタリーバ上に置かれた
データに関する誤り訂正の詳細については、デインタリ
ーバモジュール8rによる処理の説明のところで行う。
【0166】次に、図8の場合について説明する。これ
は、インタリーバ内のデータ領域とFEC冗長領域に対
してそれぞれ1つずつのCPCSトレイラが付与されて
いる例である。図21には、この場合の処理の流れを説
明するための図を示す。
【0167】ATM網から転送されてきたATMセルの
ATMヘッダを削除し(ステップS31)、SAR処理
(ステップS32)、CPCSR処理(ステップS3
3)を行う。CPCS−PDUに対して行われたCRC
および長さ表示チェックの結果がCPCS処理モジュー
ル14rからSSCSレイヤに対して通知される。
【0168】図7の場合と同様に、誤りが検出されてい
なければ、その旨の通知をSSCSヘッダ/トレイラ確
認モジュール12rがCPCS処理モジュール14rか
ら受けている。この場合には、次にFEC冗長領域を含
むCPCS−PDUがCPCSレイヤから渡されたとき
には、誤りを含む含まないに係わらずそのCPCS−S
DUを廃棄してよい。よって、図21で「FEC冗長コ
ードの廃棄命令を出す」というオペレーションが動作し
(ステップS35)、次に到着するCPCS−SDUを
廃棄する(ステップS36)。このように処理を行え
ば、FECを付与していない場合と比較してもSSCS
ヘッダ/トレイラを削除するだけのオーバーヘッドで実
現が可能である。
【0169】すなわち、FEC冗長領域とデータ領域が
別々のCPCS−PDUに属していることにより、上述
したように、データ領域のCPCS−PDUにエラーの
ない場合に、FEC領域のSSCS処理を行う無駄がな
くなり、結果として処理の軽減を図ることができるので
ある。これは、必ずしもデータ領域とFEC冗長領域に
1つずつのCPCS−PDUを割り当てる場合にとどま
らず、図7の例などにもあるように、1つのCPCS−
PDU内に、インタリーバのデータ領域とFEC冗長領
域が混ざって存在しなければ、同様にあてはまることで
ある。
【0170】次に、データ領域を含むCPCS−SDU
にエラーが発見された場合について説明する。CPCS
トレイラで誤りが検出されたデータ列の先頭に位置する
SSCSヘッダ/トレイラの中を見て(ステップS3
4)、ペイロード内のデータ列がデータ領域を示してい
る場合、すなわちD/FビットがDである場合、誤り訂
正を行わなければならない(ステップS38,S4
0)。ペイロードの中身がFEC冗長領域、すなわちD
/FビットがFである場合には、それとペアであるデー
タ領域を含むCPCS−SDUで誤りが検出されていな
ければ上述の例にあてはまるので、FEC冗長符号を含
むCPCS−SDUはもはや不要であり、訂正の必要は
ない(ステップS39,S40)。
【0171】先頭のSSCS−PDUから順にSSCS
ヘッダ/トレイラのD/FビットがDであることを確認
しながら、デインタリーバのデータ領域に格納するよう
にデインタリーバモジュール8rに渡していく。データ
領域の最後の列を含むSSCS−PDUに付与されたヘ
ッダ/トレイラはエンドビットがマークされており、更
に次のSSCS−PDUはF/DビットがDからFに変
わる。このPDUからは、FECを含むデータであるこ
とをデインタリーバモジュール8rに通知する。この通
知に従って、デインタリーバモジュール8rは、データ
とFEC冗長符号をデインタリーバの正しい位置に格納
していく。途中で生じているセル廃棄は、SSCSヘッ
ダ/トレイラ中のSNにより廃棄されたセルの位置の特
定が可能である。
【0172】しかしながら、図7の場合と異なり、通常
のランダム誤りが含まれている場合、その誤り位置をイ
ンタリーブのどの一列あるいは数列であるかを特定する
ことができない。従って、この場合は、位置のわからな
いランダム誤りが含まれることを前提とした誤り訂正処
理を行わなければならない。
【0173】このランダム誤り訂正は、一般に消失誤り
訂正よりも処理量が多くなるため、それを防ぐための工
夫を行うことができる。
【0174】セル内に含まれるランダム誤り(位置のわ
からないビット誤り)を検出するためには、セル毎にセ
ル全体に対するCRCを設けることが必要である。この
ようなCRCを設けるには、SSCSヘッダ/トレイラ
に含めることが適切であると考えられ、その場合には、
SSCSヘッダ/トレイラは、図18に示した例よりも
大きなサイズになる可能性もある。SSCSヘッダ/ト
レイラのCRCにより、あるセル内に誤りが生じている
ことが発見された場合には、そのセルは消失したものと
みなし、デインタリーバにはそのセルは廃棄されたと通
知する手段をとる。このように、ランダム誤りを消失誤
りにみたてて訂正を行うことにより、処理量が多くなる
のを避けることができる。
【0175】ところで、受信側のCPCS処理とSSC
S処理を協調動作させたソフトウェアで実現する場合に
は、さらなる高速化を図ることができる。すなわち、デ
ータ領域に対するCPCS処理時に行う通常の長さのカ
ウントとCRC演算を同時に行うのと並行に、SSCS
処理としてSSCSヘッダ/トレイラの削除を行うもの
である。
【0176】このように行うと、CPCS処理で誤りが
検出されなかった場合には、すでにメモリにはSSCS
ヘッダ/トレイラの取り除かれた状態で書き込まれてい
るので、上位レイヤへの受け渡しがポインタ渡しで瞬時
に行えるのである。もちろんこの後に渡されるFEC冗
長領域を含むCPCS−SDUは、すでに不必要である
ので廃棄して構わない。
【0177】データ領域を格納したCPCS−PDUに
ついてのチェックで誤りが検出されたならば、その旨を
SSCS処理モジュール6rに通知し、続いてCPCS
処理モジュール14rで処理されるFEC冗長領域を含
むCPCS−PDUをチェックし、両CPCS−PDU
をSSCS処理モジュール6rに渡さなければならな
い。SSCS処理モジュール6rでも誤りの検出された
通知を受け、それに従いシーケンスナンバ等ヘッダ/ト
レイラのを確認し、セルの抜けている位置をデインタリ
ーバに通知し誤り訂正をさせることとなる。
【0178】(L)デインタリーバモジュール8rによ
る処理 デインタリーバモジュール8rでは、SSCSヘッダ/
トレイラ確認モジュール12rからの情報により、デー
タ領域に誤りがなければデータ列をインタリーバに書き
込みしなおすことなく、スルーな状態でアプリケーショ
ン処理モジュール4rに渡していく。例えば図5のよう
に、インタリーブ上ではランダムな並びであるようなデ
ータもあるが、これらデータの送受信の順序は上位アプ
リケーションから見て順序透過性がある。すなわち、C
PCSレイヤからのデータについて、SSCSレイヤで
のオーバヘッドを除けば、そのままスルーしてアプリケ
ーション処理モジュール4rに渡すことが可能である。
【0179】SSCSヘッダ/トレイラ確認モジュール
12rからの情報により、データ領域に誤りが検出され
ていれば、誤りを含むデータをインタリーバの所定の位
置に戻していき、該データ領域に対応して付随されてい
るFEC冗長領域のビット列をSSCSヘッダ/トレイ
ラ確認モジュール12rから受け取り、同じくインタリ
ーバのFEC冗長領域に戻し、FEC演算を行って誤り
訂正を行う。
【0180】この際、データ領域の最後のSSCS−S
DUは全てがデータではなく、一部がダミーデータであ
る可能性が高い。1列のどこまでがデータであるかは、
SSCSヘッダ/トレイラによりデータを含む最後のS
SCS−SDUであることを認識した結果を、デインタ
リーバまで通知してもらうことにより検出する。
【0181】図8の場合、デインタリーバではデータ領
域の最後のSSCS−SDUが到着したら、その列の最
後から9シンボル目(LIフィールド)を見る。そこに
示された値は、LIフィールドから逆方向に何オクテッ
トのパディングが挿入されているかを示している。ま
た、図7の場合には、データ領域の最終列の最後のシン
ボルがLIフィールドとなっており、そのLIフィール
ドから逆方向に何オクテットのパディングが挿入されて
いるか、またはその最終列内の最上行から何オクテット
の実データが含まれているかのいずれかの情報を表す。
【0182】その後、データ領域に書き込まれている訂
正されたデータをアプリケーション処理モジュール4r
に渡していく。渡す順序は送信側端末2tでインタリー
バモジュール8tに書き込んだ順序と同様に列方向に読
み出しながら渡していく。デインタリーバ処理を行って
データ長を正確に把握しているので、上位レイヤに渡す
場合にもパッドのダミーデータを上位に渡してしまうこ
とはない。データ領域のSSCS−PDUに誤りが検出
されていない場合にも、上位にパッド以外のデータのみ
を渡さなければならないので、データの正確な長さを把
握する必要がある。この場合は、FEC冗長コードの廃
棄命令を出す際に、先に説明したデインタリーバを行っ
た場合と同じようにデータ領域を含む最後のSSCS−
SDUをSSCSヘッダ/トレイラ確認時に通知しても
らい、それによって長さを正確に知る。パッドであった
部分は上位レイヤに渡す前に取り除く。
【0183】(M)アプリケーション処理モジュール4
rによる処理 最後に、アプリケーション処理モジュール4rが、アプ
リケーションデータをSSCSヘッダ/トレイラ確認モ
ジュール12rから受け取り、アプリケーション処理を
行う。
【0184】以上が、受信側端末2rにおける処理の流
れである。
【0185】次に、より具体的な例として、FEC付与
モジュール10tおよびFEC訂正モジュール10rに
おけるFEC手法の動作例をあげる。
【0186】送信側において、FEC付与モジュール1
0tでは、インタリーバモジュール8tからのデータを
見ながらインタリーバのFEC冗長領域に付加すべきデ
ータを計算し、その結果をすぐにインタリーバモジュー
ル8tに返す役割を担う。インタリーバモジュール8t
では、受け取ったFEC冗長領域用のデータを通常のデ
ータに続けてSSCSヘッダ/トレイラ付与モジュール
12tに渡す。SSCSヘッダ/トレイラ付与モジュー
ル12tでは、それぞれの領域に従って、ヘッダ/トレ
イラを付与する。
【0187】また、受信側において、FEC訂正モジュ
ール10rは、そのインタリーバについて訂正する必要
のある時のみ動作する。すなわち、下位のCPCS処理
モジュール14rにおいてセル抜けやビット誤りによる
エラーが検出された時、そのデータはSSCS処理モジ
ュール6rに渡されてデインタリーバモジュール8rに
蓄えられる。そして、SSCSヘッダ/トレイラ確認モ
ジュール12rにおいて、多くの場合、デインタリーバ
内のどの位置にセル抜けあるいはビット誤りがあるのか
が検出される。プロトコル仕様によっては、位置の正確
に特定できないビット誤りが含まれることがあるが、そ
の場合でも、訂正能力は誤り位置の特定された場合より
も限定されるものの、FEC訂正モジュール10rにお
いては訂正可能な構成をとることができる。しかしなが
ら、この実施例では簡単のため、上記SSCSヘッダ/
トレイラに付与された種々のビットが有する能力によっ
て、ビット誤りが発生した場合においても、その誤りシ
ンボル位置が特定できるものと仮定する。このようなエ
ラーに対して、FEC訂正モジュール10rでは、デイ
ンタリーバモジュール8rのデータを参照しながら、デ
ータ抜け部分の復元、あるいはビット誤りの訂正を行
う。そして、訂正情報をデインタリーバモジュール8t
に戻す。
【0188】FEC付与モジュール10tおよびFEC
訂正モジュール10rの構成は、これまでに述べてきた
インタリーバモジュール自身のサイズや、それぞれのイ
ンタリーバについて、1つのSSCSヘッダ/トレイラ
を付与する列数や、またインタリーバへの書き込み位置
等によって、少しずつ異なることになる。
【0189】従って、これらのモジュールの例を挙げる
際には、インタリーバモジュール8tおよびデインタリ
ーバモジュール8rと関連させながら説明することとな
る。はじめに、送信側におけるFEC冗長シンボル構成
法の例をあげ、その後にそれぞれの方法に対する、受信
側での誤り訂正方法の例を述べることとする。
【0190】まず、図7および図8に示されるようなイ
ンタリーバの一列がすべて1セルのペイロードに収容さ
れ、また該1列のみでSSCSレイヤのペイロードとな
る場合について説明する。このような場合は、インタリ
ーバの縦の長さは39オクテットまたは47オクテッ
ト、横の最大長はRS符号の1シンボルをkビットとし
て2^k−1シンボル長以下になる。このようにシンボ
ルの大きさを可変にすると、それに従ってインタリーバ
の大きさが変わるが、これらインタリーブ処理には、主
としてソフトウェア上での操作を考慮する必要があるの
で、ソフトウェア処理に適したインタリーバ長にするた
め、1シンボルのビット数は2のn乗(nは整数)、す
なわち4ビット、8ビット、16ビット等が望ましい。
また、この中で、AAL1では1シンボルを8ビットと
した仕様が決められている。従って以下では、1シンボ
ルは全て8ビットの場合のみについて記すこととする。
もちろん、他のビット数の場合も同様の操作で行われ
る。
【0191】そのようにすると、図7のような例では、
インタリーバの縦の長さが39オクテット、横の長さが
255オクテット長以下の任意のオクテット長となる。
また図8では、横は同じで縦のみが47オクテットとな
る。どちらの図でも、データ領域に最大124オクテッ
ト、FEC冗長領域に4オクテット分を割り当ててい
る。実際にはこれらの合計が255オクテットを越えな
いように設計できることになるが、本実施例では、AA
L1におけるインタリーバの横の大きさに合わせた例と
して、図7および図8の場合について詳細に示すことと
する。従って、生成多項式等もAAL1と同様のものと
して論じることとする。
【0192】具体的には、αを8次の原始多項式の根と
し、生成多項式は、 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乗を表すものとする。
【0193】図7および図8における実際のFEC演算
の方法としては、図13および図14による方法、図1
6による方法、図5による方法等がある。
【0194】以下、それぞれの方法を示す。
【0195】(1)送信側FEC処理方法1 ここでは、図13や図14の送信側におけるインタリー
バへのデータ挿入方法に対するFEC冗長データの生成
方法を示す。
【0196】図14にあるように、この方式の場合、イ
ンタリーバのなるべく右側につめてデータが挿入されて
いることが特徴である。従って、図7のインタリーバで
具体的に説明すると、データがインタリーバのデータ領
域に全部入っている場合には、39×124シンボル分
のデータが入るが、もしデータがm列分しかない場合、
インタリーバの左から(124−m)列は空(データが
はいっていない)となる。そして、残りm列の先頭から
データが入るが、データ領域の最後の列は実データが全
部入っている場合と、パディング用のデータの混じって
いる場合がある。
【0197】データの入っていない先頭の(124−
m)列に関しては、この部分をセルに合成して送信する
ことはないため、FEC用の符号化をするに際しても、
この部分は、符号化のための情報部に含めない。ただ
し、装置化するにあたって、送受信の少なくとも一方が
インタリーバの大きさを可変長にすることが困難である
ような場合があるかもしれない。そのときは、あらかじ
め送受信間でネゴシエーションし、実際にはデータを送
らないとしても、インタリーバの中で空きがでる部分に
どのようなダミーデータをいれてFECの符号化および
復号化を行うかについて決めておく方法もある。
【0198】インタリーバについては、各行毎に符号化
を行うこととする。この場合、mシンボル(オクテッ
ト)の情報部分と4シンボル(オクテット)の冗長部分
からなる符号語が39行分できることになる。各行は並
列に符号化/復号化が行われ、それぞれの行で同じ動作
が行われるため、以下では一行のみについて示すことと
する。
【0199】インタリーバの一行には情報シンボルはm
個(1≦m≦124)あるので、それをインタリーバの
左側から表して、 M=(M[m-1] 、M[m-2] 、M[m-3] 、・・・、M[0] ) …(2) と表記することにする。たまに情報シンボルの存在しな
い行が存在するが、その場合はM[*]はない。
【0200】また、符号語のシンボルは(m+4)個あ
るので、それもインタリーバの左側から表すと、 C=(C[m+3] 、C[m+2] 、C[m+1] 、・・・、 C[4] 、C[3] 、C[2] 、C[1] 、C[0] ) …(3) となる。情報Mと符号語Cとは一対一であるので、必ず
しも同じシンボル値を共有する必要はないが、今回のよ
うにインタリーブすることによって遅延が増えないよう
にするためには、なるべくシンボル値を共有することが
望ましい。
【0201】従って、上記(2)式と(3)式におい
て、情報シンボルはそのまま符号シンボルとして使用
し、 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]を冗長部分とする。
【0202】このようにすると、送信時に、上位レイヤ
からのメッセージをそのまま下位に流すことができる。
すなわち、一旦インタリーバに書き込むことなく、上位
レイヤからのメッセージをスルーして流せるため、遅延
が小さくて済むというメリットが生まれる。ただし、上
位から下位へ流すデータは、冗長シンボル生成のための
計算処理のためには使用される。
【0203】一方、受信時にはデインタリーバのデータ
領域の全体、あるいはその領域をいくつかに分割したそ
れぞれの部分に対して、下位レイヤにおいてCRCによ
る誤り検査が行われる。この検査の結果そのデインタリ
ーバのデータ領域に誤りがないと判定された場合には、
データ領域のデータは、SSCSレイヤにおいて、デイ
ンタリーバに改めて書き込むことなく、SSCSヘッダ
/トレイラ処理のみを行ってスルーして上位レイヤに送
ることができる。また、冗長部分は不必要なので、これ
も特に処理を行わず即座に廃棄できる。このようにし
て、受信側処理全体のスループットを向上させるという
メリットがある。ところが、もし同じ値を元の情報と符
号語とで共有している式(4)のような構成になってい
なければ、符号語全体を受信しないと元のメッセージが
復元できないため、上述のメリットが生まれないことに
なる。
【0204】以上は、主として図14に関するインタリ
ーバモジュール8t中のデータについて述べた。式
(4)のようにして、C[m+3]からC[4]までは
簡単に生成することができる。
【0205】次に、残りの冗長部分の生成方法を述べ
る。この冗長部分は、上述した構成のインタリーバモジ
ュール8tからのデータ受けて、FEC付与モジュール
10tにおいて生成される。
【0206】ここでは、AAL1と同じようなRS符号
を用いることとしているので、演算としては、まず情報
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]の係数を求めることを行えばよい。
【0207】ここで、Q(X)は、M(X)・X^4を
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) に相当する。
【0208】繰り返し述べているように、このインタリ
ーバはある最大サイズまでは可変であり、しかもそれが
どれ位の大きさになるかは、上位からのデータ量次第で
ある。従ってデータが多い場合も少ない場合も同じよう
な計算手法を使わないと、計算に無駄が生じることにな
る。式(6)をそのまま用いることは、M(X)が確定
してからならばよいが、通常は上位レイヤからいきなり
メッセージMを全部一度に与えられることはない。上位
レイヤからは、例えば数バイト長ずつのデータが流れて
きている。それを全部受け取った後に、はじめて上位レ
イヤからのメッセージ長がどれだけの量であった、とい
うことが判明するのである。従って、もしM(X)が確
定するまでFEC演算処理の開始を待つとすると、それ
は従来のAAL1のような垂直方向のデータの読み書き
をする場合と同じ程度の遅延を要することになってしま
う。そのような訳で、上位レイヤからデータが流れ始め
ると、すぐにFEC冗長領域の計算が開始でき、しかも
いつ上位レイヤからのデータが終わったとしても、常に
式(6)の形になっているような計算方法を用いる必要
がある。
【0209】そこで、本実施例においては、ハードウェ
アにおいて符号化に用いられているシフトレジスタを用
いた方式を(ソフトウェアで実現する場合においても)
採用するのがよい。すなわち、まずM[m−1]が上位
レイヤより来るため、これに対してあたかもこれが最終
列のシンボルであるかのように以下の計算を行う。
【0210】 M[m-1] ・X*4=(a[1] ・X*3+b[1] ・X*2 +c[1] ・X+d[1] )mod G(X) …(8) ここで、式(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) により簡単に求められる。これは、実際に計算してもよ
いし、かけ算のテーブルをひく方法をとってもよい。
【0211】もし、m=1であって、M[m−1]が最
後であったとすると、右辺の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)とでは整合がとれている。
【0212】次に、2シンボル目が到着した場合を考え
る。式(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)で割った剰余を計算し、それを後で
加える方法がある。しかし、そのような方法では、シン
ボル数が段々増えていくにつれて、その計算回数がシン
ボル数に比例して増えていく、という問題が生じる。当
然テーブルを引く場合にも、テーブル参照回数が増えて
いってしまう。
【0213】そこで、式(8)をうまく利用することを
考える。式(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) と変形できる。
【0214】式(12)の左辺を展開して、 (a[1] +M[m-2] )・X*4+b[1] ・X*3+c[1] ・X*2+d[1] ・X =[{(a[1] +M[m-2] )・α*162+b[1] }・X*3 +{(a[1] +M[m-2] )・α*35 +c[1] }・X*2 +{(a[1] +M[m-2] )・α*150+d[1] }・X +(a[1] +M[m-2] )・α*231] mod G(X) …(13) となる。
【0215】従って、 a[2] =(a[1] +M[m-2] )・α*162+b[1] b[2] =(a[1] +M[m-2] )・α*35 +c[1] c[2] =(a[1] +M[m-2] )・α*150+d[1] d[2] =(a[1] +M[m-2] )・α*231 …(14) により、メッセージが2シンボルの場合のFEC冗長領
域のシンボル値が求められる。
【0216】式(14)は、帰納的に用いることができ
る。すなわち、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) という計算を行えばよい。
【0217】このようにして最後のシンボルが到着する
まで、あるいはインタリーバに収容されるデータ領域の
最大列数(本実施例では124)までのシンボルが計算
されると、終了し、その次のタイミングで、他の行にお
いて計算されたものと一緒に、FEC付与モジュール1
0tからインタリーバモジュールにFEC冗長領域デー
タとして送られる。送る順序は、a[m]、b[m]、
c[m]、d[m]の順である。
【0218】図10においては、最後の列にはパディン
グされた部分があるが、この部分については符号化のた
めの情報に加える方法も加えない方法も実現可能であ
る。しかし、少なくともLI表示のシンボルはFEC符
号化のためのデータに加えたいので、パディング部分も
(たとえall“0”のデータでも)一応、加えた方が
装置化が楽になるであろう。もし、パディング部分を含
まないようなFEC符号化を行うとすると、全くデータ
のない(つまり情報Mがヌルである)行が存在し得る。
このような場合は、FEC付与モジュールは、a[0]
=b[0]=c[0]=d[0]=0のデータをインタ
リーバモジュールに返す。
【0219】(2)送信側FEC処理方法2 ここでは、図16にあるように、送信側にてデータをイ
ンタリーバの左上から正確に挿入するような場合のFE
C冗長データの生成方法を示す。
【0220】図16にあるように、本方式の場合、今度
はインタリーバのなるべく左側につめてデータが挿入さ
れているという特徴を有している。従って、図7のイン
タリーバで具体的に説明すると、データがインタリーバ
のデータ領域に全部入っている場合には、前述した例と
同様に、39×124シンボル分のデータが入るが、も
しデータがm列分しかない場合、インタリーバの右から
(124−m)列は空(データがはいっていない)とな
る。そして、m列目は実データが全部入っている場合
と、パディング用のデータの混ざっている場合がある。
【0221】データ領域の残りの(124−m)列に関
しては、この部分をセルに合成して送信することはな
い。それはすなわちトラヒックの無駄を意味するからで
ある。FEC用の符号化をするに際しては、この部分
は、あたかも全て“0”のデータが入っているかのよう
に扱われる。
【0222】別の手法として、あらかじめ送受信間でネ
ゴシエーションし、実際にはデータを送らないとして
も、インタリーバの中で空きがでる部分にどのようなダ
ミーデータをいれてFECの符号化および復号化を行う
かについて決めておく手法もある。この場合は必ずしも
空き領域を全て“0”にするような必要はなく、お互い
の決めたビットパターンを用いて符号化すればよい。し
かし、一般にそのようなビットパターンを決めておく
と、FECのための符号化にはかえって演算時間を増加
させることになってしまので、ここではall“0”を
仮定することとする。
【0223】インタリーバにおいては、前述した例と同
様に各行毎に符号化を行うこととする。すると、この場
合はmシンボル(オクテット)の情報部分と、(124
−m)シンボルの“0”のデータと、4シンボル(オク
テット)の冗長部分からなる符号語が39行分できるこ
とになる。各行は並列に符号化/復号化が行われ、それ
ぞれの行で同じ動作が行われるため、そのうち一列につ
いて見ることとする。
【0224】インタリーバの一行には情報シンボルはm
個(1≦m≦124)あるので、それをインタリーバの
左側から表して、 M=(M[m-1] 、M[m-2] 、M[m-3] 、・・・、M[0] ) …(16) と表記することにする。たまに情報シンボルの存在しな
い行が存在するが、その場合はM[*]はない。
【0225】また、符号語のシンボルは128個あるの
で、それもインタリーバの左側から表すと、 C=(C[127] 、C[126] 、C[125] 、・・、C[3] 、C[2] 、C[1] 、 C[0] ) …(17) となる。情報Mと符号語Cとは一対一であるので、必ず
しも同じシンボル値を共有する必要はないが、インタリ
ーブすることによって遅延が増えないようにするために
は、情報シンボル値を共有することが望ましい。
【0226】従って、上記(16)式と(17)式にお
いて、情報シンボルはそのまま符号シンボルとして使用
し、 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]までは実際にはネッ
トワークには送出しない。
【0227】このようにすると、送信時には、上位レイ
ヤからのメッセージをそのまま下位に流すことができ
る。すなわち、一旦インタリーバに書き込むことなく、
上位レイヤからのメッセージをスルーして流せるため、
遅延が小さくて済むというメリットが生まれる。ただ
し、上位から下位へ流すデータは、冗長部分生成のため
の計算処理のためには使用される。
【0228】受信時には、下位レイヤのCRCによる誤
り検査の結果、そのデインタリーバのデータ領域に誤り
がない場合、データはSSCSヘッダ/トレイラ処理の
みでスルーして上位レイヤに渡せる。冗長部分は即座に
廃棄でき、デインタリーバへ改めて誤り訂正のための書
き込みを行う必要はない。このようにして、全体の処理
遅延を減らすことができるという利点が得られる。も
し、式(18)のように同じ値を元情報と符号語とで共
有しているような構成になっていなければ、符号語全体
を受信しないと元のメッセージが復元できないため、上
述の利点は得られない。
【0229】以上は、主として図16に関するインタリ
ーバモジュール8t中のデータについて述べた。式(1
8)のようにして、C[127]からC[4]までは簡
単に生成することができる。
【0230】次に、残りの冗長部分の生成方法を述べ
る。この冗長部分は、上述した構成のインタリーバモジ
ュール8tからのデータ受けて、FEC付与モジュール
10tにおいて生成される。
【0231】ここでは、AAL1と同じようなRS符号
を用いることとしているので、演算としては、まず情報
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]の係数を求めることを行えばよい。
【0232】ここで、Q(X)は、M(X)・X^4を
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) に相当する。
【0233】前述した例とは異なり、M(X)を構成す
る個々の項において、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)によるわり算を
実行し、その余りをそれまでに計算された余りに加える
方法が考えられる。
【0234】以下、この方法を具体的に示す。
【0235】まず、インタリーバの最初のデータが到着
すると、 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つずつ計算することによって、最終のシンボ
ルが到着した時点でそのときの計算値が求められること
になる。
【0236】式(23)および式(24)のようなG
(X)でのモジュロ計算は、毎回行うとかなり計算時間
をとられることになる。従って、通常は、各Xのべき乗
に対するG(X)のモジュロ値のテーブルを持つのがよ
い。
【0237】テーブルには、 X*[128-k]=(E[k] ・X*3+F[k] ・X*2+G[k] ・X+H[k] ) mod G(X) (k=1,2, ……,124) …(26) の計算結果である、E[k]、F[k]、G[k]、H
[k]の値とそれに対応するXのべき乗の数が書かれて
いる。すなわち、例えば図22に示す表aのようにな
る。
【0238】この表aを用いると、任意の入力データM
[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]である。
【0239】このようにして、最後のシンボルが到着す
るまで、あるいはインタリーバに収容されるデータ領域
の最大列数(本実施例では124)までのシンボルが計
算されると終了し、その次のタイミングで、計算結果を
他の行において計算されたものと一緒に、FEC付与モ
ジュール10tからインタリーバモジュールにFEC冗
長領域データとして送る。送る順序は、e[m]、f
[m]、g[m]、h[m]の順である。
【0240】図16においても、前述した例と同様に、
最後の列にはパディングされた部分があるが、この部分
については符号化のための情報に加える方法も加えない
方法も実現可能である。しかし、少なくともLI表示の
シンボルはFEC符号化のためのデータに加えたいの
で、パディング部分も(たとえall“0”のデータで
も)データとして加えた方が、装置化が容易になる。も
し、パディング部分を含まないようなFEC符号化を行
うとすると、全くデータのない(つまり情報Mがヌルで
ある)行が存在し得る。このような場合は、FEC付与
モジュールは、e[0]=f[0]=g[0]=h
[0]=0のデータをインタリーバモジュールに返す。
【0241】(3)送信側FEC処理方法3 ここでは、図5の送信側におけるインタリーバへのデー
タ挿入方法に対するFEC冗長データの生成方法を示
す。
【0242】図5のようにランダムにインタリーバへの
書き込みが行われる場合には、送信側FEC処理方法1
のような規則的な手法を用いることはできない。そこ
で、送信側FEC処理方法2のようなテーブルを用い
て、各シンボルに対する剰余を計算し、それを加えるこ
とによって、FEC冗長領域の値を計算する手法が用い
られる。
【0243】以下に、図5のそれぞれについて簡単にF
EC冗長領域の生成方法を述べる。
【0244】送信側FEC処理方法においては、インタ
リーバの左端から規則正しくデータが挿入されていたの
で、テーブルの内容についても、図22の表aのように
規則正しく並んでいた。しかし、図5のそれぞれの実施
例については、その規則性がないため、それぞれ送信側
と受信側とであらかじめネゴシエーションした後に、は
じめて上記のような表が書けることになる。
【0245】図5(b)の場合には、ランダムであるの
は書き込む列の順序だけであり、縦方向の書き込み方は
決められているので、前述した例と同様に、図22の表
aだけを用いればよいが、図5(a)の方は、書き込む
列の順序だけでなく、その一列の中でのシンボルの書き
込み順序が異なるため、その順序情報についての表を追
加して書かなければならない。
【0246】まず、図5(b)について説明する。ここ
では、図に従いデータ領域が右端7行、FEC冗長領域
が4行あることとする。左端の行から、5番目、2番
目、7番目(実際はヌルでデータなし)、4番目、1番
目、3番目、6番目(実際はヌル)、といったデータと
なる。
【0247】すると、送信側FEC処理方法2と同様に
して、情報の多項式表現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) となる。
【0248】以下の処理は、送信側FEC処理方法2に
おける式(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]がそ
れぞれ求める冗長シンボルとなる。
【0249】次に、図5(a)の場合を示す。この場合
も図に従ってシンボル単位に書き込みが行われるとする
と、図22の表a1の他に、図23の表bを用いること
によって計算することができる。ここでも、図に示され
ているようなデータ領域が右端6行、FEC冗長領域が
4行ある具体例を用いて説明する。なお、行番号は左端
および上端から昇べきの順につけるものとする。
【0250】この図23の表bに従うと、図で例えば上
から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も同様である。
【0251】こうして、e[119]、f[119]、
g[119]、h[119]がそれぞれ上から4行目の
冗長シンボルとなる。他の行については、式(33)に
おいて情報Mのシンボル番号が異なるだけで、それ以外
は同様の演算により得られる。
【0252】以上のように、図5(a),(b)の例で
のFEC冗長領域の計算は、送信側FEC処理方法2を
多少変形した方法を用いることによって実行することが
できる。
【0253】図7および図8のような構成以外の例とし
て、インタリーバの一列が1セルよりも大きい場合、ま
た、インタリーバの複数列に対してSSCSヘッダを付
加する場合等が考えられるが、これらの場合において
も、図13、図16、図5のそれぞれの例に合わせて、
全く同様の演算でFEC冗長シンボルの計算が行える。
【0254】これまでは3種類の例をあげて、送信側に
おけるFEC冗長領域の計算方法について説明してきた
が、今度はそれぞれに関する受信側での復号方法および
誤り訂正方法について説明する。
【0255】送信側のインタリーバモジュール8tから
出力されたデータはセルとして伝送され、受信側に到達
し、セル分解の後、受信側のデインタリーバモジュール
8rに入る。ある送信側インタリーバからの受信データ
は、データ領域の何列かをペイロードに含む1つ以上の
CPCS−PDUと、FEC冗長領域の何列かをペイロ
ードに含むやはり1つ以上のCPCS−PDUから成っ
ている。このうち、データ領域をペイロードに含む全C
PCS−PDUが、CPCSレイヤにおけるCRCチェ
ック等によって、全てエラーなしと判定された場合、S
SCSレイヤにおいては、SSCSヘッダ/トレイラを
除去するのみで残りのデータをそのまま上位のアプリケ
ーションモジュール4rに渡す。そして、そのデインタ
リーバに関して、FEC冗長領域をペイロードに含むC
PCS−PDUは全て、デインタリーバ用のメモリに書
き込むことなく廃棄して構わない。
【0256】ただし、データ領域側データをペイロード
に含む複数のCPCS−PDUにおいて、1つでもCR
Cチェック等によるエラーがあるときには、そのデイン
タリーバに関連する全てのデータは、FEC冗長領域の
ものを含めて、誤り訂正のために必要なものとなる。
【0257】図7の場合は、デインタリーバの一列から
1つのCPCS−PDUを構成しており、しかもそれが
1つのセルとなる。このため、受信したCPCS−PD
UにおいてCPCSトレイラのCRCチェック等が異常
であるという場合には、該CPCS−PDU内にビット
誤りが発生していることを意味している。この時、エラ
ーの発見された列はデインタリーバモジュール8r上
で、伝送中にセル廃棄された場合と同じ扱いにしてしま
う。すなわち、そこの一列にはセルが到着しなかったと
同等にみなす。そしてその結果として生じたセル抜けの
位置をSSCSヘッダのSNチェックにより確認する。
【0258】一方、図8のような場合は、デインタイリ
ーバの一列は1セルであるが、CPCS−PDUは複数
列にまたがって構成される。従って、CPCSトレイラ
によるチェックのみでは、ランダム誤りおよびセル抜け
の状態が不明確である。仮にあるCPCS−PDUにお
いてセル抜けがあったとすると、CPCSトレイラの機
能だけでは、そのCPCS−PDUに属する他のデイン
タリーバ列がエラーフリーである保証がなされない。
【0259】そこで、まずセル抜けに対しては、SSC
Sヘッダ/トレイラのSNを用いて確認する。SN自体
に誤り検査ビットを加えておくと、抜けた位置を特定す
る際の確実性が増す。また、ランダムなビット誤りへの
対策としては、SSCSヘッダ/トレイラがデインタリ
ーバの1列毎についているので、この部分にSSCS−
PDU全体の誤り検出機能を付加する。そして、伝送中
のセル廃棄によって、CPCSトレイラの誤り検出機能
が有効に働かなかった場合、あるいはビット誤りによっ
てCPCSトレイラのCRCチェックにエラーが発見さ
れた場合に限って、SSCSレイヤにおけるデインタリ
ーバ一列単位の該誤り検査を行い、各列のエラーの有無
を検査するという方法が考えられる。これによって、C
PCS−PDUのサイズによらず、実際にビット誤りお
よびセル廃棄の発見されたインタリーバ列に属するシン
ボルのみを訂正すればよいことになる。
【0260】また、別の場合として、デインタリーバの
一列が複数セルで構成され、その一列をペイロードに含
んでSSCS−PDUおよびCPCS−PDUを構成す
ることも考えられる。ここでも、1つのセルが伝送路中
に廃棄された場合には、その他の部分のシンボルエラー
はCPCSトレイラを用いても検出不可能になる。この
場合には、計算を簡単にするために、該当する一列全て
が廃棄されたとみなして誤り訂正を試みる方法をとるこ
とができる。このような方法を用いることによって、例
えば図7の例に比べて誤り訂正能力は若干落ちるが、処
理遅延は増加させることなく小さく保持できる。廃棄さ
れたとみなされるデインタリーバ一列の位置は、SSC
Sヘッダ/トレイラによって特定される。
【0261】SSCSヘッダを除いたデータは、インタ
リーバと全く同様の順番でデインタリーバ領域に書き込
む。この書き込み順は、あらかじめ送受信間でネゴシエ
ーションされているものとする。その際、抜けのある部
分については、そのことを別領域に明示するか、あるい
はダミーのペイロードデータを書き込む。そして、その
データをFEC訂正モジュール10rに渡し、シンボル
抜けの部分を再生する。その後に、情報データをデイン
タリーバモジュール8tから書き込んだ順に読み出し
て、受信側のアプリケーション処理モジュール4rに送
る。
【0262】以下では、上記FEC演算の送信側FEC
処理方法1,2,3に従って、受信側のFEC訂正モジ
ュール10rにて行われる夫々の場合に対応する誤り訂
正操作を、受信側FEC処理方法1,2,3として説明
する。このモジュールが動作するのは、デインタリーバ
の任意の一行において、訂正可能な範囲のシンボルエラ
ーがあり、かつその位置が判明している場合であり、以
下では、そのような場合を例にとって説明する。なお、
図7にあるように、インタリーバの一列がすべて1セル
のペイロードに収容され、また該1列のみでSSCSレ
イヤのペイロードを構成する場合について説明するが、
それ以外のデインタリーバの構成にも適用可能である。
【0263】(4)受信側FEC処理方法1 ここでは、送信側FEC処理方法1として述べたインタ
リーバに対するデインタリーバを用いた誤り訂正方法を
記す。
【0264】送信側FEC処理方法1ではFEC冗長領
域が4シンボル分である場合について記してあるので、
この受信側FEC処理方法1でもそれに従って記述す
る。FEC冗長領域が4シンボルの場合、誤りシンボル
位置が明確であれば、4シンボルまでの誤りを訂正する
ことが可能である。
【0265】いま、s番目、t番目、u番目、v番目の
シンボルに誤りまたは抜けがあるとする。ただし、0<
s<t<u<v<(m+1)であるとする。
【0266】図14は、送信側FEC処理方法1におい
て説明したように、デインタリーバのできるだけ右側に
つめてシンボルを挿入する構成をしている。デインタリ
ーバ上に埋まるデータ量は毎回可変なので、受信が開始
された時点では、どの位のデータが到着するかの予測が
できない。従って、送信側と同様に、可変シンボル長に
柔軟に対応できるような復号処理を行う必要がある。
【0267】受信シンボル列は、情報シンボルと冗長シ
ンボルとの合計が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
[*]は、先頭あるいは最後尾のシンボルにあっても構
わないし、また連続していても構わない。
【0268】さて、FEC訂正モジュール10rでの処
理を行うまでに、既にシンボル単位にエラーの有無が明
確になっている。もし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)として次
のように表すこととする。
【0269】 S[1] =R(α*120) S[2] =R(α*121) S[3] =R(α*122) S[4] =R(α*123) …(37) ここで、E[*]の部分の係数を訂正を簡単にするため
に、R(X)においては、 E[m-s] =E[m-t] =E[m-u] =E[m-v] =0 …(38) とおいておくこととする。
【0270】すると、シンドロームS[i](i=1,2,3,4)
は、以下のようにして計算される。
【0271】手順1:S[1] =S[2] =S[3] =S[4]
=0とおく。
【0272】手順2:シンボルが1 つ来る度に(すなわ
ちデインタリーバの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であ
る。
【0273】手順3:手順2を最後のシンボルまで計算
した時のS[i](i=1,2,3,4)の値が、求めるシンドローム
値である。
【0274】手順2を詳細に説明する。最終的には式
(37)の値を求めたいのであるが、受信を終了するま
で、シンボル数がどれだけあるのかがわからない。よっ
て、シンボルを受信する度に計算を行い、突然シンボル
受信が終了したとしても、シンドロームS[i](i=
1,2,3,4)の計算結果が最終的に求める値になっ
ている必要がある。
【0275】実際に、手順2では、以下の計算と同じこ
とを行っている。まず、最初のシンボルC[m−1]が
到着すると、シンドローム値は、 S[i] =C[m-1] (i=1,2,3,4) …(40) となる。
【0276】次に、シンボルC[m−2]が到着する
と、 S[i] =C[m-1] ・α*(119+i)+C[m-2] (i=1,2,3,4) …(41) となる。
【0277】同様にしていくと、最終的に S[i] =C[m-1] ・(α*(119+i))*(m-1)+C[m-2] ・(α*(119+i))*(m- 2)+・・・+C[1] ・(α*(119+i))+C[0] (i=1,2,3,4) …(42) となり、この式は(37)式と同じである。
【0278】このような方法をとることによって、k個
のシンボルが到着した時には、必ずシンドロームS
[i](i=1,2,3,4)は、(k−1)次の多項
式にα^(119+i) (i=1,2,3,4)を
代入した形をとっているので、デインタリーバモジュー
ル8rのシンボル到着がいつ終了しても、常にその時点
の本実施例に基づくデインタリーバ構成での正しいシン
ドローム演算値を示していることになる。なお、式(4
0)〜(42)において、エラーのあるシンボルを受信
した部分については、C[*]からE[*]に表記を書
き換えるとよい。
【0279】次に、このようにして得られるシンドロー
ム値の意味を考える。誤りのあるシンボルがもし正しく
受信されていたとすると、これらはそれぞれ、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) となる。
【0280】なお、本実施例では、α^bcは、αの
(b×c)乗を表すものとする。例えば、上記のα^1
20(m−s)は、αの(120×(m−s))乗を表
す。
【0281】他のシンドロームも同様に、 S[2] =−C[m-s] ・α*121(m-s) −C[m-t] ・α*121(m-t) −C[m-u] ・ α*121(m-u) −C[m-v] ・α*121(m-v) S[3] =−C[m-s] ・α*122(m-s) −C[m-t] ・α*122(m-t) −C[m-u] ・ α*122(m-u) −C[m-v] ・α*122(m-v) S[4] =−C[m-s] ・α*123(m-s) −C[m-t] ・α*123(m-t) −C[m-u] ・ α*123(m-u) −C[m-v] ・α*123(m-v) …(44) となる。ただし、ここでは2進信号(0,1)のみを仮
定しているので、+の演算と−の演算はどちらも同じ排
他的論理和となる。すなわち式(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) と表記できる。
【0282】このことから、式(39)の手順によって
S[i](i=1,2,3,4)の値が求められると、
式(45)は、C[m−s]、C[m−t]、C[m−
u]、C[m−v]に関する連立方程式となる。そして
これを解くことによって、それぞれの正しいシンボル値
が求められる。本実施例では、エラーシンボルの見落と
しがない(すなわち、SSCSレイヤ以下によってエラ
ーのあるシンボルが確実に検出され、それ以外には存在
しない)ことを想定しているので、これらの連立方程式
には、必ず一意な解が存在する。
【0283】解は、それぞれ、 C[m-s] ={S[4] +(α*(m-t)+α*(m-u)+α*(m-v))・S[3] +(α*(2m-t-u) +α*(2m-t-v) +α*(2m-u-v) )・S[2] +α*(3m-t-u-v) ・S[1] } /{α*120(m-s) ・(α*(m-t)+α*(m-v))・(α*(m-t)+α*(m- u))・(α*(m-u)+α*(m-v))} C[m-t] ={S[4] +(α*(m-s)+α*(m-u)+α*(m-v))・S[3] +(α*(2m-s-u) +α*(2m-s-v) +α*(2m-u-v) )・S[2] +α*(3m-s-u-v) ・S[1] } /{α*120(m-t) ・(α*(m-s)+α*(m-v))・(α*(m-s)+α*(m- u))・(α*(m-u)+α*(m-v))} C[m-u] ={S[4] +(α*(m-t)+α*(m-s)+α*(m-v))・S[3] +(α*(2m-t-s) +α*(2m-t-v) +α*(2m-s-v) )・S[2] +α*(3m-t-s-v) ・S[1] } /{α*120(m-t) ・(α*(m-t)+α*(m-v))・(α*(m-t)+α*(m- s))・(α*(m-s)+α*(m-v))} C[m-v] ={S[4] +(α*(m-t)+α*(m-u)+α*(m-s))・S[3] +(α*(2m-t-u) +α*(2m-t-s) +α*(2m-u-s) )・S[2] +α*(3m-t-u-s) ・S[1] } /{α*120(m-v) ・(α*(m-t)+α*(m-s))・(α*(m-t)+α*(m- u))・(α*(m-u)+α*(m-s))} …(46) となる。
【0284】式(45)において、エラーシンボルがも
し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]のみ計算すればよく、他のシンドローム計
算を行う必要がないので、その分の演算量を減らすこと
ができる。
【0285】また、もしエラーシンボルが2つ(E[m
−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]のみを計算すればよく、他のシンボルに対して
かかる演算の分を減らすことができる。
【0286】そして、解は、 C[m-s] =(S[2] +α*(m-t)・S[1] ) /{α*120(m-s) ・(α*(m-s)+α*(m-t))} C[m-t] =(S[2] +α*(m-s)・S[1] ) /{α*120(m-t) ・(α*(m-s)+α*(m-t))} …(50) となる。
【0287】また、エラーシンボルが3つ(E[m−
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]に対してかかる演算の分を減らすこと
ができる。
【0288】解は、 C[m-s] ={S[3] +(α*(m-t)+α*(m-u))・S[2] +α*(2m-t-u) ・S [1] } /{α*120(m-s) ・(α*(m-s)+α(m-t) )・(α*(m-s)+α*(m- u))} C[m-t] ={S[3] +(α*(m-s)+α*(m-u))・S[2] +α*(2m-s-u) ・S [1] } /{α*120(m-t) ・(α*(m-s)+α(m-t) )・(α*(m-t)+α*(m- u))} C[m-u] ={S[3] +(α*(m-t)+α*(m-s))・S[2] +α*(2m-t-s) ・S [1] } /{α*120(m-u) ・(α*(m-u)+α(m-t) )・(α*(m-s)+α*(m- u))} …(52) となる。
【0289】これらの演算には、αのべき乗の計算が多
数必要となる。常に出てくる演算(例えばα^120
等)に関しては、表を作っておくと高速化を図ることが
できる。
【0290】(5)受信側FEC処理方法2 ここでは、送信側FEC処理方法2で述べたインタリー
バに対するデインタリーバを用いた誤り訂正方法を説明
する。
【0291】受信側FEC処理方法1と同様に、FEC
冗長領域の大きさと同じ4シンボルまで訂正可能であ
る。そこで、0<s<t<u<v<(m+5)であるよ
うな、s番目、t番目、u番目、v番目にそれぞれシン
ボル誤り、またはシンボル抜けがあるとする。
【0292】図16の場合は、送信側FEC処理方法2
で説明したように、データ領域内のシンボルはデインタ
リーバのできるだけ左側に詰められており、一方FEC
冗長領域のシンボルは、デインタリーバの右端4列に入
れられているような構成である。受信側FEC処理方法
1と同様に、データが終了するまで、デインタリーバの
データ領域のどこまでデータが入るかは毎回に異なり、
全くわからない。従って、シンボル受信開始と同時に復
号演算を開始し、シンボル受信がいつが終了したとして
も、即座に誤り訂正処理に入れるような復号処理を行う
必要がある。
【0293】受信シンボルは、受信側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の場合は、この空データ領域
は存在しない。
【0294】FEC訂正モジュール10rでの処理を行
うまでに、既にシンボル単位にエラーの有無が明確にな
っている。シンボルの訂正を簡単にするために、式(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]とする。
【0295】受信側FEC処理方法1に従って、式(3
7)のようにシンドロームS[i](i=1,2,3,
4)を定義すると、これらは以下のように計算される。
【0296】手順1:S[i]=0(i=1,2,3,
4)とおく。
【0297】手順2:シンボルが1つ到着する度に、 S[i] ←S[i] +C[128-k] ・α*(119+i)(128-k) (到着シンボルが正し い場合) S[i] ←S[i] (到着シンボルが誤り の場合) (k=1,2, ・・,mまたはk=125,126,127,128) (i=1,2,3,4) …(54) のように代入していく。
【0298】手順3:手順2で最後のシンボルまで計算
した時のS[i](i=1,2,3,4)の値が求める
シンドローム値である。
【0299】上記手順においてC[127]が到着した
時点で、仮に正しいデータ領域シンボルの到着が終わっ
たとすると、 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冗長
領域部分の値を加えると、本実施例に基づくデインタリ
ーバ構成のシンドローム値となる。すなわち、シンボル
到着がいつ終了しても常に正しいシンドローム値が求め
られるような計算方法となっている。
【0300】このようにして得られるシンドローム値
は、もし受信シンボルに全く誤りがなければ全て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での誤り訂正処理となる。
【0301】これらは4次の連立方程式となり、解は、 C[128-s] ={S[4] +(α*(128-t)+α*(128-u)+α*(128-v))・S[3] +(α*(256-t-u)+α*(256-t-v)+α*(256-u-v))・S[2] +α*(384-t-u-v)・S[1] } /{α*120(128-s) ・(α*(128-t)+α*(128-v)) ・(α*(128-t)+α*(128-u))・(α*(128-u)+α*(128-v))} C[128-t] ={S[4] +(α*(128-s)+α*(128-u)+α*(128-v))・S[3] +(α*(256-s-u)+α*(256-s-v)+α*(256-u-v))・S[2] +α*(384-s-u-v)・S[1] } /{α*120(128-t) ・(α*(128-s)+α*(128-v)) ・(α*(128-s)+α*(128-u))・(α*(128-u)+α*(128-v))} C[128-u] ={S[4] +(α*(128-t)+α*(128-s)+α*(128-v))・S[3] +(α*(256-t-s)+α*(256-t-v)+α*(256-s-v))・S[2] +α*(384-t-s-v)・S[1] } /{α*120(128-t) ・(α*(128-t)+α*(128-v)) ・(α*(128-t)+α*(128-s))・(α*(128-s)+α*(128-v))} C[128-v] ={S[4] +(α*(128-t)+α*(128-u)+α*(128-s))・S[3] +(α*(256-t-u)+α*(256-t-s)+α*(256-u-s))・S[2] +α*(384-t-u-s)・S[1] } /{α*120(128-v) ・(α*(128-t)+α*(128-s)) ・(α*(128-t)+α*(128-u))・(α*(128-u)+α*(128-s))} …(57) となる。
【0302】式(56)において、エラーシンボルがも
し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]のみ計算すればよく、他のシンドローム計
算を行う必要がないので、その分の演算量を減らすこと
ができる。
【0303】また、もしエラーシンボルが2つ(E[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) となる。
【0304】これも2つのシンドローム、例えばS
[1]とS[2]のみを計算すればよく、他のシンドロ
ームに対してかかる分の演算を減らすことができる。
【0305】そして解は、 C[128-s] =(S[2] +α*(128-t)・S[1] ) /{α*120(128-s) ・(α*(128-s)+α*(128-t))} C[128-t] =(S[2] +α*(128-s)・S[1] ) /{α*120(128-t) ・(α*(128-s)+α*(128-t))} …(61) となる。
【0306】また、エラーシンボルが3つ(E[128
−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]に対してかかる演算の分を減らすことがで
きる。
【0307】解は、 C[128-s] ={S[3] +(α*(128-t)+α*(128-u))・S[2] +α*(256-t-u)・S[1] } /{α*120(128-s) ・(α*(128-s)+α(128-t) ) ・(α*(128-s)+α*(128-u))} C[128-t] ={S[3] +(α*(128-s)+α*(128-u))・S[2] +α*(256-s-u)・S[1] } /{α*120(128-t) ・(α*(128-s)+α(128-t) ) ・(α*(128-t)+α*(128-u))} C[128-u] ={S[3] +(α*(128-t)+α*(128-s))・S[2] +α*(256-t-s)・S[1] } /{α*120(128-u) ・(α*(128-u)+α(128-t) ) ・(α*(128-s)+α*(128-u))} …(63) となる。
【0308】これらの演算を行う場合には、α^(11
9+i)(128−k) (k=1〜128),(i
=1,2,3,4)の演算に多少の時間がかかってしま
うので、iおよびkをパラメータとした表をあらかじめ
作成しておくと、毎回αのべき乗を計算するよりもより
高速に演算ができる。
【0309】(6)受信側FEC処理方法3 ここでは、送信側FEC処理方法3で述べたインタリー
バに対するデインタリーバを用いた誤り訂正方法を示
す。
【0310】受信側FEC処理方法1、2と同様にエラ
ーシンボルは最大4つまで訂正可能である。そこで、そ
れらのエラーシンボル位置をそれぞれs番目、t番目、
u番目、s番目(0<s<t<u<v<(m+5))と
する。
【0311】図5の場合は、到着したシンボル毎にデー
タ領域のシンボルはランダムに、またFEC冗長領域の
シンボルは、受信側FEC処理方法1、2と同様にデイ
ンタリーバの右端4列に位置する。この場合も、デイン
タリーバによっていつシンボル受信が終了するかわから
ない。よって、そのような可変シンボル長に柔軟に対応
できるような復号処理を行う必要がある。
【0312】一般的には、エラーがのった受信シンボル
は式(34)で、エラーフリーの場合の受信シンボルは
式(35)で夫々表されるが、以下では、図5にある具
体例を用いて説明する。
【0313】まず、図5(b)についてみると、全ての
シンボルが正しく受信できたときの受信系列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のべき乗の値は
何であるか)といった一覧表を、送信側と同様に保持し
ている必要がある。
【0314】さて、式(65)のシンボルのうち、最大
4つのシンボルがエラーを起こしているとする。ただ
し、冗長シンボルのみのエラーである場合は、誤り訂正
処理を行わないので、ここでは、少なくとも1つのエラ
ーシンボルは、データ領域に属するシンボルであるとす
る。
【0315】受信側FEC処理方法1、2と同様にエラ
ー数に応じて、シンドロームS[i]の計算を行う。エ
ラーシンボル数と同じだけのシンドロームの計算を行え
ば、誤り訂正が可能である。シンドロームの計算は、 手順1:S[i]=0 (i=1,2,3,4)とお
く。
【0316】手順2:受信シンボルに応じて、以下の計
算を行う。
【0317】 S[i] ←S[i] +C[k] ・(α*(119+i)f(k)) (受信シンボルが正しい 場合) S[i] ←S[i] (受信シンボルが誤りの 場合) (i=1,2,3,4) …(66) 手順3:最後のシンボルが終了すると、その時のS
[i](i=1,2,3,4)が求めるシンドロームの
値である。
【0318】手順2において、f(k)はC[k]と対
になる、多項式上のべき乗数を示す。例えば図5(b)
において、C[8]に相当するべき乗数はf(8)=6
である。
【0319】上記演算により得られるS[i](i=
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) となる。
【0320】式(66)と式(67)から、4次の連立
方程式ができ、これから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) となる。
【0321】式(67)において、エラーシンボルがも
し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] のみ計算
すればよく、他のシンドロームに対する計算を行わずに
済むことになる。
【0322】また、もしエラーシンボルが2つ(s番目
と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]のみを計算すればよく、他のシンドロームに対
する演算を行わずに済むことになる。
【0323】そして、解は、 C[8-s] =(S[2] +α*f(8-t) ・S[1] ) /{α*120f(8-s)・(α*f(8-s) +α*f(8-t) )} C[8-t] =(S[2] +α*f(8-s) ・S[1] ) /{α*120f(8-t)・(α*f(8-s) +α*f(8-t) )} …(72) となる。
【0324】また、エラーシンボルが3つ(s番目とt
番目と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]の演算を必要とせずに済む。
【0325】このときの解は、 C[8-s] ={S[3] +(α*f(8-t) +α*f(8-u) )・S[2] +α*(f(8-t)+f(8-u))・S[1] } /{α*120f(8-s)・(α*f(8-s) +α*f(8-t) ) ・(α*f(8-s) +α*f(8-u) )} C[8-t] ={S[3] +(α*f(8-s) +α*f(8-u) )・S[2] +α*(f(8-s)+f(8-u))・S[1] } /{α*120f(8-t)・(α*f(8-s) +α*f(8-t) ) ・(α*f(8-t) +α*f(8-u) )} C[8-u] ={S[3] +(α*f(8-t) +α*f(8-s) )・S[2] +α*(f(8-t)+f(8-s))・S[1] } /{α*120f(8-u)・(α*f(8-u) +α*f(8-t) ) ・(α*f(8-s) +α*f(8-u) )} …(74) となる。
【0326】これらの演算には、αのべき乗の計算が多
数必要となる。常に出てくる演算(例えばα^120
等)に関しては、表を作っておくと高速化を図ることが
できる。
【0327】次に、図5(a)の場合を説明する。これ
は基本的に図5(b)と同じであるので、図に示した具
体例のみを説明することとする。
【0328】図5(a)の場合は、受信側でも送信側と
同じ表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の終わりを検出することによって、初めて
知ることになる。
【0329】この場合も、最大4シンボルのエラーを想
定する。シンドロームの計算方法は、式(66)にある
手順と全く同じである。ただし、kの値は式(75)に
あるC[k]から取り出されているので、ランダムな値
をとる。そして、f(k)は式(75)において、その
kの値に対するC[k]を係数とするXの次数を表す。
例えば、k=1に対して、f(1)=7である。
【0330】エラーがある場合のシンドロームの値は0
にはならず、式(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)は、それぞれのシンボルの訂正後の値
を意味する。
【0331】式(66)と式(76)を解くことによっ
て、訂正後のシンボル値が計算できる。まず、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) となる。
【0332】式(67)において、エラーシンボルがも
し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]のみ計算
すればよく、他のシンドローム計算を行う必要がないの
で、その分の演算量を減らすことができる。
【0333】また、もしエラーシンボルが2つ(s番目
と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]のみを計算すればよく、他のシンドロームに対
する演算を行わなくて済む。
【0334】そして、解は、 C[s] =(S[2] +α*f(t) ・S[1] )/{α*120f(s)・(α*f(s) +α*f (t) )} C[t] =(S[2] +α*f(s) ・S[1] )/{α*120f(t)・(α*f(s) +α*f (t) )} …(81) となる。
【0335】また、エラーシンボルが3つ(s番目とt
番目と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]の演算を行わなくて済む。
【0336】このときの解は、 C[s] ={S[3] +(α*f(t) +α*f(u) )・S[2] +α*(f(t)+f(u))・S [1] } /{α*120f(s)・(α*f(s) +α*f(t) )・(α*f(s) +α*f(u) ) } C[t] ={S[3] +(α*f(s) +α*f(u) )・S[2] +α*(f(s)+f(u))・S [1] } /{α*120f(t)・(α*f(s) +α*f(t) )・(α*f(t) +α*f(u) ) } C[u] ={S[3] +(α*f(t) +α*f(s) )・S[2] +α*(f(t)+f(s))・ S[1] } /{α*120f(u)・(α*f(u) +α*f(t) )・(α*f(s) +α*f(u) ) } …(83) となる。
【0337】本実施例では、データの信頼性を保証する
ためのプロトコルとしてはAALタイプ5のSSCSレ
イヤのFEC処理以外を想定していない。しかしなが
ら、実際にはFECの能力には限界があり、一定数以上
セルが廃棄された場合にはもはやFECによる誤り訂正
は不可能となってしまう。このような状況では再送によ
る誤り訂正を行なうしかなく、そのためには予めSSC
SレイヤのFECによる誤り訂正の他に上位レイヤにラ
イトウェイトな再送制御を実装しなければならない。F
ECで訂正できない場合、元のデータを得るには再送を
行なうしかないので、本実施例では、SSCSの上位に
ライトウェイトな再送制御のためのプロトコルは実装し
ていると想定している。また、予めATM網の状態をみ
て誤りの多く発生する状態であれば能力の高いFEC用
符号を用いる、またほとんど誤りの発生しない状態であ
れば軽いFEC符号を用いるなど、パラメータを選択し
た上で通信を開始できる。
【0338】なお、前述のように、本実施例ではAAL
タイプ5に関するものについて説明したが、本発明の誤
り訂正方法はデータ転送に限定されるものではなく、同
様の方法で他のタイプにも適用可能である。
【0339】逆に、例えば、AAL5機能のみが実装さ
れた端末装置において、該端末装置がマルチメディア/
コンティニュアスメディア処理機能(音声、動画等)を
持っていれば、この様なアプリケーションを実現する場
合にAAL5の処理機能に本実施例の誤り制御方式を併
用させることによって柔軟に対処し様々な状況で様々な
データの信頼性を保証することができるのである。
【0340】(第2の実施例)次に、第2の実施例を説
明する。第1の実施例は、1対1の端末が通信を行なう
場合の例であったが、第2の実施例では、1対多通信の
場合について説明する。
【0341】本実施例では、図24に示すように、1台
の送信側端末2tが、複数台の受信側端末2r(2r−
1〜2r−n)に対して通信を行なっているものとす
る。なお、図中の受信側端末2rのいずれか複数個が受
信側端末かつ送信側端末となり、同じようなコネクショ
ンを張り同じように1対多通信を行なうことによって多
対多通信を実現することもできるが、このような場合に
も、本発明を適用することが可能である。
【0342】以下、FECを付与しマルチキャストを行
なう場合の例について説明する。
【0343】図25は、本実施例の送受信端末のプロト
コルスタックの一例である。基本的な構成は、第1の実
施例のプロトコルスタックとほぼ同様である。図1と異
なる点は、本実施例では、いずれかのレイヤにマルチキ
ャスト機能を提供する能力のあるプロトコルが必要にな
ることである。
【0344】一般的に広く知られたマルチキャスト機能
を提供できるプロトコルとしては、マルチキャスト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を実装している場
合には、信頼性の保証を上位レイヤによる再送で行なう
必要性がかなり少なくなる。
【0345】MTPは、IPでマルチキャストを行なう
場合、転送途中に生じた誤りを訂正する機能を持ったプ
ロトコルである。現在はインターネットドラフトのRF
C1301に実現の方法に関する詳細が記述されてい
る。該ドラフトの誤り訂正の方法とは、受信者による再
送要求により送信者がデータを再送するという方法であ
る。RMPは、カリフォルニア大学バークレイ校のB.
Wettenらにより提案されたものであり、MTPと
ほぼ同様の動作及び機能を持ったプロトコルである。し
かし、両者ともCSCWなどをアプリケーションとする
ことを前提としているので、リアルタイム性の保証は行
なっていない。
【0346】しかしながら、例で挙げたようなアプリケ
ーションを実現するにはリアルタイム性の保持を行なう
必要がある。その場合には、受信者が誤りを検出してか
ら送信者に対して再送要求を行なっていたのでは、遅延
が許容範囲を越えてしまう可能性が高い。このような場
合にも、前述した第1の実施例のように、転送するデー
タに予め誤り訂正を行なうための冗長な符号を付与して
おくことによって、上記のような問題点を解消できるの
である。
【0347】さて、IPのような上位レイヤで提供され
るマルチキャストは、ATMレベルでは図25のように
スイッチ3のコピー機能などを用いて実現される。ま
た、コネクションの張り方としては、主に以下の2通り
が考えられる。
【0348】(1)送信側端末から全ての受信側端末に
対してポイント−マルチポイントのATMコネクション
を張る。
【0349】(2)送信側端末から一部の受信側端末と
一部の中継サーバに対してポイント−マルチポイントの
ATMコネクションを張る。中継サーバよりも(マルチ
キャストツリー内で)下流の受信側端末と中継サーバに
関しては、該中継サーバが担当する。中継サーバとは、
物理的または論理的にネットワークやサブネットを接続
しているような装置を指し、AALよりも上位のレイヤ
でコネクションを一度終端することもある。
【0350】上記2の例を図26に示す。Hは送信側端
末(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内のマルチキャストグループ
に属する受信側端末やさらに下流にメンバーが存在する
中継サーバに対して同じようにコネクションを張る。
【0351】上記1の方法は,受信側端末の総数が比較
的少ない場合には適切な方法である。これに対して、上
記2の方法は受信側端末の総数がかなり多い場合でも、
階層的に下流の中継サーバにコネクションを一度終端さ
せることで、広域に渡るマルチキャストが実現できる方
法である。
【0352】次に、送信側端末2tおよび受信側端末2
rを説明する。図27に、本実施例の送信側端末2tお
よび受信側端末2rの内部構成を示す。本実施例の送信
側端末2tおよび受信側端末2rの内部構成は、基本的
には、第1の実施例とほぼ同様である。したがって、以
下では、本実施例の送信側端末2tおよび受信側端末2
rについて、第1の実施例との相違点を中心として説明
する。なお、ここでも、AALとしてタイプ5を例にあ
げる。
【0353】まず、送信側端末2tのアプリケーション
処理モジュール104t、MTP/RMP処理を行うM
TP/RMP処理モジュール130t、IP処理を行う
IP処理モジュール131tでは、マルチキャストした
い送信側端末2rに対して、それぞれのプロトコルに特
有な処理が行なわれる。データの種類としては、動画、
音声、テキストデータなどATMの特徴を活かして様々
なメディアを転送するが、ここまでの処理は、本発明に
限られた方法ではない。
【0354】次に、SSCS処理モジュール106t、
CPCS処理モジュール114t、SAR処理モジュー
ル120tでは、第1の実施例で説明したものと同様の
処理が施される。
【0355】ただし、FECを行なうSSCSレイヤ
で、上位レイヤに対してエラーフリーな通信を提供する
場合、そのためには、SSCSレイヤ以下のレイヤでト
ランスペアレント(透過的)なデータの受渡しが可能で
あることが必要となる。というのは、送信側のSSCS
レイヤのエンティティに対して、受信側のSSCSレイ
ヤのエンティティから再送要求が送られた場合に、セル
単位の再送を行なうためには、SSCSレイヤで、個々
のセルの識別ができることが必須になるからである。例
えば、SSCSレイヤでセル単位の再送を行なう場合、
再送要求、あるいは再送に関係あるデータはSSCSレ
イヤよりも下のレイヤではトランスペアレントに受渡し
されなければならない。これらは、受信側端末2rの処
理の説明において詳しく述べる。SSCSレイヤ以下に
関しても、第1の実施例と同様の処理が行なわれる。
【0356】次に、受信側端末2rについて説明する。
【0357】マルチキャストを行なう場合には、多くの
宛先に対してメッセージを送信するため、いずれかの受
信側端末2rで正しくデータを受信できない可能性が高
くなる。言い換えると、送信側にいずれかの送信側端末
2tから再送要求が送られる確率が高くなる。しかし、
本発明によれば、予めFECを付与するレイヤ(AAL
5の場合であればSSCSレイヤ)に、データの信頼性
を保証する機能を持たせることで、その確率を激減させ
ることができるのである。
【0358】受信側端末2rでの誤り検出は、まず、C
PCS処理モジュール114rで行なわれる。その際、
誤りが検出されなければ、第1の実施例で示したよう
に、SSCS処理モジュール106rを省略して上位レ
イヤにデータを渡す方法も可能である。その場合には、
送信側で付与したFEC冗長符号のオーバーヘッド程度
ですみ、スループット、レイテンシイは、AAL5にか
なり近い性能を得ることができる。
【0359】前述したように、マルチキャストの場合、
IPレベルでマルチキャストグループに該当する複数の
IPアドレスに対してデータグラムを送出するので、一
般的なIPマルチキャストでは、送信側端末2tで再送
要求を受けとる確率がポイント−ポイントの場合よりも
大きい。マルチキャストグループに属する端末数が大き
ければ大きいほどその確率は大きくなる。例えば、受信
側端末数が10^4、データリンクの誤り率が無線程度
に大きい場合には、1に近い確率で送信側端末2tは再
送要求を受けとる。
【0360】誤りのレベルとしては、大きく2種類に分
けられる。 (1)予め付与した誤り訂正符号(FECコード)によ
り訂正可能な程度である場合 (2)上記1のレベルを上回り、FECコードによる訂
正が不可能、よって、再送以外に訂正は無理である場合 もちろん、上記1の場合には、第1の実施例の1対1通
信の場合と同様に誤り訂正を行なって、正しいデータを
上位レイヤに渡すことができる。
【0361】しかしながら、上記2のケースが発生した
場合には再送により誤りを訂正しなければならず、その
方法としては以下のような候補がある。 A)AALよりも上位レイヤで再送制御を行なう(例え
ば、図25のレイヤ4に相当するMTP/RMP等)。 B)AALのいずれかのレイヤで再送制御を行なう。
【0362】上記Aのケースでは、それぞれの再送プロ
トコルの手順にしたがって誤り訂正が行なわれるので、
第1の実施例で説明した手順をもちることができるが、
上記Bの方法で再送制御を行なうには、第1の実施例で
説明した手順に加え、いくつかの処理が必要になる。以
下、上記2のようなレベルの誤りが生じ、それを上記B
のような方法で誤り回復をはかろうとした場合の手順に
ついて説明する。
【0363】FECの訂正能力を上回るような誤りが転
送中に生じた場合に、SSCSレイヤで信頼性保証のた
めに再送制御を行なう方法について説明する。再送制御
を行なうとすると、再送の単位は様々な方法が可能であ
る。 1)ATMレイヤレベルのセル再送 2)CPCS−PDUを単位とする再送 3)SSCS−PDU(インタリーバ)を単位とする再
送 4)SSCS−PDU(インタリーバ)内の列(任意の
列数)を単位とする再送 5)レイヤ3以上のパケットを単位とする再送 ここでは、一例として、マルチキャストを行う場合で、
かつ、上記3)のSSCS−PDU(インタリーバ)内
の列(任意の列数)を単位として再送により誤り訂正を
行なうケースについて述べる。
【0364】第1の実施例で述べたように、送信側端末
2tのSSCS処理モジュール106tでは、セル単位
にSNを含むSSCSヘッダが付与されている。受信側
端末2rのSSCS処理モジュール106rでは、この
SSCSヘッダに従ってセル廃棄されたセルを特定する
のである。これ以前で、何らかの誤りが生じているとい
う事実は、CPCSレイヤのCRCにより検出済みであ
る。検出した誤りが広範囲に及んでおり、送信時に付与
されたFECの訂正能力を越えている場合には、送信側
のSSCSレイヤに対して、再送要求を出す。再送要求
のメッセージは、マルチキャストグループのメンバーで
ある受信側端末のいずれかから送られることが予想さ
れ、その台数はわからない。1台だけかも知れないし、
または数台から送られることもある。
【0365】例えば、受信側端末2r−1のみが訂正能
力以上の誤りを検出した場合、送信側端末2tのSSC
S処理モジュール106tに対して、受信側端末2r−
1は少なくとも自分のアドレス、またはマルチキャスト
アドレス、再送して欲しいセルのSNを送ることによっ
て誤り訂正を実現する(図28参照)。
【0366】受信側端末2r−1が送信した再送要求
は、送信側端末2tのSSCS処理モジュール106t
に届けられる。送信側端末2tでは再送要求メッセージ
の内容に応じて、それに対応するSNを持つセルを再送
する。その際、マルチキャストコネクションとは別に設
定されたポイント−ポイントコネクションを利用して、
再送要求を送信した受信側端末にのみ再送データを送信
しても構わないし、再度マルチキャストを行なっても構
わない。
【0367】廃棄されたセルをSSCS−PDU内のど
の列に対応するかということをSNから特定できても、
この例ではAAL5を前提としているので、通常、その
廃棄されたセルのみを転送することはできない。AAL
5のトレイラが付与され、1セル分の実データでも2セ
ル分のAAL−PDUとなってしまう。再送データを転
送する方法としては、以下のようなものが可能である。 (1)実データを独立したインタリーバに格納し直し
て、新たにFECを付与し、独立したAAL−PDUと
して送出する。この場合は、廃棄された時のSNも新た
なSSCSヘッダ/トレイラに記す必要がある。 (2)AALをヌルにして送出する。SSCSヘッダ/
トレイラは以前のものを付与する。 (3)再送要求を受けとった時点で、その時、またはそ
の次に転送するインタリーバの最初または最後に含ませ
てしまう。他のデータと混ざらないように、再送データ
であることの表示が必要。
【0368】また、上記の方法での、再送の宛先として
は、以下のそれぞれがある。 A)マルチキャストグループに属する全ての受信側端末
(マルチキャストによって転送する) B)再送要求を送ってきた受信側端末のみ(何らかの方
法でポイント−ポイントのコネクションを設定する必要
がある) C)再送用のコネクションを個々の受信側端末に対して
予め張っておいて、再送要求を送ってきた受信側端末に
対してのみ再送する。SSCSヘッダ/トレイラは以前
のものを付与する。 D)マルチキャストグループ内の一部 上記1の場合には、廃棄されたセル数が小さいと、FE
Cコードの冗長性が高くなってしまう可能性がある。
【0369】上記2の場合には、最小限のデータ量を網
に送出することになりオーバーヘッドが小さい。
【0370】上記Aのように、マルチキャストで再送デ
ータを送出すると、特定の受信側端末だけにコネクショ
ンを張り直すという処理を送信側端末が行なわなくて済
むという利点がある。
【0371】マルチキャストデータに再送セルを含ませ
る場合、受信したデータが再送データであるという識別
は、SSCSヘッダ/トレイラに再送データであること
を示すビットを立てるようにすれば良い。すでに正しく
受信できている場合には受信側のSSCS処理モジュー
ル106rで廃棄してしまえば良いので実現は比較的簡
単である。
【0372】図18のSSCSヘッダ/トレイラの例に
はそのようなフィールドがなく、SSCSレイヤでエラ
ーフリーな通信を提供する場合には、図29のように拡
張したSSCSヘッダ/トレイラが通常の転送時から必
要になる。
【0373】(1)は、図18では1バイトであったS
SCSヘッダ/トレイラに、再送データであることを表
示するフィールドを1ビット付加した。
【0374】(2)は、バイト単位が望ましいという見
地から、SSCSヘッダ/トレイラのSNをより大きな
値までとれるようにし、インタリーバ内のデータ領域と
冗長コードの領域がより確実に識別できるようフィール
ドを増やした。
【0375】(3)は、(2)とは逆に、SNフィール
ドを小さくすることによって1バイトのSSCSヘッダ
/トレイラ内に再送データ表示フィールドを1ビット設
けた。
【0376】再送セル数は、FECの訂正能力に依存し
て減らすことが可能である。例えば、FECの訂正能力
が128セル中4セルだった場合、再送要求で8個のセ
ルを再送するようにリクエストされたとする。このFE
Cコードでは4セル以内の廃棄ならば訂正できるので、
再送するセル数は少なくとも4セル送ってやれば済む。
このように、最小限のセルを送ることによって、網の輻
輳を引き起こさないように防止することができる。この
ような利点も、FECを用いている場合の特徴の一つで
ある。
【0377】次に、送信側端末に複数の受信側端末から
再送要求が送られてきた場合について説明する。ここで
は、FECの訂正能力としては、1インタリーバのサイ
ズが16セル、その内、1セルまでの訂正が可能なコー
ドであるものとして説明する。
【0378】廃棄されたセルを全て再送する方法の他
に、次のようにして再送セルの数を削減できる方法があ
る。
【0379】図30のように、受信側端末2r−1,2
r−3から各々次のようなセルの再送要求が送信側端末
2tのSSCS処理モジュール106tに到着したとす
る。 受信側端末2r−1→セルのSN…1,2,3 受信側端末2r−3→セルのSN…2,3,4 どの受信側端末で、どのセルが廃棄されたのかが、送信
側端末で上記のように特定できた場合、その後の処理と
して以下のような方法がある。 (1)受信側端末が受信できなかったセルのSNを全て
再送する。 (2)FFCの能力に応じて復号に必要な最小限のセル
を再送する ここでもそれぞれ、マルチキャストで送る方法と、ポイ
ント−ポイントで送る方法がある。
【0380】上記の廃棄されたセルのSNを比較する
と、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のセルと、個々に最小限のセルを送ることもでき
る。しかし、マルチキャストグループ内の特定の端末に
対して再送を行なう場合には、先にも述べたが対応する
ポイント−ポイントのコネクションが必要になる。
【0381】送信先は、前述した例と同様に、受信側端
末2r−1,2r−3に限ることもできるし、再度マル
チキャストによってこれらの2セルのみ、またはSN=
1,2,3,4,の4個のセルを送ることもできる。
【0382】マルチキャストによる場合、すでに正しく
復号されている受信側端末ではデータが再送セルである
ことをSSCSレイヤで検出することができるのでその
セルは廃棄することができる。よって、重複して別のデ
ータに混入してしまって、影響を及ぼす恐れはない。
【0383】この時の再送セルもオーバーヘッドを最小
限にするために、再送セルのみをCPCS−SDUにせ
ず、SSCSレイヤのレベルで別のインタリーバに挿入
してしまうことが可能である。
【0384】マルチキャストグループ内の特定の受信側
端末(ここでは受信側端末2r−1,2r−3)にだけ
データを送るようにするには、送信側端末か、もしくは
送信側端末と受信側端末の中継点で特定の受信側端末に
だけコネクションを設定して必要最小限のセルのみを転
送するという方法が考えられる。
【0385】以上の例では、セル廃棄を検出した受信側
が再送要求を出すという、Negative ACK
(否定的な応答確認)を用いた方法であったが、Pos
itive ACK(肯定的な応答確認)を用いる方法
もとることができる。
【0386】このような場合には、送信側端末2tがマ
ルチキャストデータを送信後、SSCS処理モジュール
106tでタイマを起動して、マルチキャストグループ
の全ての受信側端末2rからACKが返ってくるのを待
つ。ACKには、受信側端末2rのアドレス、受信でき
たデータの識別子などが記されている。
【0387】タイマの上限値の設定は、ラウンドトリッ
プタイムに応じて設定される。このタイマの上限値を越
えてもACKが返ってこない場合には、その返事のない
受信側端末に対してそれに応じたデータを再送する。こ
の再送の方法は、今まで述べてきた方法と同様である。
【0388】このデータ送出のメカニズムはTCPのウ
ィンドウ制御によく似ている方法であり、同じようにス
ライディングウィンドウを用いることもできる。ただ
し、マルチキャストという環境下でPositive
ACKを用いているので、全ての受信側端末2rからA
CKが返ってこないとそれに対応するデータは再送用の
メモリから排除できなくなってしまう。よって、ACK
が経路の途中の輻輳を起こしているノード等で送れてし
まっている時には、送信者は次のデータを送出できない
という状況に陥ってしまい、スループットの低下が起こ
る可能性もある。
【0389】受信側のAALより上位のレイヤには、S
SCSレイヤでのFECと再送による誤り制御の効果
で、エラーフリーな正しいデータが渡されることにな
る。その後は、レイヤ3,4の通常の処理が行なわれ、
アプリケーションレイヤにはもちろん正しいデータが届
けられる。
【0390】受信側の説明に含めて、再送時の送信側の
説明を述べた。このように行なうことで、マルチキャス
トを行なっている時に、FECの能力を越えてしまうほ
どの誤りが転送中に生じても、最小限のオーバーヘッド
と遅延でサービスを提供できる。
【0391】上記したように送受信側端末の処理を行な
うことで、AALレベルにエラーフリーな通信を提供す
ることが可能である。マルチキャストを行なう場合は、
受信側端末の数が大きければ大きいほど、いずれかの受
信側端末から送信側端末に対して再送要求が生じる可能
性が高い。しかし、AALレベルにFEC機能を持た
せ、さらに、再送による誤り訂正を提供することによっ
て、信頼性が高く、リアルタイム性のより保証されたシ
ステムを構築することができる。
【0392】以上、各実施例にて説明したように、本発
明によれば、ATM通信網で高速通信を行う場合に、A
ALのいずれかのレイヤにインタリーバとFECを用い
た誤り制御方法を実装し、さらに、インタリーバのサイ
ズを柔軟にアプリケーションデータのサイズに合わせる
ことによってデータ転送の高効率化、高速化、省資源化
を図ることができる。特に、AALタイプ5で高速デー
タ転送を行う場合には、CPCSよりも上位のレイヤに
本発明の誤り制御方法を適用することによって、本来F
ECが持つオーバーヘッドを最小限に抑えつつ、AAL
タイプ5の高速性を最大限に発揮することが可能とな
る。また、AAL1、2、3/4に対しても、より高効
率にFECを実装することが可能である。
【0393】また、本発明は、上述した各実施例に限定
されるものではなく、その要旨を逸脱しない範囲で、種
々変形して実施することができる。
【0394】
【発明の効果】本発明(請求項1)では、データ転送の
単位になるインタリーバのサイズを可変とし最大値のみ
を設けることによって柔軟性を持たせたので、オーバー
ヘッドのトラヒックを最小限に抑えることができ、高ス
ループット、低レイテンシイを実現することが可能とな
る。また、従来の固定サイズのインタリーバと異なり、
データの入らなかった領域にPADする必要がないの
で、計算量を削減し高速化を図ることができる。
【0395】また、本発明では、書き込みと読み出しの
方向を同一にしたので、データの書き込みを開始した直
後から読み出しを行うことができる。従来は、インタリ
ーバのデータ領域分全てにデータを書き込むまで下位レ
イヤに対してデータを渡すことはできずかなりの遅延が
かかっていたが、本発明によれば、この遅延はほぼ0と
大幅に短縮できる。
【0396】このように本発明によれば、AALにて、
FECを用いた誤り制御方式を実現する枠組みを提供す
ることができる。これにより、FECの誤り訂正能力で
回復可能な誤り発生のレベルであれば、再送制御無しに
信頼性の要求される通信を行うことができる。
【0397】本発明(請求項2)によれば、インタリー
バ内に書き込まれているデータのサイズを確実に認識す
ることができる。その結果、予めデータサイズの表示方
法についてネゴシエーションをとっておくことによっ
て、受信側でもデータのサイズを確実に認識でき、正し
いデータを再生して上位レイヤに渡すことが可能とな
る。
【0398】本発明(請求項3)によれば、インタリー
バ専用のメモリに書き込むことを省略しFEC冗長コー
ドの計算結果を書き込むメモリのみを用意することによ
って、メモリ量を最小限に抑えることができ、コスト削
減につながる。
【0399】本発明(請求項4)によれば、ダミーデー
タを除いたデータの正確な大きさを認識することがで
き、AAL5トレイラの誤り検出を利用し誤りが検出さ
れた場合にのみ、該データに対してFECによる誤り訂
正処理を行うことによって、誤りを含んだデータからで
も正しいデータを再生することができる。この方法を用
いると、誤り率が小さければ、FECを行わないAAL
5(SSCSがヌルの場合)と処理時間はほとんど変わ
らなくなる。AAL5の本来の目的である軽いプロトコ
ルが実現されるのである。また、網の状況に応じて、誤
り率が小さい場合にはSSCSレイヤでの処理時間を更
に短縮することができる。よって、さらにリアルタイム
性を必要とするようなアプリケーションにも対応でき、
CPU資源を有効に用いることができる。
【図面の簡単な説明】
【図1】本発明の第1の実施例の送受信端末のプロトコ
ルスタックの構造を示す図
【図2】送信側端末2tおよび受信側端末2rの内部構
成を示す図
【図3】AAL−IDUとして上位から渡されるアプリ
ケーションデータを示す図
【図4】インタリーバへのアプリケーションデータの書
き込みの様子を示す図
【図5】インタリーバへの書き込み順序の例を示す図
【図6】4オクテット単位でデータ長のアライメントを
とる場合の様子を示す図
【図7】インタリーバにデータを格納した様子を示す図
【図8】他のインタリーバにデータを格納した様子を示
す図
【図9】図8の場合の処理の流れを説明するための図
【図10】図7および図8の場合のLIフィールドの例
を示す図
【図11】インタリーバからのデータの読み出しの例を
示す図
【図12】FEC冗長コードの付与の例を示す図
【図13】データ領域内の最終列の長さ表示の例を示す
【図14】図13のFEC演算の立場から見たマトリク
スの状態を示す図
【図15】マトリクスの1ラインの符号語構成の例を示
す図
【図16】データ領域にダミーを入れる場合のインタリ
ーバの状態を示す図
【図17】SSCSヘッダ/トレイラを付与する単位を
示す図
【図18】SSCSヘッダ/トレイラの一例の図
【図19】インタリーバ1つに対するSSCSヘッダ/
トレイラを示す図
【図20】UUI=1を含むセルが廃棄された場合の受
信側でのレイヤ処理を説明するための図
【図21】図8の場合の処理の流れを説明するための図
【図22】モジュロ値のテーブルを示す図
【図23】冗長シンボルのテーブルを示す図
【図24】本発明の第2の実施例における1対多通信の
形態を示す図
【図25】同実施例の送受信端末のプロトコルスタック
の構造を示す図
【図26】ATMコネクションの張り方を説明するため
の図
【図27】送信側端末2tおよび受信側端末2rの内部
構成を示す図
【図28】受信端末2r−1において再送要求が出され
た場合について説明するための図
【図29】SSCSヘッダ/トレイラの例を示す図
【図30】複数の端末から再送要求が送られた場合につ
いて説明するための図
【図31】ATMアダプテーションレイヤを説明するた
めの図
【符号の説明】
1…ATM網、3…ATM交換機、2t…送信側端末、
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. 【請求項1】ATMアダプテーションレイヤにて行なう
    ATM網における誤り制御方法であって、 上位レイヤから渡された送信しようとする一続きのデー
    タを所定長のデータ列に順次区切り、マトリクス状に定
    義された記憶領域を有するインタリーバのデータ記憶領
    域の各列に順次書き込んでいく第1の手順と、 この第1の手順により前記インタリーバのデータ記憶領
    域の最大列まで前記データで満たされた場合にはこの最
    大列を前記インタリーバにおけるデータ記憶領域の最終
    列とし、前記インタリーバのデータ記憶領域の最大列ま
    で前記データで満たされなかった場合には前記データが
    最後に書き込まれた列またはその次の列をデータ記憶領
    域の最終列とし、前記インタリーバのデータ記憶領域の
    各行について、該最終列までのデータに対する誤り制御
    符号を夫々求め、このデータ記憶領域の各行に対する誤
    り制御符号を、前記インタリーバの誤り制御符号記憶領
    域内の対応する位置に夫々書き込む第2の手順と、 前記インタリーバのデータ記憶領域および誤り制御符号
    記憶領域の内容を列ごとに順次読み出していき、読み出
    した列に対して所定の列数ごとにシーケンスナンバを含
    むヘッダ/トレイラを付与する第3の手順とを有するこ
    とを特徴とするATM網における誤り制御方法。
  2. 【請求項2】前記インタリーバのデータ領域の最終列の
    所定位置に、該最終列の先頭から書き込まれているデー
    タの長さを表示するための長さ表示情報を書き込むとと
    もに、該最終列内に書き込まれたデータの最終ビットの
    記憶位置と該長さ表示情報の記憶位置との間の未使用部
    分にはパッドを与えることを特徴とする請求項1に記載
    のATM網における誤り制御方法。
  3. 【請求項3】ATMアダプテーションレイヤ・タイプ5
    にて行なうATM網における誤り制御方法であって、 前記第1の手順では、上位レイヤから渡された前記デー
    タを、前記インタリーバに書き込まずに、下位レイヤで
    あるコモン・パート・コンバージェンス・サブレイヤに
    渡し、 前記第2の手順では、前記第1の手順にて前記コモン・
    パート・コンバージェンス・サブレイヤにデータを渡す
    際に誤り制御符号の計算を行い、得られた誤り制御符号
    のみメモリに書き込み、 前記第3の手順では、前記メモリから前記誤り制御符号
    を読み出し、読み出した前記誤り制御符号を前記コモン
    ・パート・コンバージェンス・サブレイヤに渡すことを
    特徴とする請求項1に記載のATM網における誤り制御
    方法。
  4. 【請求項4】ATMアダプテーションレイヤは、ATM
    アダプテーションレイヤ・タイプ5であり、 前記インタリーバのデータ領域と誤り制御符号領域とは
    互いに異なるコモン・パート・コンバージェンス・サブ
    レイヤのプロトコル・データ・ユニットに属するもので
    あって、 受信側にて、同一の前記インタリーバに属し前記データ
    領域の内容を含む1つ以上のコモン・パート・コンバー
    ジェンス・サブレイヤのプロトコル・データ・ユニット
    に対してATMアダプテーションレイヤ・タイプ5によ
    る誤り検出処理を行う手順と、 この手順にて誤りが検出された場合にのみ、受信したデ
    ータ内に含まれるダミーデータを除いたデータの正確な
    大きさを認識した後に該データに対して誤り訂正処理を
    行う手順をさらに有することを特徴とする請求項1に記
    載のATM網における誤り制御方法。
JP32691194A 1994-12-28 1994-12-28 データ再送制御方法及びデータ再送制御システム Expired - Fee Related JP3614907B2 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (68)

* Cited by examiner, † Cited by third party
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