JP2001332980A - Device and method for interleave - Google Patents

Device and method for interleave

Info

Publication number
JP2001332980A
JP2001332980A JP2000149121A JP2000149121A JP2001332980A JP 2001332980 A JP2001332980 A JP 2001332980A JP 2000149121 A JP2000149121 A JP 2000149121A JP 2000149121 A JP2000149121 A JP 2000149121A JP 2001332980 A JP2001332980 A JP 2001332980A
Authority
JP
Japan
Prior art keywords
data
address
block
interleave
output
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.)
Withdrawn
Application number
JP2000149121A
Other languages
Japanese (ja)
Inventor
Kazuhisa Funamoto
一久 舟本
Tamotsu Ikeda
保 池田
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.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2000149121A priority Critical patent/JP2001332980A/en
Publication of JP2001332980A publication Critical patent/JP2001332980A/en
Withdrawn legal-status Critical Current

Links

Landscapes

  • Detection And Correction Of Errors (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

PROBLEM TO BE SOLVED: To perform block interleave, using memory capacity for one interleave. SOLUTION: This interleaver performs block interleave for a unit of m×n data. The interleaver sets logical addresses from 0 to (m×n-1) to an interleave memory and writes i-th data of the next super frame to the logical address, where i-th data of a certain interleave block are read out. The interleaver calculates the logical address of i-th data to be outputted from a k-th interleave block, on the basis of a function fk(i)=f(fk-1(i)).

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、データ系列に対し
てブロックインタリーブを行うインタリーブ装置及びイ
ンタリーブ方法に関するものである。
The present invention relates to an interleave apparatus and an interleave method for performing block interleave on a data sequence.

【0002】[0002]

【従来の技術】インタリーバ及びデインタリーバについ
て説明をする。
2. Description of the Related Art An interleaver and a deinterleaver will be described.

【0003】デジタル信号を伝送する場合、Bit Error
Rate(以下BER)特性を確保するため、通常、送信する
信号に対して誤り訂正符号化処理がされる。このような
誤り訂正処理の手法として、複数の誤り訂正符号を組み
合わせて使う連接符号と呼ばれる手法が知られている。
When transmitting digital signals, Bit Error
In order to secure Rate (hereinafter BER) characteristics, an error correction coding process is usually performed on a signal to be transmitted. As a method of such error correction processing, a method called a concatenated code that uses a combination of a plurality of error correction codes is known.

【0004】この連接符号について説明するための概念
図を、図19に示す。
FIG. 19 is a conceptual diagram for explaining the connection code.

【0005】この連接符号は、送信側では、情報系列に
対してある符号化方式Aにより符号化し、さらにそれに
対して別の符号化方式Bで符号化して送信する。そして
受信側では、受信系列を、まず符号化方式Bに対応する
復号方式で復号し、さらにそれに対して符号化方式Aに
対応する復号方式で復号することで情報系列を得るもの
である。このような連接符号を用いることにより、いず
れか一つの誤り訂正方式を用いる場合よりも、優れたB
ER特性を得ることができる。
[0005] On the transmitting side, the concatenated code is encoded with an encoding system A for an information sequence, and further encoded with another encoding system B for transmission. On the receiving side, an information sequence is obtained by first decoding the received sequence using a decoding system corresponding to the encoding system B, and further decoding the received sequence using a decoding system corresponding to the encoding system A. By using such a concatenated code, B is superior to the case where any one error correction method is used.
ER characteristics can be obtained.

【0006】例えばBSデジタル放送等の場合、図20
に示すように、送信側では、情報系列に対して、まずRe
ed-Solomon符号化器で符号化し、さらにそれに対して畳
み込み符号化器で符号化する。そして受信側では、受信
系列を、まず例えばビタビ復号器により畳み込み符号の
復号を行い、されにそれに対してReed-Solomon復号器で
復号することで情報系列を得る。
For example, in the case of BS digital broadcasting, etc., FIG.
As shown in the figure, on the transmitting side, first, Re
It is encoded by an ed-Solomon encoder, and further encoded by a convolutional encoder. Then, on the receiving side, the received sequence is decoded by a convolutional code using, for example, a Viterbi decoder, and then decoded by a Reed-Solomon decoder to obtain an information sequence.

【0007】ところで、畳み込み符号に対してビタビ復
号を行った場合、符号雑音比(以下CNR)の低いデータ
系列に連続的に誤訂正(以下バースト誤り)が発生しやす
い。
When Viterbi decoding is performed on a convolutional code, erroneous correction (hereinafter, burst error) tends to occur continuously in a data sequence having a low code-to-noise ratio (hereinafter, CNR).

【0008】そのため、例えばBSデジタル放送等のデ
ータ伝送システムでは、図21に示すように、RS符号
化器と畳み込み符号化器との間にインタリーバを設け、
さらに、ビタビ復号器とRS復号器との間にデインタリ
ーバを設けている。
Therefore, in a data transmission system such as a BS digital broadcast, for example, as shown in FIG. 21, an interleaver is provided between an RS encoder and a convolutional encoder.
Further, a deinterleaver is provided between the Viterbi decoder and the RS decoder.

【0009】ここで、インタリーバとは入力系列をある
規則に従って並べ換える装置であり、デインタリーバと
はインタリーバとは逆の規則に従って入力系列を並べ換
える装置である。このように、インタリーバ及びデイン
タリーバを設けることによって、図22に示すように、
ビタビ復号を行うことによって発生するバースト誤りを
分散させて、誤り訂正能力を向上させている。
Here, the interleaver is a device for rearranging an input sequence according to a certain rule, and the deinterleaver is a device for rearranging an input sequence according to a rule reverse to that of the interleaver. Thus, by providing an interleaver and a deinterleaver, as shown in FIG.
Burst errors generated by performing Viterbi decoding are dispersed to improve error correction capability.

【0010】一般的なインタリーバ、デインタリーバの
論理的な動作を説明する。なお、インタリーバとデイン
タリーバは、データの並び替えの規則が逆であるだけ
で、入力系列をある規則に従って並べ替えるという動作
は同一であるため、ここでは、インタリーバの動作に関
してのみ説明を行う。また、インタリーバは、データの
並び替え規則によってブロックインタリーバと畳み込み
インタリーバとの大きく2つの種類に分けられるが、こ
こでは、一定数のデータ群からなるブロックにデータス
トリームを分割し、そのブロック内でインタリーブ処理
が完結されているブロックインタリーバについての動作
に関してのみ説明を行う。また、以下、単にインタリー
バと称した場合には、ブロックインタリーバのことを表
すものとする。
The logical operation of a general interleaver and deinterleaver will be described. Note that the interleaver and the deinterleaver have the same operation of rearranging an input sequence according to a certain rule, except that the rules for rearranging data are reversed. Therefore, only the operation of the interleaver will be described here. The interleaver is roughly classified into two types, a block interleaver and a convolutional interleaver, according to the data rearrangement rule. Here, the interleaver divides the data stream into blocks each having a fixed number of data groups, Only the operation of the block interleaver for which processing has been completed will be described. Hereinafter, when simply referred to as an interleaver, it refers to a block interleaver.

【0011】インタリーバは、m行×n列で構成される
データ配列を用い、このデータ配列に対するデータの書
き込み順序と読み出し順序とを換えることによって、デ
ータの並べ替えを行うもの、と説明することができる。
このm×nのデータ配列のことを、以下インタリーブブ
ロック或いは単にブロックと呼ぶ。
The interleaver uses a data array composed of m rows × n columns, and performs data rearrangement by changing the order of writing and reading data with respect to this data array. it can.
This m × n data array is hereinafter referred to as an interleaved block or simply a block.

【0012】インタリーバは、まず、図23(a)に示
すように、1次元のデータ入力系列を、行方向に順番に
配列していき、m×nの2次元のデータ配列をメモリ上
に構成する。続いて、図23(b)に示すように、この
データ配列からデータを列方向に順番にメモリ上から読
み出していき、1次元のデータ出力系列を送出する。
The interleaver first arranges a one-dimensional data input sequence in the row direction as shown in FIG. 23 (a), and forms an m × n two-dimensional data array on a memory. I do. Subsequently, as shown in FIG. 23B, data is sequentially read from the memory from the data array in the column direction from the memory, and a one-dimensional data output sequence is transmitted.

【0013】例えば、2×3のブロックを用いるインタ
リーバに対して、0,1,2,3,4,5・・・という
入力系列を与えると、図24(a)に示すように、行方
向に各データがメモリ上に書き込まれる。これに対し
て、インタリーバは、読み出し時には、図24(b)に
示すように、2×3で構成されるデータ配列から列方向
にデータをメモリ上から読み出し、0,3,1,4,
2,5・・・という出力系列を送出する。
For example, when an input sequence of 0, 1, 2, 3, 4, 5,... Is given to an interleaver using 2 × 3 blocks, as shown in FIG. Are written on the memory. On the other hand, at the time of reading, as shown in FIG. 24B, the interleaver reads data from the memory in the column direction from the 2 × 3 data array, and reads 0, 3, 1, 4,
The output sequence of 2, 5,... Is transmitted.

【0014】以上がインタリーバの論理的な動作であ
る。このようなインタリーバを用いることにより、BS
デジタル放送等のデータ伝送システムでは、ビタビ復号
等によって生じたバースト誤りを、ランダム誤りに変換
することができる。
The above is the logical operation of the interleaver. By using such an interleaver, BS
In a data transmission system such as digital broadcasting, a burst error caused by Viterbi decoding or the like can be converted into a random error.

【0015】以上説明したインタリーバは、1ブロック
分のデータの出力が全て完了した後に、次のブロックの
データの入力が行われており、ブロック毎に完結した動
作を行っている。従って、このインタリーバに対して入
出力されるデータは、ブロック単位で間欠的にメモリ上
から入出力される。しかしながら、アプリケーションに
よっては、インタリーバに対して連続的にデータの入出
力を行わなければならない場合がある。
In the above-described interleaver, the input of the data of the next block is performed after the output of all the data for one block is completed, and the interleaver performs a complete operation for each block. Therefore, data input / output to / from this interleaver is input / output from / to the memory intermittently in block units. However, depending on the application, it may be necessary to continuously input and output data to and from the interleaver.

【0016】このような要求に応えることができるイン
タリーバとして、いわゆるダブルバッファ方式を採用し
たインタリーバが知られている。ダブルバッファ方式の
インタリーバの回路構成の概略を図25に示す。
As an interleaver which can meet such a demand, an interleaver employing a so-called double buffer system is known. FIG. 25 shows a schematic circuit configuration of a double buffer type interleaver.

【0017】ダブルバッファ方式のインタリーバは、1
ブロック分のデータ容量を有する2つのメモリと、これ
ら2つのメモリに対する入出力信号(例えば、書き込み
データ、書き込みアドレス、読み出しデータ、読み出し
アドレス、制御信号)を切り替える入力セレクタ及び出
力セレクタとを備えて構成される。
The double-buffer interleaver has 1
A configuration including two memories each having a data capacity of a block, and an input selector and an output selector for switching input / output signals (for example, write data, write address, read data, read address, and control signal) for these two memories. Is done.

【0018】入力セレクタ及び出力セレクタは、1ブロ
ック処理するごとに選択するメモリを切り換える。また
入力セレクタと出力セレクタは、常に互いに異なるメモ
リを選択する。例えば、インタリーバに入力された順序
で第k番目のブロックを処理する場合、入力セレクタが
メモリAを選択していれば、出力セレクタはメモリBを
選択する。また、第(k+1)番目のブロックを処理する
ときには、選択するメモリが切り換えられ、入力セレク
タはメモリBを選択し、出力セレクタはメモリAを選択
する。入力データは、入力セレクタによって選択された
メモリに書き込まれ、出力データは出力セレクタによっ
て選択されたメモリから読み出される。このため、常に
いずれか一方のメモリに対してデータが入力され、ま
た、常に他方のメモリからデータが出力される。従っ
て、このダブルバッファ方式のインタリーバでは、連続
的にデータの入出力を行いながらインタリーブ処理をす
ることができる。
The input selector and the output selector switch the memory to be selected each time one block is processed. The input selector and the output selector always select different memories. For example, when processing the k-th block in the order of input to the interleaver, if the input selector selects memory A, the output selector selects memory B. When processing the (k + 1) -th block, the memory to be selected is switched, and the input selector selects the memory B and the output selector selects the memory A. The input data is written to the memory selected by the input selector, and the output data is read from the memory selected by the output selector. Therefore, data is always input to one of the memories, and data is always output from the other memory. Therefore, in the double buffer type interleaver, the interleave processing can be performed while continuously inputting and outputting data.

【0019】[0019]

【発明が解決しようとする課題】ところで、ブロックイ
ンタリーブを行うには、上述したようなダブルバッファ
方式のインタリーバを適用しなければならず、インタリ
ーブ用のメモリ容量がインタリーブブロックの2倍の容
量を必要としてしまっていた。そのため、インタリーバ
を集積化した場合、インタリーブ用のメモリにかかるコ
ストが非常に大きくなってしまっていた。
By the way, in order to perform block interleaving, the above-mentioned double buffer type interleaver must be applied, and the memory capacity for interleaving requires twice the capacity of the interleaving block. Had been done. Therefore, when the interleaver is integrated, the cost of the memory for the interleave becomes very large.

【0020】本発明は、このような実情を鑑みてなされ
たものであり、インタリーブ及びデインタリーブのため
に用いられるメモリの容量を削減することができるイン
タリーブ装置及びインタリーブ方法を提供することを目
的とする。
The present invention has been made in view of such circumstances, and has as its object to provide an interleave apparatus and an interleave method capable of reducing the capacity of a memory used for interleave and deinterleave. I do.

【0021】[0021]

【課題を解決するための手段】本発明にかかるインタリ
ーブ装置は、m×n個のデータからなるインタリーブブ
ロック単位でブロックインタリーブを行うインタリーブ
装置であって、0〜(m×n−1)までの論理アドレス
が設定され、1インタリーブブロック分のデータを格納
可能なインタリーブメモリと、入力されたデータを上記
インタリーブメモリに書き込み、上記インタリーブメモ
リに書き込まれているデータを所定のインタリーブ規則
に従い読み出すメモリ制御部とを備え、上記メモリ制御
部は、k番目のインタリーブブロックのi番目に出力さ
れるデータの論理アドレスを関数fk(i)=f(fk-1
(i))に基づき算出し、この論理アドレスと同一のア
ドレスにk+1番目のインタリーブブロックのi番目に
入力されるデータを書き込むことを特徴とする。
An interleave apparatus according to the present invention is an interleave apparatus for performing block interleave in a unit of an interleave block consisting of m × n data. An interleave memory in which a logical address is set and capable of storing data for one interleave block; and a memory controller for writing input data to the interleave memory and reading data written in the interleave memory according to a predetermined interleave rule. The memory control unit calculates the logical address of the i-th output data of the k-th interleaved block as a function f k (i) = f (f k−1
(I)), and writing the i-th input data of the (k + 1) -th interleaved block to the same address as the logical address.

【0022】ここで、f(i)=n×(i%m)+(i
/m)とし、このf(i)に対してfk(i)は以下の
ような関係を有する。 f2(i)=f(f(i)) f3(i)=f(f2(i)) f4(i)=f(f3(i)) ・ ・ ・ fk-1(i)=f(fk-2(i)) fk(i)=f(fk-1(i)) m,nは、1以上の整数であり、(x%y)とはxをy
で割った余りを表し、(x/y)とは、xをyで割った
商の整数部分を表す。
Here, f (i) = n × (i% m) + (i
/ M), and f k (i) has the following relationship with f (i). f 2 (i) = f (f (i)) f 3 (i) = f (f 2 (i)) f 4 (i) = f (f 3 (i)) f k-1 (i ) = F (f k−2 (i)) f k (i) = f (f k−1 (i)) where m and n are integers of 1 or more, and (x% y) means that x is y
, And (x / y) represents an integer part of a quotient obtained by dividing x by y.

【0023】また、本発明にかかるインタリーブ装置
は、f(i)を演算するf(i)発生回路と、0〜(m
×n−1)までのテーブルアドレスが設定され、上記テ
ーブルアドレス順に配列{fk-1(i)}を格納する第
1のテーブルと、0〜(m×n−1)までのテーブルア
ドレスが設定され、上記テーブルアドレス順に配列{f
k(i)}を格納する第2のテーブルとを有し、f
k-1(f(i))を演算することにより、k番目のイン
タリーブブロックのi番目に出力されるデータの論理ア
ドレスであるfk(i)を算出するメモリ制御を備え
る。
Also, an interleave device according to the present invention
Is an f (i) generating circuit for calculating f (i), and 0- (m
× n-1) are set, and the table
Array in order of cable address $ fk-1(I) No. storing 格納
1 and a table from 0 to (m × n-1)
Address is set, and array $ f
k(I) a second table for storing}, and f
k-1By calculating (f (i)), the k-th IN
The logical address of the data output at the ith
Dress is fkWith memory control for calculating (i)
You.

【0024】また、本発明にかかるインタリーブ装置
は、f(i)を演算するf(i)発生回路と、0〜(m
×n−1)までのテーブルアドレスが設定され、上記テ
ーブルアドレス順に配列{fk-1(i)}を格納する第
3のテーブルとを有し、f(fk -1(i))を演算する
ことにより、k番目のインタリーブブロックのi番目に
出力されるデータの論理アドレスであるfk(i)を算
出するめもり制御部を備える。
Further, the interleave device according to the present invention comprises an f (i) generation circuit for calculating f (i), and 0 to (m).
× n-1) table address until the set {(and a third table for storing i) f k-1}, f (f k -1 (i) arranged in order of the table address) A look-up control unit is provided for calculating f k (i), which is a logical address of the i-th output data of the k-th interleaved block, by performing an operation.

【0025】また、本発明にかかるインタリーブ装置
は、f(i)を演算するf(i)発生回路と、g(i)
=i%(m・n)+i/(m・n)を算出するg(i)
発生回路と、fk(i−1)を格納する第1のレジスタ
と、fk(1)を格納する第2のレジスタとを有し、g
(fk(i−1)+fk(1))を演算することにより、
k番目のインタリーブブロックのi番目に出力されるデ
ータの論理アドレスであるfk(i)を算出する上記メ
モリ制御部を備える。
Further, the interleave device according to the present invention comprises an f (i) generating circuit for calculating f (i), and g (i)
G (i) for calculating = i% (mn) + i / (mn)
A generation circuit, a first register storing f k (i−1), and a second register storing f k (1); g
By calculating (f k (i−1) + f k (1)),
The memory control unit is provided for calculating f k (i) which is a logical address of data output at the i-th of the k-th interleave block.

【0026】本発明にかかるインタリーブ方法は、m×
n個のデータからなるインタリーブブロック単位でブロ
ックインタリーブを行うインタリーブ方法であって、上
記インタリーブメモリには、0〜(m×n−1)までの
論理アドレスが設定され、入力されたデータをインタリ
ーブメモリに書き込み、このインタリーブメモリに書き
込まれているデータを所定のインタリーブ規則に従い読
み出すときに、k番目のインタリーブブロックのi番目
に出力されるデータの論理アドレスを関数fk(i)=
f(fk-1(i))に基づき算出し、この論理アドレスと
同一のアドレスにk+1番目のインタリーブブロックの
i番目に入力されるデータを書き込むことを特徴とす
る。
The interleaving method according to the present invention uses m ×
An interleaving method for performing block interleaving in units of interleaved blocks of n data, wherein a logical address of 0 to (m × n-1) is set in the interleave memory, and input data is interleaved by the interleave memory. When the data written in the interleave memory is read in accordance with a predetermined interleave rule, the logical address of the i-th output data of the k-th interleave block is changed to a function f k (i) =
It is characterized by calculating based on f (f k-1 (i)) and writing the i-th input data of the (k + 1) -th interleaved block to the same address as the logical address.

【0027】ここで、f(i)=n×(i%m)+(i
/m)とし、このf(i)に対してfk(i)は以下の
ような関係を有する。 f2(i)=f(f(i)) f3(i)=f(f2(i)) f4(i)=f(f3(i)) ・ ・ ・ fk-1(i)=f(fk-2(i)) fk(i)=f(fk-1(i)) m,nは、1以上の整数であり、(x%y)とはxをy
で割った余りを表し、(x/y)とは、xをyで割った
商の整数部分を表す。
Here, f (i) = n × (i% m) + (i
/ M), and f k (i) has the following relationship with f (i). f 2 (i) = f (f (i)) f 3 (i) = f (f 2 (i)) f 4 (i) = f (f 3 (i)) f k-1 (i ) = F (f k−2 (i)) f k (i) = f (f k−1 (i)) where m and n are integers of 1 or more, and (x% y) means that x is y
, And (x / y) represents an integer part of a quotient obtained by dividing x by y.

【0028】また、本発明にかかるインタリーブ方法
は、fk-1(f(i))を演算することにより、k番目
のインタリーブブロックのi番目に出力されるデータの
論理アドレスであるfk(i)を算出する。
The interleave method according to the present invention calculates f k -1 (f (i)) to obtain a logical address f k (i) of the i-th output data of the k-th interleave block. i) is calculated.

【0029】また、本発明にかかるインタリーブ方法
は、f(fk-1(i))を演算することにより、k番目
のインタリーブブロックのi番目に出力されるデータの
論理アドレスであるfk(i)を算出する。
Further, the interleave method according to the present invention calculates f (f k−1 (i)) to obtain f k (i.e., the logical address of the i-th output data of the k-th interleave block). i) is calculated.

【0030】また、本発明にかかるインタリーブ方法
は、g(fk(i−1)+fk(1))を演算することに
より、k番目のインタリーブブロックのi番目に出力さ
れるデータの論理アドレスであるfk(i)を算出す
る。
Further, the interleaving method according to the present invention calculates the logical address of the i-th output data of the k-th interleaved block by calculating g (f k (i−1) + f k (1)). F k (i) is calculated.

【0031】[0031]

【発明の実施の形態】以下、本発明の実施の形態とし
て、本発明を適用したインタリーバついて説明を行う。
DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, an interleaver to which the present invention is applied will be described as an embodiment of the present invention.

【0032】インタリーバの動作原理 まず最初に、具体的なインタリーバを説明する前に、こ
のインタリーバに用いられるインタリーバの動作原理
を、m×nのインタリーブブロックに対するインタリー
バの動作に対応させて、一般的に説明をする。
The operating principle First interleaver, before describing the specific interleaver, the operating principle of the interleaver used in the interleaver, so as to correspond to the operation of the interleaver for interleaving a block of m × n, generally Give an explanation.

【0033】まず、m×nのブロックインタリーバに対
する入力ブロックと出力ブロックとの間にある規則を一
般化する。入力ブロックを{DI0,DI1,DI2,・
・・DIi,・・・DImn-2,DImn-1}とし、出力ブ
ロックを{DO0,DO1,DO2,・・・DOi,・・・
DOmn-2,DOmn-1}とすると、入力ブロックと出力ブ
ロックとの間の規則は、図1に示すように、DOi=D
f(i)で表される。
First, generalize the rules between the input and output blocks for the m × n block interleaver. The input block {DI 0, DI 1, DI 2, ·
·· DI i, ··· DI mn- 2, DI mn-1 and}, the output block {DO 0, DO 1, DO 2, ··· DO i, ···
DO mn−2 , DO mn−1 }, the rule between the input block and the output block is DO i = D as shown in FIG.
It is represented by If (i) .

【0034】ここで、iは、任意のデータのブロック内
における位置を示す。このiは、0≦i≦(m×n−
1)の範囲の整数値である。なお、ブロック内における
データ位置のことを、以下インデックスと呼ぶ。また、
f(i)=n×(i%m)+(i/m) である。m,
nは、それぞれ自然数を示す。mは、インタリーブの深
さを示す。a%bは、aをbで割った余りを示す。a/
bは、aをbで割った商(整数部分)を示す。
Here, i indicates a position of an arbitrary data in the block. This i is 0 ≦ i ≦ (m × n−
It is an integer value in the range of 1). The data position in the block is hereinafter referred to as an index. Also,
f (i) = n × (i% m) + (i / m) m,
n indicates a natural number. m indicates the depth of interleaving. a% b indicates the remainder of dividing a by b. a /
b indicates a quotient (an integer part) obtained by dividing a by b.

【0035】本発明の実施の形態のインタリーバは、こ
のように示される入力ブロックと出力ブロックとの関係
(すなわち、インタリーブ規則)に基づき以下のような
動作を行う。
The interleaver according to the embodiment of the present invention performs the following operation based on the relationship between the input block and the output block (that is, the interleave rule).

【0036】インタリーバは、図2に示すような、m×
n個のデータが格納可能なインタリーブメモリを有す
る。インタリーブメモリには、各セルに対して、#0〜
#(n×m−1)の論理アドレスが付けられている。
The interleaver has a function of m ×, as shown in FIG.
It has an interleave memory capable of storing n data. The interleave memory has # 0 to # 0 for each cell.
A logical address of # (n × m−1) is assigned.

【0037】このようなインタリーバには、インデック
ス順にデータが連続的に入力される。インタリーバは、
その入力されたデータをメモリに連続的に格納し、上述
したインタリーブ規則に従ってデータを入れ替えながら
データをメモリから連続的に出力していく。
Data is continuously input to such an interleaver in the order of indexes. The interleaver
The input data is continuously stored in the memory, and the data is continuously output from the memory while replacing the data in accordance with the above-described interleaving rule.

【0038】ここで、インタリーバは、ある任意のデー
タを読み出す際に、一つの論理アドレスを指定し、指定
した論理アドレスからそのデータを読み出す。そのと
き、インタリーバは、読み出した論理アドレスに、同時
に、次のデータの書き込みも行う。すなわち、インタリ
ーバは、同一アドレスを指定することによって、読み出
し及び書き込みを同時に行う。そして、このとき書き込
まれるデータは、読み出しているブロックの次のブロッ
クのデータであって、読み出しているデータのインデッ
クスと同一のインデックスのデータである。
Here, when reading certain data, the interleaver specifies one logical address and reads the data from the specified logical address. At that time, the interleaver simultaneously writes the next data to the read logical address. That is, the interleaver performs read and write simultaneously by specifying the same address. The data to be written at this time is data of a block next to the block being read, and is data having the same index as the index of the data being read.

【0039】具体的には、インタリーバは、図3に示す
ように、論理アドレスxに対して、k番目のインタリー
ブブロックのインデックスiのデータを読み出すととも
に、k+1番目のインタリーブブロックのインデックス
iのデータを書き込むようにする。ここで、kは、自然
数であり、インタリーバに入力された(或いは出力され
る)ブロックの入力番号(或いは出力順番)を示してい
る。
Specifically, as shown in FIG. 3, the interleaver reads out the data of the index i of the k-th interleaved block for the logical address x and also reads the data of the index i of the (k + 1) -th interleaved block. Write it. Here, k is a natural number, and indicates the input number (or output order) of the block input (or output) to the interleaver.

【0040】そして、任意のインタリーブブロックの任
意のインデックスiのデータに対する論理アドレスは、
以下の式に基づき算出される。 fk(i)=f(fk-1(i)) ここで、f(i)は、n×(i%m)+(i/m) と
なる。このf(i)は、上述したブロックインタリーバ
の入出力ブロックの関係を示す際に用いた関数である。
また、fk(i)は、このf(i)に対して以下のよう
な関係を有する。 f2(i)=f(f(i)) f3(i)=f(f2(i)) f4(i)=f(f3(i)) ・ ・ ・ fk-1(i)=f(fk-2(i)) fk(i)=f(fk-1(i))
The logical address for the data at an arbitrary index i in an arbitrary interleaved block is
It is calculated based on the following equation. f k (i) = f (f k−1 (i)) Here, f (i) is n × (i% m) + (i / m). This f (i) is a function used to indicate the relationship between the input and output blocks of the block interleaver described above.
F k (i) has the following relationship with f (i). f 2 (i) = f (f (i)) f 3 (i) = f (f 2 (i)) f 4 (i) = f (f 3 (i)) f k-1 (i ) = F (f k−2 (i)) f k (i) = f (f k−1 (i))

【0041】以上のように本発明を適用したインタリー
バは、入出力ブロックのインタリーブ規則を表す関数f
(i)と、過去に求めたインタリーブメモリに対する論
理アドレスとに基づき、k番目のブロックのi番目に出
力すべきデータが格納されている論理アドレスを求め
る。そして、このインタリーバは、この論理アドレスに
対してアクセスを行い、格納されているk番目のブロッ
クのi番目に出力すべきデータを読み出すとともに、k
+1番目のブロックのi番目に入力されるデータを格納
する。
As described above, the interleaver to which the present invention is applied has a function f representing the interleave rule of the input / output block.
Based on (i) and the logical address for the interleave memory obtained in the past, the logical address where the data to be output at the i-th position of the k-th block is stored. Then, the interleaver accesses the logical address, reads out the data to be output at the i-th of the stored k-th block, and
Stores data input to the i-th block of the (+1) th block.

【0042】このようなインタリーバの動作をブロック
順に具体的に説明をしていくと以下のようになる。
The operation of such an interleaver will be specifically described in block order as follows.

【0043】インタリーブメモリには論理アドレスが#
0〜#(mn−1)まで付けられており、初期状態で
は、各アドレスに有効なデータは存在していないものと
する。また、インタリーブブロックのデータ数は、m×
nである。
The logical address is # in the interleave memory.
0 to # (mn-1), and it is assumed that valid data does not exist in each address in the initial state. Also, the number of data in the interleaved block is m ×
n.

【0044】最初の1ブロック分のデータはインデック
ス順に入力される。インタリーバは、インデックス順に
入力されたデータを、インタリーブメモリの論理アドレ
ス順に書き込んでいく。すなわち,i番目の入力データ
は、論理アドレス#iに書き込まれる。
The data of the first block is input in the order of the index. The interleaver writes the data input in the order of the index in the order of the logical addresses of the interleave memory. That is, the i-th input data is written to the logical address #i.

【0045】続いて、インタリーバは、最初のブロック
のデータを読み出しながら、2ブロック目のデータをイ
ンタリーブメモリに書き込む動作を行う。最初のブロッ
クのi番目に出力すべきデータは、f(i)=n×(i
%m)+(i/m)番目に入力されたデータである。最
初のブロックのf(i)=n×(i%m)+(i/m)
番目に入力されたデータは、論理アドレス#f(i)に
書き込まれている。従って、インタリーバは、最初のブ
ロックのインデックスiのデータを論理アドレス#f
(i)から読み出す。また、インタリーバは、これと同
時に2ブロック目のi番目に入力されたデータをこの論
理アドレス#f(i)に書き込む。
Subsequently, the interleaver performs an operation of writing the data of the second block into the interleave memory while reading the data of the first block. The data to be output at the i-th position in the first block is f (i) = n × (i
% M) + (i / m) th data. F (i) of the first block = n × (i% m) + (i / m)
The data that has been input the first time has been written to logical address #f (i). Therefore, the interleaver converts the data at the index i of the first block to the logical address #f.
Read from (i). At the same time, the interleaver writes the i-th input data of the second block to this logical address #f (i).

【0046】次に、インタリーバは、2ブロック目のデ
ータを読み出しながら、3ブロック目のデータをインタ
リーブメモリに書き込む動作を行う。前の場合と同様に
2ブロック目のi番目に出力すべきデータは、f(i)
=n×(i%m)+(i/m)番目に入力されたデータ
である。ここで、2ブロック目でi番目に入力されたデ
ータは、前の動作で論理アドレス#f(i)に書き込ま
れている。従って、インタリーバは、2ブロック目のイ
ンデックスiのデータを論理アドレス#f(f(i))
から読み出す。また、インタリーバは、これと同時に3
ブロック目のi番目に入力されたデータをこの論理アド
レス#f(f(i))に書き込む。なお、このf(f
(i))は、以下f2(i)と表記する。
Next, the interleaver performs an operation of writing the data of the third block into the interleave memory while reading the data of the second block. As in the previous case, the data to be output at the i-th position in the second block is f (i)
= N × (i% m) + (i / m) th input data. Here, the i-th input data in the second block has been written to the logical address #f (i) in the previous operation. Therefore, the interleaver converts the data at the index i of the second block to the logical address #f (f (i)).
Read from At the same time, the interleaver
The data input to the i-th block is written to this logical address #f (f (i)). Note that this f (f
(I)) is hereinafter described as f 2 (i).

【0047】以下同様に、インタリーバは、3ブロック
目のデータを読み出しながら、4ブロック目のデータを
インタリーブメモリに書き込む場合には、3ブロック目
のインデックスiのデータを論理アドレス#f(f(f
(i)))から読み出し、これと同時に4ブロック目の
i番目に入力されたデータをこの論理アドレス#f(f
(f(i)))に書き込む。なお、このf(f(f
(i)))は、以下f3(i)と表記する。
Similarly, when the interleaver writes the data of the fourth block to the interleave memory while reading the data of the third block, the data of the index i of the third block is written in the logical address #f (f (f (f
(I))), and at the same time, the data input to the i-th block of the fourth block is stored in the logical address #f (f
(F (i))). Note that this f (f (f
(I))) is hereinafter described as f 3 (i).

【0048】そして、一般化して、kブロック目のデー
タを読み出しながら、(k+1)ブロック目のデータを
メモリに書き込む場合には、kブロック目のインデック
スiのデータを論理アドレス#fk(i)から読み出
し、これと同時に(k+1)ブロック目のi番目に入力
されたデータをこの論理アドレス#fk(i)に書き込
む。
In general, when writing the data of the (k + 1) th block to the memory while reading the data of the kth block, the data of the index i of the kth block is written into the logical address #f k (i) , And at the same time, the i-th input data of the (k + 1) th block is written to the logical address #f k (i).

【0049】さらに具体的に、2×3のブロックインタ
リーブを行うインタリーバに、0,1,2,3,4,
5,6,7,・・・といったデータを入力する場合につ
いて図4を用いて説明をする。
More specifically, 0, 1, 2, 3, 4, and 4 are added to the interleaver for performing 2 × 3 block interleaving.
The case of inputting data such as 5, 6, 7,... Will be described with reference to FIG.

【0050】インタリーブメモリには、図4(a)に示
すように、#0から#5までの論理アドレスが付けられ
ているものとする。
As shown in FIG. 4A, it is assumed that logical addresses from # 0 to # 5 are assigned to the interleave memory.

【0051】まず、インタリーバは、図4(b)に示す
ように、第1ブロック(0,1,2,3,4,5)を、
論理アドレス順に書き込んでいく。
First, as shown in FIG. 4B, the interleaver converts the first block (0, 1, 2, 3, 4, 5) into
Writing is performed in the order of the logical address.

【0052】続いて、インタリーバは、図4(c)に示
すように、第1ブロックの読み出し、及び、第2ブロッ
ク(6,7,8,9,10,11)の書き込みを行う。
このとき第1ブロックの読み出し順序は、f(i)=3
×(i%2)+(i/2)に従うので、インタリーブメ
モリに対するアクセス順序は、図中点線で示すように、
#0→#3→#1→#4→#2→#5といった順序にな
る。従って、アドレス#0のデータ1が読み出されると
このアドレス#0に対してデータ6が書き込まれ、アド
レス#3のデータ3が読み出されるとこのアドレス#3
に対してデータ7が書き込まれ、アドレス#1のデータ
1が読み出されるとこのアドレス#1に対してデータ8
が書き込まれ、アドレス#4のデータ4が読み出される
とこのアドレス#4に対してデータ9が書き込まれ、ア
ドレス#2のデータ2が読み出されるとこのアドレス#
2に対してデータ10が書き込まれ、アドレス#6のデ
ータ5が読み出されるとこのアドレス#6に対してデー
タ11が書き込まれる。
Subsequently, the interleaver reads the first block and writes the second block (6, 7, 8, 9, 10, 11) as shown in FIG. 4 (c).
At this time, the reading order of the first block is f (i) = 3
× (i% 2) + (i / 2), the order of access to the interleave memory is as shown by the dotted line in the figure.
The order is # 0 → # 3 → # 1 → # 4 → # 2 → # 5. Therefore, when data 1 of address # 0 is read, data 6 is written to address # 0, and when data 3 of address # 3 is read, address 6 is read.
When data 7 is written to address # 1 and data 1 at address # 1 is read, data 8
Is written, and when data 4 of address # 4 is read, data 9 is written to address # 4. When data 2 of address # 2 is read, this address # 4 is read.
When data 10 is written to address 2 and data 5 at address # 6 is read, data 11 is written to address # 6.

【0053】続いて、インタリーバは、図4(d)に示
すように、第2ブロックの読み出し、及び、第3ブロッ
ク(12,13,14,15,16,17)の書き込み
を行う。このとき第2ブロックの読み出し順序は、f2
(i)に従うので、インタリーブメモリに対するアクセ
ス順序は、図中点線で示すように、#0→#4→#3→
#2→#1→#5といった順序になる。従って、アドレ
ス#0のデータ6が読み出されるとこのアドレス#0に
対してデータ12が書き込まれ、アドレス#4のデータ
9が読み出されるとこのアドレス#4に対してデータ1
3が書き込まれ、アドレス#3のデータ7が読み出され
るとこのアドレス#3に対してデータ14が書き込ま
れ、アドレス#2のデータ10が読み出されるとこのア
ドレス#2に対してデータ15が書き込まれ、アドレス
#1のデータ8が読み出されるとこのアドレス#1に対
してデータ16が書き込まれ、アドレス#6のデータ1
1が読み出されるとこのアドレス#6に対してデータ1
7書き込まれる。
Subsequently, the interleaver reads the second block and writes the third block (12, 13, 14, 15, 16, 17) as shown in FIG. 4D. At this time, the reading order of the second block is f 2
According to (i), the access order to the interleave memory is # 0 → # 4 → # 3 →
The order is # 2 → # 1 → # 5. Therefore, when data 6 at address # 0 is read, data 12 is written to address # 0, and when data 9 at address # 4 is read, data 1 is written to address # 4.
When data 3 is written and data 7 at address # 3 is read, data 14 is written to address # 3. When data 10 at address # 2 is read, data 15 is written to address # 2. When data 8 of address # 1 is read, data 16 is written to address # 1 and data 1 of address # 6 is read.
When 1 is read, data 1
7 is written.

【0054】なお、以上用いたf(i)及びf2(i)
の具体的な値を、図5に示す。
The f (i) and f 2 (i) used above are used.
The specific values of are shown in FIG.

【0055】以上のように、本発明の実施の形態のイン
タリーバでは、kブロック目のi番目のデータの読み出
しを行う際に、その読み出しアドレスをfk(i)に基
づき算出するので、1インタリーブブロック分のデータ
容量を有するメモリにより、連続的にデータの入出力を
しながらインタリーブを行うことができる。
As described above, in the interleaver according to the embodiment of the present invention, when reading out the i-th data of the k-th block, the read address is calculated based on f k (i). With a memory having a data capacity for a block, interleaving can be performed while continuously inputting and outputting data.

【0056】なお、インタリーバとデインタリーバは、
データの並び替えの規則が逆であるだけで、入力系列を
ある規則に従って並べ替えるという動作は同一であり、
以上の処理をデインタリーバに適用することも可能であ
る。
Note that the interleaver and the deinterleaver are:
The operation of rearranging the input sequence according to a certain rule is the same, except that the rules for rearranging the data are reversed.
The above processing can be applied to a deinterleaver.

【0057】(インタリーバの構成及び動作)つぎに、
インタリーバの具体的な構成について説明する。
(Configuration and Operation of Interleaver)
A specific configuration of the interleaver will be described.

【0058】インタリーバ1は、図6に示すように、ア
ドレス生成回路11と、インタリーブメモリ12とから
構成される。
The interleaver 1 comprises an address generation circuit 11 and an interleave memory 12, as shown in FIG.

【0059】アドレス生成回路11は、インタリーブメ
モリ14に対する読み書き用アドレス(実アドレス)を
発生する。このアドレス生成回路11では、上述したイ
ンタリーブブロックに対するインタリーブ規則を表す関
数f(i)と、過去に求めたインタリーブメモリに対す
る論理アドレスとに基づき、k番目のブロックのi番目
に出力すべきデータが格納されている読み書き用アドレ
スを算出している。インタリーブメモリ12は、そのア
ドレスに対して、このk番目のブロックのi番目に出力
すべきデータを読み出して出力し、それとともに、k+
1番目のブロックのi番目に入力されるデータを書き込
みむ。
The address generation circuit 11 generates a read / write address (real address) for the interleave memory 14. The address generation circuit 11 stores data to be output at the i-th block of the k-th block based on the function f (i) representing the interleaving rule for the above-described interleaved block and the logical address for the interleaved memory obtained in the past. The read / write address is calculated. The interleave memory 12 reads out and outputs the data to be output at the i-th position of the k-th block with respect to the address, and at the same time, k +
Write the i-th input data of the first block.

【0060】このような構成のインタリーバ1は、アド
レス生成回路11の内部で生成するタイミングパルスに
基づき動作する。アドレス生成回路11は、内部で生成
したタイミング毎にインタリーブメモリ12をアクセス
するための読み書き用アドレスを生成する。
The interleaver 1 having such a configuration operates based on a timing pulse generated inside the address generation circuit 11. The address generation circuit 11 generates a read / write address for accessing the interleave memory 12 at each internally generated timing.

【0061】(アドレス生成回路の構成及び動作)つぎ
に、アドレス生成回路11について、さらに詳細に説明
をする。
(Configuration and Operation of Address Generation Circuit) Next, the address generation circuit 11 will be described in more detail.

【0062】アドレス生成回路11では、インタリーブ
メモリ12に対する論理アドレスであるfk(i)の算
出を、fk(i)=fk-1(f(i))という関係を利用
して行っている。
The address generation circuit 11 calculates the logical address f k (i) for the interleave memory 12 using the relationship f k (i) = f k-1 (f (i)). I have.

【0063】具体的には、配列A{fk(i){0≦i
<m×n}}を記憶するメモリテーブルと、配列B{f
k-1(i)}を記憶するメモリテーブルと、f(i)を
演算する演算回路とを用いて、fk(i)を算出する。
この2つのメモリテーブルは、0〜(m×n−1)まで
のアドレスが設定されている。このアドレスは、配列内
を構成する各データの配置順序を指定するものである。
配列A及び配列Bを構成するデータ群は、i{0≦i<
m×n}で初期化されている。
Specifically, an array A {f k (i) {0 ≦ i
<M × n} memory array and array B {f
f k (i) is calculated using a memory table for storing k−1 (i) と and an arithmetic circuit for calculating f (i).
In these two memory tables, addresses from 0 to (m × n−1) are set. This address specifies the arrangement order of each data constituting the array.
The data group constituting the array A and the array B is i {0 ≦ i <
m × n}.

【0064】(k)ブロック目のi番目のデータに対す
る論理アドレスを出力する場合、まず、f(i)が算出
され、このf(i)が配列Bを記憶するメモリテーブル
のアドレスとして供給され、この配列Bから値が読み出
される。そして、この配列Bから読み出された値が、配
列Aを記憶するメモリテーブルのアドレスiに書き込ま
れる。そして、この配列Aのアドレスiに格納される値
が(k)ブロック目のi番目の論理アドレスとなる。続
いて、次のブロックに対する処理を行う場合には、配列
Aの値を配列Bにそのまま代入して更新すればよい。例
えば、配列Bを記憶するメモリテーブルと、配列Aを記
憶するメモリテーブルと1ブロック毎に交代すればよ
い。
(K) When outputting a logical address for the i-th data in the block, first, f (i) is calculated, and this f (i) is supplied as an address of a memory table for storing array B, The value is read from the array B. Then, the value read from the array B is written to the address i of the memory table storing the array A. Then, the value stored at the address i of the array A becomes the i-th logical address of the (k) -th block. Subsequently, when processing for the next block is performed, the value of array A may be substituted for array B as it is and updated. For example, the memory table storing the array B and the memory table storing the array A may be replaced for each block.

【0065】なお、配列Bに対するアクセス順序をイン
デックス順序に従う方が回路規模が簡単になるという観
点から、配列Aの値を配列Bにそのまま代入して更新す
るのではなく、配列A{fk(f-1(i))}を配列B
に代入して更新するようにしてもよい。f-1(i)は、
f(i)の逆関数である。
From the viewpoint that the access order to the array B according to the index order simplifies the circuit scale, the value of the array A is not directly substituted into the array B and updated, but the array A {f k ( f -1 (i))} to array B
May be updated. f -1 (i) is
This is the inverse function of f (i).

【0066】具体的に、このような演算を行うことがで
きるアドレス生成回路11の回路構成を図7に示す。
Specifically, FIG. 7 shows a circuit configuration of the address generation circuit 11 capable of performing such an operation.

【0067】アドレス生成回路11は、この図7に示す
ように、タイミング制御部21と、フラグD発生回路2
2と、フラグE発生回路23と、インデックスカウンタ
24と、第1のアドレス用テーブル25と、第2のアド
レス用テーブル26と、f′(i)発生回路27と、第
1のセレクタ28と、第2のセレクタ29と、第3のセ
レクタ30と、第4のセレクタ31と、第5のセレクタ
32と、論理アドレス/実アドレス変換回路34とを有
している。
As shown in FIG. 7, the address generation circuit 11 includes a timing control section 21 and a flag D generation circuit 2.
2, a flag E generating circuit 23, an index counter 24, a first address table 25, a second address table 26, an f '(i) generating circuit 27, a first selector 28, It has a second selector 29, a third selector 30, a fourth selector 31, a fifth selector 32, and a logical address / real address conversion circuit 34.

【0068】タイミング制御部21は、アドレス生成回
路11全体の動作クロックとなるタイミングパルスを生
成する。また、タイミング制御部21は、このタイミン
グパルスに同期したインタリーブ動作の開始命令である
スタート信号、及び、インタリーブブロックの開始位置
を示すブロック開始位置信号を生成し、出力する。
The timing control section 21 generates a timing pulse serving as an operation clock of the entire address generation circuit 11. Further, the timing control unit 21 generates and outputs a start signal which is an instruction to start an interleave operation synchronized with the timing pulse and a block start position signal indicating a start position of the interleave block.

【0069】フラグD発生回路22は、0又は1を示す
フラグであるフラグDを発生する回路である。フラグD
発生回路22には、タイミング制御部21からのスター
ト信号が供給される。スタート信号は、アドレス生成回
路11に対する動作開始或いはアドレス生成回路11を
再起動する場合に発行される命令であり、外部のシステ
ムコントローラ等から発行される。フラグD発生回路2
2は、このスタート信号によりフラグDが0に初期化さ
れ、リセット後の最初のインタリーブブロックのデータ
の処理が完了した時点(すなわち、スタート信号の後、
ブロック開始位置を示すブロック開始位置信号を2回受
けた時点)で、フラグDが1にセットされる。そして、
以後、処理が停止するまで、このフラグDを1に保持し
たままにしておく。
The flag D generation circuit 22 is a circuit that generates a flag D indicating 0 or 1. Flag D
The start signal from the timing control unit 21 is supplied to the generation circuit 22. The start signal is a command issued when the operation of the address generation circuit 11 starts or when the address generation circuit 11 is restarted, and is issued from an external system controller or the like. Flag D generation circuit 2
2, when the flag D is initialized to 0 by the start signal and the data processing of the first interleaved block after reset is completed (that is, after the start signal,
At the time when the block start position signal indicating the block start position is received twice), the flag D is set to 1. And
Thereafter, the flag D is kept at 1 until the processing is stopped.

【0070】フラグE発生回路23は、0又は1を示す
フラグであるフラグEを発生する回路である。フラグE
発生回路23には、ブロック開始位置信号が供給され
る。フラグE発生回路26は、このブロック開始位置信
号によりフラグEが0に初期化される。また、フラグE
発生回路26は、このブロック開始位置を示すパルスを
受け取る毎に、フラグEの値を反転させる。
The flag E generating circuit 23 is a circuit for generating a flag E indicating 0 or 1. Flag E
The generation circuit 23 is supplied with a block start position signal. The flag E generation circuit 26 initializes the flag E to 0 according to the block start position signal. The flag E
The generation circuit 26 inverts the value of the flag E every time a pulse indicating the block start position is received.

【0071】インデックスカウンタ24は、タイミング
制御部21から供給されるタイミングパルスをインクリ
メントして、インデックス値iを発生する。このインデ
ックス値iは、スタート信号及びブロック開始位置信号
が供給されると、0に初期化される。インデックスカウ
ンタ24は、このインデックス値iを、f′(i)発生
回路27及び第1及び第2のアドレス用テーブル25、
26に供給する。
The index counter 24 increments the timing pulse supplied from the timing control section 21 to generate an index value i. The index value i is initialized to 0 when the start signal and the block start position signal are supplied. The index counter 24 stores the index value i in the f '(i) generating circuit 27 and the first and second address tables 25,
26.

【0072】第1のアドレス用テーブル25及び第2の
アドレス用テーブル26は、1インタリーブブロック分
のブロックアドレスのデータを格納することができるテ
ーブルである。第1のアドレス用テーブル25及び第2
のアドレス用テーブル26には、内部セルに、それぞれ
#0から#(m×n−1)までのテーブルアドレスが設
定されている。第1のアドレス用テーブル25及び第2
のアドレス用テーブル26に対して、このアドレスを指
定することにより、そのテーブルアドレスに対してのデ
ータの書き込み及び読み出しをすることができる。ま
た、第1のアドレス用テーブル25及び第2のアドレス
用テーブル26には、アウトプット端子ODT、インプ
ット端子IDT、アドレス端子ADRが設けられてい
る。
The first address table 25 and the second address table 26 are tables capable of storing block address data for one interleave block. First address table 25 and second address table 25
In the address table 26, table addresses from # 0 to # (m × n-1) are set in the internal cells, respectively. First address table 25 and second address table 25
By designating this address to the address table 26, data can be written and read to and from the table address. Further, the first address table 25 and the second address table 26 are provided with an output terminal ODT, an input terminal IDT, and an address terminal ADR.

【0073】f′(i)発生回路27は、インデックス
カウンタ24から出力されたインデックスiが入力され
る。f′(i)は、入力されたインデックス値iに対し
て、上述したf′(i)を演算する回路である。具体的
な回路構成は、図8に示すように、入力されたインデッ
クスiに対するmの剰余を演算する剰余回路41と、剰
余回路41の出力にnを乗算する乗算回路42と、入力
されたインデックスiをmで割ったときの商(整数値)
を演算する除算回路43と、乗算回路42の出力と除算
回路43の出力とを加算する加算回路44とから構成さ
れる。
An index i output from the index counter 24 is input to the f '(i) generating circuit 27. f '(i) is a circuit for calculating the above-mentioned f' (i) for the input index value i. As shown in FIG. 8, a specific circuit configuration is as follows: a remainder circuit 41 for calculating the remainder of m with respect to an input index i; a multiplication circuit 42 for multiplying the output of the remainder circuit 41 by n; The quotient when i is divided by m (integer value)
, And an addition circuit 44 that adds the output of the multiplication circuit 42 and the output of the division circuit 43.

【0074】第1のセレクタ28は、フラグEに応じ
て、第1のアドレス用テーブル25からの出力と第2の
アドレス用テーブル26からの出力とを切り換えて、い
ずれか一方の出力データを選択して第2のセレクタ29
に出力する。第1のセレクタ28は、フラグEが0であ
れば第1のアドレス用テーブル25を選択し、フラグE
が1であれば第2のアドレス用テーブル26を選択す
る。
The first selector 28 switches between the output from the first address table 25 and the output from the second address table 26 according to the flag E, and selects one of the output data. And the second selector 29
Output to If the flag E is 0, the first selector 28 selects the first address table 25, and the flag E
Is 1, the second address table 26 is selected.

【0075】第2のセレクタ29は、フラグDに応じ
て、インデックスカウンタ24からの出力と第1のセレ
クタ28からの出力とを切り換えて、いずれか一方の出
力データを選択して論理アドレス/実アドレス変換回路
34に出力する。第2のセレクタ29は、フラグDが0
であればインデックスカウンタ24を選択し、フラグD
が1であれば第1のセレクタ28を選択する。
The second selector 29 switches between the output from the index counter 24 and the output from the first selector 28 in accordance with the flag D, selects one of the output data and outputs the logical address / real data. Output to the address conversion circuit 34. The second selector 29 sets the flag D to 0
If so, the index counter 24 is selected and the flag D
Is 1, the first selector 28 is selected.

【0076】第3のセレクタ30は、フラグEに応じ
て、f′(i)発生回路27の出力とインクリメントカ
ウンタ23の出力とを切り換えて、いずれか一方からの
出力データを選択して、第1のアドレス用テーブル25
のアドレス端子に出力する。第3のセレクタ30は、フ
ラグEが0であればインデックスカウンタ24を選択
し、フラグEが1であればf′(i)発生回路27を選
択する。
The third selector 30 switches the output of the f '(i) generating circuit 27 and the output of the increment counter 23 in accordance with the flag E, selects the output data from one of them, and 1 address table 25
Output to the address terminal. The third selector 30 selects the index counter 24 when the flag E is 0, and selects the f ′ (i) generating circuit 27 when the flag E is 1.

【0077】第4のセレクタ31は、フラグEに応じ
て、f′(i)発生回路27の出力とインクリメントカ
ウンタ23の出力とを切り換えて、いずれか一方からの
出力データを選択して、第2のアドレス用テーブル26
のアドレス端子に出力する。第4のセレクタ31は、フ
ラグEが0であればf′(i)発生回路27を選択し、
フラグEが1であればインデックスカウンタ24を選択
する。
The fourth selector 31 switches between the output of the f '(i) generating circuit 27 and the output of the increment counter 23 in accordance with the flag E, selects the output data from one of them, and 2 address table 26
Output to the address terminal. The fourth selector 31 selects the f '(i) generating circuit 27 if the flag E is 0,
If the flag E is 1, the index counter 24 is selected.

【0078】第5のセレクタ32は、フラグEに応じ
て、第1のアドレス用テーブル25又は第2のアドレス
用テーブル26を切り換えて、いずれか一方のインプッ
ト端子IDTに、第2のセレクタ29からの出力を入力
する。第5のセレクタ32は、フラグEが0の場合には
第2のアドレス用テーブル26を選択し、フラグEが1
の場合には第1のアドレス用テーブル25を選択する。
The fifth selector 32 switches the first address table 25 or the second address table 26 in accordance with the flag E, and switches one of the input terminals IDT from the second selector 29 to the other. Input the output of When the flag E is 0, the fifth selector 32 selects the second address table 26, and when the flag E is 1
In this case, the first address table 25 is selected.

【0079】論理アドレス/実アドレス変換回路34
は、第2のセレクタ29から出力される値を論理アドレ
スfk(i)を、インタリーブメモリ12に供給する実
アドレスに変換する。
Logical address / real address conversion circuit 34
Converts the value output from the second selector 29 into a real address supplied to the interleave memory 12 from the logical address fk (i).

【0080】次に、このような構成のアドレス生成回路
11の論理アドレスの出力動作及びアドレス用テーブル
の更新動作について説明をする。
Next, the operation of outputting the logical address and the operation of updating the address table of the address generation circuit 11 having such a configuration will be described.

【0081】フラグDが0の場合(最初のインタリーブ
ブロックに対する処理の場合)、第2のセレクタ29が
インデックスカウンタ24を選択し、インデックスカウ
ンタ24から出力されるインデックス値iがそのまま論
理アドレスとして出力される。
When the flag D is 0 (in the case of processing for the first interleaved block), the second selector 29 selects the index counter 24, and the index value i output from the index counter 24 is output as a logical address as it is. You.

【0082】フラグDが1で且つフラグEが0の場合
(2番目以降のインタリーブブロックに対する処理の場
合)、第3のセレクタ30がインデックスカウンタ24
を選択して、インデックスカウンタ24から出力される
インデックス値iが第1のアドレス用テーブル25のテ
ーブルアドレスとして与えられる。そして、第1のセレ
クタ28が第1のアドレス用テーブル25を選択し、イ
ンデックスカウンタ24から与えられたテーブルアドレ
ス(インデックス値i)により指定されたアドレスに格
納されているデータが、論理アドレスとして出力され
る。
If the flag D is 1 and the flag E is 0 (in the case of processing for the second and subsequent interleaved blocks), the third selector 30
And the index value i output from the index counter 24 is given as the table address of the first address table 25. Then, the first selector 28 selects the first address table 25, and the data stored at the address specified by the table address (index value i) given from the index counter 24 is output as a logical address. Is done.

【0083】フラグDが1で且つフラグEが1の場合
(2番目以降のインタリーブブロックに対する処理の場
合)、第4のセレクタ31がインデックスカウンタ24
を選択して、インデックスカウンタ24から出力される
インデックス値iが第2のアドレス用テーブル26のテ
ーブルアドレスとして与えられる。そして、第1のセレ
クタ28が第2のアドレス用テーブル26を選択し、イ
ンデックスカウンタ24から与えられたテーブルアドレ
ス(インデックス値i)により指定されたアドレスに格
納されているデータが、論理アドレスとして出力され
る。
When the flag D is 1 and the flag E is 1 (in the case of processing for the second and subsequent interleaved blocks), the fourth selector 31
And the index value i output from the index counter 24 is given as the table address of the second address table 26. Then, the first selector 28 selects the second address table 26, and the data stored at the address specified by the table address (index value i) given from the index counter 24 is output as a logical address. Is done.

【0084】また、フラグEが0の場合、第5のセレク
タ32が第2のアドレス用テーブル26を選択し、第2
のセレクタ29から出力される論理アドレスが第2のア
ドレス用テーブル26に格納される。すなわち、第1の
アドレス用テーブル25から出力された論理アドレス値
が、第2のアドレス用テーブル26に格納される。この
とき、入力データされるデータの格納アドレスは、第4
のセレクタ31がf′(i)発生回路27を選択するこ
とから、このf′(i)発生回路27から出力される値
により指定される。
When the flag E is 0, the fifth selector 32 selects the second address table 26, and
The logical address output from the selector 29 is stored in the second address table 26. That is, the logical address value output from the first address table 25 is stored in the second address table 26. At this time, the storage address of the input data is the fourth address.
Selector 31 selects the f '(i) generation circuit 27, and is designated by the value output from the f' (i) generation circuit 27.

【0085】フラグEが1の場合、第5のセレクタ32
が第1のアドレス用テーブル25を選択し、第2のセレ
クタ29から出力される論理アドレス値が第1のアドレ
ス用テーブル25に格納される。すなわち、第2のアド
レス用テーブル26から出力された論理アドレス値が、
第1のアドレス用テーブル25に格納される。このと
き、入力データされるデータの格納アドレスは、第3の
セレクタ30がf′(i)発生回路27を選択すること
から、このf′(i)発生回路27から出力される値に
より指定される。
When the flag E is 1, the fifth selector 32
Selects the first address table 25, and the logical address value output from the second selector 29 is stored in the first address table 25. That is, the logical address value output from the second address table 26 is
It is stored in the first address table 25. At this time, since the third selector 30 selects the f '(i) generating circuit 27, the storage address of the input data is specified by the value output from the f' (i) generating circuit 27. You.

【0086】このような動作が行われることによりアド
レス生成回路11では、配列A{f k(i){0≦i<
m×n}}を記憶するアドレス用テーブルと、配列B
{fk-1(i)}を記憶するアドレス用テーブルと、関
数f′(i)を発生する演算回路を用意して、f
k-1(f(i))を演算し、k番目のインタリーブブロ
ックのi番目に出力されるデータの論理アドレスである
k(i)を算出することができる。
By performing such an operation, the address is
In the address generation circuit 11, the array A {f k(I) {0 ≦ i <
address table for storing m × n} and array B
{Fk-1(I) an address table for storing};
An arithmetic circuit for generating the number f ′ (i) is prepared, and f
k-1(F (i)) to calculate the k-th interleave block
Logical address of the data output at the i-th
fk(I) can be calculated.

【0087】つぎに、アドレス生成回路11の動作を図
9のタイミングチャートを用いて説明をする。
Next, the operation of the address generation circuit 11 will be described with reference to the timing chart of FIG.

【0088】この図9に示すタイミングチャートは、一
例として、2×3のブロックインタリーバに適用した場
合について示している。
The timing chart shown in FIG. 9 shows an example in which the present invention is applied to a 2 × 3 block interleaver.

【0089】図9中、(a)はブロック開始位置信号、
(b)はインデックスカウンタ24から出力されるイン
デックス値i、(c)はフラグD、(d)はフラグE、
(e)は第1のアドレス用テーブル25の出力値、
(f)は第2のアドレス用テーブル26の出力値、
(g)は出力される論理アドレス値、(h)は第1のア
ドレス用テーブル25に入力されるアドレス値、(i)
は第2のアドレス用テーブルに入力されるアドレス値を
それぞれ示している。
FIG. 9A shows a block start position signal,
(B) is an index value i output from the index counter 24, (c) is a flag D, (d) is a flag E,
(E) is an output value of the first address table 25,
(F) is the output value of the second address table 26,
(G) is an output logical address value, (h) is an address value input to the first address table 25, (i)
Indicates address values input to the second address table.

【0090】アドレス生成回路11は、スタート信号に
よって動作を開始し、タイミングパルスを基準に処理を
行っていく。
The address generation circuit 11 starts operating in response to a start signal, and performs processing based on a timing pulse.

【0091】インデックスカウンタ24は、タイミング
パルスをインクリメントし、インデックス値iを更新し
ていく。インデックス値iは、ブロック開始位置信号の
発生タイミングで、その値が0に初期化する。すなわ
ち、2×3ブロックの場合には、0〜5までをカウント
すると、次に0に初期化される。
The index counter 24 increments the timing pulse and updates the index value i. The index value i is initialized to 0 at the generation timing of the block start position signal. That is, in the case of a 2 × 3 block, counting from 0 to 5 is initialized to 0 next.

【0092】フラグDは、スタート直後の最初のブロッ
クに対してのみhighとされ、以後はlowとされ
る。フラグEは、ブロック毎に交互にhighとlow
が切り替えられる。
The flag D is set high only for the first block immediately after the start, and is set low thereafter. The flag E is alternately high and low for each block.
Is switched.

【0093】論理アドレス出力は、フラグDがhigh
となっている最初のブロックでは、その値がインデック
ス値iとなる。以後論理アドレス出力は、フラグEがl
owとなっているときは第1のアドレス用テーブル25
の出力値となり、フラグEがhighとなっているとき
は第2のアドレス用テーブル26の出力値となる。ま
た、第1のアドレス用テーブル25に与えられるアドレ
ス値は、フラグEがlowのときにはインデックス値i
とされ、フラグEがhighのときにはf′(i)とさ
れる。また、第2のアドレス用テーブルに与えられるア
ドレス値は、フラグEがhighのときにはインデック
ス値iとされ、フラグEがlowのときにはf′(i)
とされる。
The logical address output indicates that the flag D is high.
In the first block, the value becomes the index value i. Thereafter, the logical address is output when the flag E is
ow, the first address table 25
When the flag E is high, the output value of the second address table 26 is obtained. When the flag E is low, the address value given to the first address table 25 is the index value i.
When the flag E is high, it is set to f '(i). The address value given to the second address table is an index value i when the flag E is high, and f '(i) when the flag E is low.
It is said.

【0094】以上のように本発明を適用したインタリー
バ1によれば、1インタリーブブロック分の1つのイン
タリーブメモリを用いてブロックインタリーブを行うこ
とができ、メモリ容量を削減することができる。
As described above, according to the interleaver 1 to which the present invention is applied, block interleaving can be performed using one interleave memory for one interleave block, and the memory capacity can be reduced.

【0095】アドレス生成回路の変形例 つぎに、上述したインタリーバ1内のアドレス生成回路
11の変形例について説明する。なお、以下の説明する
第1から第3の変形例の説明において、図7に示したア
ドレス生成回路11に用いられている同一の構成要素に
は、図面に同一の符号を付け、その詳細な説明を省略す
る。
Next, a modification of the address generation circuit 11 in the interleaver 1 will be described. In the following description of the first to third modified examples, the same components used in the address generation circuit 11 shown in FIG. Description is omitted.

【0096】(第1の変形例)第1の変形例のアドレス
生成回路は、インタリーブメモリ12に対する論理アド
レスであるfk(i)の算出を、fk(i)=f(fk-1
(i))という関係を利用して行っている。
(First Modification) The address generation circuit of the first modification calculates the logical address f k (i) for the interleave memory 12 by f k (i) = f (f k−1).
(I)).

【0097】具体的には、配列C{fk-1(i) {0
≦i<m×n}}を記憶するメモリテーブルと、f
(i)を演算する演算回路とを用いて、fk(i)を算
出する。このメモリテーブルは、0〜(m×n−1)ま
でのアドレスが設定されている。このアドレスは、配列
内を構成する各データの配置順序を指定するものであ
る。配列A及び配列Bを構成するデータ群は、i{0≦
i<m×n}で初期化されている。
Specifically, the array C {f k-1 (i) {0
A memory table for storing ≦ i <m × n}, and f
F k (i) is calculated using an arithmetic circuit for calculating (i). In this memory table, addresses from 0 to (m × n−1) are set. This address specifies the arrangement order of each data constituting the array. The data group constituting the array A and the array B is i {0 ≦
i <m × n}.

【0098】kブロック目のi番目のデータに対する論
理アドレスを出力する場合、インデックスiが配列Cを
記憶するメモリテーブルのアドレスとして供給され、こ
の配列Cから値が読み出される。そして、読み出された
値が演算回路に供給されf(fk-1(i))が算出され
る。この演算回路により算出された値が論理アドレスと
して出力される。そして、この演算回路により算出され
た値が、メモリテーブルのアドレスiに格納され、次の
ブロックの処理に用いられる。
When outputting the logical address for the i-th data in the k-th block, the index i is supplied as the address of the memory table storing the array C, and the value is read from the array C. Then, the read value is supplied to the arithmetic circuit, and f (f k-1 (i)) is calculated. The value calculated by this arithmetic circuit is output as a logical address. Then, the value calculated by the arithmetic circuit is stored at the address i of the memory table, and is used for processing of the next block.

【0099】このような演算を行うことができる第1の
変形例のアドレス生成回路80を図10に示す。
FIG. 10 shows an address generation circuit 80 according to a first modification capable of performing such an operation.

【0100】アドレス生成回路80は、この図10に示
すように、タイミング制御部21と、フラグD発生回路
22と、インデックスカウンタ24と、アドレス用テー
ブル81と、f(i)発生回路82と、第2のセレクタ
29と、論理アドレス/実アドレス変換回路34とを有
している。
As shown in FIG. 10, the address generation circuit 80 includes a timing control section 21, a flag D generation circuit 22, an index counter 24, an address table 81, an f (i) generation circuit 82, It has a second selector 29 and a logical address / real address conversion circuit 34.

【0101】アドレス用テーブル81は、1インタリー
ブブロック分のブロックアドレスのデータを格納するこ
とができるテーブルである。アドレス用テーブル81に
は、内部セルに、それぞれ#0から#(n×m−1)ま
でのテーブルアドレスが設定されており、このアドレス
を指定することにより、所定のテーブルアドレスに対し
てのデータの書き込み及び読み出しをすることができ
る。また、アドレス用テーブル81には、アウトプット
端子ODT、インプット端子IDT、アドレス端子AD
Rが設けられている。インプット端子IDTには、イン
デックスカウンタ24からのインデックス値iが入力さ
れる。インプット端子IDTには、f(i)発生回路8
2から出力される値が入力される。アウトプット端子O
DTは、第2のセレクタ29に接続される。
The address table 81 is a table capable of storing data of a block address for one interleave block. In the address table 81, a table address from # 0 to # (n × m-1) is set in each of the internal cells, and by specifying this address, data corresponding to a predetermined table address is set. Can be written and read. The address table 81 has an output terminal ODT, an input terminal IDT, and an address terminal AD.
R is provided. The index value i from the index counter 24 is input to the input terminal IDT. The input terminal IDT has an f (i) generation circuit 8
2 is input. Output terminal O
DT is connected to the second selector 29.

【0102】f(i)発生回路82は、インデックスカ
ウンタ24から出力されたインデックス値iに対して、
上述したf(i)を演算する回路である。具体的な回路
構成は、図11に示すように、入力されたインデックス
iに対するnの剰余を演算する剰余回路83と、剰余回
路83の出力にmを乗算する乗算回路84と、入力され
たインデックスiをmで割ったときの商(整数値)を演
算する除算回路85と、乗算回路84の出力と除算回路
85の出力とを加算する加算回路86とから構成され
る。
The f (i) generating circuit 82 calculates the index value i output from the index counter 24 with respect to the index value i.
This is a circuit for calculating f (i) described above. As shown in FIG. 11, a specific circuit configuration is as follows: a remainder circuit 83 for calculating the remainder of n with respect to the input index i; a multiplication circuit 84 for multiplying the output of the remainder circuit 83 by m; It comprises a division circuit 85 for calculating a quotient (integer value) when i is divided by m, and an addition circuit 86 for adding the output of the multiplication circuit 84 and the output of the division circuit 85.

【0103】第2のセレクタ29は、フラグDに応じ
て、インデックスカウンタ24からの出力とアドレス用
テーブル81からの出力とを切り換えて、いずれか一方
の出力データを選択して論理アドレス/実アドレス変換
回路34に出力する。第2のセレクタ29は、フラグD
が0であればインデックスカウンタ24を選択し、フラ
グDが1であればアドレス用テーブル81を選択する。
The second selector 29 switches between the output from the index counter 24 and the output from the address table 81 in accordance with the flag D, selects one of the output data, and selects the logical address / real address. Output to the conversion circuit 34. The second selector 29 sets the flag D
Is 0, the index counter 24 is selected, and if the flag D is 1, the address table 81 is selected.

【0104】次に、このような構成の第1の変形例のア
ドレス生成回路80のブロックアドレスの出力動作及び
アドレス用テーブルの更新動作について説明をする。
Next, the operation of outputting the block address and the operation of updating the address table of the address generation circuit 80 according to the first modification of the above configuration will be described.

【0105】フラグDが0の場合(最初のインタリーブ
ブロックに対する処理の場合)、第2のセレクタ29が
インデックスカウンタ24を選択し、インデックスカウ
ンタ24から出力されるインデックス値iがそのまま論
理アドレスとして出力される。インデックスカウンタ2
4から与えられたテーブルアドレス(インデックス値
i)により指定されたアドレスに、f(i)発生回路8
2から出力される値が格納されていく。
If the flag D is 0 (in the case of processing for the first interleaved block), the second selector 29 selects the index counter 24, and the index value i output from the index counter 24 is output as a logical address as it is. You. Index counter 2
F (i) generating circuit 8 at the address specified by the table address (index value i) given from
The values output from 2 are stored.

【0106】また、フラグDが0の場合(2番目以降の
インタリーブブロックに対する処理の場合)、第2のセ
レクタ29がアドレス用テーブル81を選択する。そし
て、インデックスカウンタ24から与えられたテーブル
アドレス(インデックス値i)により指定されたアドレ
スに格納されているデータが、論理アドレスとして出力
される。それとともに、データが出力されるテーブルア
ドレスにf(i)発生回路82から出力される値が格納
されていく。
When the flag D is 0 (in the case of processing for the second and subsequent interleaved blocks), the second selector 29 selects the address table 81. Then, the data stored at the address specified by the table address (index value i) given from the index counter 24 is output as a logical address. At the same time, the value output from the f (i) generation circuit 82 is stored in the table address from which the data is output.

【0107】以上のような動作が行われることにより第
1の変形例のアドレス生成回路80では、メモリ用テー
ブル81に配列C{fk-1(i)}を記憶させ、kブロ
ック目のi番目のデータの処理をする場合、この配列C
を論理アドレスとして出力していくとともに、この配列
Cをf(C{fk-1(i)})で更新していくようにす
ることができる。
By performing the above operation, the address generation circuit 80 of the first modification stores the array C {f k-1 (i)} in the memory table 81, and stores the i-th block in the k-th block. When processing the th data, this array C
Is output as a logical address, and the array C is updated with f (C {f k-1 (i)}).

【0108】つぎに、第1の変形例のアドレス生成回路
80の動作を図12のタイミングチャートを用いて説明
をする。この図12に示すタイミングチャートは、一例
として、2×3のブロックインタリーバに適用した場合
について示している。
Next, the operation of the address generation circuit 80 of the first modification will be described with reference to the timing chart of FIG. The timing chart shown in FIG. 12 shows an example in which the present invention is applied to a 2 × 3 block interleaver.

【0109】図12中、(a)はブロック開始位置信
号、(b)はインデックスカウンタ24から出力される
インデックス値i、(c)はフラグD、(d)はアドレ
ス用テーブル81の出力値、(e)は出力される論理ア
ドレス値、(f)はf(i)発生回路82から発生され
る値をそれぞれ示している。
In FIG. 12, (a) is a block start position signal, (b) is an index value i output from the index counter 24, (c) is a flag D, (d) is an output value of the address table 81, (E) shows the output logical address value, and (f) shows the value generated from the f (i) generation circuit 82.

【0110】アドレス生成回路11は、スタート信号に
よって動作を開始し、タイミングパルスを基準に処理を
行っていく。
The address generation circuit 11 starts operating in response to a start signal, and performs processing based on a timing pulse.

【0111】インデックスカウンタ24は、タイミング
パルスをインクリメントし、インデックス値iを更新し
ていく。インデックス値iは、ブロック開始位置信号の
発生タイミングで、その値が0に初期化する。すなわ
ち、2×3ブロックの場合には、0〜5までをカウント
すると、次に0に初期化される。
The index counter 24 increments the timing pulse and updates the index value i. The index value i is initialized to 0 at the generation timing of the block start position signal. That is, in the case of a 2 × 3 block, counting from 0 to 5 is initialized to 0 next.

【0112】フラグDは、スタート直後の最初のブロッ
クに対してのみhighとされ、以後はlowとされ
る。
The flag D is set high only for the first block immediately after the start, and is set low thereafter.

【0113】論理アドレス出力は、フラグDがhigh
となっている最初のブロックでは、その値がインデック
ス値iとなる。以後論理アドレス出力は、アドレス用テ
ーブル81の出力値となる。また、アドレス用テーブル
81に与えられるアドレス値は、f(i)発生回路82
から発生される値である。
The logical address output indicates that the flag D is high.
In the first block, the value becomes the index value i. Thereafter, the logical address output becomes the output value of the address table 81. The address value given to the address table 81 is determined by the f (i) generation circuit 82
Is the value generated from.

【0114】(第2の変形例)第2の変形例のアドレス
生成回路は、fk(i)とfk(i−1)との間にある
“fk(i)=g(fk(i−1)+fk(1)”という
関係を利用して、インタリーブメモリ12に対する論理
アドレスであるfk(i)の算出を行っている。ここ
で、g(i)=i%(m・n)+i/(m・n) であ
る。また、fk(0)=0である。
(Second Modification) The address generation circuit according to the second modification uses "f k (i) = g (f k ) between f k (i) and f k (i-1). Using the relationship (i−1) + f k (1) ″, f k (i), which is a logical address for the interleave memory 12, is calculated. Here, g (i) = i% (m N) + i / (m · n), and f k (0) = 0.

【0115】具体的には、fk(i−1)の値を格納す
るアドレスレジスタ(cur)と、fk(1)を格納す
るオフセットレジスタ(offset)と、g(i)を
演算する回路と、f(i)を演算する回路とを用いて、
k(i)の算出を行う。その動作アルゴリズムは、以
下のようになる。
More specifically, an address register (cur) for storing the value of f k (i-1), an offset register (offset) for storing f k (1), and a circuit for calculating g (i) And a circuit for calculating f (i),
f k (i) is calculated. The operation algorithm is as follows.

【0116】 なお、Y←Xは、Yレジスタに、Xレジスタの値を代入
することを示している。
[0116] Note that Y ← X indicates that the value of the X register is substituted into the Y register.

【0117】具体的に、このようなアルゴリズムを実現
できる第2の変形例のアドレス生成回路90を図13に
示す。
Specifically, FIG. 13 shows an address generation circuit 90 according to a second modification capable of realizing such an algorithm.

【0118】アドレス生成回路90は、この図13に示
すように、タイミング制御部21と、Dフリップフロッ
プ91と、アドレスレジスタ92と、オフセットレジス
タ93と、加算回路94と、g(i)発生回路95と、
f(i)発生回路96と、セレクタ99と、論理アドレ
ス/実アドレス変換回路34とを有している。
As shown in FIG. 13, the address generation circuit 90 includes a timing control section 21, a D flip-flop 91, an address register 92, an offset register 93, an addition circuit 94, and a g (i) generation circuit. 95,
An f (i) generation circuit 96, a selector 99, and a logical address / real address conversion circuit 34 are provided.

【0119】アドレスレジスタ92には、入力端子ID
T、出力端子Q、イネーブル端子EN、クリア端子CL
R、リセット端子RSTが設けられている。アドレスレ
ジスタ92は、タイミング制御回路21により生成され
たタイミングパルスがイネーブル端子ENに入力され、
このタイミングパルスが供給されているときに、入力端
子IDTに入力されてきたデータを受け付けて1クロッ
ク分保持し、その保持しているデータを出力端子Qから
出力する。入力データは、g(i)発生回路95から供
給される。出力データは、論理アドレスとして論理アド
レス/実アドレス変換回路34及び加算回路94に供給
される。また、アドレスレジスタ92には、タイミング
制御回路21により生成されたブロック開始位置信号が
CLR端子に入力される。このクリア端子CLRにブロ
ック開始位置信号が供給されると、保持しているデータ
をクリアする。また、アドレスレジスタ92には、タイ
ミング制御回路21からスタート信号がリセット端子R
STに入力される。このリセット端子RSTにスタート
信号が供給されると、保持しているデータをリセットす
る。
The address register 92 has an input terminal ID
T, output terminal Q, enable terminal EN, clear terminal CL
R and a reset terminal RST are provided. The address register 92 inputs the timing pulse generated by the timing control circuit 21 to the enable terminal EN,
When the timing pulse is supplied, the data input to the input terminal IDT is received and held for one clock, and the held data is output from the output terminal Q. The input data is supplied from the g (i) generation circuit 95. The output data is supplied to the logical address / real address conversion circuit 34 and the addition circuit 94 as a logical address. Further, the block start position signal generated by the timing control circuit 21 is input to the CLR terminal of the address register 92. When the block start position signal is supplied to the clear terminal CLR, the held data is cleared. A start signal from the timing control circuit 21 is supplied to the address register 92 by a reset terminal R.
Input to ST. When a start signal is supplied to the reset terminal RST, the held data is reset.

【0120】オフセットレジスタ93には、入力端子
D、出力端子Q、イネーブル端子EN、リセット端子R
STが設けられている。オフセットレジスタ93は、タ
イミング制御回路21により生成されたブロック開始位
置信号がイネーブル端子ENに入力され、このブロック
開始位置信号が供給されているときに、入力端子IDT
に入力されてきたデータを受け付けそのデータを保持
し、その保持しているデータを出力する。入力データ
は、セレクタ99から供給される。出力データは、加算
回路94及びf(i)発生回路96に供給される。ま
た、オフセットレジスタ93には、タイミング制御回路
21からスタート信号がリセット端子RSTに入力され
る。このリセット端子RSTにスタート信号が供給され
ると、保持しているデータをリセットする。
The offset register 93 has an input terminal D, an output terminal Q, an enable terminal EN, and a reset terminal R.
ST is provided. When the block start position signal generated by the timing control circuit 21 is input to the enable terminal EN and the block start position signal is supplied, the offset register 93 receives the input terminal IDT.
Receives the input data, holds the data, and outputs the held data. The input data is supplied from the selector 99. The output data is supplied to the addition circuit 94 and the f (i) generation circuit 96. Further, a start signal from the timing control circuit 21 is input to the offset terminal 93 to the reset terminal RST. When a start signal is supplied to the reset terminal RST, the held data is reset.

【0121】加算回路94は、アドレスレジスタ92の
出力とオフセットレジスタ93の出力とを加算する。
The addition circuit 94 adds the output of the address register 92 and the output of the offset register 93.

【0122】g(i)発生回路95は、加算回路94の
加算結果iに対して、上述したg(i)=i%(m・
n)+i/(m・n)を演算する回路である。具体的な
回路構成は、図14に示すように、入力された加算値i
に対する(m・m)の剰余を演算する剰余回路101
と、入力された加算値iを(n・m)で割ったときの商
(整数値)を演算する除算回路102と、剰余回路10
1の出力と除算回路102の出力とを加算する加算回路
103とから構成される。このg(i)発生回路95に
より演算された値は、アドレスレジスタ92の入力端子
IDTに供給される。
The g (i) generating circuit 95 applies the above-mentioned g (i) = i% (m ·
n) + i / (m · n). The specific circuit configuration is as shown in FIG.
Circuit 101 for calculating the remainder of (m · m) with respect to
A division circuit 102 for calculating a quotient (integer value) obtained by dividing the added value i by (nm), and a remainder circuit 10
1 and an adder 103 for adding the output of the divider 102. The value calculated by the g (i) generation circuit 95 is supplied to the input terminal IDT of the address register 92.

【0123】f(i)発生回路96は、オフセットカウ
ンタ93から出力された値に対して、上述したf(i)
を演算する回路である。具体的な回路構成は、図11に
示した回路構成と同一である。このf(i)発生回路9
6により演算された値は、セレクタ99に供給される。
The f (i) generating circuit 96 applies the above-mentioned f (i) to the value output from the offset counter 93.
Is a circuit for calculating. The specific circuit configuration is the same as the circuit configuration shown in FIG. This f (i) generating circuit 9
The value calculated by 6 is supplied to the selector 99.

【0124】セレクタ99には、値1と、f(i)発生
回路96の出力値とが入力される。セレクタ99は、フ
ラグD発生回路22から出力されるフラグDに応じて、
値1又はf(i)発生回路96の出力値のいずれか一方
を、オフセットレジスタ93の入力データとして供給す
る。なお、フラグD発生回路22は、スタート信号によ
りフラグDを0に初期化し、リセット後の最初のインタ
リーブブロックのデータの処理が完了した時点(すなわ
ち、スタート信号の後、ブロック開始位置を示すブロッ
ク開始位置信号を2回受けた時点)で、フラグDを1に
セットする。そして、以後、処理が停止するまで、この
フラグDを1に保持したままにしておく。セレクタ99
は、フラグDが0のときには値1をオフセットレジスタ
93に供給し、フラグDが1のときにはf(i)発生回
路96の出力値をオフセットレジスタ93に供給する。
The value 1 and the output value of the f (i) generating circuit 96 are input to the selector 99. The selector 99 responds to the flag D output from the flag D generation circuit 22 by
Either the value 1 or the output value of the f (i) generating circuit 96 is supplied as input data to the offset register 93. Note that the flag D generation circuit 22 initializes the flag D to 0 by the start signal, and completes the processing of the data of the first interleaved block after the reset (that is, after the start signal, the block start position indicating the block start position). At the time when the position signal is received twice), the flag D is set to 1. Thereafter, this flag D is kept at 1 until the processing is stopped. Selector 99
Supplies the value 1 to the offset register 93 when the flag D is 0, and supplies the output value of the f (i) generating circuit 96 to the offset register 93 when the flag D is 1.

【0125】Dフリップフロップ91には、タイミング
パルスが入力され、このタイミングパルスを1クロック
分遅延させて、出力データのイネーブル信号を生成し、
出力する。
A timing pulse is input to the D flip-flop 91, and this timing pulse is delayed by one clock to generate an enable signal of output data.
Output.

【0126】以下、各レジスタの動作について説明をす
る。
The operation of each register will be described below.

【0127】アドレスレジスタ92は、以下のように動
作をする。 (1)スタート信号が供給されると、内部に格納してい
る値を必ず0にクリア (2)インタリーブブロックの先頭タイミングで、内部
に格納している値を0にクリア(3)インタリーブブロ
ックの先頭以外のタイミングで、g(i)発生回路95
からの出力値が入力され、内部に格納している値を更新 オフセットレジスタ93は、以下のように動作をする。 (1)スタート信号が供給されると、内部に格納してい
る値を1にセットする (2)インタリーブブロックの先頭タイミングで、f
(i)発生回路96からの出力値が入力され、内部に格
納している値を更新
Address register 92 operates as follows. (1) When the start signal is supplied, the value stored inside is always cleared to 0. (2) The value stored inside is cleared to 0 at the start timing of the interleave block. (3) The value of the interleave block is cleared. The g (i) generation circuit 95 at a timing other than the beginning
, And updates the value stored therein. The offset register 93 operates as follows. (1) When a start signal is supplied, the internally stored value is set to 1. (2) At the start timing of the interleave block, f
(I) The output value from the generation circuit 96 is input and the value stored inside is updated.

【0128】つぎに、第2の変形例のアドレス生成回路
90の動作を図15のタイミングチャートを用いて説明
をする。この図15に示すタイミングチャートは、一例
として、2×3のブロックインタリーバに適用した場合
について示している。
Next, the operation of the address generation circuit 90 of the second modification will be described with reference to the timing chart of FIG. The timing chart shown in FIG. 15 shows an example in which the present invention is applied to a 2 × 3 block interleaver.

【0129】図15中、(a)はブロック開始位置信
号、(b)はインデックス値i、(c)はフラグD、
(d)は出力される論理アドレス値、(e)はオフセッ
トレジスタ96から出力されるオフセット値をそれぞれ
示している。
In FIG. 15, (a) is a block start position signal, (b) is an index value i, (c) is a flag D,
(D) shows the output logical address value, and (e) shows the offset value output from the offset register 96.

【0130】アドレス生成回路90は、スタート信号に
よって動作を開始し、タイミングパルスを基準に処理を
行っていく。インデックス値iは、ブロック開始位置信
号の発生タイミングで、その値が0に初期化される。す
なわち、2×3ブロックの場合には、0〜5までをカウ
ントすると、次に0に初期化される。
The address generation circuit 90 starts operating in response to a start signal, and performs processing based on a timing pulse. The index value i is initialized to 0 at the generation timing of the block start position signal. That is, in the case of a 2 × 3 block, counting from 0 to 5 is initialized to 0 next.

【0131】フラグDは、スタート直後の最初のブロッ
クに対してのみhighとされ、以後はlowとされ
る。
The flag D is set high only for the first block immediately after the start, and is set low thereafter.

【0132】論理アドレス出力は、フラグDがhigh
となっている最初のブロックでは、その値がインデック
ス値iとなる。以後論理アドレス出力は、アドレスレジ
スタ92の出力値となる。また、オフセットレジスタ9
6に与えられるアドレス値は、f(i)発生回路82か
ら発生される値である。
The logical address output indicates that the flag D is high.
In the first block, the value becomes the index value i. Thereafter, the logical address output becomes the output value of the address register 92. Also, the offset register 9
The address value given to 6 is a value generated from the f (i) generation circuit 82.

【0133】(第3の変形例)第3の変形例は、発生す
る論理アドレスの値を、一定のブロック周期毎にリセッ
トするリセット機能を設けたアドレス生成回路である。
(Third Modification) A third modification is an address generation circuit provided with a reset function for resetting the value of a generated logical address every fixed block cycle.

【0134】図7に示したアドレス生成回路11、図1
0に示した第1の変形例のアドレス生成回路80、及
び、図13に示した第2の変形例のアドレス生成回路9
0では、動作開始時後の最初のインタリーブロックをイ
ンタリーブメモリ12に書き込む場合、インデックスi
をそのまま論理アドレスとして出力している。すなわ
ち、論理アドレスの初期値としてiを与えている。ここ
で、各アドレス生成回路は、k番目のインタリーブブロ
ックに対する論理アドレスとして、fk(i)を出力す
るが、このfk(i)は、一定の周期性を有している。
すなわち、fk(i)=iとなる場合が周期的に現れ
る。この第3の変形例は、処理を行ったインタリーブブ
ロックの数をカウントし、そのカウント値が一定の値と
なったときに、強制的に論理アドレスを初期値にリセッ
トする。このように一定の周期毎に強制的に発生する論
理アドレスを初期値にリセットすることによって、例え
ば、信号処理を行っている最中に何らかの原因でエラー
が発生し、正確な論理アドレスが算出できなくなった場
合であっても、そのエラー伝搬がその周期以上は続かな
いようにすることができる。
The address generation circuit 11 shown in FIG.
0, and the address generation circuit 9 of the second modification shown in FIG.
0, when writing the first interleave block after the start of operation to the interleave memory 12, the index i
Is output as a logical address as it is. That is, i is given as the initial value of the logical address. Here, each address generation circuit outputs f k (i) as a logical address for the k-th interleaved block, and this f k (i) has a constant periodicity.
That is, the case where f k (i) = i appears periodically. In the third modification, the number of processed interleaved blocks is counted, and when the count value reaches a fixed value, the logical address is forcibly reset to an initial value. By resetting the logical address that is forcibly generated at regular intervals in this way to an initial value, for example, an error occurs for some reason during signal processing, and an accurate logical address can be calculated. Even in the case of disappearance, the error propagation can be prevented from continuing for more than the period.

【0135】関数fk(i)が周期性を持つことの証明
の概要を示す。
An outline of the proof that the function f k (i) has periodicity will be described.

【0136】まず、関数fk(i)は、次の2つの性質
を持つ。 (1)fk(i)=fk(j) (i≠j)となるi、j、
kは存在しない。
First, the function f k (i) has the following two properties. (1) i, j, such that f k (i) = f k (j) (i ≠ j)
k does not exist.

【0137】存在するとインタリーブ処理においてデー
タを書き潰してしまうことから明らかである。 (2)fk(i)=fl(i)となるk、l、iが存在す
る。fk、flの定義域、値域は有限のため、必ずfk
(i)=fl(i)となるk、l、iが存在する。
It is clear from the fact that the data will be overwritten in the interleave processing if it exists. (2) There are k, l, and i such that f k (i) = f l (i). Since the domain and range of fk and fl are finite, be sure to use f k
There are k, l, and i such that (i) = fl (i).

【0138】(1)により0≦i,j<m×nをnodeと
して、j←i(j=fk(i)が成立するとき )を有向
branchとする有向graphにおいて、合流するpathが存在
しないことが言える。また(2)により先の有向graph
における有向branchは必ず有限個の閉loopを形成するこ
とが分かる。
According to (1), j ≦ i (when j = f k (i) holds) is directed with 0 ≦ i, j <m × n as a node.
It can be said that there is no merging path in the directed graph as branch. According to (2), the directed graph
It can be seen that the directed branch in always forms a finite number of closed loops.

【0139】以上によりfk(i)は、各々の閉loopの
要素数の最小公倍数を周期とする周期性を持つことが言
える。
From the above, it can be said that f k (i) has a periodicity whose cycle is the least common multiple of the number of elements of each closed loop.

【0140】次に、周期pを求めるためのアルゴリズム
例を示す。 (ステップS1)サイズm×nのテーブルTを用意し、
T[i]=iとなるようにリセットする。 (ステップS2)k← 1 (ステップS3)for(i=0;i<m;i++)T
[i]=f(T[i]); (ステップS4)全てのiについてT[i]=iならば
kが求める周期p0になっていなければ、k←k+1を
して、(ステップS3)に戻る。
Next, an example of an algorithm for obtaining the period p will be described. (Step S1) Prepare a table T of size m × n,
Reset so that T [i] = i. (Step S2) k ← 1 (Step S3) for (i = 0; i <m; i ++) T
(I) = f (T [i]); (Step S4) If T [i] = i for all i, if k is not at the required period p 0 , then k ← k + 1 and (Step S3) Return to).

【0141】以上のようなステップS1〜ステップS4
までの処理を行うことによって周期pが求められる。ま
た、周期pを求めるための他のアルゴリズム例を示す。 (ステップS11)サイズm×nのテーブルTを用意
し、全てのエントリを0にリセットする。 (ステップS12)サイズm×nテーブルLを用意し、
全てのエントリを1にリセットする。 (ステップS13)k←0; (ステップS14)T[i]==0となる最小のi(0
≦i<m×n)に対して、以下の処理を行う。 (ステップS15)T[i]←1 (ステップS16)i←f(i) (ステップS17)k++ (ステップS18)T[i]==0ならばステップS1
5へ戻り、T[i]==1ならばL[i]==kとして
ステップS13に戻る。 (ステップS19)全てのi(0≦i<m×n)に対し
てT[i]==1となったときのL[i]の最小公倍数
を求める。この最小公倍数が周期pとなる。
Steps S1 to S4 as described above
By performing the processing up to, the period p is obtained. Another example of the algorithm for obtaining the period p will be described. (Step S11) A table T of size m × n is prepared, and all entries are reset to 0. (Step S12) Prepare a size m × n table L,
Reset all entries to 1. (Step S13) k ← 0; (Step S14) The minimum i (0 where T [i] == 0
≦ i <m × n), the following processing is performed. (Step S15) T [i] ← 1 (Step S16) i ← f (i) (Step S17) k ++ (Step S18) If T [i] == 0, step S1
5, if T [i] == 1, L [i] == k and the process returns to step S13. (Step S19) The least common multiple of L [i] when T [i] == 1 is obtained for all i (0 ≦ i <m × n). This least common multiple is the period p.

【0142】このようなリセット機能を具体的に適用し
た回路構成例を図16〜図18に示す。
FIGS. 16 to 18 show circuit configuration examples to which such a reset function is specifically applied.

【0143】図16は、図7に示したアドレス生成回路
11にリセット機能を設けた回路例である。この場合、
インタリーブブロックの開始位置を示すパルスを1周期
分カウントする周期カウンタ110を設ける。そして、
この周期カウンタ110から出力されるパルスを、フラ
グD生成回路22に供給する。フラグD生成回路22
は、周期カウンタ110からパルスが供給されると、フ
ラグDを1とする。このように動作することによって、
1周期毎に、第2のセレクタ29がインデックスカウン
タ24から出力されたインデックス値iがそのまま論理
アドレスとして出力される。インデックス値iがそのま
ま論理アドレスとして出力されることによって、各回路
に以後起動時と同様の動作を行わせることができる。
FIG. 16 is an example of a circuit in which the address generation circuit 11 shown in FIG. 7 has a reset function. in this case,
There is provided a cycle counter 110 for counting a pulse indicating the start position of the interleave block for one cycle. And
The pulse output from the cycle counter 110 is supplied to the flag D generation circuit 22. Flag D generation circuit 22
Sets the flag D to 1 when a pulse is supplied from the cycle counter 110. By working this way,
In each cycle, the index value i output from the index counter 24 by the second selector 29 is output as a logical address as it is. By outputting the index value i as a logical address as it is, it is possible to cause each circuit to perform the same operation as that at the time of starting thereafter.

【0144】図17は、図10に示した第1の変形例の
アドレス生成回路80にリセット機能を設けた回路例で
ある。
FIG. 17 is a circuit example in which the address generation circuit 80 of the first modification shown in FIG. 10 is provided with a reset function.

【0145】この場合も同様に、インタリーブブロック
の開始位置を示すパルスを1周期分カウントする周期カ
ウンタ110を設ける。そして、この周期カウンタ11
0から出力されるパルスを、フラグD生成回路22に供
給する。フラグD生成回路22は、周期カウンタ110
からパルスが供給されると、フラグDを1とする。この
ようにすることによって、1周期毎に、第2のセレクタ
29がインデックスカウンタ24から出力されたインデ
ックス値iがそのまま論理アドレスとして出力される。
インデックス値iがそのまま論理アドレスとして出力さ
れることによって、各回路に以後起動時と同様の動作を
行わせることができる。
In this case, similarly, a cycle counter 110 for counting a pulse indicating the start position of the interleave block for one cycle is provided. And this cycle counter 11
The pulse output from 0 is supplied to the flag D generation circuit 22. The flag D generation circuit 22 includes a period counter 110
, The flag D is set to 1. By doing so, the index value i output from the index counter 24 by the second selector 29 is output as a logical address as it is for each cycle.
By outputting the index value i as a logical address as it is, it is possible to cause each circuit to perform the same operation as that at the time of starting thereafter.

【0146】図18は、図13に示した第2の変形例の
アドレス生成回路90にリセット機能を設けた回路例で
ある。
FIG. 18 is a circuit example in which a reset function is provided in the address generation circuit 90 of the second modification shown in FIG.

【0147】この場合、インタリーブブロックの開始位
置を示すパルスを1周期分カウントする周期カウンタ1
10を設ける。そして、この周期カウンタ110からパ
ルスが出力されたタイミングで、ベアドレスレジスタ9
2及びオフセットレジスタ93を以下のように制御す
る。
In this case, a cycle counter 1 for counting the pulse indicating the start position of the interleave block for one cycle.
10 is provided. At the timing when the pulse is output from the period counter 110, the bare address register 9
2 and the offset register 93 are controlled as follows.

【0148】 このようにすることによって、1周期毎に、第2のセレ
クタ29がインデックスカウンタ24から出力されたイ
ンデックス値iがそのまま論理アドレスとして出力され
る。インデックス値iがそのまま論理アドレスとして出
力されることによって、各回路に以後起動時と同様の動
作を行わせることができる。
[0148] By doing so, the index value i output from the index counter 24 by the second selector 29 is output as a logical address as it is for each cycle. By outputting the index value i as a logical address as it is, it is possible to cause each circuit to perform the same operation as that at the time of starting thereafter.

【0149】[0149]

【発明の効果】本発明にかかるインタリーブ装置及びイ
ンタリーブ方法では、k−1番目以前のインタリーブブ
ロックのi番目に配置されたデータが格納されていたア
ドレスに基づき、k番目のインタリーブブロックのi番
目に読み出されるデータのアドレスを算出し、算出した
このアドレスからk番目に出力されるインタリーブブロ
ックのi番目のデータを読み出すとともに、k+1番目
に入力されるインタリーブブロックのi番目のデータを
算出した上記アドレスに書き込む。
According to the interleave apparatus and the interleave method of the present invention, the i-th interleave block of the k-th interleave block is based on the address where the data arranged at the i-th place of the (k-1) -th interleave block is stored. The address of the data to be read is calculated, and from the calculated address, the i-th data of the k-th interleaved block output is read, and the i-th data of the (k + 1) -th interleaved block is calculated. Write.

【0150】このことにより本発明では、インタリーブ
を行う際に用いられるインタリーブメモリを削減するこ
とができる。
As a result, in the present invention, the interleave memory used when performing interleaving can be reduced.

【図面の簡単な説明】[Brief description of the drawings]

【図1】ブロックインタリーバにおけるインタリーブ規
則について説明をする図である。
FIG. 1 is a diagram illustrating an interleaving rule in a block interleaver.

【図2】m×n個のデータが格納可能なインタリーブメ
モリに付けられた論理アドレスについて説明をするため
の図である
FIG. 2 is a diagram for describing a logical address assigned to an interleave memory capable of storing m × n data;

【図3】1つの論理アドレスに対して、データの読み出
し及び書き込みを同時に行うことを説明するための図で
ある。
FIG. 3 is a diagram for explaining that data reading and writing are simultaneously performed on one logical address;

【図4】2×3のブロックインタリーブを行うインタリ
ーバの動作を説明するための図である
FIG. 4 is a diagram for explaining an operation of an interleaver that performs 2 × 3 block interleaving;

【図5】上記2×3のブロックインタリーブを行ったと
きに用いられるアドレスを示す図である。
FIG. 5 is a diagram showing addresses used when performing the above 2 × 3 block interleaving.

【図6】インタリーバの構成図である。FIG. 6 is a configuration diagram of an interleaver.

【図7】アドレス生成回路の構成図である。FIG. 7 is a configuration diagram of an address generation circuit.

【図8】f-1(i)発生回路の構成図である。FIG. 8 is a configuration diagram of an f −1 (i) generation circuit.

【図9】アドレス生成回路の動作を示すタイミングチャ
ートである。。
FIG. 9 is a timing chart showing an operation of the address generation circuit. .

【図10】第1の変形例のアドレス生成回路の構成図で
ある。
FIG. 10 is a configuration diagram of an address generation circuit according to a first modified example.

【図11】f(i)発生回路の構成図である。FIG. 11 is a configuration diagram of an f (i) generation circuit.

【図12】上記第1の変形例のアドレス生成回路の動作
を示すタイミングチャートである。
FIG. 12 is a timing chart showing an operation of the address generation circuit according to the first modification.

【図13】第2の変形例のアドレス生成回路の構成図で
ある。
FIG. 13 is a configuration diagram of an address generation circuit according to a second modification.

【図14】g(i)発生回路の構成図である。FIG. 14 is a configuration diagram of a g (i) generation circuit.

【図15】上記第2の変形例のアドレス生成回路の動作
を示すタイミングチャートである。
FIG. 15 is a timing chart showing the operation of the address generation circuit according to the second modification.

【図16】図7で示したアドレス生成回路にリセット機
能を設けた第3の変形例のアドレス生成回路の構成図で
ある。
FIG. 16 is a configuration diagram of an address generation circuit according to a third modification in which a reset function is provided in the address generation circuit shown in FIG. 7;

【図17】図10で示した第1の変形例のアドレス生成
回路にリセット機能を設けた第3の変形例のアドレス生
成回路の構成図である。
FIG. 17 is a configuration diagram of an address generation circuit according to a third modification in which a reset function is provided in the address generation circuit according to the first modification shown in FIG. 10;

【図18】図10で示した第1の変形例のアドレス生成
回路にリセット機能を設けた第3の変形例のアドレス生
成回路の構成図である。
FIG. 18 is a configuration diagram of an address generation circuit according to a third modification in which a reset function is provided in the address generation circuit according to the first modification shown in FIG. 10;

【図19】連接符号について説明するための概念図であ
る。
FIG. 19 is a conceptual diagram for describing a connection code.

【図20】デジタル衛星放送で用いられるエラー訂正処
理を説明するための図である。
FIG. 20 is a diagram for explaining an error correction process used in digital satellite broadcasting.

【図21】デジタル衛星放送で用いられるインタリーバ
について説明するための図である。
FIG. 21 is a diagram for describing an interleaver used in digital satellite broadcasting.

【図22】インタリーバによるバースエラーの分散につ
いて説明するための図である。
FIG. 22 is a diagram for describing dispersion of a berth error by an interleaver.

【図23】インタリーブメモリに対するアクセス順序に
ついて説明をするための図である。
FIG. 23 is a diagram for describing an access order to an interleave memory.

【図24】2×3のブロックを用いるインタリーバのイ
ンタリーブメモリに対するアクセス順序について説明を
するための図である。
FIG. 24 is a diagram for describing an access order of an interleaver using 2 × 3 blocks to an interleave memory.

【図25】ダブルバッファ方式のインタリーバの構成図
である。
FIG. 25 is a configuration diagram of an interleaver of a double buffer system.

【符号の説明】[Explanation of symbols]

1 インタリーバ、11,80,90 アドレス生成回
路、12 入力バッファ、13 ダミーデータセレク
タ、14 インタリーブメモリ
1 interleaver, 11, 80, 90 address generation circuit, 12 input buffer, 13 dummy data selector, 14 interleave memory

───────────────────────────────────────────────────── フロントページの続き Fターム(参考) 5B001 AB02 AC05 AD06 AE04 5J065 AA03 AB01 AC02 AE06 AF03 AG06 AH02 AH03 AH04 AH06 AH17 5K014 AA01 BA00 FA16 GA02  ──────────────────────────────────────────────────の Continued on the front page F term (reference) 5B001 AB02 AC05 AD06 AE04 5J065 AA03 AB01 AC02 AE06 AF03 AG06 AH02 AH03 AH04 AH06 AH17 5K014 AA01 BA00 FA16 GA02

Claims (14)

【特許請求の範囲】[Claims] 【請求項1】 m×n個のデータからなるインタリーブ
ブロック単位でブロックインタリーブを行うインタリー
ブ装置において、 0〜(m×n−1)までの論理アドレスが設定され、1
インタリーブブロック分のデータを格納可能なインタリ
ーブメモリと、 入力されたデータを上記インタリーブメモリに書き込
み、上記インタリーブメモリに書き込まれているデータ
を所定のインタリーブ規則に従い読み出すメモリ制御部
とを備え、 上記メモリ制御部は、 k番目のインタリーブブロックのi番目に出力されるデ
ータの論理アドレスを関数fk(i)=f(f
k-1(i))に基づき算出し、この論理アドレスと同一の
アドレスにk+1番目のインタリーブブロックのi番目
に入力されるデータを書き込むことを特徴とするインタ
リーブ装置。ここで、f(i)=n×(i%m)+(i
/m)とし、このf(i)に対してf k(i)は以下の
ような関係を有する。 f2(i)=f(f(i)) f3(i)=f(f2(i)) f4(i)=f(f3(i)) ・ ・ ・ fk-1(i)=f(fk-2(i)) fk(i)=f(fk-1(i)) また、m,nは、1以上の整数であり、(x%y)とは
xをyで割った余りを表し、(x/y)とは、xをyで
割った商の整数部分を表す。
1. Interleave consisting of m × n data
Interleaving that performs block interleaving on a block-by-block basis
In the slave device, logical addresses from 0 to (m × n-1) are set, and 1
An interleaver that can store data for interleaved blocks
Write the input data to the above interleave memory
Only the data written in the interleave memory
Control unit that reads data according to a predetermined interleave rule
And the memory control unit is configured to output the i-th data of the k-th interleaved block.
Data logical address to function fk(I) = f (f
k-1(I)), and calculate the same
I-th address of the (k + 1) -th interleaved block
Writing data to be input to the interface
Leave equipment. Here, f (i) = n × (i% m) + (i
/ M), and f (i) is given by f k(I)
It has such a relationship. fTwo(I) = f (f (i)) fThree(I) = f (fTwo(I)) fFour(I) = f (fThree(I)) ・ ・ ・ fk-1(I) = f (fk-2(I)) fk(I) = f (fk-1(I)) Further, m and n are integers of 1 or more, and (x% y)
represents the remainder of dividing x by y, and (x / y) means x is converted by y
Represents the integer part of the quotient divided.
【請求項2】 上記メモリ制御部は、 f(i)を演算するf(i)発生回路と、 0〜(m×n−1)までのテーブルアドレスが設定さ
れ、上記テーブルアドレス順に配列{fk-1(i)}を
格納する第1のテーブルと、 0〜(m×n−1)までのテーブルアドレスが設定さ
れ、上記テーブルアドレス順に配列{fk(i)}を格
納する第2のテーブルとを有し、 fk-1(f(i))を演算することにより、k番目のイ
ンタリーブブロックのi番目に出力されるデータの論理
アドレスであるfk(i)を算出することを特徴とする
請求項1記載のインタリーブ装置。
2. The memory control unit according to claim 1, wherein an f (i) generating circuit for calculating f (i) and a table address from 0 to (m × n−1) are set. k-1 (i)} and a second table storing an array {f k (i)} in which table addresses from 0 to (m × n-1) are set and the table addresses are arranged in the above-mentioned table address order. Calculating f k (i), which is the logical address of the i-th output data of the k-th interleaved block, by calculating f k-1 (f (i)) The interleaving device according to claim 1, wherein:
【請求項3】 上記メモリ制御部は、 f(i)を演算するf(i)発生回路と、 0〜(m×n−1)までのテーブルアドレスが設定さ
れ、上記テーブルアドレス順に配列{fk-1(i)}を
格納する第3のテーブルとを有し、 f(fk-1(i))を演算することにより、k番目のイ
ンタリーブブロックのi番目に出力されるデータの論理
アドレスであるfk(i)を算出することを特徴とする
請求項1記載のインタリーブ装置。
3. The memory control section is configured to set an f (i) generation circuit for calculating f (i), a table address from 0 to (m × n−1), and to arrange an array {f k-1 (i)}, and calculating f (f k-1 (i)) to calculate the logic of the i-th output data of the k-th interleaved block. 2. The interleave device according to claim 1, wherein the address f k (i) is calculated.
【請求項4】 上記メモリ制御部は、 f(i)を演算するf(i)発生回路と、 g(i)=i%(m・n)+i/(m・n)を算出する
g(i)発生回路と、 fk(i−1)を格納する第1のレジスタと、 fk(1)を格納する第2のレジスタとを有し、 g(fk(i−1)+fk(1))を演算することによ
り、k番目のインタリーブブロックのi番目に出力され
るデータの論理アドレスであるfk(i)を算出するこ
とを特徴とする請求項1記載のインタリーブ装置。
4. The memory control unit includes: an f (i) generating circuit for calculating f (i); and a g (i) = i% (mn) + i / (mn) for calculating g (i). i) having a generating circuit, a first register for storing f k (i-1), and a second register for storing f k (1); g (f k (i-1) + f k 2. The interleave apparatus according to claim 1, wherein (1)) is calculated to calculate f k (i), which is a logical address of the i-th output data of the k-th interleave block.
【請求項5】 1番目のインタリーブブロックのi番目
にインタリーブメモリに入力される論理アドレスの初期
値を設定しておくことを特徴とする請求項1記載のイン
タリーブ装置。
5. The interleave apparatus according to claim 1, wherein an initial value of a logical address input to the interleave memory is set at the i-th of the first interleave block.
【請求項6】 1番目のインタリーブブロックのi番目
にインタリーブメモリに入力される論理アドレスをiと
することを特徴とする請求項5記載のインタリーブ装
置。
6. The interleave apparatus according to claim 5, wherein a logical address input to the ith interleave memory of the first interleave block is i.
【請求項7】 一定数のインタリーブブロック毎に、論
理アドレスを上記初期値にリセットすることを特徴とす
る請求項5記載のインタリーブ装置。
7. The interleave device according to claim 5, wherein the logical address is reset to the initial value for each fixed number of interleave blocks.
【請求項8】 m×n個のデータからなるインタリーブ
ブロック単位でブロックインタリーブを行うインタリー
ブ方法において、 上記インタリーブメモリには、0〜(m×n−1)まで
の論理アドレスが設定され、 入力されたデータをインタリーブメモリに書き込み、こ
のインタリーブメモリに書き込まれているデータを所定
のインタリーブ規則に従い読み出すときに、 k番目のインタリーブブロックのi番目に出力されるデ
ータの論理アドレスを関数fk(i)=f(f
k-1(i))に基づき算出し、この論理アドレスと同一の
アドレスにk+1番目のインタリーブブロックのi番目
に入力されるデータを書き込むことを特徴とするインタ
リーブ方法。ここで、f(i)=n×(i%m)+(i
/m)とし、このf(i)に対してf k(i)は以下の
ような関係を有する。 f2(i)=f(f(i)) f3(i)=f(f2(i)) f4(i)=f(f3(i)) ・ ・ ・ fk-1(i)=f(fk-2(i)) fk(i)=f(fk-1(i)) また、m,nは、1以上の整数であり、(x%y)とは
xをyで割った余りを表し、(x/y)とは、xをyで
割った商の整数部分を表す。
8. Interleaving consisting of m × n data
Interleaving that performs block interleaving on a block-by-block basis
In the interleaving method, 0 to (m × n-1) is stored in the interleave memory.
Logical address is set, and the input data is written to the interleave memory.
Data written in the interleave memory
When reading in accordance with the interleaving rule, the data output at the i-th of the k-th interleaved block
Data logical address to function fk(I) = f (f
k-1(I)), and calculate the same
I-th address of the (k + 1) -th interleaved block
Writing data to be input to the interface
Leave method. Here, f (i) = n × (i% m) + (i
/ M), and f (i) is given by f k(I)
It has such a relationship. fTwo(I) = f (f (i)) fThree(I) = f (fTwo(I)) fFour(I) = f (fThree(I)) ・ ・ ・ fk-1(I) = f (fk-2(I)) fk(I) = f (fk-1(I)) Further, m and n are integers of 1 or more, and (x% y)
represents the remainder of dividing x by y, and (x / y) means x is converted by y
Represents the integer part of the quotient divided.
【請求項9】 fk-1(f(i))を演算することによ
り、k番目のインタリーブブロックのi番目に出力され
るデータの論理アドレスであるfk(i)を算出するこ
とを特徴とする請求項8記載のインタリーブ方法。
9. A method of calculating f k-1 (f (i)) to calculate f k (i), which is a logical address of the i-th output data of the k-th interleaved block. The interleaving method according to claim 8, wherein
【請求項10】 f(fk-1(i))を演算することに
より、k番目のインタリーブブロックのi番目に出力さ
れるデータの論理アドレスであるfk(i)を算出する
ことを特徴とする請求項8記載のインタリーブ方法。
10. A method of calculating f (f k−1 (i)) to calculate f k (i), which is a logical address of data output at the i-th of the k-th interleave block. The interleaving method according to claim 8, wherein
【請求項11】 g(fk(i−1)+fk(1))を演
算することにより、k番目のインタリーブブロックのi
番目に出力されるデータの論理アドレスであるf
k(i)を算出することを特徴とする請求項8記載のイ
ンタリーブ方法。
11. By calculating g (f k (i−1) + f k (1)), i of the k-th interleaved block is calculated.
F which is the logical address of the data to be output
9. The interleaving method according to claim 8, wherein k (i) is calculated.
【請求項12】 1番目のインタリーブブロックのi番
目にインタリーブメモリに入力されるデータ対する論理
アドレスの初期値を設定しておくことを特徴とする請求
項8記載のインタリーブ方法。
12. The interleaving method according to claim 8, wherein an initial value of a logical address for data input to the i-th interleave memory of the first interleave block is set.
【請求項13】 1番目のインタリーブブロックのi番
目にインタリーブメモリに入力される論理アドレスをi
とすることを特徴とする請求項12記載のインタリーブ
方法。
13. The logical address input to the ith interleave memory of the first interleave block is represented by i
13. The interleaving method according to claim 12, wherein:
【請求項14】 一定数のインタリーブブロック毎に、
論理アドレスを上記初期値にリセットすることを特徴と
する請求項12記載のインタリーブ方法。
14. For each of a fixed number of interleaved blocks,
13. The interleaving method according to claim 12, wherein a logical address is reset to the initial value.
JP2000149121A 2000-05-19 2000-05-19 Device and method for interleave Withdrawn JP2001332980A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000149121A JP2001332980A (en) 2000-05-19 2000-05-19 Device and method for interleave

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000149121A JP2001332980A (en) 2000-05-19 2000-05-19 Device and method for interleave

Publications (1)

Publication Number Publication Date
JP2001332980A true JP2001332980A (en) 2001-11-30

Family

ID=18655027

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000149121A Withdrawn JP2001332980A (en) 2000-05-19 2000-05-19 Device and method for interleave

Country Status (1)

Country Link
JP (1) JP2001332980A (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006180092A (en) * 2004-12-21 2006-07-06 Matsushita Electric Ind Co Ltd Apparatus and method of interleaving
US7200792B2 (en) 2001-12-21 2007-04-03 Samsung Electronics Co., Ltd. Interleaving apparatus and method for symbol mapping in an HSDPA mobile communication system
KR100762134B1 (en) 2004-10-07 2007-10-02 엘지전자 주식회사 Method of generating read address for block interleaving
KR100764011B1 (en) 2005-12-10 2007-10-08 한국전자통신연구원 Apparatus and method for operating an interleaving and deinterleaving memory
WO2011001863A1 (en) * 2009-06-30 2011-01-06 ソニー株式会社 Data processing device, data processing method, and program
JP2015159582A (en) * 2001-12-14 2015-09-03 クゥアルコム・インコーポレイテッドQualcomm Incorporated Method and apparatus for coding bits of data in parallel

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015159582A (en) * 2001-12-14 2015-09-03 クゥアルコム・インコーポレイテッドQualcomm Incorporated Method and apparatus for coding bits of data in parallel
US7200792B2 (en) 2001-12-21 2007-04-03 Samsung Electronics Co., Ltd. Interleaving apparatus and method for symbol mapping in an HSDPA mobile communication system
KR100762134B1 (en) 2004-10-07 2007-10-02 엘지전자 주식회사 Method of generating read address for block interleaving
JP2006180092A (en) * 2004-12-21 2006-07-06 Matsushita Electric Ind Co Ltd Apparatus and method of interleaving
JP4624095B2 (en) * 2004-12-21 2011-02-02 パナソニック株式会社 Interleaving apparatus and interleaving method
US7969957B2 (en) 2004-12-21 2011-06-28 Panasonic Corporation Interleave apparatus and interleave method
KR100764011B1 (en) 2005-12-10 2007-10-08 한국전자통신연구원 Apparatus and method for operating an interleaving and deinterleaving memory
WO2011001863A1 (en) * 2009-06-30 2011-01-06 ソニー株式会社 Data processing device, data processing method, and program
US8938002B2 (en) 2009-06-30 2015-01-20 Sony Corporation Data processing apparatus, data processing method, and program

Similar Documents

Publication Publication Date Title
GB2369215A (en) Memory device and Reed Solomon decoder including the memory device
US6049903A (en) Digital data error detection and correction system
JP3064338B2 (en) Buffer unit for data unit group
US5978883A (en) Block interleaving and deinterleaving method and device therefor
WO2011024033A1 (en) Encoding module, apparatus and method for determining a position of a data bit within an interleaved data stream
JP2004510380A (en) Method and apparatus for encoding a linear block code
KR20030032304A (en) Memory device for applying to high speed pipeline Reed-Solomon decoder and method of memory access and Reed-Solomon decoder having the memory device
US5257263A (en) Circuit for decoding convolutional codes for executing the survivor path storage and reverse scanning stage of a Viterbi algorithm
US5712880A (en) Traceback-performing apparatus in viterbi decoder
JP2001332980A (en) Device and method for interleave
WO2010053152A1 (en) Decoding device, data transmitting device having the decoding device, and data storage device
KR100215566B1 (en) Address forming method of static ram
US6385258B1 (en) Viterbi decoder for use in a mobile communication system
JPH09261081A (en) De-punctured circuit
US6346896B1 (en) Decoding apparatus and method for deinterleaving data
EP0986182A2 (en) Encoding apparatus and method, decoding apparatus and method and providing medium
US6714606B1 (en) Integrated services digital broadcasting deinterleaver architecture
JPH0656695B2 (en) Interleave circuit
KR0155516B1 (en) Implementation method for state metric memory arrangement with one memory in viterbi decoder
JP3348069B2 (en) Viterbi decoding apparatus and method
JP2827978B2 (en) Interleave device
JP3305152B2 (en) Data transmission method
KR0123088B1 (en) Vitervi decoder used for memory
KR0183171B1 (en) Interleaver and deinterleaver and method thereof
JP4487385B2 (en) Digital satellite broadcast receiver, deinterleaving method and inverse energy diffusion processing method

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20070807