JP2004153349A - データ送信装置およびデータ受信装置 - Google Patents

データ送信装置およびデータ受信装置 Download PDF

Info

Publication number
JP2004153349A
JP2004153349A JP2002313559A JP2002313559A JP2004153349A JP 2004153349 A JP2004153349 A JP 2004153349A JP 2002313559 A JP2002313559 A JP 2002313559A JP 2002313559 A JP2002313559 A JP 2002313559A JP 2004153349 A JP2004153349 A JP 2004153349A
Authority
JP
Japan
Prior art keywords
data
sdram
error correction
circuit
bytes
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.)
Pending
Application number
JP2002313559A
Other languages
English (en)
Inventor
Shinji Hamai
信二 浜井
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2002313559A priority Critical patent/JP2004153349A/ja
Publication of JP2004153349A publication Critical patent/JP2004153349A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Detection And Prevention Of Errors In Transmission (AREA)
  • Detection And Correction Of Errors (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Error Detection And Correction (AREA)

Abstract

【課題】DRAMを使用し、かつ小さい回路規模でインターリーブおよび誤り訂正符号化を行うデータ送信装置を提供する。
【解決手段】フレームバッファ111の出力する映像データはSDRAM3に蓄積される。蓄積されたデータは読み出されインターリーバ4を経由して誤り訂正符号化回路6でパリティが生成される。生成されたパリティはデインターリーバ5を経由してSDRAM3に書き込まれる。SDRAM3に蓄積された映像データおよびパリティはパケット出力回路113でパケット化され送信される。この時SDRAM4からの読み出しを複数の誤り訂正符号の単位で読み出し、インターリーバ4で再度インターリーブすることにより、SDRAM3のアクセスのオーバヘッドを減らし効率的に使用することができる。
【選択図】 図1

Description

【0001】
【発明の属する技術分野】
本発明は、映像あるいは音声などをデータに変換して伝送する場合のインターリーブおよび誤り訂正符号化方法に関するものである。
【0002】
【従来の技術】
映像あるいは音声などをデータに変換して伝送する場合のインターリーブおよび誤り訂正符号化する技術では、SRAM(Static Random Access Memory)が使用されている(例えば、特許文献1)。
【0003】
ビデオカメラ等の映像信号をデジタル化して伝送する場合の処理について図13を用いて説明する。
101はデータ送信装置、102はネットワーク、103はデータ受信装置である。
【0004】
データ送信装置101は、入力された映像信号104をデータパケットに変換しネットワーク102に出力する。データ受信装置103は、受信したデータパケットから映像信号106を復元し出力する。
【0005】
データ送信装置101において、110は映像圧縮回路、111はフレームバッファ、112は符号化回路、113はパケット出力回路である。映像圧縮回路110では入力された映像信号をデジタル化し、圧縮処理を行いデジタルデータとする。映像圧縮回路110はフレームバッファ111に対して書き込みリクエスト115を出力する。フレームバッファ111は書き込みリクエスト115に対して書き込み許可信号114を発行する。映像圧縮回路110は書き込み許可信号114が入力された時、フレームバッファ111に映像データ116を出力し、フレームバッファ111は映像データ116を蓄積する。フレームバッファ111は、映像データを蓄積している場合は符号化回路112に対して書き込みリクエスト117を出力する。符号化回路112は、書き込みリクエスト117に対して書き込み許可信号118を発行する。フレームバッファ111は書き込み許可信号118に対して蓄積されていた映像データ119を符号化回路112に出力する。符号化回路112は入力された映像データに対して誤り訂正符号化を行い、入力された映像データと生成したパリティをパケット出力回路113に出力する。その際、パケット出力回路は符号化回路112に対してデータリクエスト120を発行する。符号化回路112はデータリクエスト120に対応して映像データあるいは生成したパリティから構成するパケットペイロード122を出力するとともにデータイネーブル信号121をパケット出力回路113に出力する。パケット出力回路113は入力されたパケットペイロード122にヘッダ等を付加しネットワーク102に出力する。
【0006】
図14はネットワーク102におけるパケットの配置図である。
ひとつのパケットは800バイトのペイロードを持つ。また54個のパケット単位で誤り訂正符号化を行う。
【0007】
図15は誤り訂正符号化におけるマトリクスである。映像データは800バイト毎に区切られ1行のデータとされるデータ領域には50パケット分の映像データが順次行ごとに充填される。誤り訂正符号化は映像データの充填方向と直交される行方向に行われる。誤り訂正符号のデータ長は50であり、生成するパリティ長は4である。1マトリクス単位での符号語の数は800であり、(4×800)バイトのパリティを生成する。生成したパリティは4つのパケットペイロードとしてパケット出力回路113に出力される。誤り訂正符号化は入力される映像データと直交して行われ、さらにパケットペイロードとしての出力は誤り訂正符号化とさらに直交して行われる。
【0008】
符号化回路112について説明する。
符号化化回路112は、SRAM131と、SRAM133と、誤り訂正符号化回路132およびコントローラ130から構成される。SRAMは、メモリセルとしてフリップフロップを使用してスタティック(静的)にデータ保持をすることができるメモリ集積回路である。SRAM131のメモリマップを図16(a)(b)に示す。フレームバッファ111から入力される映像データはSRAM131の行ごとに充填される。このとき図16(a)に示すように800バイト毎に次の行に移動するようコントローラ130はSRAM131のアドレスを制御する。(800×50)バイトの映像データの書き込みが終了すると、図16(b)に示すように行方向にデータを50バイト読み出して誤り訂正符号化回路132にデータを出力する。映像データのSRAM131への書き込みおよび読み出しはSRAM131のデータバスに多重されるため、SRAM131からデータを読み出している時にはフレームバッファ111の映像データの書き込みを延期するようコントローラ130は書き込み許可信号118を制御する。コントローラ132は50バイトのデータ読み出しを800回繰り返し入力された映像データをすべて誤り訂正符号化回路132に出力する。
【0009】
誤り訂正符号化回路132は、入力された50バイトのデータに対して誤り訂正符号化を行い4バイトのパリティを生成する。誤り訂正符号化回路132は入力された50バイトの映像データと生成した4バイトのパリティをSRAM133に出力する。図16(c)(d)はSRAM133のメモリマップである。SRAM133に50バイトの映像データと4バイトのパリティが行方向に書き込まれるようにコントローラ130はSRAM133のアドレスを制御する。また、コントローラ113はパケット出力回路113からのデータリクエスト120に対して図16(d)のように行単位にデータを読み出し出力する。この時、誤り訂正符号化回路132がSRAM133にデータを書き込む時にはパケットペイロード122の出力を延期するようデータイネーブル信号121を制御する。
【0010】
このようにSRAM131およびSRAM133でデータのインターリーブを行うことによって映像データに直交するパリティを生成しパケットとして生成しネットワークに出力する。
【0011】
データ受信回路103について説明する。
ネットワーク102を経由してパケットがパケット受信回路140に入力される。パケット受信回路140はパケットが入力されるごとに復号回路141に書き込みリクエスト150を出力する。復号回路141からイネーブル信号151が入力されるとパケット受信回路はパケットペイロード152を復号回路141に出力する。
【0012】
復号回路141は入力されたパケットペイロードの誤り訂正を行い、誤り訂正を行った映像データ155をフレームバッファ142に出力する。この時、復号回路142はフレームバッファに書き込みリクエスト154を出力し、フレームバッファ142から書き込みイネーブル153が入力された時、映像データ155を出力する。
【0013】
フレームバッファ142は復号回路141からの入力される映像データ155を蓄積する。フレームバッファ142は映像伸張回路143からデータリクエスト156が入力された時、蓄積された映像データ158を映像伸張回路143に順次出力する。この時イネーブル信号157を同時に出力する。
【0014】
映像伸張回路143は入力された映像データ158の圧縮を伸張し、映像信号106として出力する。
復号回路141について説明する。
【0015】
復号回路141はSRAM144と、SRAM145と、誤り訂正回路146およびコントローラ147から構成される。SRAM145のメモリマップを図17(a)(b)に示す。パケット受信回路から入力されるパケットペイロードはSRAM145の行ごとに充填される。このとき図17(a)に示すように1パケットのパケットペイロードすなわち800バイト書き込むごとに次の行に移動するようコントローラ147はSRAM144のアドレスを制御する。54パケットのパケットペイロードの書き込みが終了すると、図17(b)に示すように行方向にデータを誤り訂正の符号語を54バイト読み出し誤り訂正回路146に出力する。コントローラ147はSRAM145の読み出しおよび書き込みが競合しないようにパケット受信回路140へのイネーブル信号151を制御する。コントローラ147は800個の符号語を読み出して誤り訂正回路146に出力する。
【0016】
ただし、パケットロス等でパケットが受信できない場合には読み出す符号語は54バイトより短い場合もある。
誤り訂正回路146は入力された54バイトのあるいはさらに短い符号語を付加されているパリティを用いて誤り訂正を行い50バイトの誤り訂正された映像データをSRAM144に出力する。図17(c)(d)はSRAM144のメモリマップである。SRAM144の行方向に50バイトの映像データが書き込まれるようコントローラ147はSRAM144のアドレスを制御する、訂正された映像データがすべて書き込まれた後コントローラ147は書き込みリクエスト154をフレームバッファ142に出力し、イネーブル信号153に従いSRAM144のデータを行単位に読み出しフレームバッファ142に出力する。
【0017】
このようにSRAM145およびSRAM144でデータのインターリーブを行うことによって、映像データに直交するパリティから誤り訂正を行い映像データとしてフレームバッファ142に出力する。
【0018】
【特許文献1】
特開平10−214486号公報
【0019】
【発明が解決しようとする課題】
しかしながら、従来の方法では、インターリーブの手段としてSRAMを使用している。このSRAMは、パソコンで頻繁に使われるキャッシュ・メモリのバースト転送をクロックに同期して行えるようにしたメモリ集積回路のDRAM(Dynamic Random Access Memory)の一つである、例えば、SDRAM(SynchronousDynamic Random Access Memory・同期DRAM)と比較して高価であることが知られている。
【0020】
しかしながら、SDRAMは行単位の読み出しおよび書き込みは高速であるが、列方向の読み出しおよび書き込みは行単位のそれに比較して10倍程度遅く、従来の方法のSRAMをそのままSDRAMに置き換えることができない。
【0021】
通常、SRAMの書き込みは、書き込みイネーブル、データおよびアドレスを同時にSRAMに与えることで実行する。読み出しは、読み出しアドレスをSRAMに与えた後、幾ばくかの遅延を経てデータが出力される。与えるアドレスは任意であり、与えるアドレスの順番によって速度が変わることはない。
【0022】
たとえば、1個のマトリクスでSRAM131に対しては800バイトの映像データの書き込みを50回、50バイトの誤り訂正のデータの読み出しを800回行うことになる。この時データおよびアドレスをクロックに同期して行い、書き込みの遅延を0クロック、読み出しの遅延を1クロックとすれば、800バイトの書き込みは800クロックで実行できる。また50クロックの読み出しは51クロックで実現できる。したがってマトリクス単位の書き込みおよび読み出しは全部で
800 × 50 + 51 × 800 = 80800 クロック
で実現することができる。
【0023】
これに対して、SDRAMを使用する場合、書き込みは上位アドレスである行アドレスを与えた後、下位アドレスである列アドレスとデータと書き込みコマンドを同時に与えること。その後書き込んだデータをSDRAMの内部セルに書き込むコマンドであるプリチャージコマンドを与えることで書き込みを実行する。従って、最初に行アドレスを与え、最後にプリチャージを行う分、SRAMに対して低速となる。しかしながらSDRAMでは1回の書き込みコマンドで連続する列アドレスに対して書き込みを行うことができるため、連続する列アドレスに書き込む場合にはSRAMに遜色ない書き込み速度を得ることができる。読み出しに関しても同様で、連続する列アドレスから読み出す場合には高速に読み出すことが可能である。
【0024】
しかるに、従来の方法においては映像データに直交方向に誤り訂正を行うため、SRAM131の書き込みは下位アドレス、すなわち列アドレスが連続するよう書き込むが、読み出しに関しては列アドレスを固定し、行アドレスが連続するよう読み出すことが必要である。SDRAMを用いた場合800バイトの書き込みは行アドレスを一度与えた後は列アドレスを順次変化させることで連続して書き込むことができるため、行アドレスの出力およびプリチャージを考慮し810クロック程度で可能である。しかし列方向の50バイトの読み出しは1バイトごとに行アドレスを与えプリチャージをする必要があるため、1バイトの読み出しに10クロック程度が必要である。従って1マトリクスの書き込みおよび読み出しは
810 × 50 + 50 × 10 × 800 = 440500 クロック
とSRAMを使用する場合に比較して5倍程度の速度が必要であった。
【0025】
また従来の方法ではインターリーブの手段とフレームバッファの複数のメモリを使用しており、回路規模が大であることが課題であった。
本発明は上記課題を解決し、安価なDRAMを利用でき回路規模の小さな伝送装置を提供することを目的とする。
【0026】
【課題を解決するための手段】
本発明のデータ送信装置は、データを符号化データとし、前記符号化データをnバイトごとに直交するデータ長:L、パリティ長:Pである誤り訂正符号化を行い、nバイトのペイロードを持つパケットとして送信するデータ送信装置において、
前記符号化データを蓄積するSDRAMと、前記SDRAMから誤り訂正符号化を行うデータを読み出してインターリーブを行うインターリーバと、前記インターリーバがインターリーブするデータを誤り訂正符号化する誤り訂正符号化回路と、前記誤り訂正符号化回路の生成するパリティをデインターリーブし前記SDRAMに書き込むデインターリーバ、前記SDRAMに蓄積した前記符号化データと前記パリティをパケットとして出力するパケット出力回路とを具備し、前記SDRAMは前記符号化データをnバイトごとに同一行アドレスに連続して記録し、前記インターリーバはデータを読み出す際にL行の行アドレスについて各行アドレスごとにC個の蓄積されている前記符号化データを読み出し、さらに(L×C)のインターリーブを行いLバイト毎に前記誤り訂正符号化回路に出力し、前記誤り訂正符号化回路は入力されたLバイトのデータを誤り訂正符号化しPバイトのパリティを前記デインターリーバに出力し、前記デインターリーバはC組の前記パリティに対して(P×C)のデインターリーブを行い前記SDRAMに書き込み際にP行の行アドレスについて各行アドレスごとにC個の前記パリティを書き込むよう構成したことを特徴とする。
【0027】
また、本発明のデータ受信装置は、データを符号化データとし、前記符号化データをnバイトごとに直交するデータ長:L、パリティ長:Pである誤り訂正符号化を行い、nバイトのペイロードを持つパケットとして送信されたパケットを受信し符号化データに復号するデータ受信装置において、前記パケットを蓄積するSDRAMと、前記SDRAMから誤り訂正を行うデータを読み出してインターリーブを行うインターリーバと、前記インターリーバがインターリーブするデータを誤り訂正する誤り訂正回路と、前記誤り訂正回路が訂正したデータをデインターリーブし前記SDRAMに書き込むデインターリーバと、前記SDRAMに蓄積した前記訂正したデータを復号する伸長回路とを具備し、前記SDRAMは前記パケットをnバイトごとに同一行アドレスに連続して記録し、前記インターリーバはデータを読み出す際に(L+P)行の行アドレスについて各行アドレスごとにC個の蓄積されている前記パケットを読み出し、さらに(L+P)×Cのインターリーブを行い(L+P)バイト毎に前記誤り訂正回路に出力し、前記誤り訂正回路は入力された(L+P)バイトのデータを誤り訂正しLバイトの訂正したデータを前記デインターリーバに出力し、前記デインターリーバはC組の前記訂正したデータに対して(L×C)のデインターリーブを行い前記SDRAMに書き込み際にL行の行アドレスについて各行アドレスごとにC個の前記訂正したデータを書き込むよう構成したことを特徴とする。
【0028】
[発明の詳細な説明]
以下、本発明の各実施の形態を図1〜図12に基づいて説明する。
(実施の形態1)
図1〜図4は本発明の(実施の形態1)を示す。
【0029】
図1は図13に示した従来の伝送装置におけるデータ送信装置101に代わる(実施の形態1)のデータ送信装置を示し、符号化回路1を除いて前記データ送信装置101と同一である。
【0030】
コントローラ2は、符号化回路1の各構成用件を次のように制御する。
データを符号化データとし、前記符号化データをnバイトごとに直交するデータ長:L、パリティ長:Pである誤り訂正符号化を行い、nバイトのペイロードを持つパケットとして送信するに際して、コントローラ2は、符号化データをSDRAM3にnバイトごとに同一行アドレスに連続して記録し、前記インターリーバ4はデータを読み出す際にL行の行アドレスについて各行アドレスごとにC個の蓄積されている前記符号化データを読み出し、さらに(L×C)のインターリーブを行いLバイト毎に前記誤り訂正符号化回路6に出力し、前記誤り訂正符号化回路6は入力されたLバイトのデータを誤り訂正符号化しPバイトのパリティを前記デインターリーバに出力し、前記デインターリーバ5はC組の前記パリティに対して(P×C)のデインターリーブを行い前記SDRAM3に書き込み際にP行の行アドレスについて各行アドレスごとにC個の前記パリティを書き込む。
【0031】
さらに詳しくは、この構成により、フレームバッファ111から入力される映像データ119は、800バイト毎にSDRAM3に書き込まれる。1マトリクス分の映像データ(800×50)バイトの映像データがSDRAM3に書き込まれると、SDRAM3からデータを読み出しインターリーバ4に出力する。インターリーバ4に1回につき(8×50)バイトのデータが書き込まれる。インターリーバ4は入力されたデータを50バイトに並べ換えて誤り訂正符号化回路6に出力する。
【0032】
誤り訂正符号化回路6は、入力された50バイトのデータに誤り訂正符号化を行い4バイトのパリティを生成する。生成したパリティはデインターリーバ5に出力する。デインターリーバ5では8個のパリティをデインターリーブしSDRAM3に出力する。これを100回繰り返しすべての誤り訂正符号化が終了すると、SDRAM3からパケットペイロードを読み出しパケット出力回路122に出力する。
【0033】
SDRAM3のメモリマップを図2に示す。
SDRAM3の列アドレスは10ビット、行アドレスは6ビットである。またアドレスの制御方法について図3(a)を用いて説明する。フレームバッファ111からの映像データは800バイト毎に区切られ800バイトのデータは同一行アドレスの行アドレス0から799に連続して書き込まれる。同一行アドレスに対する書き込みは連続して行うことが可能であるため、800バイトのデータ書き込みは行アドレスの付与、プリチャージ等のオーバヘッドを10クロックとすると810クロックで行うことが可能である。入力される800バイトごとのデータに対して順次行アドレスをインクリメントさせSDRAM3に書き込む。1マトリクスでは800バイトの書き込みを50回繰り返す必要があるため全部で40500クロックの時間が必要である。
【0034】
SDRAM3からデータを読み出しインターリーバ4にデータを出力する場合にはデータは、C×L=(8×50)バイトを単位として行う。この時、1回目の読み出しは、各行アドレスの先頭8バイトを順次50行にわたって読み出す。各行の8バイトの読み出しは連続して行うことができ、おなじくオーバヘッドを10クロックとすると18クロックで読み出すことができる。これを50行おこなうため、読み出しには900クロックが必要である。さらに2回目のアドレスは列アドレスの9バイト目から16バイト目までについて行われる。すべての読み出しを行うためには更にこれを100回繰り返し、90000クロックを要する。この時のSDRAM3へのアクセスを図3(b)に示す。
【0035】
インターリーバ4は(50×8)バイトのメモリを持ち、(8×50)のインターリーブを行う。図4(a)はインターリーバ4のメモリマップである。インターリーバ4では入力される8バイトごとに同一行に書き込み、読み出しは50バイトを単位として同一桁に対して行う。
【0036】
またデインターリーバ5では(C×P)=(8×4)のデインターリーブを行う。デインターリーバ5のメモリマップを図4(b)に示す。デインターリーバ5では入力されるP=4バイトのパリティを同一桁アドレスに書き込み読み出し時には行単位に順次読み出す。このようにインターリーバ4とデインターリーバ5によってSDRAM3から連続的に読み出されたデータを誤り訂正符号化のために50バイトごとに並べ替え、またパリティを連続して書き込めるように再度並べ換える。
【0037】
デインターリーバ5は誤り訂正符号化回路6が誤り訂正符号化を8回行うたびに(4×8)バイトのデータをSDRAM3に出力する。
このとき、このデータが書き込まれるメモリマップが図3(c)である。各(4×8)バイトのパリティデータは行アドレス50から53に書き込まれる。また先頭の8バイトが行アドレス50に、次の8バイトが行アドレス51という具合に順次書き込まれる。先頭の列アドレスはパリティのもととなった映像データと同じアドレスに書き込まれる。1回のパリティデータは8バイトの書き込みが4回行われる。1回の書き込みは18クロックを要し、パリティデータは100回書き込まれるため、パリティデータの書き込みには全部で(4×18×100)=7200クロックを要する。
【0038】
パケットペイロードをSDRAM3から読み出しパケット出力回路113に出力するときのSDRAM3のメモリアクセスを図3(d)に示す。SDRAM3のデータは各行アドレスに記録されている800バイトのデータをパケットペイロードとして出力する。すなわち、パケット出力回路113からリクエストがあるごとに各行の桁アドレス0〜799にあるデータを読み出し出力する。行アドレスは出力ごとにインクリメントし行アドレス53のデータの出力で1マトリクスのパケットペイロード出力を終了する。1パケットのデータは同一行アドレスにあるため連続して行うことができる。オーバヘッドを10としてすべてのパケットペイロードの出力に費やす時間は(810×54)=43740クロックである。
【0039】
このようにSDRAM3、インターリーバ4、デインターリーバ5および誤り訂正符号化回路6はコントローラ2によって制御されて、インターリーブ、誤り訂正符号化、デインターリーブを行うことが可能である。すべての書き込みおよび読み出しに必要なクロック数は、
40500 + 90000 + 7200 + 43740 = 181440 クロック
が必要である。これは従来に比較してメモリの量が半分で、かつSDRAM3を使用するにもかかわらず必要なクロック数はおよそ2.2倍で済む。
【0040】
(実施の形態2)
図5〜図8は本発明の(実施の形態2)を示す。
図5は図13に示した従来の伝送装置におけるデータ受信装置103に代わる(実施の形態2)のデータ受信装置を示し、復号回路10を除いて前記データ受信装置103と同一である。
【0041】
コントローラ11は、復号回路10の各構成用件を次のように制御する。
データを符号化データとし、前記符号化データをnバイトごとに直交するデータ長:L、パリティ長:Pである誤り訂正符号化を行い、nバイトのペイロードを持つパケットとして送信されたパケットを受信し符号化データに復号するに際し、SDRAM12は前記パケットをnバイトごとに同一行アドレスに連続して記録し、前記インターリーバ13はデータを読み出す際に(L+P)行の行アドレスについて各行アドレスごとにC個の蓄積されている前記パケットを読み出し、さらに(L+P)×Cのインターリーブを行い(L+P)バイト毎に前記誤り訂正回路15に出力し、前記誤り訂正回路15は入力された(L+P)バイトのデータを誤り訂正しLバイトの訂正したデータを前記デインターリーバに出力し、前記デインターリーバはC組の前記訂正したデータに対して(L×C)のデインターリーブを行い前記SDRAM12に書き込み際にL行の行アドレスについて各行アドレスごとにC個の前記訂正したデータを書き込む。
【0042】
さらに詳しくは、この構成により、パケット受信回路140から入力されるパケットペイロード152はパケットごとにSDRAM12に書き込まれる。1マトリクス分の54パケットがSDRAM12に書き込まれるとSDRAM12からデータを読み出し、インターリーバ13に出力する。インターリーバ13に1回につき(8×54)バイトのデータが書き込まれる。インターリーバ13は入力されたデータを54バイト毎に並べ換えて誤り訂正回路15に出力する。誤り訂正回路15は入力された54バイトのデータに対してパリティを用いた誤り訂正を行い訂正された50バイトのデータを生成する。訂正したデータは副デインターリーバ14に出力する。副デインターリーバ14では50バイトごとにデインターリーブしSDRAM12に出力する。これを100回繰り返しすべての誤り訂正が終了すると、SDRAM12から映像データを読み出しフレームバッファ142に出力する。
【0043】
SDRAM12のメモリマップを図6に示す。SDRAM12の列アドレスは10ビット、行アドレスは6ビットである。またアドレスの制御方法について図7(a)を用いて説明する。パケット受信回路140からのパケットペイロードは800バイトであり、同一行アドレスの行アドレス0〜799に連続して書き込まれる。同一行アドレスに対する書き込みは連続して行うことが可能であるため、800バイトのデータ書き込みは行アドレスの付与、プリチャージ等のオーバヘッドを10クロックとすると810クロックで行うことが可能である。入力される1パケットの書き込みに対して順次行アドレスをインクリメントさせSDRAM12に書き込む。1マトリクスでは54パケットで構成するため全部で43740クロックの時間が必要である。
【0044】
SDRAM12からデータを読み出しインターリーバ13にデータを出力する場合にはデータは(8×54)バイトを単位として行う。この時、1回目の読み出しは、各行アドレスの先頭8バイトを順次54行にわたって読み出す。各行の8バイトの読み出しは連続して行うことができ、おなじくオーバヘッドを10クロックとすると18クロックで読み出すことができる。これを54行おこなうため、読み出しには972クロックが必要である。さらに2回目のアドレスは列アドレスの9バイト目から16バイト目までについて行われる。すべての読み出しを行うためにはさらにこれを100回繰り返し、97200クロックを要する。この時のSDRAM12へのアクセスを図7(b)に示す。
【0045】
インターリーバ13は(54×8)バイトのメモリを持ち、(8×54)のインターリーブを行う。図8(a)はインターリーバ13のメモリマップである。インターリーバ13では入力される8バイトごとに同一行に書き込み、読み出しは54バイトを単位として同一桁に対して行う。
【0046】
また副デインターリーバ14では(50×8)のデインターリーブを行う。副デインターリーバ14のメモリマップを図8(b)に示す。副デインターリーバ14では入力される50バイトの訂正されたデータを同一桁アドレスに書き込み読み出し時には行単位に順次読み出す。このようにインターリーバ13と副デインターリーバ14によってSDRAM12から連続的に読み出されたデータを誤り訂正のために54バイトごとに並べ替え、また訂正されたデータを連続して書き込めるように再度並べ替える。
【0047】
副デインターリーバ14は誤り訂正回路15が誤り訂正を8回行うたびに(50×8)バイトのデータをSDRAM12に出力する。
このときこのデータが書き込まれるメモリマップが図7(c)である。各(50×8)バイトの訂正されたデータは行アドレス0〜49に書き込まれる。また先頭の8バイトが行アドレス0に、次の8バイトが行アドレス1という具合に順次書き込まれる。先頭の列アドレスは誤り訂正の元となったデータと同じアドレスに書き込まれる。50バイトの書き込みが4回行われる。1回の書き込みは18クロックを要し、訂正されたデータは100回書き込まれるため、パリティデータの書き込みには全部で(50×18×100)= 90000 クロックを要する。
【0048】
映像データをSDRAM12から読み出しフレームバッファ142に出力するときのSDRAM12のメモリアクセスを図7(d)に示す。SDRAM12のデータは各行アドレスに記録されている800バイトのデータをパケットペイロードとして出力する。すなわちパケット出力回路からリクエストがあるごとに各行の桁アドレス0〜799にあるデータを読み出し出力する。行アドレスは出力ごとにインクリメントし行アドレス49のデータの出力で1マトリクスの映像データ出力を終了する。800バイトの映像データは同一行アドレスにあるため連続して行うことができる。オーバヘッドを10としてすべてのパケットペイロードの出力に費やす時間は(810×50)= 40500 クロックである。
【0049】
このようにSDRAM12、インターリーバ13、副デインターリーバ14および誤り訂正回路15を用いてインターリーブ、誤り訂正、デインターリーブを行うことが可能である。すべての書き込みおよび読み出しに必要なクロック数は
43740 + 97200 + 90000 + 40500 = 271440 クロック
が必要である。従来に比較してメモリの量が半分で、かつSDRAMを使用するにもかかわらず必要なクロック数はおよそ3.2倍で済む。
【0050】
(実施の形態3)
図9と図10は本発明の(実施の形態3)を示す。
図9は図1に示した(実施の形態1)のデータ送信装置の変形例で、符号化回路1のSDRAM3は容量が(実施の形態1)のそれよりも大きく、少なくとも2×(L+P)×nのデータ容量を有している。コントローラ2の構成を(実施の形態1)のそれとは変更することによって、符号化回路1と映像圧縮回路110との間に設けられていたフレームバッファ111を不要としている。パケット出力回路113、映像圧縮回路110、インターリーバ4、デインターリーバ5、誤り訂正符号化回路6は(実施の形態1)と同じである。
【0051】
コントローラ2は次のように構成されている。
符号化データをSDRAM3にnバイトごとに同一行アドレスに連続して記録し、前記インターリーバ4はデータを読み出す際にL行の行アドレスについて各行アドレスごとにC個の蓄積されている前記符号化データを読み出し、さらに(L×C)のインターリーブを行いLバイト毎に前記誤り訂正符号化回路6に出力し、前記誤り訂正符号化回路6は入力されたLバイトのデータを誤り訂正符号化しPバイトのパリティを前記デインターリーバ5に出力し、前記デインターリーバ5はC組の前記パリティに対して(P×C)のデインターリーブを行い前記SDRAM3に書き込み際にP行の行アドレスについて各行アドレスごとにC個の前記パリティを書き込む。
【0052】
さらに詳しくは、この構成により、映像圧縮回路110は映像信号をデジタル化などを行い映像データに変換した後、書き込みリクエスト115をコントローラ2に出力する。コントローラ2は書き込みリクエスト115に対して書き込み許可信号114を映像圧縮回路110に対して出力する。映像圧縮回路110は書き込み許可信号114が入力されると映像データ116を出力する。
【0053】
この時コントローラ2は映像データ116をSDRAM3に書き込むようSDRAM3を制御する。SDRAM3のメモリマップを図10に示す。SDRAM3は4個のマトリクス領域から構成されひとつのマトリクス領域は(1024×64)の領域を占める。入力された映像データはマトリクス領域に順次記録される。SDRAM3が複数のマトリクス領域を持つことにより、たとえばネットワークへのパケット出力が遅延するなどの理由でパケット出力回路113がデータリクエスト120を出力せずパケットペイロードを出力できないときにも、映像データ116を蓄積することができる。またこの時、従来の構成のようなフレームバッファ111は不要である。
【0054】
(実施の形態4)
図11と図12は本発明の(実施の形態4)を示す。
図11は図5に示した(実施の形態2)のデータ受信装置の変形例で、復号回路10のSDRAM12は容量が(実施の形態2)のそれよりも大きく、少なくとも2×(L+P)×nのデータ容量を有している。コントローラ11の構成を(実施の形態2)のそれとは変更することによって、復号回路10と映像伸長回路143との間に設けられていたフレームバッファ142を不要としている。パケット受信回路140、映像伸長回路143、インターリーバ13、デインターリーバ14、誤り訂正符号化回路15は(実施の形態2)と同じである。
【0055】
コントローラ11は次のように構成されている。
パケットをSDRAM12にnバイトごとに同一行アドレスに連続して記録し、前記インターリーバ13はデータを読み出す際に(L+P)行の行アドレスについて各行アドレスごとにC個の蓄積されている前記パケットを読み出し、さらに(L+P)×Cのインターリーブを行い(L+P)バイト毎に前記誤り訂正回路15に出力し、誤り訂正回路15は入力された(L+P)バイトのデータを誤り訂正しLバイトの訂正したデータをデインターリーバ14に出力し、デインターリーバ14はC組の訂正したデータに対して(L×C)のデインターリーブを行いSDRAM12に書き込み際にL行の行アドレスについて各行アドレスごとにC個の前記訂正したデータを書き込む。
【0056】
さらに詳しくは、この構成により、パケット受信回路140はパケットを受信した後、書き込みリクエスト150をコントローラ11に出力する。コントローラ11は書き込みリクエスト150に対してイネーブル信号151をパケット受信回路140に対して出力する。パケット受信回路140は書き込み許可信号151が入力されるとパケットペイロード152を出力する。
【0057】
この時、コントローラ11はパケットペイロード152をSDRAM12に書き込むようSDRAM12を制御する。SDRAM12のメモリマップを図11に示す。SDRAM12は4個のマトリクス領域から構成されひとつのマトリクス領域は(1024×64)の領域を占める。入力された映像データはマトリクス領域に順次記録される。SDRAM12が複数のマトリクス領域を持つことにより、ネットワークへのパケット伝送が遅延するなどの理由でパケット受信回路140がパケットペイロードを出力できないときにも、バッファリングすることができる。またこの時従来の構成のようなフレームバッファ142は不要である。
【0058】
なお、上記の(実施の形態1)〜(実施の形態4)ではSDRAMを使用したが、行アドレスと列アドレスを分離して与え、行アドレスを変更する際にはオーバヘッドが生じるSDRAM以外のDRAMであるRDRAM(ラムバスDRAM)やエムDRAM(MRAM Magnetic Random Access Memory)などのメモリを同様に適用できる。
【0059】
上記の(実施の形態1)〜(実施の形態4)では、パリティ長:Pが“4”であったが、これは“2”のベキ乗である“8”,“16”,・・・・であっても同様である。
【0060】
【発明の効果】
以上のように本発明のデータ送信装置およびデータ受信装置によると、SRAMに比べて安価なDRAMを使用してデータに直交したパリティを得ることができ、回路規模の小さな伝送装置を実現することができる。
【図面の簡単な説明】
【図1】本発明の(実施の形態1)のデータ送信装置のブロック図
【図2】同実施の形態のSDRAMのメモリマップ図
【図3】同実施の形態のSDRAMのアクセス方法を示す図
【図4】同実施の形態のインターリーバおよびデインターリーバのメモリマップ図
【図5】本発明の(実施の形態2)のデータ受信装置のブロック図
【図6】同実施の形態のSDRAMのメモリマップ図
【図7】同実施の形態のSDRAMのアクセス方法を示す図
【図8】同実施の形態のインターリーバおよびデインターリーバのメモリマップ図
【図9】本発明の(実施の形態3)のデータ送信装置のブロック図
【図10】同実施の形態のSDRAMのメモリマップ図
【図11】本発明の(実施の形態4)のデータ受信装置のブロック図
【図12】同実施の形態のSDRAMのメモリマップ図
【図13】従来の伝送装置のブロック図
【図14】同従来例のパケットの配置図
【図15】同従来例の伝送マトリクスを示す図
【図16】同従来例の送信回路のSRAMのアクセス方法を示す図
【図17】同従来例の受信回路のSRAMのアクセス方法を示す図
【符号の説明】
1 符号化回路
2 コントローラ
3 SDRAM
4 インターリーバ
5 デインターリーバ
6 誤り訂正符号化回路
10 復号回路
104 映像信号
110 映像圧縮回路
111 フレームバッファ
113 パケット出力回路
115 書き込みリクエスト
117 書き込みイネーブル信号
118 書き込みリクエスト
119 書き込みイネーブル信号
120 パケットリクエスト
121 イネーブル信号
122 パケットペイロード
143 映像伸張回路

Claims (8)

  1. データを符号化データとし、前記符号化データをnバイトごとに直交するデータ長:L、パリティ長:Pである誤り訂正符号化を行い、nバイトのペイロードを持つパケットとして送信するデータ送信装置において、
    前記符号化データを蓄積するSDRAMと、
    前記SDRAMから誤り訂正符号化を行うデータを読み出してインターリーブを行うインターリーバと、
    前記インターリーバがインターリーブするデータを誤り訂正符号化する誤り訂正符号化回路と、
    前記誤り訂正符号化回路の生成するパリティをデインターリーブし前記SDRAMに書き込むデインターリーバと、
    前記SDRAMに蓄積した前記符号化データと前記パリティをパケットとして出力するパケット出力回路と
    を具備し、前記SDRAMは前記符号化データをnバイトごとに同一行アドレスに連続して記録し、前記インターリーバはデータを読み出す際にL行の行アドレスについて各行アドレスごとにC個の蓄積されている前記符号化データを読み出し、さらに(L×C)のインターリーブを行いLバイト毎に前記誤り訂正符号化回路に出力し、前記誤り訂正符号化回路は入力されたLバイトのデータを誤り訂正符号化しPバイトのパリティを前記デインターリーバに出力し、前記デインターリーバはC組の前記パリティに対して(P×C)のデインターリーブを行い前記SDRAMに書き込み際にP行の行アドレスについて各行アドレスごとにC個の前記パリティを書き込むよう構成した
    データ送信装置。
  2. データを符号化データとし、前記符号化データをnバイトごとに直交するデータ長:L、パリティ長:Pである誤り訂正符号化を行い、nバイトのペイロードを持つパケットとして送信されたパケットを受信し符号化データに復号するデータ受信装置において、
    前記パケットを蓄積するSDRAMと、
    前記SDRAMから誤り訂正を行うデータを読み出してインターリーブを行うインターリーバと、
    前記インターリーバがインターリーブするデータを誤り訂正する誤り訂正回路と、
    前記誤り訂正回路が訂正したデータをデインターリーブし前記SDRAMに書き込むデインターリーバと、
    前記SDRAMに蓄積した前記訂正したデータを復号する伸長回路と
    を具備し、前記SDRAMは前記パケットをnバイトごとに同一行アドレスに連続して記録し、前記インターリーバはデータを読み出す際に(L+P)行の行アドレスについて各行アドレスごとにC個の蓄積されている前記パケットを読み出し、さらに(L+P)×Cのインターリーブを行い(L+P)バイト毎に前記誤り訂正回路に出力し、前記誤り訂正回路は入力された(L+P)バイトのデータを誤り訂正しLバイトの訂正したデータを前記デインターリーバに出力し、前記デインターリーバはC組の前記訂正したデータに対して(L×C)のデインターリーブを行い前記SDRAMに書き込み際にL行の行アドレスについて各行アドレスごとにC個の前記訂正したデータを書き込むよう構成した
    データ受信装置。
  3. データを符号化データとし、前記符号化データをnバイトごとに直交するデータ長:L、パリティ長:Pである誤り訂正符号化を行い、nバイトのペイロードを持つパケットとして送信するデータ送信装置において、
    前記符号化データを蓄積するSDRAMと、
    前記SDRAMから誤り訂正符号化を行うデータを読み出してインターリーブを行うインターリーバと、
    前記インターリーバがインターリーブするデータを誤り訂正符号化する誤り訂正符号化回路と、
    前記誤り訂正符号化回路の生成するパリティをデインターリーブし前記SDRAMに書き込むデインターリーバと、
    前記SDRAMに蓄積した前記符号化データと前記パリティをパケットとして出力するパケット出力回路と
    を具備し、前記SDRAMは少なくとも2×(L+P)×nのデータ容量を有しており前記符号化データをnバイトごとに同一行アドレスに連続して記録し、前記インターリーバはデータを読み出す際にL行の行アドレスについて各行アドレスごとにC個の蓄積されている前記符号化データを読み出し、さらに(L×C)のインターリーブを行いLバイト毎に前記誤り訂正符号化回路に出力し、前記誤り訂正符号化回路は入力されたLバイトのデータを誤り訂正符号化しPバイトのパリティを前記デインターリーバに出力し、前記デインターリーバはC組の前記パリティに対して(P×C)のデインターリーブを行い前記SDRAMに書き込み際にP行の行アドレスについて各行アドレスごとにC個の前記パリティを書き込むよう構成した
    データ送信装置。
  4. データを符号化データとし、前記符号化データをnバイトごとに直交するデータ長:L、パリティ長:Pである誤り訂正符号化を行い、nバイトのペイロードを持つパケットとして送信されたパケットを受信し符号化データに復号するデータ受信装置において、
    前記パケットを蓄積するSDRAMと、
    前記SDRAMから誤り訂正を行うデータを読み出してインターリーブを行うインターリーバと、
    前記インターリーバがインターリーブするデータを誤り訂正する誤り訂正回路と、
    前記誤り訂正回路が訂正したデータをデインターリーブし前記SDRAMに書き込むデインターリーバと、
    前記SDRAMに蓄積した前記訂正したデータを復号する伸長回路と
    を具備し、前記SDRAMは少なくとも2×(L+P)×nのデータ容量を有しており前記パケットをnバイトごとに同一行アドレスに連続して記録し、前記インターリーバはデータを読み出す際に(L+P)行の行アドレスについて各行アドレスごとにC個の蓄積されている前記パケットを読み出し、さらに(L+P)×Cのインターリーブを行い(L+P)バイト毎に前記誤り訂正回路に出力し、前記誤り訂正回路は入力された(L+P)バイトのデータを誤り訂正しLバイトの訂正したデータを前記デインターリーバに出力し、前記デインターリーバはC組の前記訂正したデータに対して(L×C)のデインターリーブを行い前記SDRAMに書き込み際にL行の行アドレスについて各行アドレスごとにC個の前記訂正したデータを書き込むよう構成した
    データ受信装置。
  5. 前記パリティ長:Pが2のベキ乗であることを特徴とする請求項1または請求項3記載のデータ送信装置。
  6. 前記パリティ長:Pが2のベキ乗であることを特徴とする請求項2または請求項4記載のデータ受信装置。
  7. 請求項1または請求項3記載のデータ送信装置におけるSDRAMを、その他のDRAMに置き換えたことを特徴とするデータ送信装置。
  8. 請求項2または請求項4記載のデータ受信装置におけるSDRAMを、その他のDRAMに置き換えたことを特徴とするデータ受信装置。
JP2002313559A 2002-10-29 2002-10-29 データ送信装置およびデータ受信装置 Pending JP2004153349A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002313559A JP2004153349A (ja) 2002-10-29 2002-10-29 データ送信装置およびデータ受信装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002313559A JP2004153349A (ja) 2002-10-29 2002-10-29 データ送信装置およびデータ受信装置

Publications (1)

Publication Number Publication Date
JP2004153349A true JP2004153349A (ja) 2004-05-27

Family

ID=32458118

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002313559A Pending JP2004153349A (ja) 2002-10-29 2002-10-29 データ送信装置およびデータ受信装置

Country Status (1)

Country Link
JP (1) JP2004153349A (ja)

Similar Documents

Publication Publication Date Title
KR100370239B1 (ko) 고속 블럭 파이프라인 구조의 리드-솔로몬 디코더에적용하기 위한 메모리 장치와 메모리 액세스 방법 및 그메모리 장치를 구비한 리드-솔로몬 디코더
US6964005B2 (en) System and method for interleaving data in a communication device
JP3882097B2 (ja) 重畳インターリーバ及びメモリのアドレス発生方法
EP1931035A1 (en) Turbo decoder and turbo decoding method
JP2000151426A (ja) インターリーブ・デインターリーブ回路
US6687860B1 (en) Data transfer device and data transfer method
US7895498B2 (en) Apparatuses and method for error correction coding and error correction decoding
KR100403634B1 (ko) 고속 파이프라인 리드-솔로몬 디코더에 적용하기 위한메모리 장치와 메모리 액세스 방법 및 그 메모리 장치를구비한 리드-솔로몬 디코더
JP3891568B2 (ja) 誤り訂正符号を復号化する方法及び装置
US7073012B2 (en) System and method for interleaving data in a communications device
US7870458B2 (en) Parallel arrangement of serial concatenated convolutional code decoders with optimized organization of data for efficient use of memory resources
KR100499467B1 (ko) 블록 인터리빙 방법 및 그를 위한 장치
JP2004153349A (ja) データ送信装置およびデータ受信装置
KR100215566B1 (ko) 정적 램을 이용한 길쌈 인터리버/디인터리버 및정적 램의 주소 생성 방법
US6687870B1 (en) Method and apparatus for interleaving for information transmission or storage applications
KR20030047100A (ko) 터보 복호화 장치에서 인터리버와 디인터리버간 메모리공유 장치 및 방법
KR100248395B1 (ko) 디지털 통신용 채널 부호기 설계방법
KR100215565B1 (ko) 정적 램을 이용한 길쌈 인터리버/디인터리버 및정적 램의 주소 생성 방법
JPH0974361A (ja) 変復調装置
KR100734376B1 (ko) 방송 신호 복호 장치
KR100362562B1 (ko) 무선통신시스템에서의부호화장치
KR100710223B1 (ko) 메모리 제어 시스템 및 그 시스템을 이용한 데이터 송수신방법
JP2001117825A (ja) データ記録装置およびデータ再生装置
KR100651909B1 (ko) 메모리 억세스 제어 장치 및 메모리장치에 대한 데이터 입력 방법 및 판독 방법
JPH05300028A (ja) インターリーブアドレス発生回路