(57)【要約】【課題】従来技術に比べて余計な処理を要さずに、処理に要する時間もほとんど変わることなく、インターリーブ、デインターリーブを行うために要するメモリ容量を軽減したクロスインターリーブ生成装置を提供することを課題とする。【解決手段】メモリに書き込んだ１フレーム分のデータを読み出す際、そのフレームのすべてのデータを読み出し終える前に、読み出し終えた記憶素子に対して次のフレームのデータを書き込んでいく。また、データを行に沿って書き込んだ後、列に沿って読み出しても、データを列に沿って書き込んだ後、行に沿って読み出しても、所定の順番でデータを読み出せるクロスインターリーブ生成装置を提供する。【選択図】          図３
2009239684.tif 000002
【特許請求の範囲】
【請求項１】
行列配置された複数の記憶素子と、
第一初期書込部と、
書込に対してクロス読出をする第一クロス読出部と、
読出軌跡上で読出が終了した記憶素子からＮ（１以上の整数）行列相当以内に位置する読出軌跡上の記憶素子に対して新規書込みを行う第一書込部と、
を有するクロスインターリーブ生成装置。
【請求項２】
Ｎは１である請求項１に記載のクロスインターリーブ生成装置。
【請求項３】
行列配置された複数の記憶素子と、
第二初期書込部と、
書込に対してクロス読出をする第二クロス読出部と、
読出軌跡上で読出が終了した記憶素子からＭ（１以上の整数）行相当以上離隔して位置する記憶素子から新規書込みを行う第二書込部と、
を有するクロスインターリーブ生成装置。
【請求項４】
Ｍは１バンクの行幅相当分以上の値である請求項３に記載のクロスインターリーブ生成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信等の分野において伝送路のバーストエラーに対応する技術に関する。
【背景技術】
【０００２】
通信等の分野においては、データ送信中の伝送路において、１フレーム内の比較的短い部分が欠損したり（ランダムエラー）、連続的に長い部分が欠損したり（バーストエラー）する等のエラーが発生しうる。そこで、ランダムエラーに対しては、送信データのブロックごとに、リードソロモン符号等の誤り訂正符号を付加することで、ランダムエラーを修復できるようにしている。また、バーストエラーに対応する手段としては、クロスインターリーブ等の技術が利用されている。
【０００３】
ここで、クロスインターリーブとは、伝送路においてバーストエラーが生じても、ランダムエラーとして扱えるようにする技術である。具体的には、データ送信側で、１フレームのデータをある規則に従ってバラバラに並び変えて送信する。そして、データ受信側で、バラバラに並び変えられたデータを元の並びに戻す。当該技術により、バーストエラーが発生しても、バラバラに並び変えられたデータを元の並びに戻すと、エラーが分散され、ブロックごとに付加された誤り訂正符号によりデータの修復が可能となる。送信側でデータをバラバラに並び変えることを「インターリーブ」、受信側でデータを元の並びに戻すことを「デインターリーブ」というが、これらは、以下の様な手段等により行われている。
【０００４】
例えば、図１（Ａ）に示すように、１フレーム分のデータを書き込める容量を有するメモリ（Ｉ）に、横向き一定方向（例：左から右）に向かって、データを上から順に書き込む（実線矢印で示す）。そして、メモリに１フレーム分のデータを書き込み終えると、図１（Ｂ）に示すように、メモリ（Ｉ）内のデータを縦向き一定方向（例：上から下）に向かって、左から順に各列のデータを読み出す（点線矢印で示す）。また、メモリ（Ｉ）からの読み出しを行うのと同時に、メモリ（ＩＩ）に前記と同様の手段で次のフレームのデータの書き込みを行う。そして、同時に進行しているメモリ（Ｉ）からの読み出しとメモリ（ＩＩ）への書き込みが終了すると、直ぐに、メモリ（Ｉ）への書き込みとメモリ（ＩＩ）からの読み出しを開始する。以降、前記処理を繰り返す。
【０００５】
かかる手段の場合、インターリーブ、デインターリーブを行うために最低２フレーム分の容量を有するメモリが必要になり、容量負担が大きいという問題がある。
【０００６】
そこで、インターリーブ、デインターリーブを行うために要するメモリ容量を低減するための手段が望まれる。前記問題を解決する手段としては、メモリ（Ｉ）に書き込んだ１フレーム分のデータを読み出し終えた後に、次のフレーム分のデータを同じメモリ（Ｉ）に書き込む。そして、データを書き込み終えると、そのデータの読み出しを開始するという手段が考えられる。当該手段により、確かにメモリ容量は１フレーム分で足りることとなる。しかし、かかる場合、処理に要する時間が増えてしまい、処理効率が悪くなる。そこで、処理時間を大きく増やさず、処理に要するメモリの容量を減少させる手段が望まれる。
【０００７】
前記問題を解決する手段としては、たとえば、特許文献１のような発明がなされている。特許文献１の発明は、ｍ×ｎのアドレスを有するメモリに書き込んだ１フレーム分のデータを読み出す際、すべてのデータの読み出しを終了する前に、データを読み出し終えたアドレスに次のフレームのデータを書き込んでいくというものである。かかる場合、書き込んだデータを所定の順番で読み出すためには、１フレーム毎に、異なるアドレス順にデータを読み出す必要がある。そこで、特許文献１の発明は、読み出すデータが、最初の書き込みから何番目のフレームデータであるかを管理し、当該番号で特定されるアドレス順にデータを読み出すというものである。これにより、２フレーム分の容量を必要とせず、インターリーブ、デインターリーブを行うことが可能となる。
【０００８】
しかしながら、特許文献１の場合、読み出すデータが何番目のデータであるか管理する必要があるし、また、その順番で特定されるアドレス順をも管理する必要がある。すなわち、従来技術に比べて、余計な処理が必要となるという不都合がある。
【特許文献１】特開２００４−９６４９２
【発明の開示】
【発明が解決しようとする課題】
【０００９】
そこで、本発明では、従来技術に比べて余計な処理を要さずに、処理に要する時間もほとんど変わることなく、インターリーブ、デインターリーブを行うために要するメモリ容量を軽減したクロスインターリーブ生成装置を提供することを課題とする。
【課題を解決するための手段】
【００１０】
上記課題を解決するための手段として、以下のような発明などを提供する。
【００１１】
第一発明では、行列配置された複数の記憶素子と、第一初期書込部と、書込に対してクロス読出をする第一クロス読出部と、読出軌跡上で読出が終了した記憶素子からＮ行列相当以内に位置する読出軌跡上の記憶素子に対して新規書込みを行う第一書込部とを有するクロスインターリーブ生成装置を提供する。
【００１２】
第二発明では、第一発明を基本とし、さらに、前記Ｎは１であるクロスインターリーブ生成装置を提供する。
【００１３】
第三発明では、行列配置された複数の記憶素子と、第二初期書込部と、書込に対してクロス読出をする第二クロス読出部と、読出軌跡上で読出が終了した記憶素子からＭ行相当以上離隔して位置する記憶素子から新規書込みを行う第二書込部とを有するクロスインターリーブ生成装置を提供する。
【００１４】
第四発明では、第三発明を基本とし、さらに、Ｍは１バンクの行幅相当分以上の値であるクロスインターリーブ生成装置を提供する。
【発明の効果】
【００１５】
本発明により、従来技術に比べて余計な処理を要さずに、処理に要する時間もほとんど変わることなく、インターリーブ、デインターリーブを行うために要するメモリ容量を軽減することが可能となる。
【発明を実施するための最良の形態】
【００１６】
以下本発明を実施するための最良の形態について、図面を用いて詳細に説明する。なお、本発明はこれら実施の形態になんら限定されるものではなく、その要旨を逸脱しない範囲において種々なる態様で実施しうる。
【００１７】
なお、以下の実施形態と請求項の関係は次のとおりである。実施形態１は主として請求項１、２などについて説明する。実施形態２は主として請求項３、４などについて説明する。
<<実施形態１>>
<実施形態１の概要>
【００１８】
本実施形態のクロスインターリーブ生成装置は、メモリに書き込んだ１フレーム分のデータを読み出す際、そのフレームのすべてのデータを読み出し終える前に、読み出し終えた記憶素子に対して次のフレームのデータを書き込んでいくことを特徴とする。また、図２（Ａ）に示すように、データを行に沿って書き込んだ後（横向きＷｒｉｔｅ：実線矢印で示す）、列に沿って読み出しても（縦向きＲｅａｄ：点線矢印で示す）、図２（Ｂ）に示すように、データを列に沿って書き込んだ後（縦向きＷｒｉｔｅ：実線矢印で示す）、行に沿って読み出しても（横向きＲｅａｄ：点線矢印で示す）、所定の順番でデータを読み出せることを特徴とする。
<実施形態１の機能的構成>
【００１９】
図３は、本実施形態の放送受信装置の機能ブロックの一例を表す図である。この図にあるように本実施形態の「クロスインターリーブ生成装置」（０３００）は、「複数の記憶素子」（０３０１）と、「第一初期書込部」（０３０２）と、「第一クロス読出部」（０３０３）と、「第一書込部」（０３０４）を有する。
【００２０】
なお、以下に記載する本装置の機能ブロックは、ハードウェア、ソフトウェア、またはハードウェア及びソフトウェアの両方として実現され得る。具体的には、コンピュータを利用するものであれば、ＣＰＵやＲＡＭ、バス、あるいは二次記憶装置（ハードディスクや不揮発性メモリ、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭなどの記憶メディアとそれらメディアの読取ドライブなど）、印刷機器や表示装置、その他の外部周辺装置などのハードウェア構成部やその外部周辺機器用のＩ／Ｏポート、それらハードウェアを制御するためのドライバプログラムやその他アプリケーションプログラム、情報入力に利用されるユーザインターフェイスなどが挙げられる。
【００２１】
またこれらハードウェアやソフトウェアは、ＲＡＭ上に展開したプログラムをＣＰＵで演算処理したり、メモリやハードディスク上に保持されているデータや、インターフェイスを介して入力されたデータなどを加工、蓄積、出力処理したり、あるいは各ハードウェア構成部の制御を行ったりするために利用される。また、この発明は装置として実現できるのみでなく、方法としても実現可能である。また、このような発明の一部をソフトウェアとして構成することができる。さらに、そのようなソフトウェアをコンピュータに実行させるために用いるソフトウェア製品、及び同製品を記憶媒体に固定した記憶媒体も、当然にこの発明の技術的な範囲に含まれる（本明細書の全体を通じて同様である）。
【００２２】
以下、本実施形態の、「複数の記憶素子」（０３０１）と、「第一初期書込部」（０３０２）と、「第一クロス読出部」（０３０３）と、「第一書込部」（０３０４）の機能的構成について説明する。
<<複数の記憶素子>>
【００２３】
「複数の記憶素子」（０３０１）は、行列配置され１つのメモリの一部または全部を構成している。行列配置とは、縦（列）横（行）規則正しく配置されることをいう。複数の記憶素子からなる１つのメモリの大きさは、最低限、インターリーブまたはデインターリーブする１フレーム分のすべてのデータを、縦横同じ長さで書き込むことができれば特段制限されない。記憶素子には、「０」、「１」の論理値データが記憶される。本実施形態においは、例えば、フリップフロップ回路で構成された記憶素子や、トランジスタとキャパシタで構成された記憶素子などが利用できる。
<<第一初期書込部>>
【００２４】
「第一初期書込部」（０３０２）は、複数の記憶素子からなる１つのメモリに、インターリーブまたはデインターリーブする最初の１フレーム分のデータを書き込むよう構成されている。複数の記憶素子に対してなされるデータの書き込みは、所定のルールに従ってなされる。当該ルールでは、インターリーブ等する１フレーム分のデータを縦横同じ長さでメモリに書き込むよう定めている。すなわち、予め、処理する１フレーム分のデータ容量より、書き込む縦横の長さ（例：「２４０バイト×２４０バイト」など）が定められている。また、当該ルールでは、複数の記憶素子に書き込んだ１フレーム分のデータを、以下で説明する「第一クロス読出部」（０３０３）が所定の順番で読み出せるように、複数の記憶素子に対してデータを書き込む順番を定めている。データを書き込む順番を定めるルールとしては、例えば、図４（Ａ）のように、縦向きに順に書き込むものや（「上→下」、「下→上」など：以下、「列書込み」という）、図４（Ｂ）のように、横向きに順に書き込むもの（「左→右」、「右→左」など：以下、「行書込み」という）などが考えられる。また、列書込みの場合は、メモリ内、左端の列から右端の列に向かって順に書き込むようなものでもよいし、右端の列から左端の列に向かって順に書き込むようなものでもよい。さらに、行書込みの場合は、メモリ内、上端の行から下端の行に向かって順に書き込むようなものでもよいし、下端の行から上端の行に向かって順に書き込むようなものでもよい。
【００２５】
データを書き込む際、複数の記憶素子に対してアクセスした順番は、記憶素子のアドレス番号などを順に並べた順番データ（Ｉ）として記憶されてもよい。
<<第一クロス読出部>>
【００２６】
「第一クロス読出部」（０３０３）は、第一初期書込部（０３０２）、または、以下で説明する第一書込部（０３０４）が、行列配置された複数の記憶素子に書き込んだ１フレーム分のデータを、書き込んだ向きに対してクロスの向きにデータを読み出すよう構成されている。すなわち、縦向きにデータを書き込んだ場合は（列書込み）、横向きに読み出し（「左→右」、「右→左」など：以下、「行読出し」という）、横向きに書き込んだ場合は（行書込み）、縦向きに読み出す（「上→下」、「下→上」など：以下、「列読出し」という）。なお、前記「行読出し」、「列読出し」、それぞれにおける向きは、任意の設計事項である（「左→右」、「右→左」、「上→下」、「下→上」など）。また、列読出しの場合、メモリ内、左端の列から右端の列に向かって順に読み出してもよいし、右端の列から左端の列に向かって順に読み出してもよい。さらに、行読出しの場合、メモリ内、上端の行から下端の行に向かって順に読み出してもよいし、下端の行から上端の行に向かって順に読み出してもよい。これらも任意の設計事項である。
【００２７】
データを読み出す際、複数の記憶素子に対してアクセスした順番は、記憶素子のアドレス番号などを順に並べた順番データ（ＩＩ）として記憶されてもよい。
<<第一書込部>>
【００２８】
「第一書込部」（０３０４）は、読出軌跡上で読み出しが終了した記憶素子からＮ行列相当以内に位置する読出軌跡上の記憶素子に対して、新規書き込みを行うよう構成されている。ここで、「新規書き込み」とは、新たなフレームのデータの書き込みのことである。また、「読出軌跡」とは、あるフレームのデータを読み出し中に、そのフレームのデータを読み出し終えた記憶素子からなる集まりである。すなわち、図５（Ａ）に示すように、メモリに行書込みされたデータ（実線で示す）を、左端の列から右端の列に向かって列読出ししている場合、複数の点線矢印（０５Ａ０１から０５Ａ０４）で示すデータを読み出した跡が読出軌跡に該当する。また、図５（Ｂ）に示すように、メモリに列書込みされたデータ（実線で示す）を、上端の行から下端の行に向かって行読出ししている場合、複数の点線矢印（０５Ｂ０１から０５Ｂ０６）からなるデータを読み出した跡が、読出軌跡に該当する。ここで、「読出軌跡上で読み出しが終了した記憶素子」とは、そのクロックにおいてデータの読み出しを終了した記憶素子が該当する。すなわち、図５（Ａ）、図５（Ｂ）の場合、それぞれ、「０５Ａ０５」、「０５Ｂ０７」の指示線で特定される位置の記憶素子が該当する。以下、当該記憶素子を「終了記憶素子」という。
【００２９】
次に、「終了記憶素子からＮ行列相当以内に位置する読出軌跡上の記憶素子」について説明する。ここで、「Ｎ」は、１以上の整数であり、利用者が設定可能な定数である。図５（Ａ）を用いて説明すると、「Ｎ＝１」、すなわち、「終了記憶素子から１列相当以内に位置する読出軌跡上の記憶素子」とは、「０５Ａ０１」の点線矢印上に位置する記憶素子が該当する。「Ｎ＝２」、すなわち、「終了記憶素子から２列相当以内に位置する読出軌跡上の記憶素子」とは、「０５Ａ０１」と「０５Ａ０２」の点線矢印上に位置する記憶素子が該当する。「Ｎ＝４」、すなわち、「終了記憶素子から４列相当以内に位置する読出軌跡上の記憶素子」とは、「０５Ａ０１」と「０５Ａ０２」と「０５Ａ０３」と「０５Ａ０４」の点線矢印上に位置する記憶素子が該当する。なお、前記は、列読出ししているケースについて説明したが、行読出ししている場合も同様である。すなわち、図５（Ｂ）を用いて説明すると、「Ｎ＝１」、すなわち、「終了記憶素子から１行相当以内に位置する読出軌跡上の記憶素子」とは、「０５Ｂ０１」の点線矢印上に位置する記憶素子が該当する。「Ｎ＝６」、すなわち、「終了記憶素子から６列相当以内に位置する読出軌跡上の記憶素子」とは、「０５Ｂ０１」から「０５Ｂ０６」のすべての点線矢印上に位置する記憶素子が該当する。
<<<複数の記憶素子に対してデータを書き込む順番>>>
【００３０】
ここで、第一書込部（０３０４）は、「終了記憶素子からＮ行列相当以内に位置する読出軌跡上の記憶素子」に対して、新たなフレームのデータを書き込むよう構成されているが、複数の記憶素子に対して書き込む順番は、第一クロス読出部（０３０３）が読み出したのと同じ順番で書き込むよう構成されている。すなわち、第一クロス読出部（０３０３）が左端の列から右端の列に向かって順に列読出しする場合は、第一書込部（０３０４）は、左端の列から右端の列に向かって順に列書込みする。また、第一クロス読出部（０３０３）が上端の行から下端の行に向かって順に行読出しする場合は、第一書込部（０３０４）は、上端の行から下端の行に向かって順に行書込みする。
【００３１】
前記を実現する手段としては、例えば、第一書込部（０３０４）は順番データ（Ｉ）、（ＩＩ）を利用可能に構成しておき、当該データで特定されるアドレス順に書き込むことで実現してもよい。順番データ（Ｉ）とは、第一初期書込部（０３０１）が、データを書き込む際に、複数の記憶素子に対してアクセスした順番を記憶素子のアドレスなどで記すデータである。また、順番データ（ＩＩ）とは、第一初期書込部（０３０１）が書き込んだデータを第一クロス読出部（０３０３）が読み出す際に、複数の記憶素子に対してアクセスした順番を記憶素子のアドレスなどで記すデータである。すなわち、第一書込部（０３０４）は、第一初期書込部（０３０２）が書き込んだデータを第一クロス読出部（０３０３）が読み出した後の記憶素子に対して書き込む際には、順番データ（ＩＩ）で特定される記憶素子のアドレス順に書き込むことで、第一クロス読出部（０３０３）の読み出しと同じ順番で記憶素子に対して書き込むことを実現できる。そして、その次のフレームのデータを書き込む際には、順番データ（Ｉ）で特定される記憶素子のアドレス順に書き込むことで、第一クロス読出部（０３０３）の読み出しと同じ順番で記憶素子に対して書き込むことを実現できる。以降、順番データ（ＩＩ）→（Ｉ）→（ＩＩ）→（Ｉ）のように、交互に利用してデータを書き込むことで実現できる。
<<<データを書き込むスピード>>>
【００３２】
ここで、第一書込部（０３０４）がデータを書き込むスピードは、第一クロス読出部（０３０３）がデータを読み出すのと同じスピードか、または、それより遅いスピードに構成されている。このように構成することで、第一書込部（０３０４）のデータの書き込みが、第一クロス読出部（０３０３）のデータの読み出しを追い越す（第クロス読出部がデータを読み出していない記憶素子に対して、次のデータを書き込む）ことはない。なお、その後、第一書込部（０３０４）が書き込み終えたデータを、第一クロス読出部（０３０３）がクロス読み出しすることとなる。よって、データの書き込みと読み出しをタイムロスなく行うためには、第一クロス読出部（０３０３）のデータ読み出しスピードと、第一書込部（０３０４）のデータ書き込みスピードは同じに設定することが望ましい。
<<<データの書き込み開始タイミング>>>
【００３３】
前記のように、第一書込部（０３０４）は、複数の記憶素子に対して、第一クロス読出部（０３０３）の読み出しと同じ順番で新たなフレームのデータを書き込む場合、「Ｎ」の値により、第一書込部（０３０４）が新たなフレームのデータの書き込みを開始するタイミングがある程度特定されることとなる。例えば、「終了記憶素子から３行列相当以内に位置する読出軌跡上の記憶素子」に対して書き込むように設定した場合（Ｎ＝３と設定）、図６（Ａ）から（Ｃ）に示すような、Ｎ＝１、Ｎ＝２、Ｎ＝３のいずれかの状態において、新たなフレームのデータの書き込みを開始することとなる（図６は、書き込んだデータを実線で、データの読出軌跡を点線矢印で示している。）。また、「終了記憶素子から１行列相当以内に位置する読出軌跡上の記憶素子」（Ｎ＝１と設定）に対して書き込むように設定した場合、図６（Ａ）に示すような、Ｎ＝１の状態において、新たなフレームのデータの書き込みを開始することとなる。なお、図６（Ａ）から（Ｃ）は、Ｎ＝１、Ｎ＝２、Ｎ＝３の状態の一例を示しているものであり、それぞれ、その列の読み出しを開始した時から、その列の読み出しを終了するまでの時間幅がある。すなわち、Ｎ＝３と設定した場合は、第一書込部（０３０４）は、第一クロス読出部（０３０３）が１列目のデータの読み出しを開始してから、３列目のデータの読み出しを終了するまでの間に次のフレームのデータの書き込みを開始する。また、Ｎ＝１と設定した場合は、第一書込部（０３０４）は、第一クロス読出部（０３０３）が１列目のデータの読み出しを開始してから、１列目のデータの読み出しを終了するまでの間に次のフレームのデータの書き込みを開始する。なお、この時間的範囲内においてどのタイミングで書き込みを開始するかは任意の設計事項である。
【００３４】
ここで、「Ｎ＝１」と設定した場合、第一書込部（０３０４）は、図６（Ａ）のように、第一クロス読出部（０３０３）が１列目の記憶素子の読み出しを行っている間に、次のフレームのデータの書き込みを開始することとなる。すなわち、「Ｎ＝１」と設定することで、データの読み出しと、次のフレームのデータの書き込みの間のタイムロスを少なくすることができる。なお、「Ｎ＝１」と設定した場合にも、第一クロス読出部（０３０３）が１列目の記憶素子の読み出しを行っている間のどのタイミングで書き込みを開始するかは任意の設計事項である。図７（Ａ）のように、１列目の読み出しを開始してすぐのタイミングから、次のデータの書き込みを開始するようにしてもよいし、図７（Ｂ）のように、１列目の読み出しを終了するタイミングから、次のデータの書き込みを開始するようにしてもよい。図７（Ａ）のように、１列目の読み出しを開始してすぐのタイミングから、次のデータの書き込みを開始するように設定した場合、よりタイムロスが少なくなる。
【００３５】
なお、前記のように「Ｎ＝１」と設定できるのは、複数の記憶素子からなるメモリが、同一の行、及び／又は、同一の列に存する記憶素子に対して、同時（同一クロック内）にデータの書き込みと読み出しを行えるよう構成されている場合である。そこで、複数の記憶素子からなるメモリが、前記のように構成されていない場合には、Ｎを２以上の値に設定し、かつ、同じ行、及び／又は、同じ列の記憶素子に対して、データの読み出しと、データの書き込みが行われることがないように、第一書込部（０３０４）の書き込み開始タイミングを定める必要がある。理想的には、「Ｎ＝２」と設定し、第一クロス読出部（０３０３）が、２行目の記憶素子からデータを読み出すのと同じタイミング（同一クロック）で、第一書込部（０３０４）は次のフレームのデータの書き込みを開始するよう設定するのが望ましい。
【００３６】
前記は、第一書込部（０３０４）が、終了記憶素子から「Ｎ列」相当以内に位置する読出軌跡上の記憶素子に対して、新たなフレームのデータを書き込む構成について説明したが、終了記憶素子から「Ｎ行」相当以内に位置する読出軌跡上の記憶素子に対して、新たなフレームのデータを書き込む構成についても同様である。よって、ここでの詳細な説明は省略する。
【００３７】
前記のようにして第一書込部（０３０４）が書き込んだデータは、第一クロス読出部（０３０３）が、書き込みに対してクロスに読み出すこととなる。そして、第一クロス読出部（０３０３）がデータを読み出した後の読出し軌跡上に、前記と同様の手段で、第一書込部（０３０４）が次のフレームのデータを書き込んでいく。以降、同様の処理を繰り返す。
【００３８】
ここで、前記の処理は「インターリーブ」、「デインターリーブ」のいずれについても適用可能である。なお、「デインターリーブ」する際には、「第一初期書込部」（０３０２）、「第一書込部」（０３０４）は、当然に、データ送信中に欠落した部分（データ）を識別できるように構成しておき、欠落部分を考慮してデータを書き込むように構成されている。当該機能により、送信中にデータの一部が欠落しても、「デインターリーブ」すると正しい順番にデータを並び変えることが可能となり、元のデータを復元することが可能となる。なお、前記機能は従来技術で実現可能であるので、ここでの詳細な説明は省略する。
<実施形態１の処理の流れ>
【００３９】
以下、図８を用いて、本実施形態のクロスインターリーブの処理の一例について説明する。なお、図中、実線は「書き込みを終了したフレームのデータ」、実線矢印は「書き込みを行っているフレームのデータ」、点線矢印は、「読出軌跡」を示している。
【００４０】
まず、図８（Ａ）に示すように、最初のフレームのデータを、縦横同じ長さで、所定のルールに従った順番で、複数の記憶素子（メモリ）に書き込む。この時の書き込みは、行書込みでも列書込みでもよいが、図８（Ａ）においては、行書込みした例を示している。その後、図８（Ｂ）に示すように、１フレーム分のデータを書き込み終えると、書き込みの向きとクロスの向きに、データの読み出しを開始する（図では「列読出し」）。そして、読み出し開始から所定時間経過後、図８（Ｃ）に示すように、読出軌跡上の記憶素子に対して読み出しと同じ順番で、次のフレームのデータの書き込みを開始する。その後、図８（Ｄ）に示すように、データの読み出しと書き込みを同時に進行する。そして、図８（Ｅ）に示すように、データの読み出しを終了し、かつ、次のフレーム分のデータの書き込みを終了すると、そのフレームのデータの書き込みの向きとクロスの向きに、データの読み出しを開始する（図では「行読出し」）。そして、読み出し開始から所定時間経過後、図８（Ｆ）に示すように、読出軌跡上の記憶素子に対して読み出しと同じ順番で、次のフレームのデータの書き込みを開始する。
【００４１】
以降、同様の処理を繰り返すこととなる。
<実施形態１の効果>
【００４２】
本実施形態のクロスインターリーブ生成装置により、従来技術に比べ、余計な処理を要さず、処理時間を大きく増やすことなく、インターリーブまたはデインターリーブを行うのに要するメモリ容量を減らすことができる。
<<実施形態２>>
<実施形態２の概要>
【００４３】
本実施形態のクロスインターリーブ生成装置は、図１０に示すように、１フレーム分のデータを縦横同じ長さに書き込める容量（１００２）に、プラス１バンク分の容量（１００１）を加えたメモリを利用してインターリーブまたはデインターリーブ行うことを特徴とする。そして、メモリに書き込んだ１フレーム分のデータを読み出すのと同時に、プラス１バンク分のメモリに対して、次のフレームのデータを書き込んでいくことを特徴とする。
<実施形態２の機能的構成>
【００４４】
図９は、本実施形態の放送受信装置の機能ブロックの一例を表す図である。この図にあるように本実施形態の「クロスインターリーブ生成装置」（０９００）は、「複数の記憶素子」（０９０１）と、「第二初期書込部」（０９０５）と、「第二クロス読出部」（０９０６）と、「第二書込部」（０９０７）を有する。
【００４５】
以下、「複数の記憶素子」（０９０１）と、「第二初期書込部」（０９０５）と、「第二クロス読出部」（０９０６）と、「第二書込部」（０９０７）の機能的構成について説明する。
<<複数の記憶素子>>
【００４６】
「複数の記憶素子」（０９０１）は、実施形態１で説明したものとほぼ同様であるので、異なる点のみ説明する。相違点は、複数の記憶素子（０９０１）からなるメモリが有する容量が異なる。具体的には、実施形態１では、インターリーブまたはデインターリーブする１フレーム分のデータを、縦横同じ長さで書き込むことができるだけのメモリ容量があればよかった。しかし、本実施形態では、図１０に示すように、１フレーム分のデータを縦横同じ長さで書き込む容量（１００２）プラス１バンク分の容量（１００１）を有する。かかる点で異なる。なお、図１０のほか、図１１のようにプラス１バンク分の容量（１１０１）を設けてもよい。また、１フレーム分のデータを縦横同じ長さで書き込む容量部分（１００２、１１０２）を、複数のバンクで構成するようにしてもよい。このように構成した場合のメリットについては以下で説明する。
<<第二初期書込部>>
【００４７】
「第二初期書込部」（０９０５）は、複数の記憶素子からなる１つのメモリに、インターリーブまたはデインターリーブする最初の１フレーム分のデータを、縦横同じ長さで書き込むよう構成されている。その構成については、実施形態１で説明した第一初期書込部と同様であるので、ここでの詳細な説明は省略する。
<<第二クロス読出部>>
【００４８】
「第二クロス読出部」（０９０６）は、第二初期書込部（０９０５）、または、以下で説明する第二書込部（０９０７）が、行列配置された複数の記憶素子に書き込んだ１フレーム分のデータを、書き込んだ向きに対してクロスの向きにデータを読み出すよう構成されている。詳細については、実施形態１で説明した第一クロス読出部と同様であるので、ここでの詳細な説明は省略する。
<<第二書込部>>
<<<データを書き込むルール>>>
【００４９】
「第二書込部」（０９０７）は、読出軌跡上で読み出しが終了した記憶素子からＭ行相当以上隔離して位置する記憶素子から新規書き込みを行うよう構成されている。なお、「新規書き込み」、「読出軌跡」、「読み出しが終了した記憶素子（終了記憶素子）」、については、実施形態１と同様の概念であるので、ここでの詳細な説明は省略する。ここで、第二書込部（０９０７）は、前のフレームのデータを書き込まれていない記憶素子から、次のフレームのデータの書き込みを開始する（以下、このような記憶素子が集まった領域を、「未書込領域」という。）。すなわち、「読出軌跡上で読み出しが終了した記憶素子からＭ行相当以上隔離して位置する記憶素子」の「Ｍ」は、未書込領域に位置する記憶素子を特定するための不定数である。
【００５０】
また、第二書込部（０９０７）は、同時にデータを読み出している第二クロス読出部（０９０６）の読み出しと同じ向きで書き込むよう構成されている。さらに、第二書込部（０９０７）は、第二クロス読出部（０９０６）のデータ読み出しと同じスピード、または、それより遅いスピードで書き込むよう構成されている。なお、前記した第一書込部と第一クロス読出部との関係と同様の理由で、第二クロス読出部（０９０６）のデータ読み出しスピードと、第二書込部（０９０７）のデータ書き込みスピードは同じに設定することが望ましい。
【００５１】
ここで、図１１のように書き込まれたデータ（図中、横向き実線で示す）を読み出す場合、第二クロス読出部（０９０６）は「列読取り」を行う。かかる場合、前記のように構成された第二書込部（０９０７）は、未書込領域（１１０１）から「列書込み」を開始することとなる。しかし、図に示すように、未書込領域（１１０１）には、縦横同じ長さでデータを「列書込み」するための所定の長さがない。そこで、その列の残りのデータは、図１２（図中、実線は「書き込みを終了したフレームのデータ」、実線矢印は「書き込みを行っているフレームのデータ」、点線矢印は、「読出軌跡」を示している）に示すように、同じ列の読出軌跡上に位置する記憶素子に対して、第二クロス読出部（０９０６）がデータを読み出した順に書き込むこととなる（１２０２）。その後、同様にして、データを書き込んでいく（「１２０３→１２０４」など）。この時、第二書込部（０９０７）のデータを書き込むスピードを前記のように設定することで、データの書き込みが、第二クロス読出部（０９０６）の読み出しを追い越す（第クロス読出部がデータを読み出していない記憶素子に対して、次のデータを書き込む）ことはない。なお、各列には、縦横同じ長さで書き込むための所定の長さのデータが書き込まれるので、読出し軌跡上には第二書込部（０９０７）によりデータを書き込まれない記憶素子からなる領域（１２０５）がうまれる。当該領域は、未書込領域（１２０６）と同じ容量（１バンク分）である。
<<<データの書き込み開始タイミング>>>
【００５２】
次に、第二書込部（０９０７）が書き込みを開始するタイミングとしては、任意の設計事項であるが、第二クロス読出部（０９０６）が読み出しを開始するのと同時（同一クロック内）に開始するよう定めるのが望ましい。このように設計することで、データの読み出しと書き込みの間のタイムロスをなくすことができる。
【００５３】
なお、１フレーム分のデータを縦横同じ長さで書き込む容量部分（１００２、１１０２）を複数のバンクで構成している場合には、同時にデータの読み出しを行う記憶素子と書き込みを行う記憶素子が常に異なるバンクに位置するようにできる。かかる場合、比較的安価なメモリを利用して、本実施形態の機能を実現することが可能となる。
【００５４】
ここで、前記の処理は「インターリーブ」、「デインターリーブ」のいずれについても適用可能である。なお、「デインターリーブ」する際には、「第二初期書込部」（０９０５）、「第二書込部」（０９０７）は、当然に、データ送信中に欠落した部分（データ）を識別できるように構成しておき、欠落部分を考慮してデータを書き込むように構成されている。当該機能により、送信中にデータの一部が欠落しても、「デインターリーブ」すると正しい順番にデータを並び変えることが可能となり、元のデータを復元することが可能となる。なお、前記機能は従来技術で実現可能であるので、ここでの詳細な説明は省略する。
<実施形態２の処理の流れ>
【００５５】
以下、図１３を用いて、本実施形態のクロスインターリーブの処理の一例について説明する。なお、図中、実線は「書き込みを終了したフレームのデータ」、実線矢印は「書き込みを行っているフレームのデータ」、点線矢印は、「読出軌跡」を示している。
【００５６】
まず、図１３（Ａ）に示すように、最初のフレームのデータを、縦横同じ長さでメモリに書き込む。この時の書き込みは、行書込みでも列書込みでもよいが、図１３（Ａ）においては、行書込みした例を示している。その後、図１３（Ｂ）に示すように、１フレーム分のデータを書き込み終えると、書き込みとクロスの向きに、データの読み出しを開始する（図では「列読出し」）。また、読み出し開始と同時（同一クロック内）に、未書込領域の記憶素子から、次のフレームのデータの書き込みを開始する。この時の書き込みの向きは、図に示すように、読み出しと同じ向きである（列書込み）。以降、図１３（Ｃ）に示すように、データの書き込みと読み出しを同時に進行する。そして、図１３（Ｄ）に示すように、データの読み出しを終了し、かつ、次のフレームのデータの書き込みを終了すると、そのフレームのデータを書き込んだ向きとクロスの向きに、データの読み出しを開始する（図では「行読出し」）。また、読み出し開始と同時に、未書込領域の記憶素子から、データの読み出しと同じ向きで、次のフレームのデータの書き込みを開始する（図では「行書込み」）。以降、同様にして、図１３（Ｅ）→（Ｆ）→（Ｇ）→（Ｈ）のよう処理を行う。
【００５７】
その後も、同様の手段で処理を繰り返すこととなる。
<実施形態２の効果>
【００５８】
本実施形態のクロスインターリーブ生成装置により、従来技術に比べ、余計な処理を要さず、処理時間を増やすことなく、インターリーブまたはデインターリーブを行うのに要するメモリ容量を減らすことができる。
【図面の簡単な説明】
【００５９】
【図１】従来のクロスインターリーブを説明する概念図
【図２】実施形態１のクロスインターリーブを説明する概念図１
【図３】実施形態１の機能ブロック図
【図４】実施形態１のクロスインターリーブを説明する概念図２
【図５】実施形態１のクロスインターリーブを説明する概念図３
【図６】実施形態１のクロスインターリーブを説明する概念図４
【図７】実施形態１のクロスインターリーブを説明する概念図５
【図８】実施形態１のクロスインターリーブの処理の流れを示す概念図
【図９】実施形態２の機能ブロック図
【図１０】実施形態２のクロスインターリーブを説明する概念図１
【図１１】実施形態２のクロスインターリーブを説明する概念図２
【図１２】実施形態２のクロスインターリーブを説明する概念図３
【図１３】実施形態２のクロスインターリーブの処理の流れを示す概念図
【符号の説明】
【００６０】
０３００    クロスインターリーブ生成装置
０３０１    複数の記憶素子
０３０２    第一初期書込部
０３０３    第一クロス読出部
０３０４    第一書込部
【図１】
2009239684.tif 000003
【図２】
2009239684.tif 000004
【図３】
2009239684.tif 000005
【図４】
2009239684.tif 000006
【図５】
2009239684.tif 000007
【図６】
2009239684.tif 000008
【図７】
2009239684.tif 000009
【図８】
2009239684.tif 000010
【図９】
2009239684.tif 000011
【図１０】
2009239684.tif 000012
【図１１】
2009239684.tif 000013
【図１２】
2009239684.tif 000014
【図１３】
2009239684.tif 000015