JP2004096492A - インタリーバ又はデインタリーバにおけるデータ読出および書込装置 - Google Patents

インタリーバ又はデインタリーバにおけるデータ読出および書込装置 Download PDF

Info

Publication number
JP2004096492A
JP2004096492A JP2002255921A JP2002255921A JP2004096492A JP 2004096492 A JP2004096492 A JP 2004096492A JP 2002255921 A JP2002255921 A JP 2002255921A JP 2002255921 A JP2002255921 A JP 2002255921A JP 2004096492 A JP2004096492 A JP 2004096492A
Authority
JP
Japan
Prior art keywords
data
row
matrix
writing
column
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2002255921A
Other languages
English (en)
Inventor
Masasato Fujii
藤井 正諭
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2002255921A priority Critical patent/JP2004096492A/ja
Publication of JP2004096492A publication Critical patent/JP2004096492A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

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

Abstract

【課題】従来よりも効率的なインタリーブまたはデインタリーブを行うことを可能にする装置を提供すること。
【解決手段】本発明による装置は、インタリーバ又はデインタリーバにおけるデータの読み出し及び書き込みを連続的に行う装置である。本装置は、アドレスで指定される場所にデータを格納することが可能なメモリ手段と、メモリ手段からデータを読み出す読出手段と、メモリ手段にデータを書き込む書込手段と、所定の行列の少なくとも1行の行列要素の少なくとも1つである行要素を格納する行テーブル・メモリ手段と、所定の行列の少なくとも1列の行列要素の少なくとも1つである列要素を格納する列テーブル・メモリ手段と、行および列テーブル・メモリ手段から順に選択する行要素および列要素の和に基づいて、データの読みえ出し及び書き込みを行うための一連のアドレスを生成するアドレス生成手段を有する装置である。
【選択図】 図2

Description

【0001】
【発明の属する技術分野】
本発明は、一般にディジタル通信の技術分野に関し、特にインタリーバ又はデインタリーバにおけるデータの読出および書込を行う装置に関する。
【0002】
【従来の技術】
この種の技術分野では、信号伝送中におけるバースト誤り等に対処するためにインタリーブ(interleave)およびデインタリーブ(de−interleave)が行われている。これは、送信側におけるインタリーバにて連続する送信データを一定の規則に従って時間的に分散させて送信し、受信側のデインタリーバにてその規則に従って送信データを再現する技術である。具体的には、適当なサイズの行列に行から行へ送信データを順に格納し、列から列へ順に読み出すことによって送信する。受信側では列から列へ受信データを順に行列に格納し、行から行へデータを読み出すことによって、送信データを再現する。
【0003】
図1は、2バンク方式と呼ばれる手法でインタリーブを行う場合の動作を説明するための概念図を示す。例としてインタリーバを例にとって説明するが、デインタリーバでも同様な動作が行われる。このインタリーバは、インタリーブ・メモリ102より成り、インタリーブ・メモリ102は、第1および第2の2つのメモリ・バンク104および106を有する。第1,第2メモリ・バンク104,106は、それぞれ同一のメモリ・サイズを有する。
【0004】
図中左側に示される矢印は、送信すべきディジタル・データである書込データを示す。書込データは例えば384kbpsのパケット通信におけるデータであり、1フレームが10msの期間を有する。この1フレーム分のデータ(3840ビット)が、インタリーブ・メモリ102の第1メモリ・バンク104に書き込まれる。書込は、行列の行から行に向かって行われる(m×n型の行列Aijであれば、A11,A12,...,A1n,A21,A22,...,A2n,Am1,Am2,...,Amnの順にデータが書き込まれる。)。この書込を行う間に、インタリーバは、既に書込済みの1フレーム分のデータを第2メモリ・バンク106から、列から列に向かってデータの読出を行う(m×n型の行列Aであれば、A11,A21,...,Am1,A12,A22,...,Am2,A1n,A2n,...,Amnの順にデータが読み出される。)。データの書き込みおよび読み出しが終了すると、次のフレームのデータが、メモリ・バンク106に書き込まれ、その間にメモリ・バンク104に書き込まれているデータが読み出される。このように、2つのメモリ・バンクを交互に書き込み及び読み出すことにより、適切にインタリーブされたデータを連続的に読み出す(送信する)ことが可能になる。
【0005】
しかしながら、この手法によれば、1フレーム分のデータをインタリーブするために2フレーム分のメモリを使用することとなり、多くの面積を使用してしまうという問題点がある。
【0006】
一方、2バンク方式の代わりに、非常に高速な読み出しを行うことによって、2フレーム分のメモリを使用しないようにする手法もある。しかしながら、この手法によれば、極めて高速なデータの読み出しを必要とし、そのような動作を管理するための高速かつ複雑な時分割制御に起因して、消費電力が大きくなるという問題を招いてしまう。
【0007】
このように、従来のインタリーブ(またはデインタリーブ)は、使用メモリ量や制御内容の複雑さ等の観点から、必ずしも効率的に行われていないという問題点がある。3GPP(3rd Generation PartnershipProject)等では1フレーム10msで最高960kbpsのような高いデータ・レートを使用するので、必要となるメモリ量や処理速度も高速化する傾向にある。そのような状況において、メモリの使用する面積や、消費電力が大きくなることは、携帯電話機のような小型の通信機器では特に不利なものとなる。
【0008】
【発明が解決しようとする課題】
本願の一般的課題は、従来よりも効率的なインタリーブまたはデインタリーブを行うことを可能にする装置を提供することである。
【0009】
本願の具体的課題は、メモリ量および消費電力を抑制しつつ適切なインタリーブまたはデインタリーブを行うことを可能にする装置を提供することである。
【0010】
【課題を解決するための手段】
本発明による解決手段によれば、
インタリーバ又はデインタリーバにおけるデータの読み出し及び書き込みを連続的に行う装置であって、
アドレスで指定される場所にデータを格納することが可能なメモリ手段と、
前記メモリ手段からデータを読み出す読出手段と、
前記メモリ手段にデータを書き込む書込手段と、
所定の行列の少なくとも1行の行列要素の少なくとも1つである行要素を格納する行テーブル・メモリ手段と、
所定の行列の少なくとも1列の行列要素の少なくとも1つである列要素を格納する列テーブル・メモリ手段と、
前記行および列テーブル・メモリ手段から順に選択する行要素および列要素の和に基づいて、データの読み出し及び書き込みを行うための一連のアドレスを生成するアドレス生成手段
を有することを特徴とする装置
が、提供される。
【0011】
【発明の実施の形態】
図2は、本願実施例によるインタリーバ200に関する機能ブロック図を示す。簡単のため、インタリーバを例にとって説明するが、本発明をデインタリーバに適用することも可能である。インタリーバ200は、送信データ202が入力され、インタリーブされたデータ204を出力するインタリーブ手段206を有する。インタリーブ手段206は、アドレスによって指定されるメモリ位置にデータを格納することが可能なメモリ手段208を有する。メモリ手段208は、例えば1フレーム以上のデータを保持することが可能なサイズの容量を有する。インタリーブ手段206は、メモリ手段208にデータを書き込む書込手段210およびメモリ手段208からデータを読み出す読出手段212を有する。インタリーブ手段206は、ブロック・インタリーブを行うための行置換又は列置換を行う置換手段213を有する。
【0012】
インタリーバ200は、インタリーブ手段206(メモリ手段208)に対して、書込または読出のためのアドレスを生成するアドレス生成手段214を有する。アドレス生成手段214には、読み出しの順序をカウントするカウンタ216が結合される。インタリーバ200は、所定の行列の1行分の行列要素を格納することが可能な行テーブル・メモリ手段218と、その行列の1列分の行列要素を格納することが可能な列テーブル・メモリ手段220を有する。アドレス生成手段214は、カウンタ216からの読出又は書込順序と、行および列テーブル・メモリ手段218,220からの行要素および列要素とに基づいて、インタリーブ手段206に提供するアドレスを生成する。更に、インタリーバ200は、カウンタ216からの通知信号に応答して、行および列テーブル・メモリ手段218,220に格納されている行要素および列要素を更新するテーブル更新手段222を有する。カウンタ216からの通知信号は、例えば1フレーム分のデータが読出された場合に発せられる。
【0013】
図3は、図2に示されるような本願実施例によるインタリーバ200の動作を説明するための図を示す。簡単のため、送信データ202の各フレーム内に12個のデータが存在し、これらが3行4列の行列形式でデータを格納し得るメモリ手段208に書き込まれ、出力信号204として読み出されることによってインタリーブが行われるものとする。図3中、右上側の行列302は、1フレーム目のデータ(d11,...,d1 12)が行から行へ格納されている様子を示す。図中、左上側の行列304は、メモリ手段208のアドレスを示す。すなわち、このアドレスで指定される場所に、データが実際に書き込まれる。
【0014】
行から行へ書き込まれたデータを、列から列に向かって(列方向に)データを読出すと、
11,d15,d19,d12,d16,d1 10,d13,d17,d1 11,d14,d18,d1 12・・・(1)
のような適切にインタリーブされたデータ系列が得られる。すなわち、1フレーム目のデータd11,d12,...,d1 12に対して、(1)のように並べ替えられた出力信号204が出力される。ここまでの動作は従来と同様である。
【0015】
本実施例によれば、行列302から1フレーム目のデータの読み出しを行ったアドレスに対して、2フレーム目のデータを順に上書きしてゆく。1フレーム目のデータは、行列302に対して列方向に読み出されるので、行列306に示されるように、2フレーム目のデータd21,d22,...,d2 12も列方向に書き込まれる。この2フレーム目のデータに対しても、1フレーム目と同様なインタリーブを行う必要があるが、行列306を行方向に読み出しても列方向に読み出しても適切にインタリーブされたデータ系列にはならない。
【0016】
そこで、図3左上側の行列304で示される実際のアドレスを、左下側の行列308に示されるように並べ替えるような仮想的なアドレス変換を行う。これは、行列304の要素を列方向から順に読み出して行方向に並べ替えたものに相当する。行列のアドレスがこのように変換されるならば、各アドレスに対応して格納されている2フレーム目のデータは、図中中央下側の行列310で示されるように並べ替えられる。この仮想的に作成された行列310に対して、列方向にデータを読み出すと、
21,d25,d29,d22,d26,d2 10,d23,d27,d2 11,d24,d28,d2 12・・・(2)
というデータ系列が得られる。上記のデータ系列(1)および(2)を比較すると、第2フレームのデータ系列も適切にインタリーブされていることが分かる。すなわち、行方向にアドレスが並べられている行列304のアドレスを、仮想的に並べ替えることによって行列308を想定し、この行列308の行列要素を列方向に抽出することによって得られる一連のアドレスに従ってデータを読み出すと、所望のインタリーブがなされたデータが得られる。
【0017】
ところで、目下の例である3行4列の行列に対して、行方向に書き込んだデータを列方向に読み出す場合に、i+1番目(i=0,1,2,...,11)に読み出されるアドレスadd(i+1)は、
add(i+1)=Row(i/3)+Col(i%3)  ・・・(3)
により算出することが可能である。ただし、add(i+1)が11(最大値)を超える場合は11で割った剰余をadd(i+1)の値とする。
【0018】
Row(k)は、アドレスを規定する行列の第1行におけるk番目(k=0,1,2,3)の行列要素(行要素)であり、Col(k)は、アドレスを規定する行列の第1列におけるk番目(k=0,1,2)の行列要素(列要素)である。Row(k)は、行テーブル・メモリ手段218(図2)に格納される内容であり、第1フレームに対しては行列304の第1行の内容301であり、第2フレームに対しては行列308の第1行の内容305である。また、Col(k)は、列テーブル・メモリ手段220(図2)に格納される内容であり、第1フレームに対しては行列304の第1列の内容303であり、第2フレームに対しては行列308の第1列の内容307である。
【0019】
i/3は、iを3(行数)で割ったときの商であり(これは、i div 3とも表現される)、
i%3は、iを3(行数)で割ったときの剰余である(これは、i mod 3 とも表現される)。
【0020】
(3)式によれば、右辺はRowおよびCol以外の項を含まないので、アドレスの算出では、行列304又は308の総ての行列要素を知る必要はなく、第1行および第1列の行列要素を把握していれば足りることが分かる。すなわち、算出されるアドレスは、読み出しを行う順序(i)と、行テーブル・メモリ手段218および列テーブル・メモリ手段220に格納されている内容とにより生成することが可能である。例えば、行列304に対しては、
Row(0)=0,Row(1)=1,Row(2)=2,Row(3)=3,
Col(0)=0,Col(1)=4,Col(2)=8  ・・・(4)
であるので、
add(1)=Row(0)+Col(0)=0
add(2)=Row(1/3)+Col(1%3)=0+4=4
add(3)=Row(2/3)+Col(2%3)=0+8=8
add(4)=Row(3/3)+Col(3%3)=1+0=1
add(5)=Row(4/3)+Col(4%3)=1+4=5
・・・
add(12)=Row(11/3)+Col(11%3)=3+8=11
となる。したがって、0,4,8,1,5,...,11のアドレスによって指定されるデータを読み出せば、インタリーブされた1フレーム目のデータ系列、すなわち(1)で示されるデータ系列が得られる。
【0021】
同様に、行列308に対しては、
Row(0)=0,Row(1)=4,Row(2)=8,Row(3)=1,
Col(0)=0,Col(1)=5,Col(2)=10 ・・・(5)
であるので、
add(1)=Row(0)+Col(0)=0
add(2)=Row(1/3)+Col(1%3)=0+5=5
add(3)=Row(2/3)+Col(2%3)=0+10=10
add(4)=Row(3/3)+Col(3%3)=4+0=4
add(5)=Row(4/3)+Col(4%3)=4+5=9
・・・
add(12)=Row(11/3)+Col(11%3)=1+10=11となる。したがって、0,5,10,4,9,...,11のアドレスによって指定されるデータを読み出せば、インタリーブされた2フレーム目のデータ系列、すなわち(2)で示されるデータ系列が得られる。
【0022】
図4は、以上に説明した手順のフローチャートを示す。以下、図2および図3を参照しながら、動作を説明する。ステップ402において、カウンタ216のカウンタ値(i)およびその他の値が初期化される。これにより、読み出し及び書き込みを行う順序(i+1)が1に設定される(i=0)。また、行テーブル・メモリ手段218の内容が、行列304の第1行に設定される(Row(k)=0,1,2,3)。行テーブル・メモリ手段220の内容は、行列304の第1列に設定される(Col(k)=0,4,8)。
【0023】
ステップ404において、アドレス生成手段214は、カウンタ216からのカウント値i=0に対して、式(3)に基づいてi+1=1番目に読み出すアドレスの値add(1)を算出する。この場合において、アドレス生成手段214は、行および列アドレス・メモリ手段218,220からの値を使用する。
【0024】
ステップ406において、算出したアドレスで指定される場所に格納されているデータを読出手段212が読み出し、出力データ204として出力する。更に、読み出しを行ったアドレスadd(1)に、書込手段210を利用して、次のフレームの第1データd21を上書きする。
【0025】
ステップ408において、1フレーム分のデータの読出及び書込が終了したか否かが判定され、終了していなければ、ステップ410にてカウント値(i)の値を1つインクリメントして、ステップ404に戻る。
【0026】
1フレーム分のデータの読出及び書込が終了したならば、終了したことを通知する通知信号が、カウンタ216からテーブル更新手段222に送信される。この通知信号に応じて、ステップ412において、アドレスを定める行列を更新する。行列304を行列308に更新するのであるが、具体的にはテーブル更新手段222により、行テーブル・メモリ手段218の内容を、Row(k)=0,4,8,1に変更し、列テーブル・メモリ手段220の内容を、Col(k)=0,5,10に変更する。以後、第2フレームのデータに対してもステップ404ないし408にて処理が行われ、インタリーブされたデータが出力される。後述するように、第3フレーム以降についても同様な処理を行うことによって、適切にインタリーブされたデータ系列が出力される。
【0027】
図5は、図3に続いて行われるデータの読出及び書込を説明するための図である。図中中央上部に示される行列512は、図3の行列310に対して、(2)で示されるデータ系列に従って、データを読み出したのと同じアドレスに第3フレームのデータを順に書き込んだならば得られるであろう様子を示す。これらの行列310,512は仮想的なものであり、実際に存在するのは、図中右上側の行列514である(行列306のd21,d25,d29,...の順序で、第3フレームのデータd31,d32,d33,...が書き込まれている。)。
【0028】
仮想的な行列512および図3の行列308の行列要素を、更に、行方向に並べ替えることを仮想的に行うことにより、行列308は行列516に変換され、行列512は行列518に変換される。この場合において、行および列テーブル・メモリ手段の内容は、
Row(0)=0,Row(1)=5,Row(2)=10,Row(3)=4,
Col(0)=0,Col(1)=9,Col(2)=7 ・・・(6)
となる。これらのテーブル・メモリ手段の内容を利用して、(3)式に従って読出及び書込を行う一連のアドレスを生成する。その結果生成されるアドレスは、
add(1)=Row(0)+Col(0)=0
add(2)=Row(1/3)+Col(1%3)=0+9=9
add(3)=Row(2/3)+Col(2%3)=0+7=7
add(4)=Row(3/3)+Col(3%3)=5+0=5
add(5)=Row(4/3)+Col(4%3)=5+9=3(14%11)
・・・
add(12)=Row(11/3)+Col(11%3)=4+7=11
となり、出力データ204として読み出されるデータ系列は、d31,d35,d39,...,d3 12 となり、第3フレームに対しても、適切にインタリーブされている。このデータの読出に続いて、第4フレームのデータを順に書き込んだならば得られる仮想的な行列が、中央下側の行列520であり、実際に生じる行列は右下の行列522である(行列514のd31,d35,d39,...の順に、第4フレームのデータd41,d42,d43,...が書き込まれている。)。
【0029】
図6は、図5に続いて行われるデータの読出及び書込を説明するための図である。図5における仮想的な行列操作により想定されている行列520および516の行列要素を、更に、行方向に並べ替えることを仮想的に行う。これにより、行列516は行列602に変換され、行列520は行列604に変換される。この場合において、行および列テーブル・メモリの内容は、
Row(0)=0,Row(1)=9,Row(2)=7,Row(3)=5,
Col(0)=0,Col(1)=3,Col(2)=6 ・・・(7)
となる。これらのテーブル・メモリ手段の内容を利用して、(3)式に従って読出及び書込を行う一連のアドレスを生成する。その結果生成されるアドレスは、
add(1)=Row(0)+Col(0)=0
add(2)=Row(1/3)+Col(1%3)=0+3=3
add(3)=Row(2/3)+Col(2%3)=0+6=6
add(4)=Row(3/3)+Col(3%3)=9+0=9
add(5)=Row(4/3)+Col(4%3)=9+3=1(12%11)
・・・
add(12)=Row(11/3)+Col(11%3)=5+6=11
となり、出力データ204として読み出されるデータ系列は、d41,d45,d49,...,d4 12 となり、第4フレームに対しても、適切にインタリーブされている。このデータの読出に続いて、第5フレームのデータを順に書き込んだならば得られる仮想的な行列が、中央上から2番目の行列606であり、実際に生じる行列は右上の行列608である(行列522のd41,d45,d49,...の順に、第5フレームのデータd51,d52,d53,...が書き込まれている。)。
【0030】
更に、行列602および606の行列要素を、更に、行方向に並べ替えることを仮想的に行う。これにより、行列602は行列610に変換され、行列606は行列612に変換される。この場合において、行および列テーブル・メモリの内容は、
Row(0)=0,Row(1)=3,Row(2)=6,Row(3)=9,
Col(0)=0,Col(1)=1,Col(2)=2 ・・・(8)
となる。これらのテーブル・メモリ手段の内容を利用して、(3)式に従って読出及び書込を行う一連のアドレスを生成する。その結果生成されるアドレスは、
add(1)=Row(0)+Col(0)=0
add(2)=Row(1/3)+Col(1%3)=0+1=1
add(3)=Row(2/3)+Col(2%3)=0+2=2
add(4)=Row(3/3)+Col(3%3)=3+0=3
add(5)=Row(4/3)+Col(4%3)=3+1=4
・・・
add(12)=Row(11/3)+Col(11%3)=9+2=11
となり、出力データ204として読み出されるデータ系列は、d51,d55,d59,...,d5 12 となり、第5フレームに対しても、適切にインタリーブされている。このデータの読出に続いて、第6フレームのデータを順に書き込んだならば得られる仮想的な行列が、中央下側の行列614であり、実際に生じる行列は右下の行列616である(行列608のd51,d55,d59,...の順に、第6フレームのデータd61,d62,d63,...が書き込まれている。)。
【0031】
ところで、行列616は、第6フレームを実際に行方向に書き込んだものに等しい。これは、仮想的なアドレス変換を繰り返すと、元のアドレスに戻ることを意味する。行列614は更に変換すれば図3の行列504と同一になる。したがって、行テーブル・メモリ手段218,列テーブル・メモリ手段220で使用するデータの種類は有限個であり、予め知ることが可能である。更に、行および列テーブル・メモリの内容は、それぞれ、
Row(k)=R(1)×k (k=0,1,2,3),
Col(k)=C(1)×k (k=0,1,2)
と、一般的に表現することが可能である。ただし、11(最大値)を超える値となったときは、11で除算した剰余をとるものとする。従って、行および列テーブル・メモリ手段は、少なくともR(1)またはC(1)が既知であれば、他の値を生成することが可能である。そして、R(1)は、前回の行列において2番目に読出されたもの(add(2))に等しい。例えば、(5)式におけるR(1)は、行列304(図3)におけるadd(2)に等しい。C(1)は行列304におけるadd(5)に等しい。従って、R(1),C(1)の総ての値を別途格納する必要はなく、行列の更新時にその都度求めることができる。更に、行および列テーブル・メモリの内容に関する(4)ないし(8)を参照すると、R(1)=1,4,5,9,3であり、C(1)=4,5,9,3,1であり、一方を1つずらせば他方を知ることが可能である。
【0032】
要するに、適切なアドレス値を生成するために仮想的に生成する行列308(図3),516(図5),602(図6)および610の総ての行列要素を保持する必要はなく、各行列に関するRow(k)およびCol(k)が把握されていれば充分である。しかも、Row(k)はR(1)が既知ならば他の値を導出することが可能であり、Col(k)もC(1)が既知なら他の値を導出することができる。更に、R(1)およびC(1)は、一方から他方を導出することが可能である。このため、非常に少ないデータ量を保持しておけば(極端にはR(1)のみ又はC(1)のみ)、行列308ないし610の行列要素(一連のアドレス)を適切に生成することが可能である。
【0033】
図7は、本発明によるインタリーバ200を利用してブロック・インタリーブを行うための動作を説明する図を示す。先ず、右上の行列702に示すように3行4列の行列形式で行から行に第1フレームのデータが書き込まれており、この行列のアドレスは図中左上の行列704のように定めれているとする。行テーブル・メモリ手段218には701で示される内容が格納され、列テーブル・メモリ220には703で示される内容が格納される。
【0034】
次に、ブロック・インタリーブを行うために、置換手段213(図2)を利用して、右側の上から2番目の行列706に示されるように、行列702の例えば第2列および第3列を入れ替える。この場合において、行テーブル・メモリ手段218の内容も701から705に変更される。
【0035】
列の置換が終了すると、行から行へ書き込まれた行列706の行列要素を、列から列へ読み出し、出力データとして出力する。出力されるデータ系列は、
11,d15,d19,d13,d17,d1 11,d12,d16,d1 10,d14,d18,d1 12 ・・・(9)
となる。更に、右下の行列708に示されるように、第1フレームの読み出しを行ったのと同一のアドレスに第2フレームの内容を順に上書きする。
【0036】
次に、アドレスに関する行列707に対して、列から列に行列要素を抽出し、行から行へ並べ替えるような仮想的な行列変換を行うことによって、行列710を想定する。この行列710により定められるデータ配列は、中央上側の行列712のようになる。
【0037】
これらの行列710,712に対して、第2列および第3列を置換すると、行列710は左下側の行列714となり、行列712は中央下側の行列716となる。そして、列から列へ順にデータを読み出すと、
21,d25,d29,d23,d27,d2 11,d22,d26,d2 10,d24,d28,d2 12 ・・・(10)
というデータ系列が得られ、(9)に示すデータ系列と同様にブロック・インタリーブが良好に行われている。以後は、先に説明したのと同様な手順を行うことにより、第3フレーム以降のブロック・インタリーブが行われる。
【0038】
なお、ブロック・インタリーブに関して、任意の列を入れ替えることが可能である。また、列だけでなく行を入れ替えても良いし、行および列両者を入れ替えてもよい。更に、ブロック・インタリーブと同様に、ブロック・デインタリーブを行うことも可能である。ただし、ブロック・インタリーブ又はブロック・デインタリーブのための行又は列の置換は、データの読出前と、次のデータの書込後の行列更新後に行うべき点に留意を要する。
【0039】
以上本願実施例によれば、所定の行列の1行の行要素および一列の列要素を格納する行および列テーブル・メモリ手段と、行および列テーブル・メモリ手段から順に選択した行要素および列要素の和に基づいて、一連のアドレスを生成するアドレス生成手段を使用している。所望のインタリーブ又はデインタリーブに関連する一連のアドレスに従って、データの読み出し及び書き込みを行うので、効率的なインタリーブ又はデインタリーブを行うことが可能になる。
【0040】
本願実施例によれば、読出手段および書込手段が、一連のアドレスに従って、メモリ手段における読み出しを行ったアドレスに対して次のデータを上書きするよう形成される。言い換えれば、書込手段210は、「n個のデータ」を書き込んだ後に、「次のn個のデータ」を書き込むのであるが、「次のn個のデータ」のうち少なくとも一部は、「n個のデータ」が総て読み出される前にメモリ手段208に書き込む。この場合において、「n個のデータ」を読み出す順序は、書き込んだ順序とは異なる所定の順序である。また、書込手段による書き込みは、「n個のデータ」の読み出しに際してアクセスしたメモリ領域にあって、該アクセスの順序と同一の順序で行われる。更に、「n個のデータ」のうち1個を読み出し、次の読み出しを行う前に、又は次の読み出しと同時に、書き込みが行われるようにすることができる。このため、インタリーブ又はデインタリーブの対象となるデータ量と同程度のメモリ量を使用することによって、インタリーブ等を行うことが可能になる。読み込んだ後に逐次上書きしてゆくので、過度に高速の読み込みを必要としない。
【0041】
m行n列の所定の行列は、1行および1列の行列要素があれば、総ての行列要素を特定することが可能になるので、1フレーム分のメモリに加えて、高々1行および1列分のメモリ容量を付加すれば本願実施例によるインタリーバを構築することが可能になる。
【0042】
本願実施例によれば、所定数のデータの読み出し及び書き込みが完了する毎に、所定の行列が更新され、行から行へ(又は列から列へ)行列要素を並べることにより形成される更新前の行列を、列から列へ(又は行から行へ)行列要素を並べ替えることによって、更新後の行列が形成される。このように次々と更新される行列を仮想的に想定し、インタリーブ等におけるデータの読み出し及び書き込みを行うためのアドレスを効果的に生成することが可能になる。更に、この仮想的な行列は、高々1行の行列要素および1列の行列要素に基づいて、総ての行列要素を特定することが可能である。すなわち、m行n列総ての行列要素を保持する必要はなく、1行および1列の行列要素が把握できれば総ての行列要素を特定できる。
【0043】
本願実施例によれば、行又は列テーブル・メモリ手段におけるi+1(i≧0)番目の行要素又は列要素が、iに比例するよう形成される。m行n列の所定の行列を特定するのに必要な1行および1列の行列要素が、所定の比例定数にiを乗じた簡易な計算によりその都度求められるので、1行総ておよび1列総てを記憶しなくて済むのでメモリ量を節約することが可能になる。
【0044】
本願実施例によれば、行又は列テーブル・メモリ手段に含まれる行又は列要素のいずれかが、比例定数に等しくなるよう形成される。これは具体的にはゼロから数えて1番目の行要素又は列要素である。既に把握している行列要素の知識を利用して、比例定数ひいては任意の行列要素を簡易に求めることが可能になる。
【0045】
本願実施例では、説明の便宜上3行4列の小規模の行列を例にとって説明したが、本発明は任意の規模の行列に拡張して使用することが可能である。(3)式をm行n列の一般的な行列に拡張すると、i+1番目(0≦i≦m・n−1)に読み出されるアドレスは、
Row(i/m)+Col(i%m) ・・・(3)’
により求められる。この場合において、
Rowは、引数に対応する行要素を返す関数であり、
Colは、引数に対応する列要素を返す関数であり、
mは、所定の行列の行数であり、
i/mは、iをmで割ったときの商であり、
i%mは、iをmで割ったときの剰余である。
【0046】
本願実施例では、なお、行方向に格納した行列要素を列方向に読み出す場合のアドレスを生成するためのものであった。しかし、RowおよびCol関数の引数が商であるか剰余であるかを適切に修正することによって、列方向に格納して行方向に読み出す場合に本発明を応用することも可能である。
【0047】
本願実施例では、アドレス値は0から始まっていたが、他の値から開始するようにすることも可能である。ただし、その場合は、(3)又は(3)’において0以外の初期アドレス値に関連するオフセット項を付加する必要がある。
【0048】
本願実施例によれば、ブロック・インタリーブ又はブロック・デインタリーブを行うための行置換又は列置換を行う置換手段が、所定数のデータの読み出し及び書き込みが行われる前、および行列の更新後に、行置換又は列置換を行うよう形成される。このようにすることによって、ブロック・インタリーブ等にも本発明を適用することが可能になる。
【0049】
以下、本発明が教示する手段を列挙する。
(付記1) インタリーバ又はデインタリーバにおけるデータの読み出し及び書き込みを連続的に行う装置であって、
アドレスで指定される場所にデータを格納することが可能なメモリ手段と、
前記メモリ手段からデータを読み出す読出手段と、
前記メモリ手段にデータを書き込む書込手段と、
所定の行列の少なくとも1行の行列要素の少なくとも1つである行要素を格納する行テーブル・メモリ手段と、
所定の行列の少なくとも1列の行列要素の少なくとも1つである列要素を格納する列テーブル・メモリ手段と、
前記行および列テーブル・メモリ手段から順に選択する行要素および列要素の和に基づいて、データの読み出し及び書き込みを行うための一連のアドレスを生成するアドレス生成手段
を有することを特徴とする装置。
(付記2) 付記1記載の装置において、前記読出手段および書込手段が、前記一連のアドレスに従って、前記メモリ手段における読み出しを行ったアドレスに対して次のデータを上書きするよう形成されることを特徴とする装置。
(付記3) 付記1記載の装置において、更に、所定数のデータの読み出し及び書き込みが完了する毎に前記所定の行列が更新されるように、行要素および列要素を更新するテーブル・メモリ更新手段を有することを特徴とする装置。
(付記4) 付記3記載の装置において、行から行へ又は列から列へデータを並べることによって形成される更新前の行列を、列から列へ又は行から行へデータを並べ替えることによって、更新後の行列が形成されることを特徴とする装置。(付記5) 付記1記載の装置において、前記行又は列テーブル・メモリ手段におけるi+1(i≧0)番目の行要素又は列要素が、iに比例するよう形成されることを特徴とする装置。
(付記6) 付記5記載の装置において、前記行又は列テーブル・メモリ手段に含まれる行又は列要素のいずれかが、比例定数に等しくなるよう形成されることを特徴とする装置。
(付記7) 付記1記載の装置において、前記アドレス生成手段は、前記一連のアドレスにおけるi+1(i≧0)番目のアドレスが、
Row(i/m)+Col(i%m)
により求められるよう形成され、
Rowは、引数に対応する行要素を返す関数であり、
Colは、引数に対応する列要素を返す関数であり、
mは、前記所定の行列の行数であり、
i/mは、iをmで割ったときの商であり、
i%mは、iをmで割ったときの剰余である
ことを特徴とする装置。
(付記8) 付記1記載の装置において、ブロック・インタリーブ又はブロック・デインタリーブを行うための行置換又は列置換を行う置換手段を有することを特徴とする装置。
(付記9) 付記8記載の装置において、前記置換手段が、所定数のデータの読み出し及び書き込みが行われる前、および前記所定の行列の更新後に、行置換又は列置換を行うよう形成されることを特徴とする装置。
(付記10) n個のデータを順にメモリに書き込み、書き込んだn個のデータを該メモリから読み出すインタリーブ装置において、
n個のデータの書き込み後、次のn個のデータを書き込む書込手段であって、該次のn個のデータのうち少なくとも一部については、書き込んだ該n個のデータ総ての所定の順序(書き込み順とは異なる順序)による読み出し前に該メモリに書き込む書込手段と、
該書込手段におり順に書き込みを行った次のn個のデータについても前記所定の順序による読み出しを行う読出手段と、
を備えたことを特徴とするインタリーブ装置。
【0050】
(付記11) 付記10記載のインタリーブ装置において、
前記書込手段による書き込みは、前記n個のデータの読み出しに際してアクセスしたメモリ領域にあって、該アクセスの順と同一の順に書き込みを行う
ことを特徴とするインタリーブ装置。
【0051】
(付記12) 付記11記載のインタリーブ装置において、
前記書込手段による書き込みは、前記n個のデータを1個読み出すと、次の読み出しを行う前又は次の読み出しと同時に書き込む
ことを特徴とするインタリーブ装置。
【0052】
【発明の効果】
以上のように本発明によれば、従来よりも効率的なインタリーブまたはデインタリーブを行う行うことが可能になる。また、メモリ量および消費電力を抑制しつつ適切なインタリーブまたはデインタリーブを行うことも可能になる。
【0053】
【図面の簡単な説明】
【図1】図1は、従来のインタリーバで行われる動作を説明するための概念図を示す。
【図2】図2は、本願実施例によるインタリーバの機能ブロック図を示す。
【図3】図3は、本願実施例によるインタリーバの動作を説明するための図を示す。
【図4】図4は、本願実施例によるインタリーバの動作を説明するためのフローチャートを示す。
【図5】図5は、図3に続いて行われるデータの読出及び書込を説明するための図である。
【図6】図6は、図5に続いて行われるデータの読出及び書込を説明するための図である。
【図7】図7は、本発明によるインタリーバを利用してブロック・インタリーブを行うための動作を説明する図を示す。
【符号の説明】
102 インタリーブ・メモリ
104 第1メモリ・バンク
106 第2メモリ・バンク
200 インタリーバ
202 送信データ
204 出力データ
206 インタリーブ手段
208 メモリ手段
210 書込手段
212 読出手段
214 アドレス生成器
216 カウンタ
218 行テーブル・メモリ手段
220 列テーブル・メモリ手段
222 テーブル更新手段

Claims (5)

  1. インタリーバ又はデインタリーバにおけるデータの読み出し及び書き込みを行う装置であって、
    アドレスで指定される場所にデータを格納することが可能なメモリ手段と、
    前記メモリ手段からデータを読み出す読出手段と、
    前記メモリ手段にデータを書き込む書込手段と、
    所定の行列の少なくとも1行の行列要素の少なくとも1つである行要素を格納する行テーブル・メモリ手段と、
    所定の行列の少なくとも1列の行列要素の少なくとも1つである列要素を格納する列テーブル・メモリ手段と、
    前記行および列テーブル・メモリ手段から順に選択する行要素および列要素の和に基づいて、データの読み出し及び書き込みを行うための一連のアドレスを生成するアドレス生成手段
    を有することを特徴とする装置。
  2. 請求項1記載の装置において、前記読出手段および書込手段が、前記一連のアドレスに従って、前記メモリ手段における読み出しを行ったアドレスに対して次のデータを上書きするよう形成されることを特徴とする装置。
  3. n個のデータを順にメモリに書き込み、書き込んだn個のデータを該メモリから読み出すインタリーブ装置において、
    n個のデータの書き込み後、次のn個のデータを書き込む書込手段であって、該次のn個のデータのうち少なくとも一部については、書き込んだ該n個のデータ総ての所定の順序(書き込み順とは異なる順序)による読み出し前に該メモリに書き込む書込手段と、
    該書込手段におり順に書き込みを行った次のn個のデータについても前記所定の順序による読み出しを行う読出手段と、
    を備えたことを特徴とするインタリーブ装置。
  4. 請求項3記載のインタリーブ装置において、
    前記書込手段による書き込みは、前記n個のデータの読み出しに際してアクセスしたメモリ領域にあって、該アクセスの順と同一の順に書き込みを行う
    ことを特徴とするインタリーブ装置。
  5. 請求項4記載のインタリーブ装置において、
    前記書込手段による書き込みは、前記n個のデータを1個読み出すと、次の読み出しを行う前又は次の読み出しと同時に書き込む
    ことを特徴とするインタリーブ装置。
JP2002255921A 2002-08-30 2002-08-30 インタリーバ又はデインタリーバにおけるデータ読出および書込装置 Pending JP2004096492A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002255921A JP2004096492A (ja) 2002-08-30 2002-08-30 インタリーバ又はデインタリーバにおけるデータ読出および書込装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002255921A JP2004096492A (ja) 2002-08-30 2002-08-30 インタリーバ又はデインタリーバにおけるデータ読出および書込装置

Publications (1)

Publication Number Publication Date
JP2004096492A true JP2004096492A (ja) 2004-03-25

Family

ID=32061287

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002255921A Pending JP2004096492A (ja) 2002-08-30 2002-08-30 インタリーバ又はデインタリーバにおけるデータ読出および書込装置

Country Status (1)

Country Link
JP (1) JP2004096492A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008105147A1 (ja) * 2007-02-20 2008-09-04 Panasonic Corporation 受信装置および受信方法
JP2016040897A (ja) * 2014-08-12 2016-03-24 エフシーアイ インクFci Inc 直交周波数分割多重通信における電力節減装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008105147A1 (ja) * 2007-02-20 2008-09-04 Panasonic Corporation 受信装置および受信方法
JP2008205801A (ja) * 2007-02-20 2008-09-04 Matsushita Electric Ind Co Ltd 受信装置および受信方法
US8233571B2 (en) 2007-02-20 2012-07-31 Panasonic Corporation Reception device and reception method
JP2016040897A (ja) * 2014-08-12 2016-03-24 エフシーアイ インクFci Inc 直交周波数分割多重通信における電力節減装置

Similar Documents

Publication Publication Date Title
JP4383672B2 (ja) 第3世代の符号分割多重アクセスのためのターボコード・インターリーバ
JP3415693B2 (ja) インターリーブプロセス
KR100306282B1 (ko) 통신시스템의인터리빙/디인터리빙장치및방법
US8132076B1 (en) Method and apparatus for interleaving portions of a data block in a communication system
US7317762B2 (en) Third generation FDD modem interleaver
KR20030060518A (ko) 통신시스템의 인터리빙 장치 및 방법
KR100430567B1 (ko) 주소발생기를 포함한 인터리빙/디인터리빙 수행 장치 및그 방법과 그를 이용한 채널 부호화 시스템
KR101121185B1 (ko) 터보 인코더 및 디코더에서 인터리버용 어드레스 발생장치 및 방법
US7073012B2 (en) System and method for interleaving data in a communications device
US7051261B1 (en) Turbo encoder with reduced processing delay
JP2004096492A (ja) インタリーバ又はデインタリーバにおけるデータ読出および書込装置
KR100219842B1 (ko) 이동 전화시스템
KR20010088148A (ko) 블록 인터리빙 방법 및 그를 위한 장치
JP3239872B2 (ja) インタリーバ、インタリーブ方法、デインタリーバ、デインタリーブ方法、発信装置及び受信装置
US8433976B1 (en) Row column interleavers and deinterleavers with efficient memory usage
KR100248395B1 (ko) 디지털 통신용 채널 부호기 설계방법
US6714606B1 (en) Integrated services digital broadcasting deinterleaver architecture
JP2827978B2 (ja) インターリーブ装置
KR20010072362A (ko) 인터리브 장치 및 인터리브 방법
US6687870B1 (en) Method and apparatus for interleaving for information transmission or storage applications
US20090083514A1 (en) Apparatus and method for block interleaving in mobile communication system
CN102136879A (zh) 一种数据解交织方法及装置
GB2294616A (en) Data interleaving process for radio transmission
KR101042876B1 (ko) 수신 회로
KR100431082B1 (ko) 인터리버 메모리의 운용 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Effective date: 20050324

Free format text: JAPANESE INTERMEDIATE CODE: A621

A131 Notification of reasons for refusal

Effective date: 20070130

Free format text: JAPANESE INTERMEDIATE CODE: A131

A521 Written amendment

Effective date: 20070402

Free format text: JAPANESE INTERMEDIATE CODE: A523

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20071016