JP2009239684A - Efficiency promotion of cross interleave - Google Patents

Efficiency promotion of cross interleave Download PDF

Info

Publication number
JP2009239684A
JP2009239684A JP2008083992A JP2008083992A JP2009239684A JP 2009239684 A JP2009239684 A JP 2009239684A JP 2008083992 A JP2008083992 A JP 2008083992A JP 2008083992 A JP2008083992 A JP 2008083992A JP 2009239684 A JP2009239684 A JP 2009239684A
Authority
JP
Japan
Prior art keywords
data
writing
reading
cross
read
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
JP2008083992A
Other languages
Japanese (ja)
Inventor
Kazuo Narita
和生 成田
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.)
MEDIA GLOBAL LINKS KK
Original Assignee
MEDIA GLOBAL LINKS KK
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 MEDIA GLOBAL LINKS KK filed Critical MEDIA GLOBAL LINKS KK
Priority to JP2008083992A priority Critical patent/JP2009239684A/en
Publication of JP2009239684A publication Critical patent/JP2009239684A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Error Detection And Correction (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a cross interleave generating device which reduces memory capacity required for carrying out interleave and deinterleave without requiring excess processing compared with conventional technologies, almost not changing the required time for processing also. <P>SOLUTION: The cross interleave generating device is provided, in which when reading out data for one frame written in a memory, before reading out all data in the frame, the data of the next frame are written to a memory element which is finished to be read out. Moreover, even if reading out along a column after writing the data along with a line, even if reading out along the line after writing the data along the column, it is possible to read out the data in a predetermined order. <P>COPYRIGHT: (C)2010,JPO&INPIT

Description

本発明は、通信等の分野において伝送路のバーストエラーに対応する技術に関する。   The present invention relates to a technique for dealing with a burst error in a transmission line in the field of communication and the like.

通信等の分野においては、データ送信中の伝送路において、1フレーム内の比較的短い部分が欠損したり(ランダムエラー)、連続的に長い部分が欠損したり(バーストエラー)する等のエラーが発生しうる。そこで、ランダムエラーに対しては、送信データのブロックごとに、リードソロモン符号等の誤り訂正符号を付加することで、ランダムエラーを修復できるようにしている。また、バーストエラーに対応する手段としては、クロスインターリーブ等の技術が利用されている。   In the field of communications, there are errors such as loss of a relatively short part in one frame (random error) or loss of a continuous long part (burst error) in a transmission line during data transmission. Can occur. Therefore, for random errors, an error correction code such as a Reed-Solomon code is added to each block of transmission data so that the random error can be repaired. Further, as means for dealing with burst errors, techniques such as cross-interleaving are used.

ここで、クロスインターリーブとは、伝送路においてバーストエラーが生じても、ランダムエラーとして扱えるようにする技術である。具体的には、データ送信側で、1フレームのデータをある規則に従ってバラバラに並び変えて送信する。そして、データ受信側で、バラバラに並び変えられたデータを元の並びに戻す。当該技術により、バーストエラーが発生しても、バラバラに並び変えられたデータを元の並びに戻すと、エラーが分散され、ブロックごとに付加された誤り訂正符号によりデータの修復が可能となる。送信側でデータをバラバラに並び変えることを「インターリーブ」、受信側でデータを元の並びに戻すことを「デインターリーブ」というが、これらは、以下の様な手段等により行われている。   Here, cross-interleaving is a technique that enables a random error to be handled even if a burst error occurs in a transmission path. Specifically, one frame of data is rearranged and transmitted according to a certain rule on the data transmission side. Then, the data rearranged is returned to the original order on the data receiving side. With this technique, even if a burst error occurs, if the rearranged data is returned to the original order, the error is dispersed, and the data can be restored by the error correction code added to each block. Rearranging data on the transmitting side is called “interleaving”, and returning the data on the receiving side is called “deinterleaving”. These are performed by the following means.

例えば、図1(A)に示すように、1フレーム分のデータを書き込める容量を有するメモリ(I)に、横向き一定方向(例:左から右)に向かって、データを上から順に書き込む(実線矢印で示す)。そして、メモリに1フレーム分のデータを書き込み終えると、図1(B)に示すように、メモリ(I)内のデータを縦向き一定方向(例:上から下)に向かって、左から順に各列のデータを読み出す(点線矢印で示す)。また、メモリ(I)からの読み出しを行うのと同時に、メモリ(II)に前記と同様の手段で次のフレームのデータの書き込みを行う。そして、同時に進行しているメモリ(I)からの読み出しとメモリ(II)への書き込みが終了すると、直ぐに、メモリ(I)への書き込みとメモリ(II)からの読み出しを開始する。以降、前記処理を繰り返す。   For example, as shown in FIG. 1A, data is sequentially written from the top to a memory (I) having a capacity capable of writing data for one frame in a horizontal direction (eg, left to right) (solid line). Indicated by an arrow). When one frame of data has been written to the memory, as shown in FIG. 1B, the data in the memory (I) is moved in the vertical direction (eg, from top to bottom) in order from the left. Read data in each column (indicated by dotted arrows). At the same time as reading from the memory (I), data of the next frame is written into the memory (II) by the same means as described above. Then, when the reading from the memory (I) and the writing to the memory (II) which are proceeding at the same time are finished, the writing to the memory (I) and the reading from the memory (II) are started immediately. Thereafter, the above process is repeated.

かかる手段の場合、インターリーブ、デインターリーブを行うために最低2フレーム分の容量を有するメモリが必要になり、容量負担が大きいという問題がある。   In the case of such means, there is a problem that a memory having a capacity of at least two frames is required to perform interleaving and deinterleaving, and the capacity burden is large.

そこで、インターリーブ、デインターリーブを行うために要するメモリ容量を低減するための手段が望まれる。前記問題を解決する手段としては、メモリ(I)に書き込んだ1フレーム分のデータを読み出し終えた後に、次のフレーム分のデータを同じメモリ(I)に書き込む。そして、データを書き込み終えると、そのデータの読み出しを開始するという手段が考えられる。当該手段により、確かにメモリ容量は1フレーム分で足りることとなる。しかし、かかる場合、処理に要する時間が増えてしまい、処理効率が悪くなる。そこで、処理時間を大きく増やさず、処理に要するメモリの容量を減少させる手段が望まれる。   Therefore, a means for reducing the memory capacity required for performing interleaving and deinterleaving is desired. As a means for solving the above problem, after reading the data for one frame written in the memory (I), the data for the next frame is written in the same memory (I). Then, a means of starting reading data after data writing is considered. By this means, the memory capacity is surely sufficient for one frame. However, in such a case, the time required for processing increases, and processing efficiency deteriorates. Therefore, a means for reducing the memory capacity required for processing without greatly increasing the processing time is desired.

前記問題を解決する手段としては、たとえば、特許文献1のような発明がなされている。特許文献1の発明は、m×nのアドレスを有するメモリに書き込んだ1フレーム分のデータを読み出す際、すべてのデータの読み出しを終了する前に、データを読み出し終えたアドレスに次のフレームのデータを書き込んでいくというものである。かかる場合、書き込んだデータを所定の順番で読み出すためには、1フレーム毎に、異なるアドレス順にデータを読み出す必要がある。そこで、特許文献1の発明は、読み出すデータが、最初の書き込みから何番目のフレームデータであるかを管理し、当該番号で特定されるアドレス順にデータを読み出すというものである。これにより、2フレーム分の容量を必要とせず、インターリーブ、デインターリーブを行うことが可能となる。   As means for solving the above-mentioned problem, for example, an invention such as Patent Document 1 has been made. In the invention of Patent Document 1, when reading one frame of data written in a memory having an m × n address, the data of the next frame is read at the address where the data has been read before the reading of all the data is completed. Is to write. In this case, in order to read out the written data in a predetermined order, it is necessary to read out the data in a different address order for each frame. Therefore, the invention of Patent Document 1 manages the number of frame data read from the first write and reads the data in the order of addresses specified by the numbers. This makes it possible to perform interleaving and deinterleaving without requiring a capacity for two frames.

しかしながら、特許文献1の場合、読み出すデータが何番目のデータであるか管理する必要があるし、また、その順番で特定されるアドレス順をも管理する必要がある。すなわち、従来技術に比べて、余計な処理が必要となるという不都合がある。
特開2004−96492
However, in the case of Patent Document 1, it is necessary to manage the number of data to be read, and it is also necessary to manage the address order specified by the order. That is, there is an inconvenience that extra processing is required as compared with the prior art.
JP 2004-96492 A

そこで、本発明では、従来技術に比べて余計な処理を要さずに、処理に要する時間もほとんど変わることなく、インターリーブ、デインターリーブを行うために要するメモリ容量を軽減したクロスインターリーブ生成装置を提供することを課題とする。   Therefore, the present invention provides a cross-interleave generation device that reduces the memory capacity required for interleaving and deinterleaving without requiring extra processing as compared with the prior art and with almost no change in processing time. The task is to do.

上記課題を解決するための手段として、以下のような発明などを提供する。   As means for solving the above problems, the following inventions are provided.

第一発明では、行列配置された複数の記憶素子と、第一初期書込部と、書込に対してクロス読出をする第一クロス読出部と、読出軌跡上で読出が終了した記憶素子からN行列相当以内に位置する読出軌跡上の記憶素子に対して新規書込みを行う第一書込部とを有するクロスインターリーブ生成装置を提供する。   In the first invention, a plurality of memory elements arranged in a matrix, a first initial writing unit, a first cross reading unit that performs cross reading with respect to writing, and a memory element that has finished reading on a reading locus There is provided a cross interleave generation device including a first writing unit that performs new writing to a storage element on a reading locus located within an N matrix equivalent.

第二発明では、第一発明を基本とし、さらに、前記Nは1であるクロスインターリーブ生成装置を提供する。   The second invention provides a cross-interleave generating device based on the first invention and further wherein N is 1.

第三発明では、行列配置された複数の記憶素子と、第二初期書込部と、書込に対してクロス読出をする第二クロス読出部と、読出軌跡上で読出が終了した記憶素子からM行相当以上離隔して位置する記憶素子から新規書込みを行う第二書込部とを有するクロスインターリーブ生成装置を提供する。   In the third invention, a plurality of storage elements arranged in a matrix, a second initial writing unit, a second cross reading unit that performs cross reading with respect to writing, and a storage element that has finished reading on a reading locus Provided is a cross interleave generation device including a second writing unit that performs new writing from a storage element that is located at least M rows apart.

第四発明では、第三発明を基本とし、さらに、Mは1バンクの行幅相当分以上の値であるクロスインターリーブ生成装置を提供する。   According to a fourth invention, there is provided a cross interleave generation device based on the third invention, wherein M is a value equal to or greater than the row width of one bank.

本発明により、従来技術に比べて余計な処理を要さずに、処理に要する時間もほとんど変わることなく、インターリーブ、デインターリーブを行うために要するメモリ容量を軽減することが可能となる。   According to the present invention, it is possible to reduce the memory capacity required for performing interleaving and deinterleaving without requiring extra processing as compared with the prior art and without changing the time required for processing.

以下本発明を実施するための最良の形態について、図面を用いて詳細に説明する。なお、本発明はこれら実施の形態になんら限定されるものではなく、その要旨を逸脱しない範囲において種々なる態様で実施しうる。   Hereinafter, the best mode for carrying out the present invention will be described in detail with reference to the drawings. In addition, this invention is not limited to these embodiment at all, and can be implemented with various aspects in the range which does not deviate from the summary.

なお、以下の実施形態と請求項の関係は次のとおりである。実施形態1は主として請求項1、2などについて説明する。実施形態2は主として請求項3、4などについて説明する。
<<実施形態1>>
<実施形態1の概要>
In addition, the relationship between the following embodiment and a claim is as follows. The first embodiment will mainly describe claims 1 and 2. The second embodiment will mainly describe claims 3 and 4.
<< Embodiment 1 >>
<Outline of Embodiment 1>

本実施形態のクロスインターリーブ生成装置は、メモリに書き込んだ1フレーム分のデータを読み出す際、そのフレームのすべてのデータを読み出し終える前に、読み出し終えた記憶素子に対して次のフレームのデータを書き込んでいくことを特徴とする。また、図2(A)に示すように、データを行に沿って書き込んだ後(横向きWrite:実線矢印で示す)、列に沿って読み出しても(縦向きRead:点線矢印で示す)、図2(B)に示すように、データを列に沿って書き込んだ後(縦向きWrite:実線矢印で示す)、行に沿って読み出しても(横向きRead:点線矢印で示す)、所定の順番でデータを読み出せることを特徴とする。
<実施形態1の機能的構成>
When reading the data for one frame written in the memory, the cross interleave generation device of the present embodiment writes the data of the next frame to the storage element that has been read before reading all the data of the frame. It is characterized by going. Further, as shown in FIG. 2A, after data is written along a row (horizontal write: indicated by a solid arrow) and read along a column (vertical read: indicated by a dotted arrow), As shown in FIG. 2 (B), after writing the data along the columns (vertical write: indicated by solid line arrows) and reading along the rows (horizontal read: indicated by dotted arrows), in a predetermined order Data can be read out.
<Functional configuration of Embodiment 1>

図3は、本実施形態の放送受信装置の機能ブロックの一例を表す図である。この図にあるように本実施形態の「クロスインターリーブ生成装置」(0300)は、「複数の記憶素子」(0301)と、「第一初期書込部」(0302)と、「第一クロス読出部」(0303)と、「第一書込部」(0304)を有する。   FIG. 3 is a diagram illustrating an example of functional blocks of the broadcast receiving apparatus according to the present embodiment. As shown in this figure, the “cross interleave generation device” (0300) of the present embodiment includes a “plurality of storage elements” (0301), a “first initial writing unit” (0302), and a “first cross reading”. Part "(0303) and" first writing part "(0304).

なお、以下に記載する本装置の機能ブロックは、ハードウェア、ソフトウェア、またはハードウェア及びソフトウェアの両方として実現され得る。具体的には、コンピュータを利用するものであれば、CPUやRAM、バス、あるいは二次記憶装置(ハードディスクや不揮発性メモリ、CD−ROMやDVD−ROMなどの記憶メディアとそれらメディアの読取ドライブなど)、印刷機器や表示装置、その他の外部周辺装置などのハードウェア構成部やその外部周辺機器用のI/Oポート、それらハードウェアを制御するためのドライバプログラムやその他アプリケーションプログラム、情報入力に利用されるユーザインターフェイスなどが挙げられる。   Note that the functional blocks of the apparatus described below can be realized as hardware, software, or both hardware and software. Specifically, if a computer is used, a CPU, a RAM, a bus, or a secondary storage device (a storage medium such as a hard disk, a non-volatile memory, a CD-ROM or a DVD-ROM, and a read drive for the medium) ), Hardware components such as printing devices, display devices, and other external peripheral devices, I / O ports for the external peripheral devices, driver programs for controlling these hardware, other application programs, and information input User interface.

またこれらハードウェアやソフトウェアは、RAM上に展開したプログラムをCPUで演算処理したり、メモリやハードディスク上に保持されているデータや、インターフェイスを介して入力されたデータなどを加工、蓄積、出力処理したり、あるいは各ハードウェア構成部の制御を行ったりするために利用される。また、この発明は装置として実現できるのみでなく、方法としても実現可能である。また、このような発明の一部をソフトウェアとして構成することができる。さらに、そのようなソフトウェアをコンピュータに実行させるために用いるソフトウェア製品、及び同製品を記憶媒体に固定した記憶媒体も、当然にこの発明の技術的な範囲に含まれる(本明細書の全体を通じて同様である)。   In addition, these hardware and software processes the programs developed on the RAM with the CPU, and processes, stores, and outputs data stored on the memory and hard disk, and data input via the interface. Or used to control each hardware component. The present invention can be realized not only as an apparatus but also as a method. A part of the invention can be configured as software. Furthermore, a software product used for causing a computer to execute such software, and a storage medium in which the product is fixed to a storage medium are naturally included in the technical scope of the present invention (the same applies throughout this specification). Is).

以下、本実施形態の、「複数の記憶素子」(0301)と、「第一初期書込部」(0302)と、「第一クロス読出部」(0303)と、「第一書込部」(0304)の機能的構成について説明する。
<<複数の記憶素子>>
Hereinafter, in the present embodiment, “a plurality of storage elements” (0301), “first initial writing unit” (0302), “first cross reading unit” (0303), and “first writing unit” The functional configuration of (0304) will be described.
<< Multiple storage elements >>

「複数の記憶素子」(0301)は、行列配置され1つのメモリの一部または全部を構成している。行列配置とは、縦(列)横(行)規則正しく配置されることをいう。複数の記憶素子からなる1つのメモリの大きさは、最低限、インターリーブまたはデインターリーブする1フレーム分のすべてのデータを、縦横同じ長さで書き込むことができれば特段制限されない。記憶素子には、「0」、「1」の論理値データが記憶される。本実施形態においは、例えば、フリップフロップ回路で構成された記憶素子や、トランジスタとキャパシタで構成された記憶素子などが利用できる。
<<第一初期書込部>>
The “plurality of storage elements” (0301) is arranged in a matrix and forms part or all of one memory. The matrix arrangement means that the arrangement is regular (vertical), horizontal (row). The size of one memory composed of a plurality of storage elements is not particularly limited as long as at least all data for one frame to be interleaved or deinterleaved can be written in the same length and width. The storage element stores logical value data of “0” and “1”. In the present embodiment, for example, a memory element configured by a flip-flop circuit, a memory element configured by a transistor and a capacitor, or the like can be used.
<< First initial writing part >>

「第一初期書込部」(0302)は、複数の記憶素子からなる1つのメモリに、インターリーブまたはデインターリーブする最初の1フレーム分のデータを書き込むよう構成されている。複数の記憶素子に対してなされるデータの書き込みは、所定のルールに従ってなされる。当該ルールでは、インターリーブ等する1フレーム分のデータを縦横同じ長さでメモリに書き込むよう定めている。すなわち、予め、処理する1フレーム分のデータ容量より、書き込む縦横の長さ(例:「240バイト×240バイト」など)が定められている。また、当該ルールでは、複数の記憶素子に書き込んだ1フレーム分のデータを、以下で説明する「第一クロス読出部」(0303)が所定の順番で読み出せるように、複数の記憶素子に対してデータを書き込む順番を定めている。データを書き込む順番を定めるルールとしては、例えば、図4(A)のように、縦向きに順に書き込むものや(「上→下」、「下→上」など:以下、「列書込み」という)、図4(B)のように、横向きに順に書き込むもの(「左→右」、「右→左」など:以下、「行書込み」という)などが考えられる。また、列書込みの場合は、メモリ内、左端の列から右端の列に向かって順に書き込むようなものでもよいし、右端の列から左端の列に向かって順に書き込むようなものでもよい。さらに、行書込みの場合は、メモリ内、上端の行から下端の行に向かって順に書き込むようなものでもよいし、下端の行から上端の行に向かって順に書き込むようなものでもよい。   The “first initial writing unit” (0302) is configured to write data for the first frame to be interleaved or deinterleaved into one memory composed of a plurality of storage elements. Data writing to the plurality of storage elements is performed according to a predetermined rule. The rule stipulates that one frame of data to be interleaved is written into the memory with the same length and width. That is, the vertical and horizontal lengths to be written (for example, “240 bytes × 240 bytes”) are determined in advance from the data capacity of one frame to be processed. Further, according to the rule, the data for one frame written in the plurality of storage elements is read from the plurality of storage elements so that the “first cross reading unit” (0303) described below can read in a predetermined order. The order in which data is written is determined. As a rule for determining the order in which data is written, for example, as shown in FIG. As shown in FIG. 4B, writing sequentially in the horizontal direction (“left → right”, “right → left”, etc .; hereinafter referred to as “row writing”), and the like can be considered. In the case of column writing, data may be written sequentially from the leftmost column to the rightmost column in the memory, or may be written sequentially from the rightmost column to the leftmost column. Further, in the case of line writing, data may be written in order from the uppermost line to the lowermost line in the memory, or may be written in order from the lowermost line to the uppermost line.

データを書き込む際、複数の記憶素子に対してアクセスした順番は、記憶素子のアドレス番号などを順に並べた順番データ(I)として記憶されてもよい。
<<第一クロス読出部>>
When writing data, the order of accessing the plurality of storage elements may be stored as order data (I) in which the address numbers of the storage elements are arranged in order.
<< First cross readout section >>

「第一クロス読出部」(0303)は、第一初期書込部(0302)、または、以下で説明する第一書込部(0304)が、行列配置された複数の記憶素子に書き込んだ1フレーム分のデータを、書き込んだ向きに対してクロスの向きにデータを読み出すよう構成されている。すなわち、縦向きにデータを書き込んだ場合は(列書込み)、横向きに読み出し(「左→右」、「右→左」など:以下、「行読出し」という)、横向きに書き込んだ場合は(行書込み)、縦向きに読み出す(「上→下」、「下→上」など:以下、「列読出し」という)。なお、前記「行読出し」、「列読出し」、それぞれにおける向きは、任意の設計事項である(「左→右」、「右→左」、「上→下」、「下→上」など)。また、列読出しの場合、メモリ内、左端の列から右端の列に向かって順に読み出してもよいし、右端の列から左端の列に向かって順に読み出してもよい。さらに、行読出しの場合、メモリ内、上端の行から下端の行に向かって順に読み出してもよいし、下端の行から上端の行に向かって順に読み出してもよい。これらも任意の設計事項である。   The “first cross reading unit” (0303) is written by the first initial writing unit (0302) or the first writing unit (0304) described below to a plurality of storage elements arranged in a matrix. The frame data is read out in a cross direction with respect to the written direction. That is, when data is written vertically (column write), it is read horizontally (“left → right”, “right → left”, etc .: hereinafter “row read”), and when written horizontally (row) Write) and read vertically (“up → down”, “down → up”, etc .: hereinafter referred to as “column read”). The direction in each of “row reading” and “column reading” is an arbitrary design item (“left → right”, “right → left”, “up → bottom”, “bottom → top”, etc.) . In the case of column reading, the data may be read sequentially from the leftmost column to the rightmost column in the memory, or sequentially from the rightmost column to the leftmost column. Further, in the case of row reading, the reading may be sequentially performed from the uppermost row to the lowermost row in the memory, or may be sequentially read from the lowermost row to the uppermost row. These are also optional design items.

データを読み出す際、複数の記憶素子に対してアクセスした順番は、記憶素子のアドレス番号などを順に並べた順番データ(II)として記憶されてもよい。
<<第一書込部>>
When reading data, the order of accessing the plurality of storage elements may be stored as order data (II) in which the address numbers of the storage elements are arranged in order.
<< First writing section >>

「第一書込部」(0304)は、読出軌跡上で読み出しが終了した記憶素子からN行列相当以内に位置する読出軌跡上の記憶素子に対して、新規書き込みを行うよう構成されている。ここで、「新規書き込み」とは、新たなフレームのデータの書き込みのことである。また、「読出軌跡」とは、あるフレームのデータを読み出し中に、そのフレームのデータを読み出し終えた記憶素子からなる集まりである。すなわち、図5(A)に示すように、メモリに行書込みされたデータ(実線で示す)を、左端の列から右端の列に向かって列読出ししている場合、複数の点線矢印(05A01から05A04)で示すデータを読み出した跡が読出軌跡に該当する。また、図5(B)に示すように、メモリに列書込みされたデータ(実線で示す)を、上端の行から下端の行に向かって行読出ししている場合、複数の点線矢印(05B01から05B06)からなるデータを読み出した跡が、読出軌跡に該当する。ここで、「読出軌跡上で読み出しが終了した記憶素子」とは、そのクロックにおいてデータの読み出しを終了した記憶素子が該当する。すなわち、図5(A)、図5(B)の場合、それぞれ、「05A05」、「05B07」の指示線で特定される位置の記憶素子が該当する。以下、当該記憶素子を「終了記憶素子」という。   The “first writing unit” (0304) is configured to perform a new write to a storage element on the read locus located within the N matrix equivalent from the storage element that has been read on the read locus. Here, “new writing” means writing of data of a new frame. The “reading locus” is a group of memory elements that have finished reading data of a frame while reading data of a frame. That is, as shown in FIG. 5A, when the data (shown by a solid line) written to the memory in a row is read out from the leftmost column to the rightmost column, a plurality of dotted arrows (from 05A01) The trace from which the data indicated by (05A04) is read corresponds to the read trace. Further, as shown in FIG. 5B, when the data written in the column in the memory (indicated by the solid line) is read out from the uppermost row to the lowermost row, a plurality of dotted arrows (from 05B01) The trace from which the data consisting of 05B06) is read corresponds to the read trace. Here, the “storage element that has been read on the read locus” corresponds to a storage element that has finished reading data at that clock. That is, in the case of FIG. 5A and FIG. 5B, the memory elements at the positions specified by the instruction lines “05A05” and “05B07” respectively correspond. Hereinafter, the storage element is referred to as an “end storage element”.

次に、「終了記憶素子からN行列相当以内に位置する読出軌跡上の記憶素子」について説明する。ここで、「N」は、1以上の整数であり、利用者が設定可能な定数である。図5(A)を用いて説明すると、「N=1」、すなわち、「終了記憶素子から1列相当以内に位置する読出軌跡上の記憶素子」とは、「05A01」の点線矢印上に位置する記憶素子が該当する。「N=2」、すなわち、「終了記憶素子から2列相当以内に位置する読出軌跡上の記憶素子」とは、「05A01」と「05A02」の点線矢印上に位置する記憶素子が該当する。「N=4」、すなわち、「終了記憶素子から4列相当以内に位置する読出軌跡上の記憶素子」とは、「05A01」と「05A02」と「05A03」と「05A04」の点線矢印上に位置する記憶素子が該当する。なお、前記は、列読出ししているケースについて説明したが、行読出ししている場合も同様である。すなわち、図5(B)を用いて説明すると、「N=1」、すなわち、「終了記憶素子から1行相当以内に位置する読出軌跡上の記憶素子」とは、「05B01」の点線矢印上に位置する記憶素子が該当する。「N=6」、すなわち、「終了記憶素子から6列相当以内に位置する読出軌跡上の記憶素子」とは、「05B01」から「05B06」のすべての点線矢印上に位置する記憶素子が該当する。
<<<複数の記憶素子に対してデータを書き込む順番>>>
Next, the “storage element on the read locus located within the N matrix equivalent from the end storage element” will be described. Here, “N” is an integer of 1 or more, and is a constant that can be set by the user. Referring to FIG. 5A, “N = 1”, that is, “the storage element on the read locus located within one column from the end storage element” is positioned on the dotted arrow “05A01”. This corresponds to the storage element. “N = 2”, that is, “the memory element on the read locus located within two columns from the end memory element” corresponds to the memory elements located on the dotted arrows “05A01” and “05A02”. “N = 4”, that is, “the memory element on the read locus located within four columns from the end memory element” is on the dotted arrows of “05A01”, “05A02”, “05A03”, and “05A04”. This corresponds to the memory element located. In the above description, the column reading is described, but the same applies to the case of row reading. That is, with reference to FIG. 5B, “N = 1”, that is, “the storage element on the read locus located within one row from the end storage element” is indicated by the dotted arrow “05B01”. This corresponds to the storage element located at. “N = 6”, that is, “a memory element on a read locus located within 6 columns from the end memory element” corresponds to a memory element located on all dotted arrows from “05B01” to “05B06” To do.
<<< Order for writing data to multiple memory elements >>>

ここで、第一書込部(0304)は、「終了記憶素子からN行列相当以内に位置する読出軌跡上の記憶素子」に対して、新たなフレームのデータを書き込むよう構成されているが、複数の記憶素子に対して書き込む順番は、第一クロス読出部(0303)が読み出したのと同じ順番で書き込むよう構成されている。すなわち、第一クロス読出部(0303)が左端の列から右端の列に向かって順に列読出しする場合は、第一書込部(0304)は、左端の列から右端の列に向かって順に列書込みする。また、第一クロス読出部(0303)が上端の行から下端の行に向かって順に行読出しする場合は、第一書込部(0304)は、上端の行から下端の行に向かって順に行書込みする。   Here, the first writing unit (0304) is configured to write data of a new frame to “the storage element on the read locus located within the N matrix equivalent from the end storage element”. The order of writing to the plurality of storage elements is configured to write in the same order as read by the first cross reading unit (0303). That is, when the first cross reading unit (0303) sequentially reads the columns from the leftmost column toward the rightmost column, the first writing unit (0304) sequentially selects the columns from the leftmost column toward the rightmost column. Write. Further, when the first cross reading unit (0303) reads out the rows in order from the uppermost row to the lowermost row, the first writing unit (0304) executes the rows in order from the uppermost row to the lowermost row. Write.

前記を実現する手段としては、例えば、第一書込部(0304)は順番データ(I)、(II)を利用可能に構成しておき、当該データで特定されるアドレス順に書き込むことで実現してもよい。順番データ(I)とは、第一初期書込部(0301)が、データを書き込む際に、複数の記憶素子に対してアクセスした順番を記憶素子のアドレスなどで記すデータである。また、順番データ(II)とは、第一初期書込部(0301)が書き込んだデータを第一クロス読出部(0303)が読み出す際に、複数の記憶素子に対してアクセスした順番を記憶素子のアドレスなどで記すデータである。すなわち、第一書込部(0304)は、第一初期書込部(0302)が書き込んだデータを第一クロス読出部(0303)が読み出した後の記憶素子に対して書き込む際には、順番データ(II)で特定される記憶素子のアドレス順に書き込むことで、第一クロス読出部(0303)の読み出しと同じ順番で記憶素子に対して書き込むことを実現できる。そして、その次のフレームのデータを書き込む際には、順番データ(I)で特定される記憶素子のアドレス順に書き込むことで、第一クロス読出部(0303)の読み出しと同じ順番で記憶素子に対して書き込むことを実現できる。以降、順番データ(II)→(I)→(II)→(I)のように、交互に利用してデータを書き込むことで実現できる。
<<<データを書き込むスピード>>>
As means for realizing the above, for example, the first writing unit (0304) is configured to be able to use the sequential data (I) and (II) and writing them in the order of addresses specified by the data. May be. The order data (I) is data that describes the order in which the first initial writing unit (0301) accesses a plurality of storage elements when writing the data, using the addresses of the storage elements. The order data (II) is the order in which the plurality of storage elements are accessed when the first cross reading section (0303) reads the data written by the first initial writing section (0301). This is data written in the address. That is, when the first writing unit (0304) writes the data written by the first initial writing unit (0302) to the storage element after the first cross reading unit (0303) reads, the first writing unit (0304) By writing in the address order of the storage elements specified by the data (II), it is possible to realize writing to the storage elements in the same order as the reading of the first cross reading unit (0303). Then, when writing the data of the next frame, writing to the memory elements in the same order as the reading of the first cross reading unit (0303) by writing in the address order of the memory elements specified by the order data (I). Can be written. Thereafter, this can be realized by writing data alternately using the sequential data (II) → (I) → (II) → (I).
<<< Speed of writing data >>>

ここで、第一書込部(0304)がデータを書き込むスピードは、第一クロス読出部(0303)がデータを読み出すのと同じスピードか、または、それより遅いスピードに構成されている。このように構成することで、第一書込部(0304)のデータの書き込みが、第一クロス読出部(0303)のデータの読み出しを追い越す(第クロス読出部がデータを読み出していない記憶素子に対して、次のデータを書き込む)ことはない。なお、その後、第一書込部(0304)が書き込み終えたデータを、第一クロス読出部(0303)がクロス読み出しすることとなる。よって、データの書き込みと読み出しをタイムロスなく行うためには、第一クロス読出部(0303)のデータ読み出しスピードと、第一書込部(0304)のデータ書き込みスピードは同じに設定することが望ましい。
<<<データの書き込み開始タイミング>>>
Here, the speed at which the first writing unit (0304) writes data is configured to be the same as or slower than the speed at which the first cross reading unit (0303) reads data. With this configuration, the data writing of the first writing unit (0304) overtakes the data reading of the first cross reading unit (0303) (to the storage element from which the first cross reading unit has not read the data). On the other hand, the next data is not written). After that, the first cross reading unit (0303) cross-reads the data written by the first writing unit (0304). Therefore, in order to perform data writing and reading without time loss, it is desirable to set the data reading speed of the first cross reading unit (0303) and the data writing speed of the first writing unit (0304) to be the same.
<<< Data write start timing >>>

前記のように、第一書込部(0304)は、複数の記憶素子に対して、第一クロス読出部(0303)の読み出しと同じ順番で新たなフレームのデータを書き込む場合、「N」の値により、第一書込部(0304)が新たなフレームのデータの書き込みを開始するタイミングがある程度特定されることとなる。例えば、「終了記憶素子から3行列相当以内に位置する読出軌跡上の記憶素子」に対して書き込むように設定した場合(N=3と設定)、図6(A)から(C)に示すような、N=1、N=2、N=3のいずれかの状態において、新たなフレームのデータの書き込みを開始することとなる(図6は、書き込んだデータを実線で、データの読出軌跡を点線矢印で示している。)。また、「終了記憶素子から1行列相当以内に位置する読出軌跡上の記憶素子」(N=1と設定)に対して書き込むように設定した場合、図6(A)に示すような、N=1の状態において、新たなフレームのデータの書き込みを開始することとなる。なお、図6(A)から(C)は、N=1、N=2、N=3の状態の一例を示しているものであり、それぞれ、その列の読み出しを開始した時から、その列の読み出しを終了するまでの時間幅がある。すなわち、N=3と設定した場合は、第一書込部(0304)は、第一クロス読出部(0303)が1列目のデータの読み出しを開始してから、3列目のデータの読み出しを終了するまでの間に次のフレームのデータの書き込みを開始する。また、N=1と設定した場合は、第一書込部(0304)は、第一クロス読出部(0303)が1列目のデータの読み出しを開始してから、1列目のデータの読み出しを終了するまでの間に次のフレームのデータの書き込みを開始する。なお、この時間的範囲内においてどのタイミングで書き込みを開始するかは任意の設計事項である。   As described above, when the first writing unit (0304) writes data of a new frame to a plurality of storage elements in the same order as the reading of the first cross reading unit (0303), “N” The value specifies the timing at which the first writing unit (0304) starts writing data of a new frame to some extent. For example, when writing is set to “a storage element on a reading locus located within 3 matrixes from the end storage element” (N = 3 is set), as shown in FIGS. In any of N = 1, N = 2, and N = 3, the writing of data of a new frame is started (FIG. 6 shows the written data with a solid line and the data reading trajectory. (Indicated by dotted arrows). In addition, when writing is set to “a storage element on a read locus located within one matrix from the end storage element” (N = 1 is set), N = In the state 1, writing of data of a new frame is started. FIGS. 6A to 6C show an example of a state where N = 1, N = 2, and N = 3, and the column is read from the start of reading the column. There is a time width until the reading of is completed. That is, when N = 3 is set, the first writing unit (0304) reads the data in the third column after the first cross reading unit (0303) starts reading the data in the first column. The writing of the data of the next frame is started before ending. When N = 1 is set, the first writing unit (0304) reads the first column data after the first cross reading unit (0303) starts reading the first column data. The writing of the data of the next frame is started before ending. Note that the timing at which writing is started within this time range is an arbitrary design matter.

ここで、「N=1」と設定した場合、第一書込部(0304)は、図6(A)のように、第一クロス読出部(0303)が1列目の記憶素子の読み出しを行っている間に、次のフレームのデータの書き込みを開始することとなる。すなわち、「N=1」と設定することで、データの読み出しと、次のフレームのデータの書き込みの間のタイムロスを少なくすることができる。なお、「N=1」と設定した場合にも、第一クロス読出部(0303)が1列目の記憶素子の読み出しを行っている間のどのタイミングで書き込みを開始するかは任意の設計事項である。図7(A)のように、1列目の読み出しを開始してすぐのタイミングから、次のデータの書き込みを開始するようにしてもよいし、図7(B)のように、1列目の読み出しを終了するタイミングから、次のデータの書き込みを開始するようにしてもよい。図7(A)のように、1列目の読み出しを開始してすぐのタイミングから、次のデータの書き込みを開始するように設定した場合、よりタイムロスが少なくなる。   Here, when “N = 1” is set, the first writing unit (0304) causes the first cross reading unit (0303) to read the memory elements in the first column as shown in FIG. While this is in progress, the writing of data for the next frame is started. That is, by setting “N = 1”, it is possible to reduce the time loss between data reading and data writing of the next frame. Even when “N = 1” is set, it is an arbitrary design matter at which timing the first cross reading unit (0303) starts writing while reading the memory elements in the first column. It is. As shown in FIG. 7A, the writing of the next data may be started immediately after the start of reading out of the first column, or as shown in FIG. 7B. The writing of the next data may be started from the timing when the reading of the data is finished. As shown in FIG. 7A, when it is set to start writing the next data from the timing immediately after the start of reading of the first column, the time loss is further reduced.

なお、前記のように「N=1」と設定できるのは、複数の記憶素子からなるメモリが、同一の行、及び/又は、同一の列に存する記憶素子に対して、同時(同一クロック内)にデータの書き込みと読み出しを行えるよう構成されている場合である。そこで、複数の記憶素子からなるメモリが、前記のように構成されていない場合には、Nを2以上の値に設定し、かつ、同じ行、及び/又は、同じ列の記憶素子に対して、データの読み出しと、データの書き込みが行われることがないように、第一書込部(0304)の書き込み開始タイミングを定める必要がある。理想的には、「N=2」と設定し、第一クロス読出部(0303)が、2行目の記憶素子からデータを読み出すのと同じタイミング(同一クロック)で、第一書込部(0304)は次のフレームのデータの書き込みを開始するよう設定するのが望ましい。   It should be noted that “N = 1” can be set as described above because the memory composed of a plurality of storage elements is simultaneously (within the same clock) for the storage elements in the same row and / or the same column. ) Is configured to be able to write and read data. Therefore, when a memory composed of a plurality of memory elements is not configured as described above, N is set to a value of 2 or more and the memory elements in the same row and / or the same column are set. It is necessary to determine the writing start timing of the first writing unit (0304) so that data reading and data writing are not performed. Ideally, “N = 2” is set, and at the same timing (same clock) that the first cross reading unit (0303) reads data from the memory elements in the second row, the first writing unit ( 0304) is preferably set to start writing data of the next frame.

前記は、第一書込部(0304)が、終了記憶素子から「N列」相当以内に位置する読出軌跡上の記憶素子に対して、新たなフレームのデータを書き込む構成について説明したが、終了記憶素子から「N行」相当以内に位置する読出軌跡上の記憶素子に対して、新たなフレームのデータを書き込む構成についても同様である。よって、ここでの詳細な説明は省略する。   The above describes the configuration in which the first writing unit (0304) writes the data of a new frame to the storage element on the read locus located within “N columns” from the end storage element. The same applies to a configuration in which data of a new frame is written to a storage element on a read locus located within “N rows” or less from the storage element. Therefore, detailed description here is omitted.

前記のようにして第一書込部(0304)が書き込んだデータは、第一クロス読出部(0303)が、書き込みに対してクロスに読み出すこととなる。そして、第一クロス読出部(0303)がデータを読み出した後の読出し軌跡上に、前記と同様の手段で、第一書込部(0304)が次のフレームのデータを書き込んでいく。以降、同様の処理を繰り返す。   The data written by the first writing unit (0304) as described above is read by the first cross reading unit (0303) in a cross with respect to the writing. Then, the first writing unit (0304) writes the data of the next frame on the reading trajectory after the first cross reading unit (0303) reads the data by the same means as described above. Thereafter, the same processing is repeated.

ここで、前記の処理は「インターリーブ」、「デインターリーブ」のいずれについても適用可能である。なお、「デインターリーブ」する際には、「第一初期書込部」(0302)、「第一書込部」(0304)は、当然に、データ送信中に欠落した部分(データ)を識別できるように構成しておき、欠落部分を考慮してデータを書き込むように構成されている。当該機能により、送信中にデータの一部が欠落しても、「デインターリーブ」すると正しい順番にデータを並び変えることが可能となり、元のデータを復元することが可能となる。なお、前記機能は従来技術で実現可能であるので、ここでの詳細な説明は省略する。
<実施形態1の処理の流れ>
Here, the process described above can be applied to both “interleaving” and “deinterleaving”. When “deinterleaving” is performed, the “first initial writing unit” (0302) and the “first writing unit” (0304) naturally identify the missing part (data) during data transmission. It is configured so that data can be written, and data is written in consideration of missing portions. With this function, even if a part of the data is lost during transmission, the data can be rearranged in the correct order by “deinterleaving”, and the original data can be restored. The function can be realized by the prior art, and detailed description thereof is omitted here.
<Processing flow of Embodiment 1>

以下、図8を用いて、本実施形態のクロスインターリーブの処理の一例について説明する。なお、図中、実線は「書き込みを終了したフレームのデータ」、実線矢印は「書き込みを行っているフレームのデータ」、点線矢印は、「読出軌跡」を示している。   Hereinafter, an example of the cross interleaving process according to the present embodiment will be described with reference to FIG. In the drawing, a solid line indicates “data of a frame for which writing has been completed”, a solid line arrow indicates “data of a frame in which writing is performed”, and a dotted line arrow indicates “reading locus”.

まず、図8(A)に示すように、最初のフレームのデータを、縦横同じ長さで、所定のルールに従った順番で、複数の記憶素子(メモリ)に書き込む。この時の書き込みは、行書込みでも列書込みでもよいが、図8(A)においては、行書込みした例を示している。その後、図8(B)に示すように、1フレーム分のデータを書き込み終えると、書き込みの向きとクロスの向きに、データの読み出しを開始する(図では「列読出し」)。そして、読み出し開始から所定時間経過後、図8(C)に示すように、読出軌跡上の記憶素子に対して読み出しと同じ順番で、次のフレームのデータの書き込みを開始する。その後、図8(D)に示すように、データの読み出しと書き込みを同時に進行する。そして、図8(E)に示すように、データの読み出しを終了し、かつ、次のフレーム分のデータの書き込みを終了すると、そのフレームのデータの書き込みの向きとクロスの向きに、データの読み出しを開始する(図では「行読出し」)。そして、読み出し開始から所定時間経過後、図8(F)に示すように、読出軌跡上の記憶素子に対して読み出しと同じ順番で、次のフレームのデータの書き込みを開始する。   First, as shown in FIG. 8A, the data of the first frame is written to a plurality of storage elements (memory) in the same length and width in the order according to a predetermined rule. The writing at this time may be row writing or column writing, but FIG. 8A shows an example of row writing. After that, as shown in FIG. 8B, when data for one frame is written, data reading is started in the direction of writing and the direction of cross (“column reading” in the figure). Then, after a predetermined time has elapsed from the start of reading, as shown in FIG. 8C, the writing of the data of the next frame is started in the same order as the reading to the storage elements on the reading locus. Thereafter, as shown in FIG. 8D, reading and writing of data proceed simultaneously. Then, as shown in FIG. 8E, when the data reading is finished and the writing of data for the next frame is finished, the data reading is performed in the direction of crossing the data writing of the frame. ("Read line" in the figure). Then, after a predetermined time has elapsed from the start of reading, as shown in FIG. 8F, writing of the data of the next frame is started in the same order as the reading to the storage elements on the reading locus.

以降、同様の処理を繰り返すこととなる。
<実施形態1の効果>
Thereafter, the same processing is repeated.
<Effect of Embodiment 1>

本実施形態のクロスインターリーブ生成装置により、従来技術に比べ、余計な処理を要さず、処理時間を大きく増やすことなく、インターリーブまたはデインターリーブを行うのに要するメモリ容量を減らすことができる。
<<実施形態2>>
<実施形態2の概要>
The cross interleave generation device of the present embodiment can reduce the memory capacity required for performing interleaving or deinterleaving without requiring extra processing and greatly increasing the processing time as compared with the prior art.
<< Embodiment 2 >>
<Outline of Embodiment 2>

本実施形態のクロスインターリーブ生成装置は、図10に示すように、1フレーム分のデータを縦横同じ長さに書き込める容量(1002)に、プラス1バンク分の容量(1001)を加えたメモリを利用してインターリーブまたはデインターリーブ行うことを特徴とする。そして、メモリに書き込んだ1フレーム分のデータを読み出すのと同時に、プラス1バンク分のメモリに対して、次のフレームのデータを書き込んでいくことを特徴とする。
<実施形態2の機能的構成>
As shown in FIG. 10, the cross interleave generation device of this embodiment uses a memory in which data for one frame is written in the same length and width (1002) plus a capacity for one bank (1001). And interleaving or deinterleaving. At the same time as reading the data for one frame written in the memory, the data for the next frame is written into the memory for the plus one bank.
<Functional configuration of Embodiment 2>

図9は、本実施形態の放送受信装置の機能ブロックの一例を表す図である。この図にあるように本実施形態の「クロスインターリーブ生成装置」(0900)は、「複数の記憶素子」(0901)と、「第二初期書込部」(0905)と、「第二クロス読出部」(0906)と、「第二書込部」(0907)を有する。   FIG. 9 is a diagram illustrating an example of functional blocks of the broadcast receiving apparatus according to the present embodiment. As shown in this figure, the “cross interleave generating device” (0900) of the present embodiment includes “a plurality of storage elements” (0901), “second initial writing unit” (0905), and “second cross reading”. Part "(0906) and" second writing part "(0907).

以下、「複数の記憶素子」(0901)と、「第二初期書込部」(0905)と、「第二クロス読出部」(0906)と、「第二書込部」(0907)の機能的構成について説明する。
<<複数の記憶素子>>
Hereinafter, the functions of “multiple storage elements” (0901), “second initial writing unit” (0905), “second cross reading unit” (0906), and “second writing unit” (0907) A typical configuration will be described.
<< Multiple storage elements >>

「複数の記憶素子」(0901)は、実施形態1で説明したものとほぼ同様であるので、異なる点のみ説明する。相違点は、複数の記憶素子(0901)からなるメモリが有する容量が異なる。具体的には、実施形態1では、インターリーブまたはデインターリーブする1フレーム分のデータを、縦横同じ長さで書き込むことができるだけのメモリ容量があればよかった。しかし、本実施形態では、図10に示すように、1フレーム分のデータを縦横同じ長さで書き込む容量(1002)プラス1バンク分の容量(1001)を有する。かかる点で異なる。なお、図10のほか、図11のようにプラス1バンク分の容量(1101)を設けてもよい。また、1フレーム分のデータを縦横同じ長さで書き込む容量部分(1002、1102)を、複数のバンクで構成するようにしてもよい。このように構成した場合のメリットについては以下で説明する。
<<第二初期書込部>>
The “plurality of storage elements” (0901) is substantially the same as that described in the first embodiment, and only different points will be described. The difference is that a memory having a plurality of storage elements (0901) has different capacities. Specifically, in the first embodiment, it is only necessary to have a memory capacity that can write data for one frame to be interleaved or deinterleaved in the same length and width. However, in the present embodiment, as shown in FIG. 10, it has a capacity (1002) for writing data for one frame with the same vertical and horizontal length plus a capacity (1001) for one bank. This is different. In addition to FIG. 10, a capacity (1101) for one bank may be provided as shown in FIG. Further, the capacity portion (1002, 1102) in which data for one frame is written in the same length and width may be configured by a plurality of banks. The advantages of such a configuration will be described below.
<< Second initial writing part >>

「第二初期書込部」(0905)は、複数の記憶素子からなる1つのメモリに、インターリーブまたはデインターリーブする最初の1フレーム分のデータを、縦横同じ長さで書き込むよう構成されている。その構成については、実施形態1で説明した第一初期書込部と同様であるので、ここでの詳細な説明は省略する。
<<第二クロス読出部>>
The “second initial writing unit” (0905) is configured to write the data of the first frame to be interleaved or deinterleaved into one memory composed of a plurality of storage elements with the same length in the vertical and horizontal directions. Since the configuration is the same as that of the first initial writing unit described in the first embodiment, a detailed description thereof is omitted here.
<< Second cross readout section >>

「第二クロス読出部」(0906)は、第二初期書込部(0905)、または、以下で説明する第二書込部(0907)が、行列配置された複数の記憶素子に書き込んだ1フレーム分のデータを、書き込んだ向きに対してクロスの向きにデータを読み出すよう構成されている。詳細については、実施形態1で説明した第一クロス読出部と同様であるので、ここでの詳細な説明は省略する。
<<第二書込部>>
<<<データを書き込むルール>>>
The “second cross reading unit” (0906) is written by the second initial writing unit (0905) or the second writing unit (0907) described below into a plurality of memory elements arranged in a matrix. The frame data is read out in a cross direction with respect to the written direction. Details are the same as those of the first cross reading unit described in the first embodiment, and thus detailed description thereof is omitted here.
<< Second writing section >>
<<< Rule for writing data >>>

「第二書込部」(0907)は、読出軌跡上で読み出しが終了した記憶素子からM行相当以上隔離して位置する記憶素子から新規書き込みを行うよう構成されている。なお、「新規書き込み」、「読出軌跡」、「読み出しが終了した記憶素子(終了記憶素子)」、については、実施形態1と同様の概念であるので、ここでの詳細な説明は省略する。ここで、第二書込部(0907)は、前のフレームのデータを書き込まれていない記憶素子から、次のフレームのデータの書き込みを開始する(以下、このような記憶素子が集まった領域を、「未書込領域」という。)。すなわち、「読出軌跡上で読み出しが終了した記憶素子からM行相当以上隔離して位置する記憶素子」の「M」は、未書込領域に位置する記憶素子を特定するための不定数である。   The “second writing unit” (0907) is configured to perform new writing from a storage element located at least M rows away from a storage element that has been read on a read locus. Note that “new writing”, “reading locus”, and “memory element that has been read (end memory element)” have the same concept as in the first embodiment, and thus detailed description thereof is omitted here. Here, the second writing unit (0907) starts writing the data of the next frame from the memory element to which the data of the previous frame has not been written (hereinafter, an area where such memory elements are gathered). , Referred to as “unwritten area”). That is, “M” in “a storage element located at least M rows away from a storage element that has been read on a read locus” is an indefinite number for specifying a storage element located in an unwritten area. .

また、第二書込部(0907)は、同時にデータを読み出している第二クロス読出部(0906)の読み出しと同じ向きで書き込むよう構成されている。さらに、第二書込部(0907)は、第二クロス読出部(0906)のデータ読み出しと同じスピード、または、それより遅いスピードで書き込むよう構成されている。なお、前記した第一書込部と第一クロス読出部との関係と同様の理由で、第二クロス読出部(0906)のデータ読み出しスピードと、第二書込部(0907)のデータ書き込みスピードは同じに設定することが望ましい。   Further, the second writing unit (0907) is configured to write in the same direction as the reading of the second cross reading unit (0906) that is simultaneously reading data. Further, the second writing unit (0907) is configured to write at the same speed as or slower than the data reading of the second cross reading unit (0906). For the same reason as the relationship between the first writing unit and the first cross reading unit, the data reading speed of the second cross reading unit (0906) and the data writing speed of the second writing unit (0907) are described. Should be set the same.

ここで、図11のように書き込まれたデータ(図中、横向き実線で示す)を読み出す場合、第二クロス読出部(0906)は「列読取り」を行う。かかる場合、前記のように構成された第二書込部(0907)は、未書込領域(1101)から「列書込み」を開始することとなる。しかし、図に示すように、未書込領域(1101)には、縦横同じ長さでデータを「列書込み」するための所定の長さがない。そこで、その列の残りのデータは、図12(図中、実線は「書き込みを終了したフレームのデータ」、実線矢印は「書き込みを行っているフレームのデータ」、点線矢印は、「読出軌跡」を示している)に示すように、同じ列の読出軌跡上に位置する記憶素子に対して、第二クロス読出部(0906)がデータを読み出した順に書き込むこととなる(1202)。その後、同様にして、データを書き込んでいく(「1203→1204」など)。この時、第二書込部(0907)のデータを書き込むスピードを前記のように設定することで、データの書き込みが、第二クロス読出部(0906)の読み出しを追い越す(第クロス読出部がデータを読み出していない記憶素子に対して、次のデータを書き込む)ことはない。なお、各列には、縦横同じ長さで書き込むための所定の長さのデータが書き込まれるので、読出し軌跡上には第二書込部(0907)によりデータを書き込まれない記憶素子からなる領域(1205)がうまれる。当該領域は、未書込領域(1206)と同じ容量(1バンク分)である。
<<<データの書き込み開始タイミング>>>
Here, when data written as shown in FIG. 11 (indicated by a horizontal solid line in the figure) is read, the second cross reading unit (0906) performs “column reading”. In such a case, the second writing unit (0907) configured as described above starts “column writing” from the unwritten area (1101). However, as shown in the figure, the unwritten area (1101) does not have a predetermined length for “column writing” data with the same length and width. Therefore, the remaining data in the column are shown in FIG. 12 (in the figure, the solid line is “data of the frame for which writing has been completed”, the solid line arrow is “data of the frame in which writing is performed”, and the dotted line arrow is “reading locus”. As shown in FIG. 5, the second cross reading unit (0906) writes data in the order in which the data is read out to the storage elements located on the reading trajectory in the same column (1202). Thereafter, data is written in the same manner (such as “1203 → 1204”). At this time, by setting the data writing speed of the second writing unit (0907) as described above, the data writing overtakes the reading of the second cross reading unit (0906) (the first cross reading unit receives the data). The next data is not written to a memory element from which no data has been read. In each column, data of a predetermined length for writing in the same length in the vertical and horizontal directions is written, so that an area composed of storage elements in which data is not written by the second writing unit (0907) on the reading locus. (1205) is produced. This area has the same capacity (for one bank) as the unwritten area (1206).
<<< Data write start timing >>>

次に、第二書込部(0907)が書き込みを開始するタイミングとしては、任意の設計事項であるが、第二クロス読出部(0906)が読み出しを開始するのと同時(同一クロック内)に開始するよう定めるのが望ましい。このように設計することで、データの読み出しと書き込みの間のタイムロスをなくすことができる。   Next, the timing at which the second writing unit (0907) starts writing is an arbitrary design matter, but at the same time (within the same clock) as the second cross reading unit (0906) starts reading. It is desirable to establish a start. By designing in this way, time loss between data reading and writing can be eliminated.

なお、1フレーム分のデータを縦横同じ長さで書き込む容量部分(1002、1102)を複数のバンクで構成している場合には、同時にデータの読み出しを行う記憶素子と書き込みを行う記憶素子が常に異なるバンクに位置するようにできる。かかる場合、比較的安価なメモリを利用して、本実施形態の機能を実現することが可能となる。   Note that in the case where a capacity portion (1002, 1102) in which data for one frame is written in the same length and width is composed of a plurality of banks, a memory element that reads data simultaneously and a memory element that writes data are always present. It can be located in a different bank. In such a case, the functions of the present embodiment can be realized using a relatively inexpensive memory.

ここで、前記の処理は「インターリーブ」、「デインターリーブ」のいずれについても適用可能である。なお、「デインターリーブ」する際には、「第二初期書込部」(0905)、「第二書込部」(0907)は、当然に、データ送信中に欠落した部分(データ)を識別できるように構成しておき、欠落部分を考慮してデータを書き込むように構成されている。当該機能により、送信中にデータの一部が欠落しても、「デインターリーブ」すると正しい順番にデータを並び変えることが可能となり、元のデータを復元することが可能となる。なお、前記機能は従来技術で実現可能であるので、ここでの詳細な説明は省略する。
<実施形態2の処理の流れ>
Here, the process described above can be applied to both “interleaving” and “deinterleaving”. When “deinterleaving” is performed, the “second initial writing unit” (0905) and the “second writing unit” (0907) naturally identify the missing part (data) during data transmission. It is configured so that data can be written, and data is written in consideration of missing portions. With this function, even if a part of the data is lost during transmission, the data can be rearranged in the correct order by “deinterleaving”, and the original data can be restored. The function can be realized by the prior art, and detailed description thereof is omitted here.
<Processing flow of Embodiment 2>

以下、図13を用いて、本実施形態のクロスインターリーブの処理の一例について説明する。なお、図中、実線は「書き込みを終了したフレームのデータ」、実線矢印は「書き込みを行っているフレームのデータ」、点線矢印は、「読出軌跡」を示している。   Hereinafter, an example of the cross interleaving process according to the present embodiment will be described with reference to FIG. In the drawing, a solid line indicates “data of a frame for which writing has been completed”, a solid line arrow indicates “data of a frame in which writing is performed”, and a dotted line arrow indicates “reading locus”.

まず、図13(A)に示すように、最初のフレームのデータを、縦横同じ長さでメモリに書き込む。この時の書き込みは、行書込みでも列書込みでもよいが、図13(A)においては、行書込みした例を示している。その後、図13(B)に示すように、1フレーム分のデータを書き込み終えると、書き込みとクロスの向きに、データの読み出しを開始する(図では「列読出し」)。また、読み出し開始と同時(同一クロック内)に、未書込領域の記憶素子から、次のフレームのデータの書き込みを開始する。この時の書き込みの向きは、図に示すように、読み出しと同じ向きである(列書込み)。以降、図13(C)に示すように、データの書き込みと読み出しを同時に進行する。そして、図13(D)に示すように、データの読み出しを終了し、かつ、次のフレームのデータの書き込みを終了すると、そのフレームのデータを書き込んだ向きとクロスの向きに、データの読み出しを開始する(図では「行読出し」)。また、読み出し開始と同時に、未書込領域の記憶素子から、データの読み出しと同じ向きで、次のフレームのデータの書き込みを開始する(図では「行書込み」)。以降、同様にして、図13(E)→(F)→(G)→(H)のよう処理を行う。   First, as shown in FIG. 13A, the data of the first frame is written in the memory with the same length and width. The writing at this time may be row writing or column writing, but FIG. 13A shows an example of row writing. After that, as shown in FIG. 13B, when data for one frame has been written, data reading is started in the direction of writing and cross (“column reading” in the figure). Simultaneously with the start of reading (within the same clock), the writing of the next frame of data from the storage element in the unwritten area is started. The writing direction at this time is the same as the reading direction (column writing) as shown in the figure. Thereafter, as shown in FIG. 13C, data writing and reading proceed simultaneously. Then, as shown in FIG. 13D, when the data reading is finished and the writing of the data of the next frame is finished, the data reading is performed in the direction in which the data of the frame is written and in the cross direction. Start (“row read” in the figure). Simultaneously with the start of reading, data writing of the next frame is started from the storage element in the unwritten area in the same direction as the data reading (“row writing” in the figure). Thereafter, the processing in the same manner as shown in FIG. 13 (E) → (F) → (G) → (H) is performed.

その後も、同様の手段で処理を繰り返すこととなる。
<実施形態2の効果>
Thereafter, the process is repeated by the same means.
<Effect of Embodiment 2>

本実施形態のクロスインターリーブ生成装置により、従来技術に比べ、余計な処理を要さず、処理時間を増やすことなく、インターリーブまたはデインターリーブを行うのに要するメモリ容量を減らすことができる。   The cross interleave generation device of the present embodiment can reduce the memory capacity required for performing interleaving or deinterleaving without requiring extra processing and increasing the processing time as compared with the prior art.

従来のクロスインターリーブを説明する概念図Conceptual diagram explaining conventional cross-interleaving 実施形態1のクロスインターリーブを説明する概念図1Conceptual diagram 1 illustrating cross-interleaving according to the first embodiment 実施形態1の機能ブロック図Functional block diagram of Embodiment 1 実施形態1のクロスインターリーブを説明する概念図2FIG. 2 is a conceptual diagram illustrating cross interleaving according to the first embodiment. 実施形態1のクロスインターリーブを説明する概念図3Conceptual diagram 3 for explaining the cross interleaving according to the first embodiment. 実施形態1のクロスインターリーブを説明する概念図4FIG. 4 is a conceptual diagram illustrating cross interleaving according to the first embodiment. 実施形態1のクロスインターリーブを説明する概念図5FIG. 5 is a conceptual diagram illustrating cross interleaving according to the first embodiment. 実施形態1のクロスインターリーブの処理の流れを示す概念図FIG. 3 is a conceptual diagram illustrating a flow of cross-interleave processing according to the first embodiment. 実施形態2の機能ブロック図Functional block diagram of Embodiment 2 実施形態2のクロスインターリーブを説明する概念図1Conceptual diagram 1 illustrating cross-interleaving according to the second embodiment 実施形態2のクロスインターリーブを説明する概念図2Conceptual diagram 2 illustrating cross-interleaving according to the second embodiment 実施形態2のクロスインターリーブを説明する概念図3Conceptual diagram 3 illustrating cross-interleaving according to the second embodiment 実施形態2のクロスインターリーブの処理の流れを示す概念図Schematic diagram showing the flow of cross-interleave processing according to the second embodiment.

符号の説明Explanation of symbols

0300 クロスインターリーブ生成装置
0301 複数の記憶素子
0302 第一初期書込部
0303 第一クロス読出部
0304 第一書込部
0300 Cross interleave generation device 0301 Multiple storage elements 0302 First initial writing unit 0303 First cross reading unit 0304 First writing unit

Claims (4)

行列配置された複数の記憶素子と、
第一初期書込部と、
書込に対してクロス読出をする第一クロス読出部と、
読出軌跡上で読出が終了した記憶素子からN(1以上の整数)行列相当以内に位置する読出軌跡上の記憶素子に対して新規書込みを行う第一書込部と、
を有するクロスインターリーブ生成装置。
A plurality of storage elements arranged in a matrix;
A first initial writing unit;
A first cross reading unit for performing cross reading for writing;
A first writing unit that performs a new write to a memory element on a read locus located within an N (an integer greater than or equal to 1) matrix from a memory element that has been read on the read locus;
A cross-interleave generating device having:
Nは1である請求項1に記載のクロスインターリーブ生成装置。   The cross interleave generation device according to claim 1, wherein N is 1. 行列配置された複数の記憶素子と、
第二初期書込部と、
書込に対してクロス読出をする第二クロス読出部と、
読出軌跡上で読出が終了した記憶素子からM(1以上の整数)行相当以上離隔して位置する記憶素子から新規書込みを行う第二書込部と、
を有するクロスインターリーブ生成装置。
A plurality of storage elements arranged in a matrix;
A second initial writing unit;
A second cross reading section for performing cross reading for writing;
A second writing unit that performs new writing from a storage element that is located at least M (an integer greater than or equal to 1) rows away from the storage element that has been read on the read locus;
A cross-interleave generating device having:
Mは1バンクの行幅相当分以上の値である請求項3に記載のクロスインターリーブ生成装置。   4. The cross interleave generation device according to claim 3, wherein M is a value equal to or greater than a row width equivalent of one bank.
JP2008083992A 2008-03-27 2008-03-27 Efficiency promotion of cross interleave Withdrawn JP2009239684A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008083992A JP2009239684A (en) 2008-03-27 2008-03-27 Efficiency promotion of cross interleave

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008083992A JP2009239684A (en) 2008-03-27 2008-03-27 Efficiency promotion of cross interleave

Publications (1)

Publication Number Publication Date
JP2009239684A true JP2009239684A (en) 2009-10-15

Family

ID=41253097

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008083992A Withdrawn JP2009239684A (en) 2008-03-27 2008-03-27 Efficiency promotion of cross interleave

Country Status (1)

Country Link
JP (1) JP2009239684A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011028795A (en) * 2009-07-22 2011-02-10 Sony Corp Error correcting apparatus, method of controlling memory of the same, and optical disk recording and playback apparatus
US10223763B2 (en) 2015-12-17 2019-03-05 Samsung Electronics Co., Ltd. Apparatus and method for performing fourier transform

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011028795A (en) * 2009-07-22 2011-02-10 Sony Corp Error correcting apparatus, method of controlling memory of the same, and optical disk recording and playback apparatus
US10223763B2 (en) 2015-12-17 2019-03-05 Samsung Electronics Co., Ltd. Apparatus and method for performing fourier transform

Similar Documents

Publication Publication Date Title
JP3863252B2 (en) Error correction method, error correction device, data reading device, and data mapping method
US7738325B2 (en) Reading and writing methods and apparatus for Blu-Rays discs
JP2017224379A (en) Nand flash memory having internal ecc processing and method of operation thereof
JP5575310B2 (en) Tile-based interleaving and deinterleaving for digital signal processing
JP2008532140A (en) Memory device and method having multiple internal data buses and memory bank interleaving
JP2008090419A (en) Integrated circuit device
US7352622B2 (en) Data arrangement and data arranging method in storage device
JP2009239684A (en) Efficiency promotion of cross interleave
JP2008003857A (en) Method and program for expanding capacity of storage device, and storage device
JP2004246754A (en) Semiconductor memory and its controller
US7774676B2 (en) Methods and apparatuses for generating error correction codes
JP2007233838A (en) Control method for memory system
JP4582078B2 (en) Memory controller, flash memory system, and flash memory control method
JP2012208543A (en) Control device, storage device, and reading control method
JP5419653B2 (en) Recording apparatus and recording method
JP2008052622A (en) Memory system
WO2024098687A1 (en) Interleaved data processing method and apparatus, storage medium and electronic device
JP4583981B2 (en) Image processing device
JP2010277352A (en) Memory system
JP2006011593A (en) Memory controller
JP2008269348A (en) Memory control device and memory control method
JP2016154031A (en) Solid state drive (ssd) device
KR100390120B1 (en) Signal processor
JP5852090B2 (en) Instruction processing apparatus and instruction processing method thereof
JPH09288618A (en) Storage device and memory access control method therefor

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: 20110607