JP3535833B2 - ブロックインタリーブ装置,ブロックデインタリーブ装置,ブロックインタリーブ方法,およびブロックデインタリーブ方法 - Google Patents

ブロックインタリーブ装置,ブロックデインタリーブ装置,ブロックインタリーブ方法,およびブロックデインタリーブ方法

Info

Publication number
JP3535833B2
JP3535833B2 JP2000605312A JP2000605312A JP3535833B2 JP 3535833 B2 JP3535833 B2 JP 3535833B2 JP 2000605312 A JP2000605312 A JP 2000605312A JP 2000605312 A JP2000605312 A JP 2000605312A JP 3535833 B2 JP3535833 B2 JP 3535833B2
Authority
JP
Japan
Prior art keywords
block
address
value
output
selector
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.)
Expired - Fee Related
Application number
JP2000605312A
Other languages
English (en)
Inventor
専一 古谷
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 Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Application granted granted Critical
Publication of JP3535833B2 publication Critical patent/JP3535833B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • 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/65Purpose and implementation aspects
    • H03M13/6502Reduction of hardware complexity or efficient processing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1866Error detection or correction; Testing, e.g. of drop-outs by 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/27Coding, 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 using interleaving techniques
    • H03M13/276Interleaving address generation
    • H03M13/2764Circuits therefore
    • 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/27Coding, 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 using interleaving techniques
    • H03M13/2767Interleaver wherein the permutation pattern or a portion thereof is stored
    • 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/65Purpose and implementation aspects
    • H03M13/6502Reduction of hardware complexity or efficient processing
    • H03M13/6505Memory efficient implementations

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Error Detection And Correction (AREA)

Description

【発明の詳細な説明】
【0001】技術分野 この発明は、衛星放送・地上波放送・ケーブル放送など
のディジタル伝送及びハードディスクなどの記憶装置の
読み出し・書き込みにおいて必要とされるブロックイン
タリーブ装置,ブロックデインタリーブ装置,ブロック
インタリーブ方法,およびブロックデインタリーブ方法
に関するものである。
【0002】背景技術 ブロックインタリーブはバースト誤りに対する対策とし
て有効なものである。これを、衛星放送を例にとって説
明すると、地上の放送局からの電波は衛星に送出され、
衛星で中継されて、家庭に設けた衛星放送受信機によっ
て受信される。
【0003】ここで、放送局から衛星を介して家庭に向
けて送信された電波は、伝送経路中で雷や雨等があると
妨害を受け、その妨害を受けている間中、データに誤り
が生じてしまう。これがバースト誤りと言われるもので
ある。
【0004】ディジタル伝送では予めエラー訂正用の情
報が本来のデータに付加されているので、各セグメント
において一定範囲内のビットの誤りであればこれを訂正
することが可能であるが、バースト誤りのような連続し
た誤りはこれを訂正することができない。
【0005】そこで、予め伝送すべきデータを時間的に
分散させておくことにより(その一手法がブロックイン
タリーブである)、伝送の過程でバースト誤りが生じた
としても、受信側で予め分散されていたデータの時間的
位置を復元する際に(その一手法がブロックデインタリ
ーブである)、バースト誤りが分散され、個々のデータ
ブロックでは誤りをエラー訂正可能な範囲のビット数に
収まるようにすることができる。
【0006】このようなブロックインタリーブやブロッ
クデインタリーブを行おうとすれば、本来1ブロック
(L×Mデータ)の記憶領域を持つ記憶装置2面を用い
てこれらの記憶装置に書き込みと読み出しを交互に繰り
返す処理が必要になるが、ブロックインタリーブやブロ
ックデインタリーブを小回路規模かつ低消費電力で実現
できるものの1つとして、従来、例えば特表平8−51
1393号公報に示されたものがあった。
【0007】図13はこの従来のブロックインタリーブ
の動作を模式的に示すものであり、ここでは、説明の簡
単化のために、4行5列のデータに対し、ブロックイン
タリーブを行う場合を例にとって説明する。
【0008】この方式は、ブロックインタリーブ装置の
記憶装置のアドレスが図13(a)のように割り当てられ
ているとすると、まず、アドレスの増加分REGを1と
し、0→1→2→……→19の順で、すなわちそのアド
レスが1ずつ増加する順に従ってデータを書き込んでゆ
く。次に、図13(b)に示されているように、アドレス
が5ずつ増加する順に従ってデータを読み出す。即ち、
REGに5を乗じ、図13(a)におけるアドレス0を初
期値として、1入力データ毎に5増加するアドレスを順
次生成するが、その際、アドレスが19(=4×5−
1)を越えるとこの19による剰余をアドレスとして使
用する。そして、この生成規則に従って生成したアドレ
スに従い、まず、図13(a)において既に書き込まれて
いるデータを、図13(b)においてこの生成したアドレ
スの順に読み出し、その読み出しが終了した後に、図1
3(b)において読み出しを行ったのと同じ順で同じアド
レスに対しデータの書き込みを行なう。
【0009】次に、図13(c)に示されているように、
このREGに対し5を乗じるが、その値25が19を越
えるとこの19による剰余をREGの値として使用す
る。そして、図13(a)に示されているアドレスの配置
を基準とし、そのアドレス0を初期値として、図13
(c)において1入力データ毎に6(=25−19)増加
するアドレスを順次生成し、アドレスが19(=4×5
−1)を越えると、この19による剰余をアドレスとし
て使用することにより読み出しを行い、図13(c)にお
いてその読み出しが終了した後に、読み出しを行ったの
と同じ順で同じアドレスに対しデータの書き込みを行な
う。
【0010】以下、同様の処理を繰り返すことにより、
順次異なるアドレスの順で読み出しを行い、読み出しを
行ったのと同じ順で同じアドレスに対し書き込みを行っ
てゆけば、この例では図13(j)の時点において、図1
3(a)と同様のアドレスの順に戻る。
【0011】このような手順を繰り返すことにより、図
14に示すように、1ブロック(L×Mデータ)の記憶
領域を持つRAM202を用いてブロックインタリーブ
を行うことが可能である。これはRAM制御装置200
による書き込み読み出し制御、およびアドレス生成装置
201により生成するアドレスを上述のように工夫する
ことにより実現しているものである。
【0012】この従来例のブロックインタリーブ装置に
おけるアドレス生成規則は以下の通りである。
【0013】即ち、n番目のアドレスをAb(n)、記憶装
置の行の数をL、列の数をM、bを0以上の整数、xを
0以上b以下の任意の整数とすると、
【0014】 Ab(n)=(Ab(n−1)+M**(b−x))mod(L×M−1)…(1)
【0015】また、REG=(M**(b−x))mo
d(L×M−1)
【0016】ただし、Ab(0)=0とする。また、**は
べき乗を表わす。
【0017】また、このようにしてブロックインタリー
ブを行ったデータに対しブロックデータインタリーブを
行うには、ブロックデインタリーブ装置の記憶装置のア
ドレスが図13(k)のように割り当てられているとする
と、まず、REGを1とし、0→1→2→……→19の
順で、すなわちそのアドレスが1ずつ増加する順に従っ
てデータを書き込んでゆく。次に、図13(l)に示され
ているように、アドレスが4ずつ増加する順に従ってデ
ータを読み出す。即ち、REGに4を乗じ、図13(k)
におけるアドレス0を初期値として、1入力データ毎に
4増加するアドレスを順次生成するが、その際、アドレ
スが19(=4×5−1)を越えるとこの19による剰
余をアドレスとして使用する。そして、この生成規則に
従って生成したアドレスに従い、まず、図13(k)にお
いて既に書き込まれているデータを、図13(l)におい
てこの生成したアドレスの順に読み出し、その読み出し
が終了した後に、図13(l)において読み出しを行った
のと同じ順で同アドレスに対しデータの書き込みを行な
う。
【0018】次に、図13(m)に示されているように、
このREGに対し4を乗じるが、その値が19を越える
とこの19による剰余をREGの値として使用する。こ
の場合REGの値16は19以下であるので、この値1
6をそのままREGの値として使用する。
【0019】そして、図13(k)に示されているアドレ
スの配置を基準とし、そのアドレス0を初期値として、
1入力データ毎に16増加するアドレスを順次生成し、
アドレスが19(=4×5−1)を越えるとこの19に
よる剰余をアドレスとして使用することにより読み出し
を行い、図13(m)において読み出しが終了した後に、
読み出しを行ったのと同じ順で同じアドレスに対しデー
タの書き込みを行なう。
【0020】以下、同様の処理を繰り返すことにより、
順次異なるアドレスの順で読み出しを行い、読み出しを
行ったのと同じ順で同じアドレスに対し書き込みを行っ
てゆけば、この例では図13(t)の時点において、図1
3(k)と同様のアドレスの順に戻る。
【0021】このような手順を繰り返すことにより、図
14に示すように、1ブロックの記憶領域を持つRAM
202を用いてブロックデインタリーブを行うことが可
能である。これはRAM制御装置200による書き込み
読み出し制御、およびアドレス生成装置201により生
成するアドレスを上述のように工夫することにより実現
しているものである。
【0022】この従来例のブロックデインタリーブ装置
におけるアドレス生成規則は以下の通りである。
【0023】 Ab(n)=(Ab(n−1)+L**(b−x))mod(L×M−1)…(2)
【0024】また、REG=(L**(b−x))mo
d(L×M−1)
【0025】ただし、Ab(0)=0とする。
【0026】この式(2)は式(1)のMをLに変更したもの
である。従来のブロックインタリーブ装置およびブロッ
クデインタリーブ装置は以上のように構成されており、
上述のように1ブロックの記憶領域を持つ記憶装置1面
のみを用いてブロックインタリーブおよびブロックデイ
ンタリーブを行うことができ、装置の省面積化、および
低消費電力化を実現できるものである。
【0027】しかしながら、このようなブロックインタ
リーブ装置やブロックデインタリーブ装置は、コストや
消費電力の観点から、より小面積で低消費電力であるこ
とが望ましく、回路面積のより省面積化やさらなる低消
費電力化の実現が要請されていた。
【0028】本発明は、記憶装置の制御装置を最適化す
ることにより、回路面積のより省面積化や、より低消費
電力化を実現できるブロックインタリーブ装置,ブロッ
クデインタリーブ装置,ブロックインタリーブ方法,お
よびブロックデインタリーブ方法を得ることを目的とす
る。
【0029】発明の開示 本願の請求項1の発明に係るブロックインタリーブ装置
は、(L×M)個のアドレス(L,Mは2以上の整数)
が割り当てられた記憶手段と、該記憶手段に対し、ブロ
ックインタリーブすべき(L×M)個のデータを単位と
するブロックを書き込み,読み出す際のアドレスを生成
するアドレス生成手段と、該アドレス生成手段により生
成されたアドレスを用いて、上記記憶手段が上記データ
の書き込みおよび読み出しを切り替えて行うように動作
制御を行う制御手段とを備え、上記アドレス生成手段
は、ブロック番号bのブロックが入力される毎に、α
(αは2以上の整数)とMの(b-x)乗(xは0以上b以
下の整数、bは0以上の整数)との乗算結果を生成する
乗算手段と、上記乗算手段による乗算結果と比較基準値
L×M-1との大小を比較する第1の比較手段を有し、そ
の比較結果に基づき上記乗算結果より可能な限り上記L
×M-1を減算して上記乗算結果のオーバーフローを抑え
ることにより上記ブロック番号bのブロックに対するア
ドレスの増分値REGを出力する第1のオーバーフロー処
理手段と、ブロック番号bのブロックが入力される毎
に、上記第1のオーバーフロー処理手段により出力され
るアドレスの増分値REGに対し、上記ブロック番号bのn
-1番目(nは1以上L×M-1以下の整数)のアドレスAb
(n-1)を順次加算することにより上記ブロック番号bの
ブロック内のn番目のアドレスAb(n)を順次生成する加
算手段と、上記加算手段による加算結果と比較基準値L
×M-1との大小を比較する第2の比較手段を有し、その
比較結果に基づき上記加算結果より可能な限り上記L×
M-1を減算して上記加算結果のオーバーフローを抑える
ことにより上記記憶手段に対し実際に供給するアドレス
を出力する第2のオーバーフロー処理手段とを有し、上
記第1の比較手段は、上記乗算結果と上記比較基準値L
×M-1とを比較する際に、上記L×M-1に代えて、上記乗
算結果に含まれる,上記L×M-1を越える最小値Aを上
記比較基準値として使用し、大小比較を行うようにした
ものである。
【0030】本願の請求項1の発明に係るブロックイン
タリーブ装置は、記憶手段に対する書き込み読み出しを
行う際に、上述のようなアドレス生成を行うことによ
り、1ブロックの記憶領域を持つ記憶手段1面でのブロ
ックインタリーブ動作を可能とし、かつアドレス生成手
段の回路規模を縮小可能とする。
【0031】本願の請求項2の発明に係るブロックイン
タリーブ装置は、(L×M)個のアドレス(L,Mは2
以上の整数)が割り当てられた記憶手段と、該記憶手段
に対し、ブロックインタリーブすべき(L×M)個のデ
ータを単位とするブロックを書き込み,読み出す際のア
ドレスを生成するアドレス生成手段と、該アドレス生成
手段により生成されたアドレスを用いて、上記記憶手段
が上記データの書き込みおよび読み出しを切り替えて行
うように動作制御を行う制御手段とを備え、上記アドレ
ス生成手段は、ブロック番号b(bは1以上の整数)の
ブロックに対するアドレスの増分値REG(b)を記憶するア
ドレス増分値記憶手段と、ブロック番号0のブロックに
対するアドレスの増分値REG(0)としてα(αは2以上の
整数)を上記アドレス増分値記憶手段に初期設定する第
1の初期値設定手段と、上記アドレス増分値記憶手段の
記憶出力値REG(c)(c=b-1)に対しMを乗算する乗算手段
と、上記乗算手段による乗算結果と比較基準値L×M-1
との大小を比較する第1の比較手段を有し、その比較結
果に基づき上記乗算結果より可能な限り上記L×M-1を
減算することにより、α×M**(b−x)mod(L
×M−1)に相当する演算(**はべき乗、modは剰
余、xは0以上b以下の整数)を行って、オーバーフロ
ーを抑えるとともに、上記演算結果をブロック番号bの
ブロックに対するアドレスの増分値REG(b)として上記ア
ドレス増分値記憶手段に出力する第1のオーバーフロー
処理手段と、ブロック番号b(bは1以上の整数)のブ
ロックの中のn番目(nは1以上L×M−1以下の整
数)のアドレスAb(n)を記憶し上記記憶手段のアドレス
入力に出力するアドレス記憶手段と、ブロック番号bの
ブロックに対する0番目のアドレスAb(0)を上記アドレ
ス記憶手段に初期設定する第2の初期値設定手段と、上
記アドレス記憶手段の記憶出力値Ab(p)に対し(p=n-1)上
記アドレス増分値記憶手段からのアドレスの増分値REG
(b)を加算する加算手段と、上記加算手段による加算結
果と比較基準値L×M-1との大小を比較する第2の比較
手段を有し、その比較結果に基づき上記加算結果より可
能な限り上記L×M-1を減算することにより(Ab(n-1)+
α×M**(b−x))mod(L×M−1)に相当す
る演算を行って上記加算結果のオーバーフローを抑える
とともに、上記演算結果をブロック番号bのブロックに
対する第n番目のアドレスAb(n)として上記アドレス記
憶手段に出力する第2のオーバーフロー処理手段とを有
するものであり、上記第1の比較手段は、上記乗算結果
と上記比較基準値L×M-1とを比較する際に、上記L×M
-1に代えて、上記乗算結果に含まれる,上記L×M-1を
越える最小値Aを上記比較基準値として使用し、大小比
較を行うようにしたものである。
【0032】本願の請求項2の発明に係るブロックイン
タリーブ装置は、記憶手段に対する書き込み読み出しを
行う際に、上述のようなアドレス生成を行うことによ
り、1ブロックの記憶領域を持つ記憶手段1面でのブロ
ックインタリーブ動作を可能とし、かつアドレス生成手
段の回路規模を縮小可能とする。
【0033】本願の請求項3の発明に係るブロックイン
タリーブ装置は、請求項2記載のブロックインタリーブ
装置において、上記第1の初期値設定手段は、上記αを
発生する第1の定数発生手段と、リセット信号の投入時
に上記第1の定数発生手段からの上記αを選択し上記ア
ドレス増分値記憶手段に出力する第1のセレクタとを有
するものであり、上記第1のオーバーフロー処理手段
は、上記乗算手段の出力と上記アドレス増分値記憶手段
の出力とを入力とし、上記各ブロックの先頭において該
乗算手段の出力を選択し、それ以外の期間は上記アドレ
ス増分値記憶手段の出力を選択する第2のセレクタと、
上記第2のセレクタの出力と上記比較基準値Aとを比較
する第1の比較手段と、上記第2のセレクタの出力より
上記L×M-1を減算する第1の減算手段と、上記第2の
セレクタの出力と上記第1の減衰手段の出力とを入力と
し、上記第2のセレクタの出力が上記比較基準値以上の
場合上記第1の減衰手段の出力を選択し、上記第2のセ
レクタの出力が上記比較基準値未満の場合該第2のセレ
クタの出力を選択する第3のセレクタとを有し、リセッ
ト信号の非投入期間に上記第1のセレクタを介して上記
第3のセレクタの出力を上記アドレス増分値記憶手段に
出力するようにしたものである。
【0034】本願の請求項3の発明に係るブロックイン
タリーブ装置は、上述のような第1の初期値設定手段,
第1のオーバーフロー処理手順の構成とすることによ
り、剰余を求めることが可能な時点で直ちに剰余を求め
てからMの乗算を行うことにより、等価的にMの値をべ
き乗して剰余を求めるようにしており、このため、乗算
および剰余の算出に時間を要さず、定速な演算でもアド
レス生成を可能とする。
【0035】本願の請求項4の発明に係るブロックイン
タリーブ装置は、請求項2記載のブロックインタリーブ
装置において、上記第1の比較手段は、上記比較基準値
として、上記L×M-1を越える最小値Aに代えて、L×M
-1<B<Aを満たし、かつ該比較手段を構成する論理ゲ
ート数が最小になるように選定した値Bを使用するよう
にしたものである。
【0036】本願の請求項4の発明に係るブロックイン
タリーブ装置は、上述のような比較基準値を使用するこ
とにより、第1の比較手段の回路面積をより縮小可能と
し、このためアドレス生成手段の回路規模をより縮小可
能とする。
【0037】本願の請求項5の発明に係るブロックイン
タリーブ装置は、請求項2記載のブロックインタリーブ
装置において、上記第2の初期値設定手段は、値0を発
生する第2の定数発生手段と、リセット信号の投入時に
上記第2の定数発生手段からの値0を選択し上記アドレ
ス記憶手段に出力する第4のセレクタとを有するもので
あり、上記第2のオーバーフロー処理手段は、上記加算
手段の出力と比較基準値L×M−1とを比較する第2の
比較手段と、上記加算手段の出力より上記比較基準値L
×M-1を減算する第2の減算手段と、上記加算手段の出
力と上記第2の減算手段の出力とを入力とし、上記加算
手段の出力が上記比較基準値以上の場合上記第2の減算
手段の出力を選択し、上記加算手段の出力が上記比較基
準値未満の場合該加算手段の出力を選択する第5のセレ
クタとを有し、リセット信号の非投入期間に上記第4の
セレクタを介して上記第5のセレクタの出力を上記アド
レス記憶手段に出力するようにしたものである。
【0038】本願の請求項5の発明に係るブロックイン
タリーブ装置は、上述のように構成したことにより、第
1のオーバーフロー処理手段に比べ第2のオーバーフロ
ー処理手段の構成が簡略化され、このためアドレス生成
手段の回路規模をより縮小可能とする。
【0039】本願の請求項6の発明に係るブロックイン
タリーブ装置、請求項2記載のブロックインタリーブ装
置において、前記αとL×M-1との間に公約数が存在し
ないように、これらの値を設定するようにしたものであ
る。
【0040】本願の請求項6の発明に係るブロックイン
タリーブ装置は、上述のように構成したことにより、ア
ドレスの生成規則が破綻するのを防止し、記憶手段、ア
ドレス生成手段を最適化し、最小限の回路面積により、
ブロックインタリーブを行うことを可能とする。
【0041】本願の請求項7の発明に係るブロックイン
タリーブ装置は、請求項2記載のブロックインタリーブ
装置において、前記αとMの(-x)乗が等しくないよう
に、これらの値を設定するようにしたものである。
【0042】本願の請求項7の発明に係るブロックイン
タリーブ装置は、上述のように構成したことにより、最
初の書き込みの時点においてアドレスを連続して書き込
みを行うのを防止し、記憶手段、アドレス生成手段を最
適化し、最小限の回路面積により、ブロックインタリー
ブを行うことを可能とする。
【0043】本願の請求項8の発明に係るブロックイン
タリーブ装置は、請求項2記載のブロックインタリーブ
装置において、前記α、L、Mの値を、それぞれα=2
0、L=8、M=203としたものである。
【0044】本願の請求項8の発明に係るブロックイン
タリーブ装置は、上述のように構成したことにより、ア
ドレス生成手段を構成する第1の比較手段の面積が低減
し、記憶手段、アドレス生成手段を最適化し、最小限の
回路面積により、ブロックインタリーブ装置を行うこと
を可能とする。
【0045】本願の請求項9の発明に係るブロックイン
タリーブ装置は、請求項2記載のブロックインタリーブ
装置において、前記(L,M)の値を、L=96×X(X=1,2,
4),M=2,…,13あるいはM=2,…,13,L=96×X(X=1,2,4)の7
2通りのいずれかの値としたものである。
【0046】本願の請求項9の発明に係るブロックイン
タリーブ装置は、上述のように構成したことにより、ア
ドレス生成手段を構成する第1の比較手段の面積が低減
し、記憶手段、アドレス生成手段を最適化し、最小限の
回路面積により、ブロックインタリーブを行うことを可
能とする。
【0047】本願の請求項10の発明に係るブロックイ
ンタリーブ装置は、(L×M)個のアドレス(L,Mは
2以上の整数)が割り当てられた記憶手段と、該記憶手
段に対し、ブロックデインタリーブすべき(L×M)個
のデータを単位とするブロックを書き込み,読み出す際
のアドレスを生成するアドレス生成手段と、該アドレス
生成手段により生成されたアドレスを用いて、上記記憶
手段が上記データの書き込みおよび読み出しを切り替え
て行うように動作制御を行う制御手段とを備え、上記ア
ドレス生成手段は、ブロック番号bのブロックが入力さ
れる毎に、α(αは2以上の整数)とLの(b-x)乗(x
は0以上b以下の整数、bは0以上の整数)との乗算結
果を生成する乗算手段と、上記乗算手段による乗算結果
と比較基準値L×M-1との大小を比較する第1の比較手
段を有し、その比較結果に基づき上記乗算結果より可能
な限り上記L×M-1を減算して上記乗算結果のオーバー
フローを抑えることにより上記ブロック番号bのブロッ
クに対するアドレスの増分値REGを出力する第1のオー
バーフロー処理手段と、ブロック番号bのブロックが入
力される毎に、上記第1のオーバーフロー処理手段によ
り出力されるアドレスの増分値REGに対し、上記ブロッ
ク番号bのn-1番目(nは1以上L×M-1以下の整数)の
アドレスAb(n-1)を順次加算することにより上記ブロッ
ク番号bのブロック内のn番目のアドレスAb(n)を順次
生成する加算手段と、上記加算手段による加算結果と比
較基準値L×M-1との大小を比較する第2の比較手段を
有し、その比較結果に基づき上記加算結果より可能な限
り上記L×M-1を減算して上記加算結果のオーバーフロ
ーを抑えることにより上記記憶手段に対し実際に供給す
るアドレスを出力する第2のオーバーフロー処理手段と
を有し、上記第1の比較手段は、上記乗算結果と上記比
較基準値L×M-1とを比較する際に、上記L×M-1に代え
て、上記乗算結果に含まれる,上記L×M-1を越える最
小値Aを上記比較基準値として使用し、大小比較を行う
ようにしたものである。
【0048】本願の請求項10の発明に係るブロックデ
インタリーブ装置は、記憶手段に対する書き込み読み出
しを行う際に、上述のようなアドレス生成を行うことに
より、1ブロックの記憶領域を持つ記憶手段1面でのブ
ロックデインタリーブ動作を可能とし、かつアドレス生
成手段の回路規模を縮小可能とする。
【0049】本願の請求項11の発明に係るブロックデ
インタリーブ装置は、(L×M)個のアドレス(L,M
は2以上の整数)が割り当てられた記憶手段と、該記憶
手段に対し、ブロックデインタリーブすべき(L×M)
個のデータを単位とするブロックを書き込み,読み出す
際のアドレスを生成するアドレス生成手段と、該アドレ
ス生成手段により生成されたアドレスを用いて、上記記
憶手段が上記データの書き込みおよび読み出しを切り替
えて行うように動作制御を行う制御手段とを備え、上記
アドレス生成手段は、ブロック番号b(bは1以上の整
数)のブロックに対するアドレスの増分値REG(b)を記憶
するアドレス増分値記憶手段と、ブロック番号0のブロ
ックに対するアドレスの増分値REG(0)としてα(αは2
以上の整数)を上記アドレス増分値記憶手段に初期設定
する第1の初期値設定手段と、上記アドレス増分値記憶
手段の記憶出力値REG(c)(c=b-1)に対しLを乗算する乗
算手段と、上記乗算手段による乗算結果と比較基準値L
×M-1との大小を比較する第1の比較手段を有し、その
比較結果に基づき上記乗算結果より可能な限り上記L×
M-1を減算することにより、α×L**(b−x)mo
d(L×M−1)に相当する演算(**はべき乗、mo
dは剰余、xは0以上b以下の整数)を行って、オーバ
ーフローを抑えるとともに、上記演算結果をブロック番
号bのブロックに対するアドレスの増分値REG(b)として
上記アドレス増分記憶手段に出力する第1のオーバーフ
ロー処理手段と、ブロック番号b(bは1以上の整数)
のブロックの中のn番目(nは1以上L×M−1以下の
整数)のアドレスAb(n)を記憶し上記記憶手段のアドレ
ス入力に出力するアドレス記憶手段と、ブロック番号b
のブロックに対する0番目のアドレスAb(0)を上記アド
レス記憶手段に初期設定する第2の初期値設定手段と、
上記アドレス記憶手段の記憶出力値Ab(p)に対し(p=n-1)
上記アドレス増分値記憶手段からのアドレスの増分値RE
G(b)を加算する加算手段と、上記加算手段による加算結
果と比較基準値L×M-1との大小を比較する第2の比較
手段を有し、その比較結果に基づき上記加算結果より可
能な限り上記L×M-1を減算することにより(Ab(n-1)+
α×L**(b−x))mod(L×M−1)に相当す
る演算を行って上記加算結果のオーバーフローを抑える
とともに、上記演算結果をブロック番号bのブロックに
対する第n番目のアドレスAb(n)として上記アドレス記
憶手段に出力する第2のオーバーフロー処理手段とを有
するものであり、上記第1の比較手段は、上記乗算結果
と上記比較基準値L×M-1とを比較する際に、上記L×M
-1に代えて、上記乗算結果に含まれる,上記L×M-1を
越える最小値Aを上記比較基準値とし使用し、大小比較
を行うようにしたものである。
【0050】本願の請求項11の発明に係るブロックデ
インタリーブ装置は、記憶手段に対する書き込み読み出
しを行う際に、上述のようなアドレス生成を行うことに
より、1ブロックの記憶領域を持つ記憶手段1面でのブ
ロックデインタリーブ動作を可能とし、かつアドレス生
成手段の回路規模を縮小可能とする。
【0051】本願の請求項12の発明に係るブロックデ
インタリーブ装置は、請求項11記載のブロックデイン
タリーブ装置において、上記第1の初期値設定手段は、
上記αを発生する第1の定数発生手段と、リセット信号
の投入時に上記第1の定数発生手段からの上記αを選択
し上記アドレス増分値記憶手段に出力する第1のセレク
タとを有するものであり、上記第1のオーバーフロー処
理手段は、上記乗算手段の出力と上記アドレス増分値記
憶手段の出力とを入力とし、上記各ブロックの先頭にお
いて該乗算手段の出力を選択し、それ以外の期間は上記
アドレス増分値記憶手段の出力を選択する第2のセレク
タと、上記第2のセレクタの出力と上記比較基準値Aと
を比較する第1の比較手段と、上記第2のセレクタの出
力より上記L×M-1を減算する第1の減算手段と、上記
第2のセレクタの出力と上記第1の減算手段の出力とを
入力とし、上記第2のセレクタの出力が上記比較基準値
以上の場合上記第1の減算手段の出力を選択し、上記第
2のセレクタの出力が上記比較基準値未満の場合該第2
のセレクタの出力を選択する第3のセレクタとを有し、
リセット信号の非投入期間に上記第1のセレクタを介し
て上記第3のセレクタの出力を上記アドレス増分値記憶
手段に出力するようにしたものである。
【0052】本願の請求項12の発明に係るブロックデ
インタリーブ装置は、上述のような第1の初期値設定手
段,第1のオーバーフロー処理手段の構成とすることに
より、剰余を求めることが可能な時点で直ちに剰余を求
めてからMの乗算を行うことにより、等価的にMの値を
べき乗して剰余を求めるようにしており、このため、乗
算および剰余の算出に時間を要さず、低速な演算でもア
ドレス生成を可能とする。
【0053】本願の請求項13の発明に係るブロックデ
インタリーブ装置は、請求項11記載のブロックデイン
タリーブ装置において、上記第1の比較手段は、上記比
較基準値として、上記L×M-1を越える最小値Aに代え
て、L×M-1<B<Aを満たし、かつ該比較手段を構成
する論理ゲート数が最小になるように選定した値Bを使
用するようにしたものである。
【0054】本願の請求項13の発明に係るブロックデ
インタリーブ装置は、上述のような比較基準値を使用す
ることにより、第1の比較手段の回路面積をより縮小可
能とし、このためアドレス生成手段の回路規模をより縮
小可能とする。
【0055】本願の請求項14の発明に係るブロックデ
インタリーブ装置は、請求項11記載のブロックデイン
タリーブ装置において、上記第2の初期値設定手段は、
値0を発生する第2の定数発生手段と、リセット信号の
投入時に上記第2の定数発生手段からの値0を選択し上
記アドレス記憶手段に出力する第4のセレクタとを有す
るものであり、上記第2のオーバーフロー処理手段は、
上記加算手段の出力と比較基準値L×M−1とを比較す
る第2の比較手段と、上記加算手段の出力より上記比較
基準値L×M-1を減算する第2の減算手段と、上記加算
手段の出力と上記第2の減算手段の出力とを入力とし、
上記加算手段の出力が上記比較基準値以上の場合上記第
2の減算手段の出力を選択し、上記加算手段の出力が上
記比較基準値未満の場合該加算手段の出力を選択する第
5のセレクタとを有し、リセット信号の非投入期間に上
記第4のセレクタを介して上記第5のセレクタの出力を
上記アドレス記憶手段に出力するようにしたものであ
る。
【0056】本願の請求項14の発明に係るブロックデ
インタリーブ装置は、上述のように構成したことによ
り、第1のオーバーフロー処理手段に比べ第2のオーバ
ーフロー処理手段の構成が簡略化され、このためアドレ
ス生成手段の回路規模をより縮小可能とする。
【0057】本願の請求項15の発明に係るブロックデ
インタリーブ装置は、請求項11記載のブロックデイン
タリーブ装置において、前記αとL×M-1との間に公約
数が存在しないように、これらの値を設定するようにし
たものである。
【0058】本願の請求項15の発明に係るブロックデ
インタリーブ装置は、上述のように構成したことによ
り、アドレスの生成規則が破綻するのを防止し、記憶手
段、アドレス生成手段を最適化し、最小限の回路面積に
より、ブロックデインタリーブを行うことを可能とす
る。
【0059】本願の請求項16の発明に係るブロックデ
インタリーブ装置は、請求項11記載のブロックデイン
タリーブ装置において、前記αとLの(-x)乗が等しくな
いように、これらの値を設定するようにしたものであ
る。
【0060】本願の請求項16の発明に係るブロックデ
インタリーブ装置は、上述のように構成したことによ
り、最初の書き込みの時点においてアドレスを連続して
書き込みを行うのを防止し、記憶手段、アドレス生成手
段を最適化し、最小限の回路面積により、ブロックデイ
ンタリーブを行うことを可能とする。
【0061】本願の請求項17の発明に係るブロックデ
インタリーブ装置は、請求項11記載のブロックデイン
タリーブ装置において、前記α、L、Mの値を、それぞ
れα=20、L=8、M=203とするようにしたものである。
【0062】本願の請求項17の発明に係るブロックデ
インタリーブ装置は、上述のように構成したことによ
り、アドレス生成手段を構成する第1の比較手段の面積
が低減し、記憶手段、アドレス生成手段を最適化し、最
小限の回路面積により、ブロックデインタリーブを行う
ことを可能とする。
【0063】本願の請求項18の発明に係るブロックデ
インタリーブ装置は、請求項10記載のブロックデイン
タリーブ装置において、前記(L,M)の値を、L=96×
X(X=1,2,4),M=2,…,13あるいはM=2,…,13,L=96×X(X=1,
2,4)の72通りのいずれかの値としたものである。
【0064】本願の請求項18の発明に係るブロックデ
インタリーブ装置は、上述のように構成したことによ
り、アドレス生成手段を構成する第1の比較手段の面積
が低減し、記憶手段、アドレス生成手段を最適化し、最
小限の回路面積により、ブロックデインタリーブを行う
ことを可能とする。
【0065】本願の請求項19の発明に係るブロックイ
ンタリーブ方法は、(L×M)個のアドレス(L,Mは
2以上の整数)が割り当てられた記憶手段に対し、ブロ
ックインタリーブすべき(L×M)個のデータを単位と
するブロックを書き込み,読み出す際のアドレスを生成
し、該生成されたアドレスを用いて、上記記憶手段が上
記データの書き込みおよび読み出しを切り替えて行うよ
うに動作制御を行うことによりデータのブロックインタ
リーブを行う方法において、ブロック番号0のブロック
に対しアドレスの増分値REGとしてα(αは2以上の整
数)を与え、以後ブロック番号が1増すごとに増分値RE
GにMを乗算したものを当該ブロックのアドレスの増分
値REGとする際、アドレスの増分値REGがL×M−1を越
えた場合、当該増分値REGに代えてL×M−1による剰
余を当該増分値として上記の処理を繰り返すことによ
り、α×M**(b−x)mod(L×M−1)に相当
する演算(**はべき乗、modは剰余、xは0以上b
以下の整数)を行って、各ブロック毎のアドレスの増分
値を求め、各ブロックにおいて、アドレスの初期値とし
てAb(0)を設定し、以後当該ブロックのアドレスの増分
値REGを順次加算することにより当該ブロック内の各ア
ドレスAb(1)ないしAb(n)(nは1以上L×M−1以下の
整数)を生成する際、アドレスがL×M−1を越えた場
合当該アドレスに代えてL×M−1による剰余を当該ア
ドレスとして上記の処理を繰り返し、各ブロック内のア
ドレスを生成することにより、上記アドレス生成を実行
し、かつ、上記アドレスの増分値を計算する際の剰余を
求めるか否かの判定を、上記アドレスの増分値と上記L
×M−1との大小比較で判定する際、上記L×M-1に代
えて、上記乗算結果に含まれる,上記L×M-1を越える
最小値Aを上記比較基準値として使用し、大小比較を行
う第1の比較手段を使用して行うようにしたものであ
る。
【0066】本願の請求項19の発明に係るブロックイ
ンタリーブ方法は、記憶手段に対する書き込み読み出し
を行う際に、上述のようなアドレス生成を行うことによ
り、1ブロックの記憶領域を持つ記憶手段1面でのブロ
ックインタリーブ動作を可能とし、かつアドレス生成手
段の回路規模を縮小可能とする。
【0067】本願の請求項20の発明に係るブロックイ
ンタリーブ方法は、請求項19記載のブロックインタリ
ーブ方法において、上記第1の比較手段は、上記比較基
準値として、上記L×M-1を越える最小値Aに代えて、
L×M-1<B<Aを満たし、かつ該比較手段を構成する
論理ゲート数が最小になるように選定した値Bを使用す
るようにしたものである。
【0068】本願の請求項20の発明に係るブロックイ
ンタリーブ方法は、上述のような比較基準値を使用する
ことにより、第1の比較手段の回路面積をより縮小可能
とし、このためアドレス生成手段の回路規模をより縮小
可能とする。
【0069】本願の請求項21の発明に係るブロックイ
ンタリーブ方法は、請求項19記載のブロックインタリ
ーブ方法において、前記αとL×M-1との間に公約数が
存在しないように、これらの値を設定するようにしたも
のである。
【0070】本願の請求項21の発明に係るブロックイ
ンタリーブ方法は、上述のように構成したことにより、
アドレスの生成規則が破綻するのを防止し、記憶手段、
アドレス生成手段を最適化し、最小限の回路面積によ
り、ブロックインタリーブを行うことを可能とする。
【0071】本願の請求項22の発明に係るブロックイ
ンタリーブ方法は、請求項19記載のブロックインタリ
ーブ方法において、前記αとMの(-x)乗が等しくないよ
うに、これらの値を設定するようにしたものである。
【0072】本願の請求項22の発明に係るブロックイ
ンタリーブ方法は、上述のように構成したことにより、
最初の書き込みの時点においてアドレスを連続して書き
込みを行うのを防止し、記憶手段、アドレス生成のため
手段を最適化し、最小限の回路面積により、ブロックイ
ンタリーブを行うことを可能とする。
【0073】本願の請求項23の発明に係るブロックイ
ンタリーブ方法は、請求項19記載のブロックインタリ
ーブ方法において、前記α、L、Mの値を、それぞれα
=20、L=8、M=203とするようにしたものである。
【0074】本願の請求項23の発明に係るブロックイ
ンタリーブ方法は、上述のように構成したことにより、
アドレス生成のための手段を構成する第1の比較手段の
面積が低減し、記憶手段、アドレス生成手段を最適化
し、最小限の回路面積により、ブロックインタリーブを
行うことを可能とする。
【0075】本願の請求項24の発明に係るブロックイ
ンタリーブ方法は、請求項19記載のブロックインタリ
ーブ方法において、前記(L,M)の値を、L=96×X(X=
1,2,4),M=2,…,13あるいはM=2,…,13,L=96×X(X=1,2,4)
の72通りのいずれかの値とするようにしたものであ
る。
【0076】本願の請求項24の発明に係るブロックイ
ンタリーブ方法は、上述のように構成したことにより、
アドレス生成のための手段を構成する第1の比較手段の
面積が低減し、記憶手段、アドレス生成手段を最適化
し、最小限の回路面積により、ブロックインタリーブを
行うことを可能とする。
【0077】本願の請求項25の発明に係るブロックデ
インタリーブ方法は、(L×M)個のアドレス(L,M
は2以上の整数)が割り当てられた記憶手段に対し、ブ
ロックデインタリーブすべき(L×M)個のデータを単
位とするブロックを書き込み,読み出す際のアドレスを
生成し、該生成されたアドレスを用いて、上記記憶手段
が上記データの書き込みおよび読み出しを切り替えて行
うように動作制御を行うことによりデータのブロックデ
インタリーブを行う方法において、ブロック番号0のブ
ロックに対しアドレスの増分値REGとしてα(αは2以
上の整数)を与え、以後ブロック番号が1増すごとに増
分値REGにLを乗算したものを当該ブロックのアドレス
の増分値REGとする際、アドレスの増分値REGがL×M−
1を越えた場合、当該増分値REGに代えてL×M−1に
よる剰余を当該増分量として上記の処理を繰り返すこと
により、α×L**(b−x)mod(L×M−1)に
相当する演算(**はべき乗、modは剰余、xは0以
上b以下の整数)を行って、各ブロック毎のアドレスの
増分値を求め、各ブロックにおいて、アドレスの初期値
としてAb(0)を設定し、以後当該ブロックのアドレスの
増分値REGを順次加算することにより当該ブロック内の
各アドレスAb(1)ないしAb(n)(nは1以上L×M−1以
下の整数)を生成する際、アドレスがL×M−1を越え
た場合当該アドレスに代えてL×M−1による剰余を当
該アドレスとして上記の処理を繰り返し、各ブロック内
のアドレスを生成することにより、上記アドレス生成を
実行し、かつ、上記アドレスの増分値を計算する際の剰
余を求めるか否かの判定を、上記アドレスの増分値と上
記L×M−1との大小比較で判定する際、上記L×M-1
に代えて、上記乗算結果に含まれる,上記L×M-1を越
える最小値Aを上記比較基準値として使用し、大小比較
を行う第1の比較手段を使用して行うようにしたもので
ある。
【0078】本願の請求項25の発明に係るブロックデ
インタリーブ方法は、記憶手段に対する書き込み読み出
しを行う際に、上述のようなアドレス生成を行うことに
より、1ブロックの記憶領域を持つ記憶手段1面でのブ
ロックデインタリーブ動作を可能とし、かつアドレス生
成手段の回路規模を縮小可能とする。
【0079】本願の請求項26の発明に係るブロックデ
インタリーブ方法は、請求項23記載のブロックデイン
タリーブ方法において、上記第1の比較手段は、上記比
較基準値として、上記L×M-1を越える最小値Aに代え
て、L×M-1<B<Aを満たし、かつ該比較手段を構成
する論理ゲート数が最小になるように選定した値Bを使
用するようにしたものである。
【0080】本願の請求項26の発明に係るブロックデ
インタリーブ方法は、上述のような比較基準値を使用す
ることにより、第1の比較手段の回路面積をより縮小可
能とし、このためアドレス生成手段の回路規模をより縮
小可能とする。
【0081】本願の請求項27の発明に係るブロックデ
インタリーブ方法は、請求項25記載のブロックデイン
タリーブ方法において、前記αとL×M-1との間に公約
数が存在しないように、これらの値を設定するようにし
たものである。
【0082】本願の請求項27の発明に係るブロックデ
インタリーブ方法は、上述のように構成したことによ
り、アドレスの生成規則が破綻するのを防止し、記憶手
段、アドレス生成手段を最適化し、最小限の回路面積に
より、ブロックデインタリーブを行うことを可能とす
る。
【0083】本願の請求項28の発明に係るブロックデ
インタリーブ方法は、請求項25記載のブロックデイン
タリーブ方法において、前記αとMの(-x)乗が等しくな
いように、これらの値を設定するようにしたものであ
る。
【0084】本願の請求項28の発明に係るブロックイ
ンタリーブ方法は、上述のように構成したことにより、
最初の書き込みの時点においてアドレスを連続して書き
込みを行うのを防止し、記憶手段、アドレス生成のため
の手段を最適化し、最小限の回路面積により、ブロック
デインタリーブを行うことを可能とする。
【0085】本願の請求項29の発明に係るブロックデ
インタリーブ方法は、請求項25記載のブロックデイン
タリーブ方法において、前記α、L、Mの値を、それぞ
れα=20、L=8、M=203としたものである。
【0086】本願の請求項29の発明に係るブロックデ
インタリーブ方法は、上述のように構成したことによ
り、アドレス生成のための手段を構成する第1の比較手
段の面積が低減し、記憶手段、アドレス生成手段を最適
化し、最小限の回路面積により、ブロックデインタリー
ブを行うことを可能とする。
【0087】本願の請求項30の発明に係るブロックデ
インタリーブ方法は、請求項25記載のブロックデイン
タリーブ方法において、前記(L,M)の値を、L=96×
X(X=1,2,4),M=2,…,13あるいはM=2,…,13,L=96×X(X=1,
2,4)
【0088】の72通りのいずれかの値とするようにし
たものである。
【0089】本願の請求項30の発明に係るブロックデ
インタリーブ方法は、上述のように構成したことによ
り、アドレス生成のための手段を構成する第1の比較手
段の面積が低減し、記憶手段、アドレス生成手段を最適
化し、最小限の回路面積により、ブロックデインタリー
ブを行うことを可能とする。
【0090】発明を実施するための最良の形態 (実施の形態1) 以下、本発明の実施の形態1について、図を用いて説明
する。
【0091】本願発明によるブロックインタリーブ装置
およびブロックインタリーブ方法について説明する。
【0092】本実施の形態1のブロックインタリーブ装
置およびブロックインタリーブ方法は、記憶装置のアド
レス生成装置を最適化することにより、記憶装置の制御
装置の面積あるいは消費電力をより低減できるようにし
たものである。
【0093】図1は本願発明の実施の形態1による,L
×Mデータのブロックインタリーブを行うブロックイン
タリーブ装置を示すものである。図1において、101
は本ブロックインタリーブ装置によりブロックインタリ
ーブを行うべき入力データの入力端子、102はこのブ
ロックインタリーブを行うべき入力データのブロックの
先頭入力データ毎に同期して入力され、値0でアクティ
ブとなる先頭入力データ同期信号(NBLOCKSYN
C信号)の入力端子、114は値0で本ブロックインタ
リーブ装置を初期状態にリセットするリセット信号(N
RST信号)の入力端子、106は各入力データ毎に発
生する同期信号の入力端子、116は各入力データ毎に
発生する同期信号(クロック信号CLK)の2倍の周波
数のクロック信号CLK2の入力端子、112は同期信
号入力端子106から入力される同期信号に応じて記憶
装置104を制御する制御装置であり、アドレス生成手
段により生成されたアドレスを用いて、記憶手段がデー
タの書き込みおよび読み出しを切り替えて行う制御手段
に相当する。103は入力端子106から入力される同
期信号(CLK信号),入力端子102から入力される
先頭入力データ同期信号(NBLOCKSYNC信号)
および入力端子114から入力されるリセット信号(N
RST信号)に基づいて記憶装置104のアドレスを生
成するアドレス生成装置であり、記憶手段に対し、ブロ
ックインタリーブすべき(L×M)個のデータを単位と
するブロックを書き込み,読み出す際のアドレスを生成
するアドレス生成手段に相当する。120はこのアドレ
ス生成装置103が生成したアドレスを出力する出力端
子、104は記憶装置(記憶手段)であり、(L×M)
個のアドレスが割り当てられ、制御装置112の制御に
より、アドレス生成装置103により生成されたアドレ
スに入力端子101からの入力データを書き込み、これ
を読み出すことによりブロックインタリーブを行うもの
である。また、ADは記憶装置104のアドレス入力端
子、DIは記憶装置104のデータ入力端子、NWEは
記憶装置104のライトイネーブル入力端子であり、値
0が入力されると記憶装置104が書き込みモードにな
る。DOは記憶装置104のデータ出力端子であり、こ
れは本ブロックインタリーブ装置の出力端子でもある。
CLK2はこの記憶装置104用のクロック入力端子で
あり、クロック信号入力端子116から、クロック信号
CLKの2倍のクロック信号が入力される。105は本
ブロックインタリーブ装置によりインタリーブされたデ
ータを出力する出力端子である。
【0094】また、図1のアドレス生成装置103にお
いて、110は定数M を発生する定数発生器、113は
初期値αが初期設定されるレジスタ、111はこの定数
M とレジスタ113の出力信号とを乗算する乗算器であ
り、ブロック番号bのブロックが入力される毎に、α
(αは2以上の整数)とM の(b-x) 乗(x は0 以上b以
下の整数、bは0以上の整数)との乗算結果を生成する
乗算手段に相当する。140はこの乗算器111の出力
がオーバフローした場合の処理を行うオーバフロー処理
装置であり、上記乗算手段による乗算結果と比較基準値
L×M-1との大小を比較する第1の比較手段を有し、そ
の比較結果に基づき1クロック毎に上記乗算結果より可
能な限り上記L×M-1を減算して上記乗算結果のオーバ
ーフローを抑えることにより上記ブロック番号bのブロ
ックに対するアドレスの増分値REGを出力する第1のオ
ーバーフロー処理手段に相当する。121は入力端子1
02からのNBLOCKSYNC信号を制御信号とし乗
算器111の出力信号またはレジスタ113の出力信号
のいずれかを選択するスイッチ(第2のセレクタ)、1
22はこのセレクタ121の出力信号から(L×M−
1)を減算する減算器(第1の減算手段)、123はこ
のセレクタ121の出力信号と(L×M−1)との大小
を比較する比較器(第1の比較手段)、124はこの比
較器123の出力信号を制御信号として減算器122の
出力信号またはセレクタ121の出力信号のいずれかを
選択するスイッチ(第3のセレクタ)、118は初期値
αを発生する定数発生器(第1の定数発生手段)、12
6は入力端子114からのNRST信号を制御信号と
し、定数発生器118の出力信号またはセレクタ124
の出力信号のいずれかを選択してレジスタ(アドレス増
分値記憶手段)113に出力するスイッチ(第1のセレ
クタ)、128はNBLOCKSYNC信号を制御信号
とし、レジスタ113の出力信号またはレジスタ127
の出力信号のいずれかを選択するスイッチ(セレク
タ)、127はこのセレクタ128の出力信号を入力と
するレジスタである。
【0095】また、115はこのレジスタ127の出力
信号とレジスタ117の出力信号とを加算する加算器で
あり、ブロック番号bのブロックが入力される毎に、上
記第1のオーバーフロー処理手段により出力されるアド
レスの増分値REGに対し、上記ブロック番号bのn-1番目
(nは1以上L×M-1以下の整数)のアドレスAb(n-1)を
順次加算することにより上記ブロック番号bのブロック
内のn番目のアドレスAb(n)を順次生成する加算手段に
相当する。141はこの加算器115の出力がオーバー
フローした場合の処理を行うオーバフロー処理装置であ
り、上記加算手段による加算結果と比較基準値L×M-1
との大小を比較する第2の比較手段を有し、その比較結
果に基づき上記加算結果より可能な限り上記L×M-1を
減算して上記加算結果のオーバーフローを抑えることに
より上記記憶手段に対し実際に供給するアドレスを出力
する第2のオーバフロー処理手段に相当する。132は
加算器115の出力信号から(L×M−1)を減算する
減算器(第2の減算手段)、133はこの加算器115
の出力信号と(L×M−1)との大小を比較する比較器
(第2の比較手段)、134はこの比較器133の出力
信号を制御信号として加算器115の出力信号または減
算器132の出力信号のいずれを選択するスイッチ(第
5のセレクタ)、119は初期値0を発生する定数発生
器、130はNBLOCKSYNC信号を制御信号と
し、定数発生器119の出力信号またはセレクタ134
の出力信号のいずれかを選択するスイッチ(第4のセレ
クタ)である。
【0096】また、117はこのオーバフロー処理装置
141の出力がセットされるレジスタ(アドレス記憶手
段)、129はデータ入力端子101からのデータを保
持し記憶装置104に出力するレジスタであり、レジス
タ113,127,117,129はいずれも入力デー
タに同期したクロック信号CLKの立ち上がりで保持す
るデータを更新する。
【0097】図2は本実施の形態1によるブロックイン
タリーブ装置の動作を模式的に示すものであり、4行5
列のデータに対し、ブロックインタリーブを行う場合を
例にとって示している。
【0098】この実施の形態1によるブロックインタリ
ーブ装置は、以下のようなブロックインタリーブ方法に
よりデータのブロックインタリーブを行うものである。
【0099】即ち、この方法は、(L×M)個のアドレ
ス(L,Mは2以上の整数)が割り当てられた記憶手段
に対し、ブロックインタリーブすべき(L×M)個のデ
ータを単位とするブロックを書き込み,読み出す際のア
ドレスを生成し、該生成されたアドレスを用いて、上記
記憶手段が上記データの書き込みおよび読み出しを切り
替えて行うように動作制御を行うことによりデータのブ
ロックインタリーブを行う方法において、ブロック番号
0のブロックに対しアドレスの増分値REGとしてα(α
は2以上の整数)を与え、以後ブロック番号が1増すご
とに増分値REGにMを乗算したものを当該ブロックのア
ドレスの増分値REGとする際、アドレスの増分値REGがL
×M−1を越えた場合、当該増分値REGに代えてL×M
−1による剰余を当該増分値として上記の処理を繰り返
すことにより、α×M**(b−x)mod(L×M−
1)に相当する演算(**はべき乗、modは剰余、x
は0以上b以下の整数)を行って、各ブロック毎のアド
レスの増分値を求め、各ブロックにおいて、アドレスの
初期値としてAb(0)を設定し、以後当該ブロックのアド
レスの増分値REGを順次加算することにより当該ブロッ
ク内の各アドレスAb(1)ないしAb(n)(nは1以上L×M
−1以下の整数)を生成する際、アドレスがL×M−1
を越えた場合当該アドレスに代えてL×M−1による剰
余を当該アドレスとして上記の処理を繰り返し、各ブロ
ック内のアドレスを生成することにより、上記アドレス
生成を実行し、かつ、上記アドレスの増分値を計算する
際の剰余を求めるか否かの判定を、上記アドレスの増分
値と上記L×M−1との大小比較で判定する際、上記L
×M-1に代えて、上記乗算結果に含まれる,上記L×M-1
を越える最小値Aを上記比較基準値として使用し、大小
比較を行う第1の比較手段を使用して行う,という方法
により、ブロックインタリーブを行うものである。
【0100】次に図1の動作について、図2に示した,
4行5列のデータに対し、ブロックインタリーブを行う
場合を例にとって説明する。
【0101】図1に示すように、本実施の形態1による
ブロックインタリーブ装置は、入力端子101から入力
されるデータをL×Mデータの記憶装置104に書き込
み、このL×Mデータの記憶装置104からデータを読
み出すことによりブロックインタリーブを行うものであ
り、その際、図2に示すような順序で書き込み,読み出
しを行うように、制御装置112が前記記憶装置104
へ制御信号を出力することによりその書き込み,読み出
し制御を行い、かつアドレス生成装置103がその書き
込み,読み出しの際のアドレスを生成し、これを前記記
憶装置104に出力することにより、1ブロックの記憶
領域を持つ記憶装置1面でブロックインタリーブされた
出力105を生成できるものである。
【0102】この装置は、ブロックインタリーブ装置の
記憶装置104のアドレスが図13(a)のように割り当
てられているとすると、まず、図2(a)のようにREG
を2とし、図13(a)のアドレス0を初期値とし1入力
データ毎に2ずつ増加する書き込みアドレスを順次生成
する。その際、書き込みアドレスが19(=4×5−
1)を越えるとこの19による剰余をアドレスとして使
用する。従って、例えば、図13(a)におけるアドレス
2に相当するアドレスは、図2(a)ではアドレス1が割
り当てられる。そして、この生成規則に従って生成した
書き込みアドレスに従い、データを書き込みを、ブロッ
ク内の全てのアドレスにアクセスが完了する迄行なう。
【0103】即ち、図13(a)の従来方式では書き込み
アドレスが増加する順に従って0→1→2→……→19
の順でデータを順次書き込んでいたものが、本実施の形
態1ではこれを1つ飛ばしに書き込んでゆくものであ
る。
【0104】次に、図2(b)に示されているように、R
EGに5を乗じ、図13(a)におけるアドレスの並びを
基準として、図13(a)のアドレス0を初期値とし、1
入力データ毎にアドレスが10(=2×5)ずつ増加す
るアドレスを順次生成するが、その際、アドレスが19
(=4×5−1)を越えるとこの19による剰余をアド
レスとして使用する。
【0105】そして、図2(b)において、この生成規則
に従って生成したアドレスに従い読み出しを行い、この
読み出しを行ったのと同じ順で同じアドレスに対し書き
込みを行う。なお、この読み出しおよび書き込みは、ブ
ロック内の全てのアドレスにアクセスが完了する迄行な
う。
【0106】次に、図2(c)に示されているように、こ
のREGに対し5を乗じるが、その値が19を越えてい
るのでこの19による剰余12を求め、これをREGの
値として使用する。
【0107】そして、図13(a)に示されているアドレ
スの並びを基準とし、そのアドレス0を初期値として、
1入力データ毎に12ずつ増加するアドレスを順次生成
し、アドレスが19(=4×5−1)を越えるとこの1
9による剰余を求め、これをアドレスとして使用する。
【0108】そして、図2(c)において、この生成規則
に従って生成したアドレスに従い読み出しを行い、この
読み出しを行ったのと同じ順で同じアドレスに対し書き
込みを行う。なお、読み出しおよび書き込みは、ブロッ
ク内の全てのアドレスにアクセスが完了する迄行なう。
【0109】以下、同様の処理を繰り返すことにより、
順次異なるアドレスの順で読み出し、書き込みを行って
ゆけば、この例では図2(j)の時点において、図2(a)と
同様のアドレスの順に戻る。
【0110】このような手順を繰り返すことにより、図
3に示すように、1ブロックの記憶領域を持つ記憶装置
1面のみを用いてブロックインタリーブを行うことが可
能となっている。これは制御装置112による書き込み
読み出し制御、およびアドレス生成装置103により生
成する記憶装置104のアドレスを上述のように工夫す
ることにより実現しているものであり、これに加えて、
本実施の形態1ではアドレス生成装置の回路面積や消費
電力の低減が可能になっている。
【0111】この実施の形態1におけるアドレス生成規
則は以下の通りである。
【0112】即ち、n番目のアドレスをAb(n)、記憶装
置の行の数をL、列の数をM、ブロック番号bを0以上
の整数、xを0以上b以下の任意の整数とすると、
【0113】 Ab(n)=(Ab(n−1)+α×M**(b−x))mod(L×M−1)…(3)
【0114】また、REG=α×M**(b−x)mo
d(L×M−1)
【0115】ただし、Ab(0)=0、αは2以上の整数と
する。また、**はべき乗を表わす。
【0116】従って、上述の例ではα=2として最初の
書き込みの際に1つ飛ばしに書き込みを行っており、α
の値を適宜設定することにより、2つ飛ばし以上で書き
込みを行うことも可能であるが、αとL×M−1の間に
公約数が存在してはいけない。これは、αとL×M−1
の間に公約数が存在すると、ブロック内のデータの最後
のデータが常にアドレスL×M−1に書き込まれるはず
なのに、途中でアドレスがL×M−1となってしまい、
アドレスの生成規則が破綻するからである。
【0117】また、αがMの(-X)乗に等しい場合も除く
必要がある。この場合は従来例に一致し、さらなる回路
規模の縮小や消費電力の低減が実現できないからであ
る。
【0118】次にこのような書き込み読み出し動作を行
うのに必要な,アドレス生成装置のアドレス生成動作に
ついて説明する。
【0119】図1のアドレス生成装置は、式(3)より定
義されたアドレス生成規則を実行することにより、記憶
装置104のアドレスを順次生成する。
【0120】即ち、図1のアドレス生成装置は、(X+
Y)modZ=XmodZ+YmodZが成立すること
を利用し、式(3)の(Ab(n−1)+α×M**(b−
x))mod(L×M−1)における、α×M**(b
−x)mod(L×M−1)の項のMのべき乗計算を、
定数発生器110,乗算器111,レジスタ113によ
りMの繰り返し乗算を行うことにより実行し、かつ、こ
の項におけるαの乗算と(L×M−1)による剰余計算
を、オーバーフロー処理装置140により実行する。
【0121】また、式(3)のAb(n−1)mod(L×
M−1)の項の計算およびその初期値Ab(0)=0の投入
を、オーバーフロー処理装置141により実行する。
【0122】また、これら2つの項の剰余計算結果の加
算を、加算器115により実行しているものである。
【0123】セレクタ121には乗算器111の出力お
よびレジスタ113の出力が与えられるが、入力データ
がブロックの先頭に該当し、ブロックの先頭入力データ
同期信号102が入力されると、セレクタ121は乗算
器111の出力を選択し、それ以外の場合はレジスタ1
13の出力を選択する。このセレクタ121の出力は比
較器123によりL×M−1と比較される。セレクタ1
24はこのセレクタ121の出力からL×M−1を減算
する減算器122の出力およびセレクタ121の出力が
与えられるが、セレクタ121の出力がL×M−1以上
である旨を比較器123が判定すると減算器122の出
力を選択し、それ以外の場合はセレクタ121の出力を
選択する。そしてこのセレクタ124の出力はレジスタ
113に出力される。これにより、オーバーフロー処理
装置140は入力がL×M−1を越えれば、1ブロック
毎にL×M−1を繰り返し減算することにより、その値
がL×M−1以下となるように制限する。
【0124】このようなオーバフロー処理装置を設ける
ことにより、アドレス生成装置の内部で乗算や加算を繰
り返すことにより、数値がL×M−1以上に発散してゆ
くのを抑えている。
【0125】図1のアドレス生成装置103において、
定数発生器118は初期値「α」を発生し、これをレジ
スタ113に出力する。乗算器111はこのレジスタ1
13の出力と定数発生器110の出力「M」を乗算し、
オーバフロー処理装置140に出力する。
【0126】
【0127】また、定数発生器119は初期値「0」を
発生し、これをレジスタ117に出力する。加算器11
5はこのレジスタ117の出力とレジスタ113の出力
を加算し、オーバフロー処理装置141に出力する。
【0128】オーバフロー処理装置141はその入力デ
ータがL×M-1を越えた場合、これがL×M-1以下になる
ように「L×M-1」を減算し、その結果をレジスタ11
7に出力するが、加算器115の出力がオーバフロー処
理装置140によって最大値L×M-1以下に抑えられて
おり、かつ、オーバフロー処理装置141自身の出力も
最大値L×M-1以下に抑えられるので、入力データがL
×M-1を越えた場合に減算器132が減算を実行する回
数は1度だけでよく、従って、オーバフロー処理装置1
41は内部にオーバフロー処理装置140のような帰還
ループを有しておらず、オーバフロー処理装置140よ
りも回路規模が小さく、その分低消費電力となってい
る。
【0129】レジスタ117は、入力データがL×M個
入力された時点でブロックの先頭入力データ同期信号1
02により初期値「0」にリセットされ、同期信号入力
106により入力データ毎に更新される。
【0130】これにより、アドレス生成装置において、
ブロック番号bの0番目のアドレスAb(0)を0とし、ブ
ロック番号bのn番目(nは0以上の整数)のアドレス
Ab(n)を、α(αは、2以上の整数)とMの(b-x)乗(x
は0以上b以下の整数)の乗算結果とAb(n-1)との和を
L×M-1で割った剰余から生成することにより、本実施
の形態1の装置における記憶装置のアドレスの生成を実
行しているものであり、乗算や加算を繰り返すことによ
り、アドレス生成装置内部で数値がL×M-1以上に発散
してゆくのを、オーバーフロー処理装置を設けることに
よって、最大値L×M-1以下となるように抑えている。
【0131】図4はこの図1のブロックインタリーブ装
置のタイミングチャートを示している。この図4は、入
力端子116からのクロック信号CLK2、入力端子1
06からのクロック信号CLK、入力端子106からの
リセット信号NRST,入力端子102からの信号NB
LOCKSYNC、入力端子114からのリセット信号
NRST、レジスタ113の出力信号、レジスタ127
の出力信号、レジスタ117の出力信号、記憶装置10
4の制御信号NWE、記憶装置104のデータ入力信号
DI、記憶装置104のデータ出力信号DOについて示
している。
【0132】次にこの図4を用いて図1のブロックイン
タリーブ装置の動作を詳細に説明する。まず、入力端子
106よりクロック信号CLKが、また、入力端子11
6よりその2倍の周波数のクロック信号CLK2が与え
られているものとする。
【0133】時刻t0では、入力端子102からの信号
NBLOCKSYNCがハイレベル(=値1;以下、H
と記す)であるので、セレクタ121は、乗算器111
の出力を選択せず、レジスタ113の出力を選択する。
レジスタ113の出力値は不定であるが、これがL×M
−1(この例では4×5−1=19)を越えていればそ
の値がL×M−1以下になるまでセレクタ124は減算
器122の出力を選択し続け、また、セレクタ124の
出力値が元々L×M−1以下であればセレクタ124は
セレクタ121の出力を選択するので、セレクタ124
の出力はL×M−1以下の不定値となる。
【0134】また、この時刻t0において、入力端子1
14からのリセット信号NRSTはHからロウレベル
(=値0;以下、Lと記す)に変化しており、セレクタ
126はセレクタ124の出力ではなく、定数発生器1
18からの定数α(この例では値2)を選択する。この
セレクタ126の出力はレジスタ113で1クロックC
LK分保持された後出力されるが、この時刻t0では、
レジスタ113の出力値は不定のままである。
【0135】また、この時刻t0ではNBLOCKSY
NC信号がHのためセレクタ128はレジスタ113の
出力は選択せず、レジスタ127の出力を選択する。こ
のセレクタ128の出力はレジスタ127の入力に戻る
ので、レジスタ127の出力は不定のままである。
【0136】さらに、この時刻t0ではセレクタ130
は定数発生器119の出力値0ではなく、セレクタ13
4の出力を選択する。このセレクタ134は加算器11
5の出力、あるいはこれがL×M−1(この例では1
9)を越えていればL×M−1を減算した値、を選択す
るので、レジスタ117には、セレクタ134の出力で
ある不定値とレジスタ127の出力とを加算した不定
値、あるいはこれよりL×M−1を減算した値が入力さ
れる。
【0137】次に、時刻t1では、レジスタ113より
値2が出力され、これが乗算器111によって定数発生
器110からの定数M(=値5)と乗算されるが、この
時刻t1では、セレクタ121はこの乗算値10を選択
しない。また、セレクタ126は定数発生器118から
の定数α(=値2)を選択しており、これがレジスタ1
13に入力される。セレクタ128およびセレクタ13
0も時刻t0におけるのと同様、それぞれレジスタ12
7出力およびセレクタ134出力を選択している。これ
らの状態は、時刻t2でも同様である。
【0138】次に、時刻t3では、時刻t2においてレ
ジスタ113に入力された値2がレジスタ113より出
力され、これと定数発生器110からの定数M(=値
5)との乗算値10がセレクタ121で選択されるが、
比較器123はこの乗算器10がL×M−1(=値1
9)よりも小さいと判定するため、セレクタ124はこ
の乗算器10を選択する。またセレクタ126もこのセ
レクタ124からの乗算値10を選択するので、レジス
タ113にはこの値10が入力される。
【0139】また、セレクタ128はレジスタ113の
出力値2を選択し、レジスタ127にはこの値2が入力
される。
【0140】さらに、セレクタ130は定数発生器11
9からの定数値0を選択し、レジスタ117はこの値0
が入力される。
【0141】次に、時刻t4において、時刻t3におい
てレジスタ113に入力された値10が出力され、乗算
器111はこれと定数発生器110の出力値5を乗算す
るが、セレクタ121はこの乗算器50は選択せず、レ
ジスタ113の出力値を選択する。またセレクタ126
はセレクタ124出力を選択するので、このレジスタ1
13はこの値10が入力される。
【0142】またセレクタ128はレジスタ127の出
力値2を選択し、これをセレクタ127に入力する。加
算器115はこのレジスタ127の出力値2とレジスタ
117の出力値0とを加算し、セレクタ134,130
はこの加算値2を選択しレジスタ117に入力する。
【0143】また、レジスタ117の出力が値0となる
ので、これを記憶装置104のアドレスとして、制御信
号(書き込みイネーブル信号)NWEのHのタイミング
で記憶装置104から初期値(不定値)が読み出され、
かつ時刻t3においてレジスタ129に入力されていた
データD0が制御信号(書き込みイネーブル信号)NW
EのLのタイミングで記憶装置104に入力される。こ
れらの状態は、時刻t5以降でも同様であるが、セレク
タ130がセレクタ134の出力を選択し、レジスタ1
27の出力が値2を保持するので、加算器115の出力
は、CLK信号が1回入力される毎に値2ずつ増加す
る。但し、これが値19以上になろうとすると、セレク
タ134は減算器132出力を選択しその値を19以下
に抑える。
【0144】次に、時刻t23において、セレクタ12
1が乗算器111の出力値50を選択すると、セレクタ
124は比較器123の判定により、減算器122の出
力を選択し、値31(=50−19)を出力する。セレ
クタ126はこの値を選択し、レジスタ113に入力す
る。またセレクタ128はレジスタ113の出力を選択
し、この値10をレジスタ127に入力する。
【0145】加算器115はレジスタ127の出力値2
とレジスタ117の出力値19を加算するが、この時刻
t23においてセレクタ119は加算器115の出力を
選択せず、定数発生器119の出力値0を選択し、これ
をレジスタ117に入力する。
【0146】これら、時刻t4ないし時刻t23までの
動作によって、図2(a)に示すアドレスが発生される。
また、記憶装置104からはこれらのアドレスから初期
値(不定値)がクロックCLK毎に順次読み出され、こ
れに代えてデータD0ないしD19が、これらのアドレ
スにクロックCLK毎に順次書き込まれる。
【0147】次に、時刻t24において、レジスタ11
3は値31を出力し、乗算器111は値155を出力す
るが、セレクタ121はレジスタ113の出力値31を
選択する。セレクタ124は比較器123の判定結果に
より減算器122の出力値12を選択し、セレクタ12
6はこの値12をレジスタ113に入力する。
【0148】セレクタ128はセレクタ128の出力値
10をレジスタ127に入力するので、この値10は保
持される。
【0149】また、加算器115はレジスタ127の出
力値10とレジスタ117の出力値0とを加算し、セレ
クタ134は比較器133の判定により、加算器10を
選択し、レジスタ117に入力する。
【0150】次に、時刻t25において、レジスタ11
3は値12を出力し、乗算器111は値60を出力する
が、セレクタ121はレジスタ113の出力値12を選
択し、セレクタ126はこの値12をレジスタ113に
入力する。
【0151】セレクタ128はセレクタ128の出力値
10をレジスタ127に入力するので、この値10は保
持される。
【0152】また、加算器115はレジスタ127の出
力値10とレジスタ117の出力値10とを加算する
が、セレクタ134は比較器133の判定により、加算
値20を選択せず、減算器132の出力値1を選択し、
これをレジスタ117に入力する。
【0153】これらの状態は、時刻t26以降でも同様
であるが、セレクタ130がセレクタ134の出力を選
択し、レジスタ127の出力が値10を保持するので、
加算器115の出力は、CLK信号が1回入力される毎
に値10ずつ増加する。但し、これが値19以上になろ
うとすると、セレクタ134は減算器132出力を選択
しその値を19以下に抑え、これがレジスタ117を介
して1クロックCLK後の記憶装置104にアドレスと
して与えられる。
【0154】このため、時刻t24ないし時刻t43ま
での動作によって、図2(b)に示すアドレスが発生され
る。また、記憶装置104からはこれらのアドレスか
ら、時刻t4ないしt23の期間に書き込まれていたデ
ータD0ないしD19がデータDO0ないしDO19と
してクロックCLK毎に順次読み出され、これに代えて
データD20ないしD39が、これらのアドレスにクロ
ックCLK毎に順次書き込まれる。
【0155】さらに、時刻t44以後において、レジス
タ113の出力はクロックCLKが1度入力する毎に減
少し、値41(=60−19),値22(=41−1
9),値3(=22−19)となって安定するが、レジ
スタ127は時刻t43においてレジスタ113から出
力された値12を保持するため、レジスタ117の出力
はこの値12の整数倍の値19による剰余となる。
【0156】このため、時刻t44ないし時刻t63
(図示せず)の動作によって、図2(c)に示すアドレス
が発生される。また、記憶装置104からはこれらのア
ドレスから、時刻t24ないしt43の期間に書き込ま
れていたデータD20ないしD39がデータDO20な
いしDO39(図示せず)としてクロックCLK毎に順
次読み出され、これに代えてデータD40ないしD59
(図示せず)が、これらのアドレスにクロックCLK毎
に順次書き込まれる。
【0157】以後、同様の動作を繰り返すことにより、
図2(a)ないし図2(j)に示されたアドレスを順次
発生する。
【0158】なお、式(3)において、xの値を設定す
ることにより、初期状態を図2(a)以外のいずれかの状
態に変更することもできるが、この場合も上述の処理を
繰り返すことにより、初期状態のブロックに戻り、以降
の処理は同様の繰り返しとなる。
【0159】このように、本実施の形態1は1ブロック
の記憶領域を持つ記憶装置でブロックインタリーブを行
えるものであり、この点は従来例と同様であるが、本実
施の形態1はさらにそのアドレス生成装置の回路面積を
削減できるものである。以下、この点につき説明する。
【0160】表1は本実施の形態1と同様の回路構成で
従来例を構成した場合(図1において、定数発生器11
8のαの値を1としたのが従来例であり、これを2以上
とすれば本実施の形態1になる)に、レジスタ113の
値の遷移を示したものである。
【0161】
【表1】 この表1はL=4,M=5、即ち4行5列のデータに対
しブロックインタリーブを行う場合のレジスタ113の
値の推移を示したものであり、表1中のvalとして示し
たのがレジスタ113の値であり、しきい値19(=5
×4−1)を越える場合はオーバーフロー処理装置によ
ってこのしきい値内に収まるように、順次値が減少する
ように処理されている。
【0162】また、overtimeはレジスタ113の値がし
きい値を越える回数、maxovervalはしきい値を越えるレ
ジスタ113の値の最大値、minovervalはしきい値を越
えるレジスタ113の値の最小値、maxvalはレジスタ1
13の値の最大値である。
【0163】また、この表1の行8ないし行16は従来
例(行5でα=1と設定)におけるレジスタ113の値
の推移を示しており、行29ないし行37は本実施の形
態1(行26でα=2と設定)におけるレジスタ113
の値の推移を示している。
【0164】例えば、行8ではレジスタ113の値が、
先ず値1が設定されていたのが、これが乗算器110に
よって値5と乗算された値5に設定し直され、次に、行
9では、この値5が乗算器110によって値5と乗算さ
れた値25になるが、これがオーバーフロー処理装置1
40によって値19以下となるように、値19が減算さ
れて値6となる様子が、示されている。
【0165】これらを対比することにより、従来例では
しきい値を越えるレジスタ113の値の最小値minoverv
alが20(=L×Mの値、即ちしきい値19を越える最
小の値)であるのに対し、本実施の形態1では21、す
なわち従来例よりも大きくなっていることが分かる。
【0166】また表2の行3ないし行21はL=8,M
=203、即ち8行203列のデータに対しブロックイ
ンタリーブを行う場合のレジスタ113の値の計算結果
を示したものであり、表2の行8ないし11が従来例の
レジスタ113の値の計算結果を示したものである。ま
た表2の行18ないし行21が本実施の形態1における
レジスタ113の値の計算結果を示したものである。
【0167】
【表2】 これらを対比することにより、従来例ではオーバフロー
処理装置140のしきい値を越えるレジスタ113の値
の最小値minovervalが1624(=L×Mの値、即ちし
きい値1623を越える最小の値)であるのに対し、本
実施の形態1では1643、すなわち従来例よりも大き
くなっていることが分かる。
【0168】このように、本実施の形態1では、記憶装
置に書き込み,読み出しを行う際の最初の書き込みにお
いて、従来例ではアドレス通りに順次書き込みを行って
いるのに対し、1つ以上飛ばして書き込みを行うように
しており、この最初の書き込み順序が異なることによ
り、レジスタ113に保持される,しきい値を越える最
小の値が従来例と同一かそれより大きくなる。
【0169】これにより、従来例ではオーバフロー処理
装置において1624以上を比較する比較器が必要であ
ったが、本実施の形態1では1643以上を比較する比
較器でよいため比較器の構成,機能を簡略化できる。
【0170】このように、オーバフロー処理装置内の比
較器で入力と比較すべきしきい値をL×Mよりも大きく
できる場合は、比較器の回路規模を従来例より必ず小さ
くできる。
【0171】以下、この点を、8行203列のデータに
対しブロックインタリーブを行う装置を例にとって説明
する。
【0172】この場合、従来例の方式では、オーバフロ
ー処理装置140内の比較器123は入力がL×M、即
ち1624以上であることを判定しなければならない。
【0173】図5は従来例の方式により8行203列の
データに対しブロックインタリーブを行う装置のオーバ
ーフロー処理装置における比較器の構成を示すものであ
る。
【0174】図5において、3311ないし3319お
よび3321ないし3333はANDゲート、3336
ないし3339および3350ないし3356はORゲ
ートである。
【0175】次に動作について説明する。入力Iが16
24以上である旨を判定するには、入力Iのビットパタ
ーンがこの1624を2進数に展開した0110010
11000以上であることを判定すればよい。そしてそ
の際、入力Iの下位3ビットはその値が0であっても1
であっても判定に支障はなく、これら下位3ビットが全
て1の場合の入力値は1631になる。従って、入力値
が1624である旨を判定する際に下位3ビットを入力
しないことにより、入力値が1624〜1631である
旨を判定することができる。
【0176】ANDゲート3311ないし3319はこ
うした原理により入力値が1624〜1631である旨
を判定するものであり、ANDゲート3311ないし3
314により入力値の12ビット目ないし5ビット目の
ビットパターンが01100101100に一致する場
合にそれぞれ1を出力する。ANDゲート3315およ
び3316はこれら4つのANDゲート3311ないし
3314の出力が全て1である場合にそれぞれ1を出力
し、ANDゲート3317はANDゲート3315およ
び3316の出力が全て1である場合に1を出力する。
また、ANDゲート3318は入力値の4ビット目が1
であり、かつANDゲート3316の出力が1である場
合に1を出力する。さらに、ANDゲート3319はA
NDゲート3317および3318の出力が全て1であ
る場合に1を出力する。従って、ANDゲート3319
の出力が1の場合、入力値が1624〜1631である
旨が判明する。
【0177】同様に、ANDゲート3321ないし33
26は入力が1632〜1663である旨を判定する。
また、ANDゲート3327ないし3330は入力が1
664〜1791である旨を判定する。また、ANDゲ
ート3331ないし3333は入力が1792〜204
7である旨を判定する。また、ORゲート3350ない
し3356は入力が2048〜524287(maxoverv
alが325409であるため524287まで判定する。)である旨
を判定する。
【0178】従って、ORゲート3336ないし333
9によりこれらの判定結果を束ねることにより、入力値
が1624以上である旨を判定することができる。
【0179】このように、従来例では比較器は入力がL
×M、即ち1624以上であることを判定しなければな
らないが、表2の行1ないし行11及び表2の行13ないし
行21の対比により、本実施の形態1では入力が1643
以上である旨を判定すればよい。
【0180】図6は本実施の形態1のブロックインタリ
ーブを行う装置のオーバフロー処理装置における比較器
の構成を示すものである。
【0181】図6において、3321ないし3333は
ANDゲート、3340ないし3342および3350
ないし3356はORゲートである。
【0182】この図6では、本来入力が1643以上で
ある旨を判定すべきであるが、この判定は、1632以
上を判定する場合に含まれるため、この回路では、16
32以上である旨を判定している。
【0183】まず、入力が1632〜1663である旨
をANDゲート3321ないし3326が判定する。ま
た、入力が1664〜1791である旨をANDゲート
3327ないし3330が判定する。また、入力が17
92〜2047である旨をANDゲート3331ないし
3333が判定する。また、入力が2048〜5242
87(maxovervalが329266であるため524287まで判定す
る。)である旨をORゲート3350ないし3356が
判定する。
【0184】従って、ORゲート3340ないし334
2によりこれらの判定結果を束ねることにより、入力値
が1632以上、即ち1643以上である旨を判定する
ことができる。
【0185】この図6の回路はANDゲートが13個、
ORゲートが10個必要であるが、従来例に対応する図
5の回路では、ANDゲートが22個、ORゲートが1
1個必要であり、この図6の回路は、比較すべき対象が
減った分、従来例よりも回路規模を縮小でき、省面積化
が図れ、かつその分消費電力も低減することができる。
【0186】ところで、このL=8,M=203,α=
20の場合は、BSデジタル放送における誤り訂正に用
いて有効なものである。
【0187】即ち、BSデジタル放送の場合、リードソ
ロモン復号器の訂正の対象となる1データセグメント
は、データインタリーブ装置の内では203byteとなっ
ており、送信側のブロックインタリーブ装置の列の数が
203であれば、もっとも少ないインタリーブ装置の記
憶容量でリードソロモン復号器の訂正能力を向上するこ
とが可能となる。また、行および列の数が増加するほ
ど、連続したバースト誤りに対してのリードソロモン復
号器の訂正能力が向上する。
【0188】なお、αはL×M−1との間に公約数が存
在せず、Mの(-X)乗に等しくなければ、2以上の任意の
整数であってよいが、α=20の場合がもっとも効果が
大きい。
【0189】また、以上の場合とは異なる原理により消
費電力を低減できる場合がある。
【0190】以下、この場合について述べると、表3は
L=10,M=8、即ち10行8列のデータに対しブロ
ックインタリーブを行う場合のレジスタ113の値の推
移を、本実施の形態1と従来例の回路について対比して
示したものである。
【0191】
【表3】 この表3より明らかなように、従来例ではレジスタ11
3の値がしきい値を越える回数overtimeが54回である
のに対し、本実施の形態1ではこれが45回に減少して
おり、このovertimeの減少により、オーバフロー処理装
置140における計算量が減少し、さらに従来の方式で
はオーバフロー処理装置141のオーバフロー回数が4
74回であったが、本実施の形態1では395回に減少
することによりオーバフロー処理装置141の計算量が
減少する。
【0192】これらにより消費電力の減少が実現でき
る。
【0193】このように、本実施の形態1によるブロッ
クインタリーブ装置は、ブロックインタリーブ装置出力
を生成するL×Mデータの記憶装置と前記記憶装置にア
ドレスを出力するアドレス生成装置と前記記憶装置へ制
御信号を出力する記憶装置制御装置から構成され、アド
レス生成装置において、ブロック番号bの0番目のアド
レスAb(0)を0とし、ブロック番号bのn番目(nは0
以上の整数)のアドレスAb(n)を、α(αは、2以上の
整数)とMの(b-x)乗(xは0以上b以下の整数)の乗
算結果とAb(n-1)との加算結果をL×M-1で割った剰余か
ら生成し、生成したアドレスに対して読み出し、書き込
みを繰り返すことによりブロックインタリーブを行うよ
うにしたので、記憶装置アドレス生成装置を最適化で
き、最小限の回路面積により、ブロックインタリーブを
行うことが可能となる。
【0194】また、ブロックの先頭アドレスと最終アド
レスが常に一定であるので、これらに対し記憶装置内の
連続した領域に割り当てることにより、2データについ
て同時に処理することが可能となり、記憶装置のアクセ
ス回数が低減し、アドレス生成装置の低消費電力化が可
能となる。
【0195】また、特に、L=8、M=203のブロックイン
タリーブを行う場合、特表平8-511393号公報記載の、従
来のアドレス生成装置においては、ブロック番号bの0
番目のアドレスAb(0)を0とし、ブロック番号bのn番
目(nは0以上の整数)のアドレスAb(n)を、Mの(b-x)
乗(xは0以上b以下の整数)とAb(n-1)との加算結果
をL×M-1で割った剰余から生成する。この演算を繰り
返していくと、剰余の対象となる値が無限に大きくなる
ため、回路で実現する場合、初期値をMの(b-x-1)乗と
し入力にMを乗算してオーバーフロー処理装置1(以
下、剰余器1と称す)へ出力する乗算器と、入力をL×
M-1で割った剰余を乗算器と加算器に出力する剰余器1
と、Ab(n-1)と剰余器1の出力を加算してオーバーフロ
ー処理装置2(以下、剰余器2と記す)へ出力する加算
器と、入力をL×M-1で割った剰余をAb(n)とする剰余器
2とから構成されることになるが、剰余器1は入力がL
×M-1以下となるまで、L×M-1を減算するための、比較
器と減算器から構成され、減算の対象となる最小の値
は、『1624』となり、比較器は『1624』以上を判定する
機能が必要となる。
【0196】しかしながら、本実施の形態1によるブロ
ックインタリーブ装置において、α=20、L=8、M=
203とすると、初期値をMの(b-x-1)乗にαを乗算し
たものとし入力にMを乗算して剰余器1へ出力する乗算
器と、入力をL×M-1で割った剰余を乗算器と加算器に
出力する剰余器1と、Ab(n-1)と剰余器1の出力を加算
して剰余器2へ出力する加算器と、入力をL×M-1で割
った剰余をAb(n)とする剰余器2とから構成され、剰余
器1は入力がL×M-1以下となるまで、L×M-1を減算す
るための、比較器と減算器から構成され、減算の対象と
なる最小の値は『1643』となり、比較器は、『1643』以
上を判定する機能だけでよいことから、比較器の面積が
低減し、最小限の回路面積でブロックインタリーブを行
なうことが可能となる。
【0197】なお、読み出しアドレスをAb(n)とし、書
き込みアドレスをAb(n−t)、(tはL×M-2以下の
自然数)とし、それぞれのアドレスに対し、1時点ごと
に、読み出しと書き込みを繰り返すことにより、ブロッ
クインタリーブを実現することも可能である。
【0198】また、Ab(0)をβとし(βは、L×M-1以下
の自然数)、Ab(n)を、αとMの(b-x)乗の乗算結果とAb
(n-1)との加算結果をL×M-1で割った剰余からアドレス
を生成することも可能である。
【0199】(実施の形態2) 以下、本発明の実施の形態2について、図を用いて説明
する。
【0200】本願発明によるブロックデインタリーブ装
置およびブロックデインタリーブ方法について説明す
る。
【0201】本実施の形態2のブロックデインタリーブ
装置およびブロックデインタリーブ方法は、記憶装置の
アドレス生成装置を最適化することにより、記憶装置の
制御回路の面積あるいは消費電力をより低減できるよう
にしたものである。
【0202】図7は本願発明の実施の形態2による,L
×Mデータのブロックデインタリーブを行うブロックデ
インタリーブ装置を示すものである。図7においては、
1本ブロックデインタリーブ装置によりブロックデイン
タリーブを行うべき入力データの入力端子、2はこのブ
ロックデインタリーブを行うべき入力データのブロック
の先頭入力データ毎に同期して入力され、値0でアクテ
ィブとなる先頭入力データ同期信号(NBLOCKSY
NC信号)の入力端子、14は値0で本ブロックデイン
ターリーブ装置を初期状態にリセットするリセット信号
(NRST信号)の入力端子、6は各入力データ毎に発
生する同期信号の入力端子、16は各入力データ毎に発
生する同期信号(クロック信号CLK)の2倍の周波数
のクロック信号CLK2の入力端子、12は同期信号入
力端子6から入力される同期信号に応じて記憶装置4を
制御する制御装置であり、アドレス生成手段により生成
されたアドレスを用いて、記憶手段がデータの書き込み
および読み出しを切り替えて行う制御手段に相当する。
3は入力端子6から入力される同期信号(CLK信
号),入力端子2から入力される先頭入力データ同期信
号(NBLOCKSYNC信号)および入力端子14か
ら入力されるリセット信号(NRST信号)に基づいて
記憶装置4のアドレスを生成するアドレス生成装置であ
り、記憶装置に対し、ブロックインタリーブすべき(L
×M)個のデータを単位とするブロックを書き込み,読
み出す際のアドレスを生成するアドレス生成手段に相当
する。20はこのアドレス生成装置3が生成したアドレ
スを出力する出力端子、4は記憶装置(記憶手段)であ
り、(L×M)個のアドレスが割り当てられ、制御装置
12の制御により、アドレス生成装置3により生成され
たアドレスに入力端子1からの入力データを書き込み、
これを読み出すことによりブロックデインタリーブを行
うものである。また、ADは記憶装置4のアドレス入力
端子、DIは記憶装置4のデータ入力端子、NWEは記
憶装置4のライトイネーブル入力端子であり、値0が入
力されると記憶装置4が書き込みモードになる。DOは
記憶装置4のデータ出力端子であり、これは本ブロック
インタリーブ装置の出力端子でもある。CLK2はこの
記憶装置4用のクロック入力端子であり、クロック信号
入力端子16から、クロック信号CLKの2倍のクロッ
ク信号が入力される。5は本ブロックデインタリーブ装
置によりインタリーブされたデータを出力する出力端子
である。
【0203】また、図7のアドレス生成装置3におい
て、10は定数L を発生する定数発生器、13は初期値
αが初期設定されるレジスタ、11はこの定数L とレジ
スタ13の出力信号とを乗算する乗算器であり、ブロッ
ク番号bのブロックが入力される毎に、α(αは2以上
の整数)とL の(b-x) 乗(x は0 以上b以下の整数、b
は0以上の整数)との乗算結果を生成する乗算手段に相
当する。40はこの乗算器11の出力がオーバフローし
た場合の処理を行うオーバフロー処理装置であり、上記
乗算手段による乗算結果と比較基準値L×M-1との大小
を比較する第1の比較手段を有し、その比較結果に基づ
き1クロック毎に上記乗算結果より可能な限り上記L×
M-1を減算して上記乗算結果のオーバーフローを抑える
ことにより上記ブロック番号bのブロックに対するアド
レスの増分値REGを出力する第1のオーバーフロー処理
手段に相当する。21は入力端子2からのNBLOCK
SYNC信号を制御信号とし乗算器11の出力信号または
レジスタ13の出力信号のいずれかを選択するスイッチ
(第2のセレクタ)、22はこのセレクタ21の出力信
号から(L×M−1)を減算する減算器(第2の減算手
段)、23はこのセレクタ21の出力信号と(L×M−
1)との大小を比較する比較器(第2の比較手段)、2
4はこの比較器23の出力信号を制御信号として減算器
22の出力信号またはセレクタ21の出力信号のいずれ
かを選択するスイッチ(第3のセレクタ)、18は初期
値αを発生する定数発生器(第1の定数発生手段)、2
6は入力端子14からのNRST信号を制御信号とし、
定数発生器18の出力信号またはセレクタ24の出力信
号のいずれかを選択してレジスタ(アドレス増分値記憶
手段)13に出力するスイッチ(第1のセレクタ)、2
8はNBLOCKSYNC信号を制御信号とし、レジス
タ13の出力信号またはレジスタ27の出力信号のいず
れかを選択するスイッチ(セレクタ)、27はこのセレ
クタ28の出力信号を入力とするレジスタである。
【0204】また、15はこのレジスタ27の出力信号
とレジスタ17の出力信号とを加算する加算器であり、
ブロック番号bのブロックが入力される毎に、上記第1
のオーバーフロー処理手段により出力されるアドレスの
増分値REGに対し、上記ブロック番号bのn-1番目(nは
1以上L×M-1以下の整数)のアドレスAb(n-1)を順次加
算することにより上記ブロック番号bのブロック内のn
番目のアドレスAb(n)を順次生成する加算手段に相当す
る。41はこの加算器15の出力がオーバーフローした
場合の処理を行うオーバフロー処理装置であり、上記加
算手段による加算結果と比較基準値L×M-1との大小を
比較する第2の比較手段を有し、その比較結果に基づき
上記加算結果より可能な限り上記L×M-1を減算して上
記加算結果のオーバーフローを抑えることにより上記記
憶手段に対し実際に供給するアドレスを出力する第2の
オーバーフロー処理手段に相当する。32は加算器15
の出力信号から(L×M−1)を減算する減算器(第2
の減算手段)、33はこの加算器15の出力信号と(L
×M−1)との大小を比較する比較器(第2の比較手
段)、34はこの比較器33の出力信号を制御信号とし
て加算器15の出力信号または減算器32の出力信号の
いずれかを選択するスイッチ(第5のセレクタ)、19
は初期値0を発生する定数発生器、30はNBLOCK
SYNC信号を制御信号とし、定数発生器19の出力信
号またはセレクタ34の出力信号のいずれかを選択する
スイッチ(第4のセレクタ)である。
【0205】また、17はこのオーバフロー処理装置4
1の出力がセットされるレジスタ(アドレス記憶手
段)、29はデータ入力端子1からのデータを保持し記
憶装置4に出力するレジスタであり、レジスタ13,2
7,17,29はいずれも入力データに同期したクロッ
ク信号CLKの立ち上がりで保持するデータを更新す
る。
【0206】図8は本実施の形態2によるブロックデイ
ンタリーブ装置の動作を模式的に示すものであり、4行
5列のデータに対し、ブロックデインタリーブを行う場
合を例にとって示している。
【0207】この実施の形態2によるブロックデインタ
リーブ装置は、以下のようなブロックデインタリーブ方
法によりデータのブロックデインタリーブを行うもので
ある。
【0208】即ち、この方法は、(L×M)個のアドレ
ス(L,Mは2以上の整数)が割り当てられた記憶手段
に対し、ブロックデインタリーブすべき(L×M)個の
データを単位とするブロックを書き込み,読み出す際の
アドレスを生成し、該生成されたアドレスを用いて、上
記記憶手段が上記データの書き込みおよび読み出しを切
り替えて行うように動作制御を行うことによりデータの
ブロックデインタリーブを行う方法において、ブロック
番号0のブロックに対しアドレスの増分値REGとしてα
(αは2以上の整数)を与え、以後ブロック番号が1増
すごとに増分値REGにLを乗算したものを当該ブロック
のアドレスの増分値REGとする際、アドレスの増分値REG
がL×M−1を越えた場合、当該増分値REGに代えてL
×M−1による剰余を当該増分値として上記の処理を繰
り返すことにより、α×L**(b−x)mod(l×
M−1)に相当する演算(**はべき乗、modは剰
余、xは0以上b以下の整数)を行って、各ブロック毎
のアドレスの増分値を求め、各ブロックにおいて、アド
レスの初期値としてAb(0)を設定し、以後当該ブロック
のアドレスの増分値REGを順次加算することにより当該
ブロック内の各アドレスAb(1)ないしAb(n)(nは1以上
L×M−1以下の整数)を生成する際、アドレスがL×
M−1を越えた場合当該アドレスに代えてL×M−1に
よる剰余を当該アドレスとして上記の処理を繰り返し、
各ブロック内のアドレスを生成することにより、上記ア
ドレス生成を実行し、かつ、上記アドレスの増分値を計
算する際の剰余を求めるか否かの判定を、上記アドレス
の増分値と上記L×M−1との大小比較で判定する際、
上記L×M-1に代えて、上記乗算結果に含まれる,上記
L×M-1を越える最小値Aを上記比較基準値として使用
し、大小比較を行う第1の比較手段を使用して行う,と
いう方法によりブロックデインタリーブを行うものであ
る。
【0209】次に図7の動作について、図8に示した,
4行5列のデータに対し、ブロックデインタリーブを行
う場合を例にとって説明する。
【0210】図8に示すように、本実施の形態2による
ブロックデインタリーブ装置は、入力端子1から入力さ
れるデータをL×Mデータの記憶装置4に書き込み、こ
のL×Mデータの記憶装置4からデータを読み出すこと
によりブロックデインタリーブを行うものであり、その
際、図8に示すような順序で書き込み,読み出しを行う
ように、制御装置12が前記記憶装置4へ制御信号を出
力することによりその書き込み,読み出し制御を行い、
かつアドレス生成装置3がその書き込み,読み出しの際
のアドレスを生成し、これを前記記憶装置4に出力する
ことにより、1ブロックの記憶領域を持つ記憶装置1面
でブロックデインタリーブされた出力5を生成できるも
のである。
【0211】この装置は、ブロックデインタリーブ装置
の記憶装置4のアドレスが図13(k)のように割り当て
られているとすると、まず、図8(a)のようにREGを
2とし、図13(k)のアドレス0を初期値とし1入力デ
ータ毎に2ずつ増加する書き込みアドレスを順次生成す
る。その際、書き込みアドレスが19(=4×5−1)
を越えるとこの19による剰余をアドレスとして使用す
る。従って、例えば、図13(k)におけるアドレス2に
相当するアドレスには、図8(a)ではアドレス1が割り
当てられる。そして、この生成規則に従って生成した書
き込みアドレスに従い、データを書き込みを、ブロック
内の全てのアドレスにアクセスが完了する迄行なう。
【0212】即ち、図13(k)の従来方式では書き込み
アドレスが増加する順に従って0→1→2→……→19
の順でデータを順次書き込んでいたものが、本実施の形
態2ではこれを1つ飛ばしに書き込んでゆくものであ
る。
【0213】次に、図8(b)に示されているように、R
EGに4を乗じ、図13(k)におけるアドレスの並びを
基準として、図13(k)のアドレス0を初期値とし、1
入力データ毎にアドレスが8(=2×4)ずつ増加する
アドレスを順次生成するが、その際、アドレスが19
(=4×5−1)を越えるとこの19による剰余をアド
レスとして使用する。
【0214】そして、図8(b)において、この生成規則
に従って生成したアドレスに従い読み出しを行い、この
読み出しを行ったのと同じ順で同じアドレスに対し書き
込みを行う。なお、この読み出しおよび書き込みは、ブ
ロック内の全てのアドレスにアクセスが完了する迄行な
う。
【0215】次に、図8(c)に示されているように、こ
のREGに対し4を乗じるが、この値が19を越えてい
るのでこの19による剰余13を求め、これをREGの
値として使用する。
【0216】そして、図13(k)に示されているアドレ
スの並びを基準とし、そのアドレス0を初期値として、
1入力データ毎に13ずつ増加するアドレスを順次生成
し、アドレスが19(=4×5−1)を越えるとこの1
9による余剰を求め、これをアドレスとして使用する。
【0217】そして、この生成規則に従って生成したア
ドレスに従い読み出しを行い、この読み出しを行ったの
と同じ順で同じアドレスに対し書き込みを行う。なお、
読み出しおよび書き込みは、ブロック内の全てのアドレ
スにアクセスが完了する迄行なう。
【0218】以下、同様の処理を繰り返すことにより、
順次異なるアドレスの順で読み出し、書き込みを行って
ゆけば、この例では図8(j)の時点において、図8(a)と
同様のアドレスの順に戻る。
【0219】このような手順を繰り返すことにより、図
9に示すように、1ブロックの記憶領域を持つ記憶装置
1面を用いてブロックデインタリーブを行うことを可能
としている。これは制御装置12による書き込み読み出
し制御、およびアドレス生成装置3により生成する記憶
装置4のアドレスを上述のように工夫することにより実
現しているものであり、これに加えて、本実施の形態2
ではアドレス生成装置の回路面積や消費電力の低減が可
能になっているものである。
【0220】この実施の形態2におけるアドレス生成規
則は以下の通りである。
【0221】即ち、n番目のアドレスをAb(n)、記憶装
置の行の数をL、列の数をM、ブロック番号bを0以上
の整数、xを0以上b以下の任意の整数とすると、
【0222】 Ab(n)=(Ab(n−1)+α×L**(b−x))mod(L×M−1)…(4)
【0223】また、REG=α×L**(b−x)mo
d(L×M−1)
【0224】ただし、Ab(0)=0、αは2以上の整数と
する。また、**はすべき乗を表わす。
【0225】従って、上述の例ではα=2として最初の
書き込みの際に1つ飛ばしに書き込みを行っており、α
の値を適宜設定することにより、2つ飛ばし以上で書き
込みを行うことも可能であるが、αとL×M−1の間に
公約数が存在してはいけない。これは、αとL×M−1
の間に公約数が存在すると、ブロック内のデータの最後
のデータが常にアドレスL×M−1に書き込まれるはず
なのに、途中でアドレスがL×M−1となってしまい、
アドレスの生成規則が破綻するからである。
【0226】また、αがLの(-X)乗に等しい場合も除く
必要がある。この場合は従来例に一致し、さらなる回路
規模の縮小や消費電力の低減が実現できないからであ
る。
【0227】次にこのような書き込み読み出し動作を行
うのに必要な,アドレス生成装置のアドレス生成動作に
ついて説明する。
【0228】図7のアドレス生成装置は、式(4)より定
義されたアドレス生成規則を実行することにより、記憶
装置4のアドレスを順次生成する。
【0229】即ち、図7のアドレス生成装置は、(X+
Y)modZ=XmodZ+YmodZが成立すること
を利用し、式(4)の(Ab(n−1)+α×L**(b−
x))mod(L×M−1)における、α×L**(b
−x)mod(L×M−1)の項のLのべき乗計算を、
定数発生器10,乗算器11,レジスタ13によりLの
繰り返し乗算を行うことにより実行し、かつ、この項に
おけるαの乗算と(L×M−1)による剰余計算を、オ
ーバーフロー処理装置40により実行する。
【0230】また、式(4)のAb(n−1)mod(L×
M−1)の項の計算およびその初期値Ab(0)=0の投入
を、オーバーフロー処理装置41により実行する。
【0231】また、これら2つの項の剰余計算結果の加
算を、加算器15により実行しているものである。
【0232】セレクタ21には乗算器11の出力および
レジスタ13の出力が与えられるが、入力データがブロ
ックの先頭に該当し、ブロックの先頭入力データ同期信
号2が入力されると、セレクタ21は乗算器11の出力
を選択し、それ以外の場合はレジスタ13の出力を選択
する。このセレクタ21の出力は比較器23によりL×
M−1と比較される。セレクタ24にはセレクタ21の
出力からL×M−1を減算する減算器22の出力および
セレクタ21の出力が与えられるが、セレクタ21の出
力がL×M−1以上である旨を比較器23が判定すると
減算器22の出力を選択し、それ以外の場合はセレクタ
21の出力を選択する。そしてこのセレクタ24の出力
はレジスタ13に出力される。これにより、オーバーフ
ロー処理装置40は入力がL×M−1を越えれば、1ク
ロック毎にL×M−1を繰り返し減算することにより、
その値がL×M−1以下となるように制限する。
【0233】このようなオーバフロー処理装置を設ける
ことにより、アドレス生成装置の内部で乗算や加算を繰
り返すことにより、数値がL×M−1以上に発散してゆ
くのを抑えている。
【0234】図7のアドレス生成装置3において、定数
発生器18は初期値「α」を発生し、これをレジスタ1
3に出力する。乗算器11はこのレジスタ13の出力と
定数発生器10の出力「L」を乗算し、オーバフロー処
理装置40に出力する。
【0235】
【0236】また、定数発生器19は初期値「0」を発
生し、これをレジスタ17に出力する。加算器15はこ
のレジスタ17の出力とレジスタ13の出力を加算し、
オーバフロー処理装置41に出力する。
【0237】オーバフロー処理装置41はその入力デー
タがL×M-1を越えた場合、これがL×M-1以下になるよ
うに「L×M-1」を減算し、その結果をレジスタ17に
出力するが、加算器15の出力がオーバフロー処理装置
40によって最大値L×M-1以下に抑えられており、か
つ、オーバフロー処理装置41自身の出力も最大値L×
M-1以下に抑えられるので、入力データがL×M-1を越え
た場合に減算器32が減算を実行する回数は1度だけで
よく、従って、オーバフロー処理装置41は内部にオー
バフロー処理装置40のような帰還ループを有しておら
ず、オーバフロー処理装置40よりも回路規模が小さ
く、その分低消費電力となっている。
【0238】レジスタ17は、入力データがL×M個入
力された時点でブロックの先頭入力データ同期信号2に
より初期値「0」にリセットされ、同期信号入力6によ
り入力データ毎に更新される。
【0239】これにより、アドレス生成装置において、
ブロック番号bの0番目のアドレスAb(0)を0とし、ブ
ロック番号bのn番目(nは0以上の整数)のアドレス
Ab(n)を、α(αは、2以上の整数)とLの(b-x)乗(x
は0以上b以下の整数)の乗算結果とAb(n-1)との和を
L×M-1で割った剰余から生成することにより、本実施
の形態2の装置における記憶装置のアドレスの生成を実
行しているのものであり、乗算や加算を繰り返すことに
より、アドレス生成装置内部で数値がL×M-1以上に発
散してゆくのを、オーバーフロー処理装置を設けること
によって、最大値L×M-1以下となるように抑えてい
る。
【0240】図10はこの図7のブロックデインタリー
ブ装置のタイミングチャートを示している。この図10
は、入力端子16からのブロック信号CLK2、入力端
子6からのクロック信号CLK、入力端子6からのリセ
ット信号NRST,入力端子2からの信号NBLOCK
SYNC、入力端子14からのリセット信号NRST、
レジスタ13の出力信号、レジスタ27の出力信号、レ
ジスタ17の出力信号、記憶装置4の制御信号NWE、
記憶装置4のデータ入力信号DI、記憶装置4のデータ
出力信号DOについて示している。
【0241】次にこの図10を用いて図7のブロックデ
インタリーブ装置の動作を詳細に説明する。まず、入力
端子6よりクロック信号CLKが、また、入力端子16
よりその2倍の周波数のクロック信号CLK2が与えら
れているものとする。
【0242】時刻t0では、入力端子2からの信号NB
LOCKSYNCがハイレベル(=値1;以下、Hと記
す)であるので、セレクタ21は、乗算器11の出力を
選択せず、レジスタ13の出力を選択する。レジスタ1
3の出力値は不定であるが、これがL×M−1(この例
では4×5−1=19)を越えていればその値がL×M
−1以下になるまでセレクタ24は減算器22の出力を
選択し続け、また、セレクタ24の出力値が元々L×M
−1以下であればセレクタ24はセレクタ21の出力を
選択するので、セレクタ24の出力はL×M−1以下の
不定値となる。
【0243】また、この時刻t0において、入力端子1
4からのリセット信号NRSTはHからロウレベル(=
値0;以下、Lと記す)に変化しており、セレクタ26
はセレクタ24の出力ではなく、定数発生器18からの
定数α(この例では値2)を選択する。このセレクタ2
6の出力はレジスタ13で1クロックCLK分保持され
た後出力されるが、この時刻t0では、レジスタ13の
出力値は不定のままである。
【0244】また、この時刻t0ではNBLOCKSY
NC信号がHのためセレクタ28はレジスタ13の出力
は選択せず、レジスタ27の出力を選択する。このセレ
クタ28の出力はレジスタ27の入力に戻るので、レジ
スタ27の出力は不定のままである。
【0245】さらに、この時刻t0ではセレクタ30は
定数発生器19の出力値0ではなく、セレクタ34の出
力を選択する。このセレクタ34は加算器15の出力、
あるいはこれがL×M−1(この例では19)を越えて
いればL×M−1を減算した値を出力するので、レジス
タ17には、セレクタ34の出力である不定値とレジス
タ27の出力とを加算した不定値、あるいはこれよりL
×M−1を減算した値が入力される。
【0246】次に、時刻t1では、レジスタ13より値
2が出力され、これが乗算器11によって定数発生器1
0からの定数L(=値4)と乗算されるが、時刻t2で
は、セレクタ21はこの乗算器8を選択しない。また、
セレクタ26は定数発生器18からの定数α(=値2)
を選択しており、これがレジスタ13に入力される。セ
レクタ28およびセレクタ30も時刻t0におけるのと
同様、それぞれレジスタ27出力およびセレクタ34出
力を選択している。これらの状態は、時刻t2でも同様
である。
【0247】次に、時刻t3では、時刻t2においてレ
ジスタ13に入力された値2がレジスタ13より出力さ
れ、これと定数発生器10からの定数L(=値4)との
乗算値8がセレクタ21で選択されるが、比較器23は
この乗算器8がL×M−1(=値19)よりも小さいと
判定するため、セレクタ24はこの乗算器8を選択す
る。またセレクタ26もこのセレクタ24からの乗算値
8を選択するので、レジスタ13にはこの値8が入力さ
れる。
【0248】また、セレクタ28はレジスタ13の出力
値2を選択し、レジスタ27にはこの値2が入力され
る。さらに、セレクタ30は定数発生器19からの定数
値0を選択し、レジスタ17にはこの値0が入力され
る。
【0249】次に、時刻t4において、時刻t3におい
てレジスタ13に入力された値8が出力され、乗算器1
1はこれと定数発生器10の出力値4を乗算するが、セ
レクタ21はこの乗算値32は選択せず、レジスタ13
の出力値を選択する。またセレクタ26はセレクタ24
出力を選択するので、このレジスタ13はこの値8が入
力される。
【0250】またセレクタ28はレジスタ27の出力値
2を選択し、これをセレクタ27に入力する。加算器1
5はこのレジスタ27の出力値2とレジスタ17の出力
値0とを加算し、セレクタ34,30はこの加算値2を
選択しレジスタ17に入力する。
【0251】また、レジスタ17の出力が値0となるの
で、これを記憶装置4のアドレスとして、制御信号(書
き込みイネーブル信号)NWEのHのタイミングで記憶
装置4から初期値(不定値)が読み出され、かつ、時刻
t3においてレジスタ29に入力されていたデータD0
が制御信号(書き込みイネーブル信号)NEWのLのタ
イミングで記憶装置4に入力される。これらの状態は、
時刻t5以降でも同様であるが、セレクタ30がセレク
タ34の出力を選択し、レジスタ27の出力が値2を保
持するので、加算器15の出力は、CLK信号が1回入
力される毎に値2ずつ増加する。但し、これが値19以
上になろうとすると、セレクタ34は減算器32出力を
選択しその値を19以下に抑える。
【0252】次に、時刻t23において、セレクタ21
が乗算器11の出力値32を選択すると、セレクタ24
は比較器23の判定により、減算器23の出力を選択
し、値t3(=32−19)を出力する。セレクタ26
はこの値を選択し、レジスタ13に入力する。またセレ
クタ28はレジスタ13の出力を選択し、この値8をレ
ジスタ27に入力する。
【0253】加算器15はレジスタ27の出力値2とレ
ジスタ17の出力値19を加算するが、この時刻t23
においてセレクタ30は加算器15の出力を選択せず、
定数発生器19の出力値0を選択し、これをレジスタ1
7に入力する。
【0254】これら、時刻t4ないし時刻t23までの
動作によって、図8(a)に示すアドレスが発生される。
また、記憶装置4からはこれらのアドレスから初期値
(不定値)がクロックCLK毎に順次読み出され、これ
に代えてデータD0ないしD19が、これらのアドレス
にクロックCLK毎に順次書き込まれる。
【0255】次に、時刻t24において、レジスタ13
は値13を出力し、乗算器11は値52を出力するが、
セレクタ21はレジスタ13の出力値13を選択する。
セレクタ24は比較器23の判定結果によりセレクタ2
1の出力値13を選択し、セレクタ26はこの値13を
レジスタ13に入力する。
【0256】セレクタ28はセレクタ28の出力値13
をレジスタ27に入力するので、この値13は保持され
る。これらの状態は、時刻t25以降でも同様である
が、セレクタ30がセレクタ34の出力を選択し、レジ
スタ27の出力が値8を保持するので、加算器15の出
力は、CLK信号が1回入力される毎に値10ずつ増加
する。但し、これが値19以上になろうとすると、セレ
クタ34は減算器32出力を選択しその値を19以下に
抑え、これがレジスタ17を介して1クロックCLK後
の記憶装置4にアドレスとして与えられる。
【0257】このため、時刻t24ないし時刻t43ま
での動作によって、図8(b)に示すアドレスが発生され
る。また、記憶装置4からはこれらのアドレスから、時
刻t4ないしt23の期間に書き込まれていたデータD
0ないしD19がデータDO0ないしDO19としてク
ロックCLK毎に順次読み出され、これに代えてデータ
D20ないしD39が、これらのアドレスにクロックC
LK毎に順次書き込まれる。
【0258】さらに、時刻t44以後において、レジス
タ13の出力1はクロックCLKが1度入力する毎に減
少し、値33(=52−19),値14(=33−1
9)となって安定するが、レジスタ27は時刻t43に
おいてレジスタ13から出力された値13を保持するた
め、レジスタ17の出力はこの値13の正整数倍の値1
9による余剰となる。
【0259】このため、時刻t44ないし時刻t63
(図示せず)の動作によって、図8(c)に示すアドレス
が発生される。また、記憶装置4からはこれらのアドレ
スから、時刻t24ないしt43の期間に書き込まれて
いたデータD20ないしD39がデータDO20ないし
DO39(図示せず)としてクロックCLK毎に順次読
み出され、これに代えてデータD40ないしD59(図
示せず)が、これらのアドレスにクロックCLK毎に順
次書き込まれる。
【0260】以後、同様の動作を繰り返すことにより、
図8(a)ないし図8(j)に示されたアドレスを順次
発生する。
【0261】なお、式(4)において、xの値を設定す
ることにより、初期状態を図8(a)以外のいずれかの状
態に変更することもできるが、この場合も上述の処理を
繰り返すことにより、初期状態のブロックに戻り、以降
の処理は同様の繰り返しとなる。
【0262】このように、本実施の形態2は1ブロック
の記憶領域を持つ記憶装置でブロックデインタリーブを
行えるものであり、この点は従来例と同様であるが、本
実施の形態2はさらにそのアドレス生成装置の回路面積
を削減できるものである。
【0263】以下、この点につき説明する。
【0264】表4の行1ないし行21はL=8,M=2
03、即ち8行203列のデータに対しブロックデイン
タリーブを行う場合のレジスタ13の値の計算結果を示
したものであり、表4の行8ないし11が従来例のレジ
スタ13の値の計算結果を示したものである。また表4
の行18ないし行21が本実施の形態2におけるレジス
タ13の値の計算結果を示したものである。
【0265】
【表4】 これらを対比することにより、従来例ではオーバフロー
処理装置40のしきい値を越えるレジスタ13の値の最
小値minovervalが1624(=L×Mの値、即ちしきい
値1623を越える最小の値)であるのに対し、本実施
の形態2では1643、すなわち従来例よりも大きくな
っていることが分かる。
【0266】このように、本実施の形態2では、記憶装
置に書き込み,読み出しを行う際の最初の書き込みにお
いて、従来例ではアドレス通りに順次書き込みを行って
いるのに対し、1つ以上飛ばして書き込みを行うように
しており、この最初の書き込み順序が異なることによ
り、レジスタ13に保持される,しきい値を越える最小
の値が従来例と同一かそれより大きくなる。
【0267】これにより、従来例では1624以上を比
較する比較器が必要であったが、本実施の形態1では1
643以上を比較する比較器でよいため比較器の機能が
簡略する。
【0268】このように、オーバフロー処理装置内の比
較器で入力と比較すべきしきい値をL×Mより大きくで
きる場合は、比較器の回路規模を従来例よりも必ず小さ
くできる。
【0269】以下、この点を、8行203列のデータに
対しブロックデインタリーブを行う装置を例にとって説
明する。
【0270】この場合、従来例の方式では、オーバフロ
ー処理装置40内の比較器23は入力がL×M、即ち1
624以上であることを判定しなければならない。
【0271】図11は従来例の方式により8行203列
のデータに対しブロックデインタリーブを行う装置のオ
ーバーフロー処理装置における比較器の構成を示すもの
である。
【0272】図11において、2311ないし2319
および2321ないし2333はANDゲート、233
4ないし2339はORゲートである。
【0273】次に動作について説明する。入力が162
4以上である旨を判定するには、入力Iのビットパター
ンがこの1624を2進数に展開した01100101
1000以上であることを判定すればよい。そしてその
際、入力Iの下位3ビットはその値が0であっても1で
あっても判定に支障はなく、これら下位3ビットが全て
1の場合の入力値は1631になる。従って、入力値が
1624である旨を判定する際に下位3ビットを入力し
ないことにより、入力値が1624〜1631である旨
を判定することができる。
【0274】ANDゲート2311ないし2319はこ
うした原理により入力値が1624〜1631である旨
を判定するものであり、ANDゲート2311ないし2
314により入力値の12ビット目ないし5ビット目の
ビットパターンが01100101100に一致する場
合にそれぞれ1を出力する。ANDゲート2315およ
び2316はこれら4つのANDゲート2311ないし
2314の出力が全て1である場合にそれぞれ1を出力
し、ANDゲート2317はANDゲート2315およ
び2316の出力が全て1である場合に1を出力する。
また、ANDゲート2318は入力値の4ビット目が1
であり、かつANDゲート2316の出力が1である場
合に1を出力する。さらに、ANDゲート2319はA
NDゲート2317および2318の出力が全て1であ
る場合に1を出力する。従って、ANDゲート2319
の出力が1の場合、入力値が1624〜1631である
旨が判明する。
【0275】同様に、ANDゲート2321ないし23
26は入力が1632〜1663である旨を判定する。
また、ANDゲート2327ないし2330は入力が1
664〜1791である旨を判定する。また、ANDゲ
ート2331ないし2333は入力が1792〜204
7である旨を判定する。また、ORゲート2334およ
び2335は入力が2048〜16383(maxoverval
が12824であるため16383まで判定する。)である旨を判
定する。
【0276】従って、ORゲート2336ないし233
9によりこれらの判定結果を束ねることにより、入力値
が1624以上である旨を判定することができる。
【0277】このように、従来例では比較器は入力がL
×M、即ち1624以上であることを判定しなければな
らないが、表4の行8ないし行11および表4の行18
ないし行21の対比により、本実施の形態2では入力が
1643以上である旨を判定すればよい。
【0278】図12は本実施の形態2のブロックデイン
タリーブを行う装置のオーバフロー処理装置における比
較器の構成を示すものである。
【0279】図12において、2321ないし2333
はANDゲート、2334、2335および2340な
いし2342はORゲートである。
【0280】この図12では、本来入力が1643以上
である旨を判定すべきであるが、この判定は、1632
以上を判定する場合に含まれるため、この回路では、1
632以上である旨を判定している。
【0281】まず、入力が1632〜1663である旨
をANDゲート2321ないし2326が判定する。ま
た、入力が1664〜1791である旨をANDゲート
2327ないし2330が判定する。また、入力が17
92〜2047である旨をANDゲート2331ないし
2333が判定する。また、入力が2048〜1638
3(maxovervalが12967であるため16383まで判定す
る。)である旨をORゲート2334および2345が
判定する。
【0282】従って、ORゲート2340ないし234
2によりこれらの判定結果を束ねることにより、入力値
が1632以上、即ち1643以上である旨を判定する
ことができる。
【0283】この図12の回路はANDゲートが13
個、ORゲートが5個必要であるが、従来例に対応する
図11の回路では、ANDゲートが22個、ORゲート
が6個必要であり、この図12の回路は、比較すべき対
象が減った分、従来例よりも回路規模を縮小でき、省面
積化が図れ、かつその分消費電力も低減することができ
る。
【0284】ところで、このL=8,M=203,α=
20の場合は、BSデジタル放送における誤り訂正に用
いて有効なものである。
【0285】即ち、BSデジタル放送の場合、リードソ
ロモン復号器の訂正の対象となる1データセグメント
は、データインタリーブ装置の内では203byteとなっ
ており、送信側のブロックインタリーブ装置の列の数が
203であれば、もっとも少ないインタリーブ装置の記
憶容量でリードソロモン復号器の訂正能力を向上するこ
とが可能となる。また、行および列の数が増加するほ
ど、連続したバースト誤り、に対してのリードソロモン
復号器の訂正能力が向上する。
【0286】従って、これに対応する受信側のブロック
デインタリーブ装置の側では、上述のように、L=8,
M=203,α=20に設定することにより、最小の回
路規模でバースト誤りに対する訂正能力を向上させ得る
ブロックデインタリーブ装置を得ることが可能となる。
【0287】なお、αはL×M=1との間に公約数が存
在せず、Lの(-X)乗に等しくなければ、2以上の任意の
整数であってよいが、α=20の場合がもっとも効果が
大きい。
【0288】このように、本実施の形態2によるブロッ
クデインタリーブ装置は、ブロックデインタリーブ装置
出力を生成するL×Mデータの記憶装置と前記記憶装置
にアドレスを出力するアドレス生成装置と前記記憶装置
へ制御信号を出力する記憶装置制御装置から構成され、
アドレス生成装置において、ブロック番号bの0番目の
アドレスAb(0)を0とし、ブロック番号bのn番目(n
は0以上の整数)のアドレスAb(n)を,α(αは、2以
上の整数)とLの(b-x)乗(xは0以上b以下の整数)
の乗算結果とAb(n-1)との加算結果をL×M-1で割った剰
余から生成し、生成したアドレスに対して読み出し、書
き込みを繰り返すことによりブロックデインタリーブを
行うようにしたので、記憶装置アドレス生成装置を最適
化でき、最小限の回路面積により、ブロックデインタリ
ーブを行うことが可能となる。
【0289】また、ブロックの先頭アドレスと最終アド
レスが常に一定であるので、これらに記憶装置内の連続
した領域に割り当てることにより、2データについて同
時に処理することが可能となり、記憶装置のアクセス回
数が低減し、アドレス生成装置の低消費電力化が可能と
なる。
【0290】また、特に、L=8、M=203のブロックデイ
ンタリーブを行う場合、特表平8-511393号公報記載の、
従来のアドレス生成装置においては、ブロック番号bの
0番目のアドレスAb(0)を0とし、ブロック番号bのn
番目(nは0以上の整数)のアドレスAb(n)を、Lの(b-
x)乗(xは0以上b以下の整数)とAb(n-1)との加算結
果をL×M-1で割った剰余から生成する。この演算を繰
り返していくと、剰余の対象となる値が無限に大きくな
るため、回路で実現する場合、初期値をLの(b-x-1)乗
とし入力にLを乗算してオーバーフロー処理装置1(以
下、剰余器1と称す)へ出力する乗算器と、入力をL×
M-1で割った剰余を乗算器と加算器に出力する剰余器
と、Ab(n-1)と剰余器1の出力を加算してオーバーフロ
ー処理装置2(以下、剰余器2と記す)へ出力する加算
器と、入力をL×M-1で割った剰余をAb(n)とする剰余器
2とから構成されることになるが、剰余器1は入力がL
×M-1以下となるまで、L×M-1を減算するための、比較
器と減算器から構成され、減算の対象となる最大の値
は、「1624」となり、比較器は「1624」以上を判定する
機能が必要となる。
【0291】しかしながら、本実施の形態2によるブロ
ックデインタリーブ装置において、α=20、L=8、M=20
3とすると、初期値をLの(b-x-1)乗にαを乗算したもの
とし入力にLを乗算して剰余器1へ出力する乗算器と、
入力をL×M-1で割った剰余を乗算器と加算器に出力す
る剰余器1と、Ab(n-1)と剰余器1の出力を加算して剰
余器2へ出力する加算器と、入力をL×M-1で割った剰
余をAb(n)とする剰余器2とから構成され、剰余器1は
入力がL×M-1以下となるまで、L×M-1を減算するため
の、比較器と減算器から構成され、減算の対象となる最
大の値は「1643」となり、比較器は、「1643」以上を判
定する機能だけでよいことから、比較器の面積が低減
し、最小限のアドレス生成回路面積でブロックデインタ
リーブを行うことが可能となる。
【0292】なお、読み出しアドレスをAb(n)とし、書
き込みアドレスをAb(n−t)、
【0293】(tはL×M-2以下の自然数)とし、それ
ぞれのアドレスに対し、1時点ごとに、読み出しと書き
込みを繰り返すことにより、ブロックデインタリーブを
実現することも可能である。
【0294】また、Ab(0)をβとし(βは、L×M-1以下
の自然数)、Ab(n)を、αとLの(b-x)乗の乗算結果とAb
(n-1)との加算結果をL×M-1で割った剰余から生成する
ことも可能である。
【0295】また、上記実施の形態1,2では、BSデ
ジタル放送の誤り訂正に適用されるブロックインタリー
ブ装置,ブロックデインタリーブ装置を例にとって説明
したが、OFDM(地上波デジタル放送)用のブロック
インタリーブ装置,ブロックデインタリーブ装置に適用
してもよく、上記実施の形態1,2と同様の効果を奏す
る。
【0296】この場合の1ブロック(L×Mデータ)の
サイズは以下の72通り(=12×6通り)である。
【0297】 96×2,96×3,96×4,…,96×11,96×12,96×13
【0298】 192×2,192×3,192×4,…,192×11,192×12,192×13
【0299】 384×2,384×3,384×4,…,384×11,384×12,384×13
【0300】 2×96,3×96,4×96,…,11×96,12×96,13×96
【0301】 2×192,3×192,4×192,…,11×192,12×192,13×192
【0302】 2×384,3×384,4×384,…,11×384,12×384,13×384
【0303】また、上記実施の形態1,2の記憶装置1
04,4は、(L×M)個のアドレスが割り当てられて
いるものとしたが、より大容量のメモリに、(L×M)
個のアドレスを有する領域を設けたものに適用してもよ
く、上記実施の形態1,2と同様の効果を奏する。
【0304】さらに、この(L×M)個のアドレスは連
続して割り当てられるものでなくてもよく、上記実施の
形態1,2と同様の効果を奏する。
【0305】産業上の利用可能性 以上のように、本発明に係るブロックインタリーブ装
置,ブロックデインタリーブ装置,ブロックインタリー
ブ方法,およびブロックデインタリーブ方法は、衛星放
送,地上波デジタル放送やハードディスク等の記憶装置
において、データのバースト誤りに対する耐性を増すた
めに、データの配置をデータのブロック内で変更するイ
ンタリーブ操作、およびその逆操作であるデインタリー
ブ操作を行うのに適しており、かつこれらの操作を記憶
装置1面を用いて行いかつそのアドレス生成に要する回
路規模をより縮小し、より消費電力を低減するのに適し
ている。 [図面の簡単な説明]
【図1】本願発明の実施の形態1によるブロックインタ
リーブ装置の構成を示すブロック図である。
【図2】本願発明の実施の形態1によるブロックインタ
リーブ装置における記憶装置の書き込み読み出し順の一
例を示す図である。
【図3】本願発明の実施の形態1によるブロックインタ
リーブ装置において記憶装置が1面で済む点を示すブロ
ック図である。
【図4】本願発明の実施の形態1によるブロックインタ
リーブ装置におけるアドレス生成装置の各部の信号波形
を示す図である。
【図5】従来のブロックインタリーブ装置の記憶装置の
制御装置における比較器の構成を示す図である。
【図6】本願発明の実施の形態1によるブロックインタ
リーブ装置の記憶装置の制御装置における比較器の構成
を示す図である。
【図7】本願発明の実施の形態2によるブロックデイン
タリーブ装置の構成を示すブロック図である。
【図8】本願発明の実施の形態2によるブロックデイン
タリーブ装置における記憶装置の書き込み読み出し順の
一例を示す図である。
【図9】本願発明の実施の形態2によるブロックデイン
タリーブ装置において記憶装置が1面で済む点を示すブ
ロック図である。
【図10】本願発明の実施の形態2によるブロックデイ
ンタリーブ装置におけるアドレス生成装置の各部の信号
波形を示す図である。
【図11】従来のブロックデインタリーブ装置の記憶装
置の制御装置における比較器の構成を示す図である。
【図12】本願発明の実施の形態2によるブロックデイ
ンタリーブ装置の記憶装置の制御装置における比較器の
構成を示す図である。
【図13】従来のブロックインタリーブ装置およびブロ
ックデインタリーブ装置における記憶装置の書き込み読
み出し順を示す図である。
【図14】従来のブロックインタリーブ装置およびブロ
ックデインタリーブ装置において記憶装置が1面で済む
点を示すブロック図である。

Claims (30)

    (57)【特許請求の範囲】
  1. 【請求項1】 (L×M)個のアドレス(L,Mは2以
    上の整数)が割り当てられた記憶手段と、 該記憶手段に対し、ブロックインタリーブすべき(L×
    M)個のデータを単位とするブロックを書き込み,読み
    出す際のアドレスを生成するアドレス生成手段と、 該アドレス生成手段により生成されたアドレスを用い
    て、上記記憶手段が上記データの書き込みおよび読み出
    しを切り替えて行うように動作制御を行う制御手段とを
    備え、 上記アドレス生成手段は、 ブロック番号bのブロックが入力される毎に、α(αは
    2以上の整数)とMの(b-x)乗(xは0以上b以下の
    整数、bは0以上の整数)との乗算結果を生成する乗算
    手段と、 上記乗算手段による乗算結果と比較基準値L×M-1との
    大小を比較する第1の比較手段を有し、その比較結果に
    基づき上記乗算結果より可能な限り上記L×M-1を減算
    して上記乗算結果のオーバーフローを抑えることにより
    上記ブロック番号bのブロックに対するアドレスの増分
    値REGを出力する第1のオーバーフロー処理手段と、 ブロック番号bのブロックが入力される毎に、上記第1
    のオーバーフロー処理手段により出力されるアドレスの
    増分値REGに対し、上記ブロック番号bのn-1番目(nは
    1以上L×M-1以下の整数)のアドレスAb(n-1)を順次加
    算することにより上記ブロック番号bのブロック内のn
    番目のアドレスAb(n)を順次生成する加算手段と、 上記加算手段による加算結果と比較基準値L×M-1との
    大小を比較する第2の比較手段を有し、その比較結果に
    基づき上記加算結果より可能な限り上記L×M-1を減算
    して上記加算結果のオーバーフローを抑えることにより
    上記記憶手段に対して実際に供給するアドレスを出力す
    る第2のオーバーフロー処理手段とを有し、 上記第1の比較手段は、上記乗算結果と上記比較基準値
    L×M-1とを比較する際に、上記L×M-1に代えて、上記
    乗算結果に含まれる,上記L×M-1を越える最小値Aを
    上記比較基準値として使用し、大小比較を行うものであ
    ることを特徴とするブロックインタリーブ装置。
  2. 【請求項2】 (L×M)個のアドレス(L,Mは2以
    上の整数)が割り当てられた記憶手段と、 該記憶手段に対し、ブロックインタリーブすべき(L×
    M)個のデータを単位とするブロックを書き込み,読み
    出す際のアドレスを生成するアドレス生成手段と、 該アドレス生成手段により生成されたアドレスを用い
    て、上記記憶手段が上記データの書き込みおよび読み出
    しを切り替えて行うように動作制御を行う制御手段とを
    備え、 上記アドレス生成手段は、 ブロック番号b(bは1以上の整数)のブロックに対す
    るアドレスの増分値REG(b)を記憶するアドレス増分値記
    憶手段と、 ブロック番号0のブロックに対するアドレスの増分値RE
    G(0)としてα(αは2以上の整数)を上記アドレス増分
    値記憶手段に初期設定する第1の初期値設定手段と、 上記アドレス増分値記憶手段の記憶出力値REG(c)(c=b-
    1)に対しMを乗算する乗算手段と、 上記乗算手段による乗算結果と比較基準値L×M-1との
    大小を比較する第1の比較手段を有し、その比較結果に
    基づき上記乗算結果より可能な限り上記L×M-1を減算
    することにより、α×M**(b−x)mod(L×M
    −1)に相当する演算(**はべき乗、modは剰余、
    xは0以上b以下の整数)を行って、オーバーフローを
    抑えるとともに、上記演算結果をブロック番号bのブロ
    ックに対するアドレスの増分値REG(b)として上記アドレ
    ス増分値記憶手段に出力する第1のオーバーフロー処理
    手段と、 ブロック番号b(bは1以上の整数)のブロックの中の
    n番目(nは1以上L×M−1以下の整数)のアドレス
    Ab(n)を記憶し上記記憶手段のアドレス入力に出力する
    アドレス記憶手段と、 ブロック番号bのブロックに対する0番目のアドレスAb
    (0)を上記アドレス記憶手段に初期設定する第2の初期
    値設定手段と、 上記アドレス記憶手段の記憶出力値Ab(p)に対し(p=n-1)
    上記アドレス増分値記憶手段からのアドレスの増分値RE
    G(b)を加算する加算手段と、 上記加算手段による加算結果と比較基準値L×M-1との
    大小を比較する第2の比較手段を有し、その比較結果に
    基づき上記加算結果より可能な限り上記L×M-1を減算
    することにより(Ab(n-1)+α×M**(b−x))m
    od(L×M−1)に相当する演算を行って上記加算結
    果のオーバーフローを抑えるとともに、上記演算結果を
    ブロック番号bのブロックに対する第n番目のアドレス
    Ab(n)として上記アドレス記憶手段に出力する第2のオ
    ーバーフロー処理手段とを有するものであり、 上記第1の比較手段は、上記乗算結果と上記比較基準値
    L×M-1とを比較する際に、上記L×M-1に代えて、上記
    乗算結果に含まれる,上記L×M-1を越える最小値Aを
    上記比較基準値として使用し、大小比較を行うものであ
    ることを特徴とするブロックインタリーブ装置。
  3. 【請求項3】 請求項2記載のブロックインタリーブ装
    置において、 上記第1の初期値設定手段は、上記αを発生する第1の
    定数発生手段と、 リセット信号の投入時に上記第1の定数発生手段からの
    上記αを選択し上記アドレス増分値記憶手段に出力する
    第1のセレクタとを有するものであり、 上記第1のオーバーフロー処理手段は、上記乗算手段の
    出力と上記アドレス増分値記憶手段の出力とを入力と
    し、上記各ブロックの先頭において該乗算手段の出力を
    選択し、それ以外の期間は上記アドレス増分値記憶手段
    の出力を選択する第2のセレクタと、 上記第2のセレクタの出力と上記比較基準値Aとを比較
    する第1の比較手段と、 上記第2のセレクタの出力より上記L×M-1を減算する
    第1の減算手段と、 上記第2のセレクタの出力と上記第1の減算手段の出力
    とを入力とし、上記第2のセレクタの出力が上記比較基
    準値以上の場合上記第1の減算手段の出力を選択し、上
    記第2のセレクタの出力が上記比較基準値未満の場合該
    第2のセレクタの出力を選択する第3のセレクタとを有
    し、 リセット信号の非投入期間に上記第1のセレクタを介し
    て上記第3のセレクタの出力を上記アドレス増分値記憶
    手段に出力するものであることを特徴とするブロックイ
    ンタリーブ装置。
  4. 【請求項4】 請求項2記載のブロックインタリーブ装
    置において、 上記第1の比較手段は、上記比較基準値として、上記L
    ×M-1を越える最小値Aに代えて、L×M-1<B<Aを満
    たし、かつ該比較手段を構成する論理ゲート数が最小に
    なるように選定した値Bを使用するものであることを特
    徴とするブロックインタリーブ装置。
  5. 【請求項5】 請求項2記載のブロックインタリーブ装
    置において、 上記第2の初期値設定手段は、値0を発生する第2の定
    数発生手段と、 リセット信号の投入時に上記第2の定数発生手段からの
    値0を選択し上記アドレス記憶手段に出力する第4のセ
    レクタとを有するものであり、 上記第2のオーバーフロー処理手段は、上記加算手段の
    出力と比較基準値L×M−1とを比較する第2の比較手
    段と、 上記加算手段の出力より上記比較基準値L×M-1を減算
    する第2の減算手段と、 上記加算手段の出力と上記第2の減算手段の出力とを入
    力し、上記加算手段の出力が上記比較基準値以上の場合
    上記第2の減算手段の出力を選択し、上記加算手段の出
    力が上記比較基準値未満の場合該加算手段の出力を選択
    する第5のセレクタとを有し、 リセット信号の非投入期間に上記第4のセレクタを介し
    て上記第5のセレクタの出力を上記アドレス記憶手段に
    出力するものであることを特徴とするブロックインタリ
    ーブ装置。
  6. 【請求項6】 請求項2記載のブロックインタリーブ装
    置において、 前記αとL×M-1との間に公約数が存在しないように、
    これらの値を設定したことを特徴とするブロックインタ
    リーブ装置。
  7. 【請求項7】 請求項2記載のブロックインタリーブ装
    置において、 前記αとMの(-x)乗が等しくないように、これらの値を
    設定したことを特徴とするブロックインタリーブ装置。
  8. 【請求項8】 請求項2記載のブロックインタリーブ装
    置において、 前記α、L、Mの値を、それぞれα=20、L=8、M=203
    としたことを特徴とするブロックインタリーブ装置。
  9. 【請求項9】 請求項2記載のブロックインタリーブ装
    置において、 前記(L,M)の値を、 L=96×X(X=1,2,4),M=2,…,13 あるいは M=2,…,13,L=96×X(X=1,2,4) の72通りのいずれかの値としたことを特徴とするブロ
    ックインタリーブ装置。
  10. 【請求項10】 (L×M)個のアドレス(L,Mは2
    以上の整数)が割り当てられた記憶手段と、 該記憶手段に対し、ブロックデインタリーブすべき(L
    ×M)個のデータを単位とするブロックを書き込み,読
    み出す際のアドレスを生成するアドレス生成手段と、 該アドレス生成手段により生成されたアドレスを用い
    て、上記記憶手段が上記データの書き込みおよび読み出
    しを切り替えて行うように動作制御を行う制御手段とを
    備え、 上記アドレス生成手段は、 ブロック番号bのブロックが入力される毎に、α(αは
    2以上の整数)とLの(b-x)乗(xは0以上b以下の
    整数、bは0以上の整数)との乗算結果を生成する乗算
    手段と、 上記乗算手段による乗算結果と比較基準値L×M-1との
    大小を比較する第1の比較手段を有し、その比較結果に
    基づき上記乗算結果より可能な限り上記L×M-1を減算
    して上記乗算結果のオーバーフローを抑えることにより
    上記ブロック番号bのブロックに対するアドレスの増分
    値REGを出力する第1のオーバーフロー処理手段と、 ブロック番号bのブロックが入力される毎に、上記第1
    のオーバーフロー処理手段により出力されるアドレスの
    増分値REGに対し、上記ブロック番号bのn-1番目(nは
    1以上L×M-1以下の整数)のアドレスAb(n-1)を順次加
    算することにより上記ブロック番号bのブロック内のn
    番目のアドレスAb(n)を順次生成する加算手段と、 上記加算手段による加算結果と比較基準値L×M-1との
    大小を比較する第2の比較手段を有し、その比較結果に
    基づき上記加算結果より可能な限り上記L×M-1を減算
    して上記加算結果のオーバーフローを抑えることにより
    上記記憶手段に対し実際に供給するアドレスを出力する
    第2のオーバーフロー処理手段とを有し、 上記第1の比較手段は、上記乗算結果と上記比較基準値
    L×M-1とを比較する際に、上記L×M-1に代えて、上記
    乗算結果に含まれる,上記L×M-1を越える最小値Aを
    上記比較基準値として使用し、大小比較を行うものであ
    ることを特徴とするブロックデインタリーブ装置。
  11. 【請求項11】 (L×M)個のアドレス(L,Mは2
    以上の整数)が割り当てられた記憶手段と、 該記憶手段に対し、ブロックデインタリーブすべき(L
    ×M)個のデータを単位とするブロックを書き込み,読
    み出す際のアドレスを生成するアドレス生成手段と、 該アドレス生成手段により生成されたアドレスを用い
    て、上記記憶手段が上記データの書き込みおよび読み出
    しを切り替えて行うように動作制御を行う制御手段とを
    備え、 上記アドレス生成手段は、 ブロック番号b(bは1以上の整数)のブロックに対す
    るアドレスの増分値REG(b)を記憶するアドレス増分値記
    憶手段と、 ブロック番号0のブロックに対するアドレスの増分値RE
    G(0)としてα(αは2以上の整数)を上記アドレス増分
    値記憶手段に初期設定する第1の初期値設定手段と、 上記アドレス増分値記憶手段の記憶出力値REG(c)(c=b-
    1)に対しLを乗算する乗算手段と、 上記乗算手段による乗算結果と比較基準値L×M-1との
    大小を比較する第1の比較手段を有し、その比較結果に
    基づき上記乗算結果より可能な限り上記L×M-1を減算
    することにより、α×L**(b−x)mod(L×M
    −1)に相当する演算(**はべき乗、modは剰余、
    xは0以上b以下の整数)を行って、オーバーフローを
    抑えるとともに、上記演算結果をブロック番号bのブロ
    ックに対するアドレスの増分値REG(b)として上記アドレ
    ス増分値記憶手段に出力する第1のオーバーフロー処理
    手段と、 ブロック番号b(bは1以上の整数)のブロックの中の
    n番目(nは1以上L×M−1以下の整数)のアドレス
    Ab(n)を記憶し上記記憶手段のアドレス入力に出力する
    アドレス記憶手段と、 ブロック番号bのブロックに対する0番目のアドレスAb
    (0)を上記アドレス記憶手段に初期設定する第2の初期
    値設定手段と、 上記アドレス記憶手段の記憶出力値Ab(p)に対し(p=n-1)
    上記アドレス増分値記憶手段からのアドレスの増分値RE
    G(b)を加算する加算手段と、 上記加算手段による加算結果と比較基準値L×M-1との
    大小を比較する第2の比較手段を有し、その比較結果に
    基づき上記加算結果より可能な限り上記L×M-1を減算
    することにより(Ab(n-1)+α×L**(b−x))m
    od(L×M−1)に相当する演算を行って上記加算結
    果のオーバーフローを抑えるとともに、上記演算結果を
    ブロック番号bのブロックに対する第n番目のアドレス
    Ab(n)として上記アドレス記憶手段に出力する第2のオ
    ーバーフロー処理手段とを有するものであり、 上記第1の比較手段は、上記乗算結果と上記比較基準値
    L×M-1とを比較する際に、上記L×M-1に代えて、上記
    乗算結果に含まれる,上記L×M-1を越える最小値Aを
    上記比較基準値として使用し、大小比較を行うものであ
    ることを特徴とするブロックデインタリーブ装置。
  12. 【請求項12】 請求項11記載のブロックデインタリ
    ーブ装置において、 上記第1の初期値設定手段は、上記αを発生する第1の
    定数発生手段と、 リセット信号の投入時に上記第1の定数発生手段からの
    上記αを選択し上記アドレス増分値記憶手段に出力する
    第1のセレクタとを有するものであり、 上記第1のオーバーフロー処理手段は、上記乗算手段の
    出力と上記アドレス増分値記憶手段の出力とを入力し、
    上記各ブロックの先頭において該乗算手段の出力を選択
    し、それ以外の期間は上記アドレス増分値記憶手段の出
    力を選択する第2のセレクタと、 上記第2のセレクタの出力と上記比較基準値Aとを比較
    する第1の比較手段と、 上記第2のセレクタの出力より上記L×M-1を減算する
    第1の減算手段と、 上記第2のセレクタの出力と上記第1の減算手段の出力
    とを入力とし、上記第2のセレクタの出力が上記比較基
    準値以上の場合上記第1の減算手段の出力を選択し、上
    記第2のセレクタの出力が上記比較基準値未満の場合該
    第2のセレクタの出力を選択する第3のセレクタとを有
    し、 リセット信号の非投入期間に上記第1のセレクタを介し
    て上記第3のセレクタの出力を上記アドレス増分値記憶
    手段に出力するものであることを特徴とするブロックデ
    インタリーブ装置。
  13. 【請求項13】 請求項11記載のブロックデインタリ
    ーブ装置において、 上記第1の比較手段は、上記比較基準値として、上記L
    ×M-1を越える最小値Aに代えて、L×M-1<B<Aを満
    たし、かつ該比較手段を構成する論理ゲート数が最小に
    なるように選定した値Bを使用するものであることを特
    徴とするブロックデインタリーブ装置。
  14. 【請求項14】 請求項11記載のブロックデインタリ
    ーブ装置において、 上記第2の初期値設定手段は、値0を発生する第2の定
    数発生手段と、 リセット信号の投入時に上記第2の定数発生手段からの
    値0を選択し上記アドレス記憶手段に出力する第4のセ
    レクタとを有するものであり、 上記第2のオーバーフロー処理手段は、上記加算手段の
    出力と比較基準値L×M−1とを比較する第2の比較手
    段と、 上記加算手段の出力より上記比較基準値L×M-1を減算
    する第2の減算手段と、 上記加算手段の出力と上記第2の減算手段の出力とを入
    力とし、上記加算手段の出力が上記比較基準値以上の場
    合上記第2の減算手段の出力を選択し、上記加算手段の
    出力が上記比較基準値未満の場合該加算手段の出力を選
    択する第5のセレクタとを有し、 リセット信号の非投入期間に上記第4のセレクタを介し
    て上記第5のセレクタの出力を上記アドレス記憶手段に
    出力するものであることを特徴とするブロックデインタ
    リーブ装置。
  15. 【請求項15】 請求項11記載のブロックデインタリ
    ーブ装置において、 前記αとL×M-1との間に公約数が存在しないように、
    これらの値を設定したことを特徴とするブロックデイン
    タリーブ装置。
  16. 【請求項16】 請求項11記載のブロックデインタリ
    ーブ装置において、 前記αとLの(-x)乗が等しくないように、これらの値を
    設定したことを特徴とするブロックデインタリーブ装
    置。
  17. 【請求項17】 請求項11記載のブロックデインタリ
    ーブ装置において、 前記α、L、Mの値を、それぞれα=20、L=8、M=203
    としたことを特徴とするブロックデインタリーブ装置。
  18. 【請求項18】 請求項11記載のブロックデインタリ
    ーブ装置において、 前記(L,M)の値を、 L=96×X(X=1,2,4),M=2,…,13 あるいは M=2,…,13,L=96×X(X=1,2,4) の72通りのいずれかの値としたことを特徴とするブロ
    ックデインタリーブ装置。
  19. 【請求項19】 (L×M)個のアドレス(L,Mは2
    以上の整数)が割り当てられた記憶手段に対し、ブロッ
    クインタリーブすべき(L×M)個のデータを単位とす
    るブロックを書き込み,読み出す際のアドレスを生成
    し、該生成されたアドレスを用いて、上記記憶手段が上
    記データの書き込みおよび読み出しを切り替えて行うよ
    うに動作制御を行うことによりデータのブロックインタ
    リーブを行う方法において、 ブロック番号0のブロックに対しアドレスの増分値REG
    としてα(αは2以上の整数)を与え、以後ブロック番
    号が1増すごとに増分値REGにMを乗算したものを当該
    ブロックのアドレスの増分値REGとする際、アドレスの
    増分値REGがL×M−1を越えた場合、当該増分値REGに
    代えてL×M−1による剰余を当該増分値として上記の
    処理を繰り返すことにより、α×M**(b−x)mo
    d(L×M−1)に相当する演算(**はべき乗、mo
    dは剰余、xは0以上b以下の整数)を行って、各ブロ
    ック毎のアドレスの増分値を求め、 各ブロックにおいて、アドレスの初期値としてAb(0)を
    設定し、以後当該ブロックのアドレスの増分値REGを順
    次加算することにより当該ブロック内の各アドレスAb
    (1)ないしAb(n)(nは1以上L×M−1以下の整数)を
    生成する際、アドレスがL×M−1を越えた場合当該ア
    ドレスに代えてL×M−1による剰余を当該アドレスと
    して上記の処理を繰り返し、各ブロック内のアドレスを
    生成することにより、上記アドレス生成を実行し、 かつ、上記アドレスの増分値を計算する際の剰余を求め
    るか否かの判定を、上記アドレスの増分値と上記L×M
    −1との大小比較で判定する際、上記L×M-1に代え
    て、上記乗算結果に含まれる,上記L×M-1を越える最
    小値Aを上記比較基準値として使用し、大小比較を行う
    第1の比較手段を使用して行うことを特徴とするブロッ
    クインタリーブ方法。
  20. 【請求項20】 請求項19記載のブロックインタリー
    ブ方法において、 上記第1の比較手段は、上記比較基準値として、上記L
    ×M-1を越える最小値Aに代えて、L×M-1<B<Aを満
    たし、かつ該比較手段を構成する論理ゲート数が最小に
    なるように選定した値Bを使用することを特徴とするブ
    ロックインタリーブ方法。
  21. 【請求項21】 請求項19記載のブロックインタリー
    ブ方法において、 前記αとL×M-1との間に公約数が存在しないように、
    これらの値を設定したことを特徴とするブロックインタ
    リーブ方法。
  22. 【請求項22】 請求項19記載のブロックインタリー
    ブ方法において、 前記αとMの(-x)乗が等しくないように、これらの値を
    設定したことを特徴とするブロックインタリーブ方法。
  23. 【請求項23】 請求項19記載のブロックインタリー
    ブ方法において、 前記α、L、Mの値を、それぞれα=20、L=8、M=203
    としたことを特徴とするブロックインタリーブ方法。
  24. 【請求項24】 請求項19記載のブロックインタリー
    ブ方法において、 前記(L,M)の値を、 L=96×X(X=1,2,4),M=2,…,13 あるいは M=2,…,13,L=96×X(X=1,2,4) の72通りのいずれかの値としたことを特徴とするブロ
    ックインタリーブ方法。
  25. 【請求項25】 (L×M)個のアドレス(L,Mは2
    以上の整数)が割り当てられた記憶手段に対し、ブロッ
    クデインタリーブすべき(L×M)個のデータを単位と
    するブロックを書き込み,読み出す際のアドレスを生成
    し、該生成されたアドレスを用いて、上記記憶手段が上
    記データの書き込みおよび読み出しを切り替えて行うよ
    うに動作制御を行うことによりデータのブロックデイン
    タリーブを行う方法において、 ブロック番号0のブロックに対しアドレスの増分値REG
    としてα(αは2以上の整数)を与え、以後ブロック番
    号が1増すごとに増分値REGにLを乗算したものを当該
    ブロックのアドレスの増分値REGとする際、アドレスの
    増分値REGがL×M−1を越えた場合、当該増分値REGに
    代えてL×M−1による剰余を当該増分値として上記の
    処理を繰り返すことにより、α×L**(b−x)mo
    d(L×M−1)に相当する演算(**はべき乗、mo
    dは剰余、xは0以上b以下の整数)を行って、各ブロ
    ック毎のアドレスの増分値を求め、 各ブロックにおいて、アドレスの初期値としてAb(0)を
    設定し、以後当該ブロックのアドレスの増分値REGを順
    次加算することにより当該ブロック内の各アドレスAb
    (1)ないしAb(n)(nは1以上L×M−1以下の整数)を
    生成する際、アドレスがL×M−1を越えた場合当該ア
    ドレスに代えてL×M−1による剰余を当該アドレスと
    して上記の処理を繰り返し、各ブロック内のアドレスを
    生成することにより、上記アドレス生成を実行し、 かつ、上記アドレスの増分値を計算する際の剰余を求め
    るか否かの判定を、上記アドレスの増分値と上記L×M
    −1との大小比較で判定する際、上記L×M-1に代え
    て、上記乗算結果に含まれる,上記L×M-1を越える最
    小値Aを上記比較基準値として使用し、大小比較を行う
    第1の比較手段を使用して行うことを特徴とするブロッ
    クデインタリーブ方法。
  26. 【請求項26】 請求項25記載のブロックデインタリ
    ーブ方法において、 上記第1の比較手段は、上記比較基準値として、上記L
    ×M-1を越える最小値Aに代えて、L×M-1<B<Aを満
    たし、かつ該比較手段を構成する論理ゲート数が最小に
    なるように選定した値Bを使用することを特徴とするブ
    ロックデインタリーブ方法。
  27. 【請求項27】 請求項25記載のブロックデインタリ
    ーブ方法において、 前記αとL×M-1との間に公約数が存在しないように、
    これらの値を設定したことを特徴とするブロックデイン
    タリーブ方法。
  28. 【請求項28】 請求項25記載のブロックデインタリ
    ーブ方法において、 前記αとMの(-x)乗が等しくないように、これらの値を
    設定したことを特徴とするブロックデインタリーブ方
    法。
  29. 【請求項29】 請求項25記載のブロックデインタリ
    ーブ方法において、 前記α、L、Mの値を、それぞれα=20、L=8、M=203
    としたことを特徴とするブロックデインタリーブ方法。
  30. 【請求項30】 請求項25記載のブロックデインタリ
    ーブ方法において、 前記(L,M)の値を、 L=96×X(X=1,2,4),M=2,…,13 あるいは M=2,…,13,L=96×X(X=1,2,4) の72通りのいずれかの値としたことを特徴とするブロ
    ックデインタリーブ方法。
JP2000605312A 1999-03-15 2000-03-14 ブロックインタリーブ装置,ブロックデインタリーブ装置,ブロックインタリーブ方法,およびブロックデインタリーブ方法 Expired - Fee Related JP3535833B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP6840799 1999-03-15
JP11-68407 1999-03-15
PCT/JP2000/001543 WO2000055975A1 (fr) 1999-03-15 2000-03-14 Imbrication et desimbrication de blocs, et dispositif a cet effet

Publications (1)

Publication Number Publication Date
JP3535833B2 true JP3535833B2 (ja) 2004-06-07

Family

ID=13372807

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000605312A Expired - Fee Related JP3535833B2 (ja) 1999-03-15 2000-03-14 ブロックインタリーブ装置,ブロックデインタリーブ装置,ブロックインタリーブ方法,およびブロックデインタリーブ方法

Country Status (6)

Country Link
US (1) US6986081B1 (ja)
EP (1) EP1170871A4 (ja)
JP (1) JP3535833B2 (ja)
KR (1) KR100485545B1 (ja)
TW (1) TW457782B (ja)
WO (1) WO2000055975A1 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100782214B1 (ko) * 2001-05-15 2007-12-05 엘지전자 주식회사 멀티 캐리어 인터리빙 구현장치 및 방법
US7233612B1 (en) * 2003-02-19 2007-06-19 Advanced Micro Devices, Inc. Wireless communication deinterleaver using multi-phase logic and cascaded deinterleaving
TWI226757B (en) * 2003-11-11 2005-01-11 Benq Corp Address generator for block interleaving
TWI288890B (en) 2005-04-01 2007-10-21 Realtek Semiconductor Corp Method and apparatus for pixel interpolation
TWI288897B (en) * 2005-04-12 2007-10-21 Realtek Semiconductor Corp Method and apparatus of false color suppression
TWI288896B (en) * 2005-04-12 2007-10-21 Realtek Semiconductor Corp Method and apparatus of deinterlacing
TW200811758A (en) 2006-08-24 2008-03-01 Realtek Semiconductor Corp Method for edge detection, method for motion detection, method for pixel interpolation utilizing up-sampling, and apparatuses thereof
GB2456292B (en) * 2007-11-07 2010-03-17 British Broadcasting Corp Interleaving or de-interleaving a stream of data received in successive frames
TWI366346B (en) * 2008-11-04 2012-06-11 Ralink Technology Corp Method for reading and writing a block interleaver and the reading circuit thereof
US9100102B2 (en) * 2011-01-11 2015-08-04 Texas Instruments Incorporated Method to use a preamble with band extension in power line communications

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4633486A (en) * 1983-07-28 1986-12-30 Cyclotomics, Inc. Method and apparatus for synchronization by coherent reinforcement
US5063533A (en) 1989-04-10 1991-11-05 Motorola, Inc. Reconfigurable deinterleaver/interleaver for block oriented data
KR0139192B1 (ko) * 1992-09-15 1998-07-01 윤종용 디지탈전송데이타의 디인터리빙방법 및 장치
FR2713845B1 (fr) 1993-12-07 1996-01-19 Thomson Consumer Electronics Procédé d'entrelacement et de désentrelacement en bloc et dispositif de mise en Óoeuvre.
JP3415693B2 (ja) * 1993-12-23 2003-06-09 ノキア モービル フォーンズ リミテッド インターリーブプロセス
US5659580A (en) * 1994-11-29 1997-08-19 Lucent Technologies Inc. Data interleaver for use with mobile communication systems and having a contiguous counter and an address twister
US5764649A (en) * 1996-03-29 1998-06-09 Amati Communications Corporation Efficient address generation for convolutional interleaving using a minimal amount of memory
JP3359291B2 (ja) 1998-07-17 2002-12-24 株式会社ケンウッド デインターリーブ回路
JP2000078030A (ja) * 1998-08-28 2000-03-14 Denso Corp インターリーブアドレス発生器及びインターリーブアドレス発生方法

Also Published As

Publication number Publication date
TW457782B (en) 2001-10-01
WO2000055975A1 (fr) 2000-09-21
EP1170871A1 (en) 2002-01-09
US6986081B1 (en) 2006-01-10
KR100485545B1 (ko) 2005-04-28
EP1170871A4 (en) 2004-04-28
KR20020006682A (ko) 2002-01-24

Similar Documents

Publication Publication Date Title
US6035427A (en) Convolutional interleaver and method for generating memory address therefor
JP4460047B2 (ja) ガロア体乗算システム
JP3773263B2 (ja) 順列ユニットを含む回路装置及び一組の項目の処理方法
JP3535833B2 (ja) ブロックインタリーブ装置,ブロックデインタリーブ装置,ブロックインタリーブ方法,およびブロックデインタリーブ方法
US5276827A (en) Data buffer for the duration of cyclically recurrent buffer periods
US6523146B1 (en) Operation processing apparatus and operation processing method
KR101133907B1 (ko) 디인터리브 장치와 방법 및 인터리빙 인덱스 산출장치 및방법과 그 기록매체
CA2337008C (en) De-interleaving circuit using one superframe memory storage
US6646579B2 (en) Method and device for generating OVSF code words
JP2009171347A (ja) 演算ユニット、エラー訂正復号回路及び誤り位置多項式の演算方法
EP2827516B1 (en) Scrambling code generation method, apparatus and scrambling code processing apparatus
US5887036A (en) Logical block for a Viterbi decoder
JP2009246474A (ja) ターボデコーダ
JP3065979B2 (ja) 高速フーリエ変換装置および方法、可変ビットリバース回路、逆高速フーリエ変換装置および方法、並びにofdm受信および送信装置
US9128536B2 (en) Frequency synthesizer and frequency synthesizing method for converting frequency's spurious tones into noise
US6195781B1 (en) Error correction code calculator
US5448510A (en) Method and apparatus for producing the reciprocal of an arbitrary element in a finite field
CN108683425B (zh) 一种bch译码器
US7038965B2 (en) Pointer generator for stack
KR100306580B1 (ko) 비터비디코더의경로메모리장치
KR100484418B1 (ko) 고속푸리에변환장치및방법,가변비트리버스회로,역고속푸리에변환장치및방법과직교주파수분할다중수신및송신장치
JPH08335887A (ja) 複数インタリーブ・マトリクスのインタリーブアドレス生成回路
JP2000078030A (ja) インターリーブアドレス発生器及びインターリーブアドレス発生方法
JPH0962585A (ja) インターリーブ装置
JP2000132539A (ja) 演算装置

Legal Events

Date Code Title Description
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: 20040217

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040312

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080319

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090319

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100319

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110319

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110319

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees