JP2005236946A - Accessing method to dram - Google Patents

Accessing method to dram Download PDF

Info

Publication number
JP2005236946A
JP2005236946A JP2004226872A JP2004226872A JP2005236946A JP 2005236946 A JP2005236946 A JP 2005236946A JP 2004226872 A JP2004226872 A JP 2004226872A JP 2004226872 A JP2004226872 A JP 2004226872A JP 2005236946 A JP2005236946 A JP 2005236946A
Authority
JP
Japan
Prior art keywords
bank
image data
stored
data
dram
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
JP2004226872A
Other languages
Japanese (ja)
Inventor
Akira Okamoto
彰 岡本
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.)
MegaChips Corp
Original Assignee
MegaChips LSI Solutions Inc
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 MegaChips LSI Solutions Inc filed Critical MegaChips LSI Solutions Inc
Priority to JP2004226872A priority Critical patent/JP2005236946A/en
Publication of JP2005236946A publication Critical patent/JP2005236946A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Color Television Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To speedily perform access processing with respect to a DRAM in MPEG processing. <P>SOLUTION: A two-dimensional image is input in order of raster, and these image data are stored in a 16-bit SDRAM performing changeovers between a bank 0 and a bank 1. Concretely, the data are stored performing changeovers between the bank 0 and the bank 1 by every 8 pixel. In this case, data in the direction of the row of the two-dimensional image are stored in the same bank. When a 32-bit SDRAM is used, data are stored performing changeovers between the bank 0 and the bank 1 by every 16 pixel. In this case, storage is performed concerning the data in the row direction of the two-dimansional data so that the bank 0 and the bank 1 alternate. <P>COPYRIGHT: (C)2005,JPO&NCIPI

Description

本発明は、MPEG処理におけるDRAMアクセス方法に関する。   The present invention relates to a DRAM access method in MPEG processing.

MPEG(Moving Picture Expert Group)による圧縮技術においては、2次元画像の中の、縦16ピクセル×横16ピクセルからなるマクロブロック単位に処理が行われる。したがって、メモリに格納された画像データに対しては、このマクロブロック単位の画像データに対して高速に処理できることが望ましい。   In a compression technique based on MPEG (Moving Picture Expert Group), processing is performed in units of macroblocks of 16 pixels in the vertical direction and 16 pixels in the horizontal direction in the two-dimensional image. Therefore, it is desirable that the image data stored in the memory can be processed at high speed with respect to the image data in units of macroblocks.

しかし、CCD等の画像入力装置からラスタ順で転送された画像データは、一般には、2次元画像イメージでメモリに格納される。つまり、マクロブロック単位の画像は、そのまま2次元画像イメージとして、メモリ内の複数行の記憶領域に格納されることになる。このため、マクロブロック単位の画像データを読み出すためには、複数行の記憶領域にアクセスする必要がある。   However, image data transferred in raster order from an image input device such as a CCD is generally stored in a memory as a two-dimensional image. That is, an image in units of macroblocks is stored as it is as a two-dimensional image image in a plurality of rows of storage areas in the memory. For this reason, in order to read image data in units of macroblocks, it is necessary to access a plurality of rows of storage areas.

ここで、メモリとしてSRAM(Static Random Access Memory)を使用した場合には、複数行の記憶領域に対しても高速にアクセス可能であるが、SRAMはコストが高いという問題がある。そこで、コストの面から、DRAM(Dynamic Random Access Memory)が採用されることとなるが、行アドレスを切り替えて、DRAMの複数行の記憶領域にアクセスする処理は、処理速度が遅いという問題がある。   Here, when an SRAM (Static Random Access Memory) is used as a memory, it is possible to access a plurality of rows of storage areas at a high speed, but there is a problem that the SRAM is expensive. Therefore, DRAM (Dynamic Random Access Memory) will be adopted from the viewpoint of cost, but the processing of switching the row address and accessing the storage area of a plurality of rows of the DRAM has a problem that the processing speed is slow. .

そこで、マクロブロック単位の画像データに対して高速にアクセスするための技術が下記特許文献1において開示されている。   Therefore, a technique for accessing macroblock unit image data at high speed is disclosed in Patent Document 1 below.

特開平10−162131号公報JP-A-10-162131 特開2003−186740号公報JP 2003-186740 A

上記特許文献1では、ラスタ順で入力される画像データをメモリに格納する際に、あらかじめ画像データを並べ替え、マクロブロック単位の画像データが、メモリの同一行に格納されるようにしたものである。   In Patent Document 1, when image data input in raster order is stored in a memory, the image data is rearranged in advance so that image data in units of macroblocks is stored in the same row of the memory. is there.

しかしながら、上記特許文献1に開示された方法では、メモリに対する書き込み制御が複雑になるという問題がある。また、上記特許文献2では、メモリの2つのバンクに交互にアクセスし、DRAMへのプリチャージによるオーバヘッドを隠蔽する技術が開示されているが、マクロブロック単位の画像データに対するアクセスを考慮したものではなく、マクロブロック単位での画像アクセスを高速化させることはできない。   However, the method disclosed in Patent Document 1 has a problem that the write control for the memory is complicated. Further, the above-mentioned Patent Document 2 discloses a technique for alternately accessing two banks of a memory and concealing overhead due to precharge to a DRAM, but in consideration of access to image data in units of macroblocks. Therefore, it is not possible to speed up image access in units of macroblocks.

そこで、本発明は前記問題点に鑑み、DRAMに格納されたマクロブロックの画像データに対して高速にアクセスする効率的な方法を提供することを目的とする。   In view of the above problems, an object of the present invention is to provide an efficient method for accessing macroblock image data stored in a DRAM at high speed.

上記課題を解決するため、請求項1記載の発明は、第1バンクおよび第2バンクを備えるDRAMにアクセスする方法であって、MPEGの処理対象である2次元画像をラスタ順で入力する第1工程と、前記2次元画像の行方向のデータについては8ピクセルごとに前記第1バンクおよび前記第2バンクを交互に切り替えながら前記DRAMに格納し、前記2次元画像の列方向のデータについては前記DRAMの同一バンクに格納する第2工程と、を備えることを特徴とする。   In order to solve the above-mentioned problem, the invention described in claim 1 is a method for accessing a DRAM having a first bank and a second bank, wherein a first two-dimensional image to be processed by MPEG is input in raster order. Step and data in the row direction of the two-dimensional image are stored in the DRAM while alternately switching the first bank and the second bank every 8 pixels, and the data in the column direction of the two-dimensional image is described above. And a second step of storing in the same bank of the DRAM.

請求項2記載の発明は、請求項1に記載のDRAMアクセス方法であって、さらに、前記第2工程によって格納された画像データに対して前記第1バンクと前記第2バンクを交互に切り替えながら8ピクセル単位でアクセスすることにより、縦16ピクセル×横16ピクセルのMPEG処理用のマクロブロックにアクセスする第3工程、を備えることを特徴とする。   A second aspect of the present invention is the DRAM access method according to the first aspect, wherein the first bank and the second bank are alternately switched with respect to the image data stored in the second step. A third step of accessing a macroblock for MPEG processing of 16 pixels vertically by 16 pixels horizontally by accessing in units of 8 pixels is provided.

請求項3記載の発明は、請求項2に記載のDRAMアクセス方法であって、前記第3工程は、前記第1バンクに格納されたマクロブロックにおける第m行目(mは0以上14以下の整数)の8ピクセルの画像データにアクセスした後、前記第2バンクに格納されたラスタ順で次の8ピクセルの画像データにアクセスし、次に、前記第1バンクに格納されたマクロブロックにおける第m+1行目の8ピクセルの画像データにアクセスした後、前記第2バンクに格納されたラスタ順で次の8ピクセルの画像データにアクセスする工程、を含むことを特徴とする。   According to a third aspect of the present invention, in the DRAM access method according to the second aspect, in the third step, the mth row (m is 0 to 14) in the macroblock stored in the first bank. Integer) 8-pixel image data, then access the next 8-pixel image data in raster order stored in the second bank, and then access the second macroblock stored in the first bank. and accessing the next 8-pixel image data in the raster order stored in the second bank after accessing the 8-pixel image data in the (m + 1) th row.

請求項4記載の発明は、請求項1に記載のDRAMアクセス方法であって、前記第2工程は、前記2次元画像の第n行目(nは0以上の整数)の画像データを、前記第1バンクおよび前記第2バンクの第n行目の記憶領域に格納し、第n+1行目の画像データを、前記第1バンクおよび前記第2バンクの第n+1行目の記憶領域に格納する工程、を含むことを特徴とする。   According to a fourth aspect of the present invention, in the DRAM access method according to the first aspect, in the second step, the image data of the nth row (n is an integer of 0 or more) of the two-dimensional image is Storing in the storage area of the nth row of the first bank and the second bank, and storing the image data of the (n + 1) th row in the storage area of the (n + 1) th row of the first bank and the second bank. , Including.

請求項5記載の発明は、請求項4に記載のDRAMアクセス方法であって、前記第3工程は、前記第1バンクの第n行目に格納されたマクロブロックにおける第m行目(mは0以上14以下の整数)の8ピクセルの画像データにアクセスした後、前記第2バンクの第n行目に格納されたラスタ順で次の8ピクセルの画像データにアクセスし、次に、前記第1バンクの第n+1行目に格納されたマクロブロックにおける第m+1行目の8ピクセルの画像データにアクセスした後、前記第2バンクの第n+1行目に格納されたラスタ順で次の8ピクセルの画像データにアクセスする工程、を含むことを特徴とする。   According to a fifth aspect of the present invention, in the DRAM access method according to the fourth aspect, in the third step, in the macroblock stored in the nth row of the first bank, the mth row (m is (E.g., an integer from 0 to 14), the next 8-pixel image data is accessed in the raster order stored in the nth row of the second bank, and then the second After accessing the image data of the 8th pixel of the (m + 1) th row in the macro block stored in the (n + 1) th row of the 1 bank, the next 8 pixels in the raster order stored in the (n + 1) th row of the 2nd bank are accessed. Accessing image data.

請求項6記載の発明は、請求項1ないし請求項5のいずれかに記載のDRAMアクセス方法であって、前記DRAMは1アドレスに16ビットのデータを格納可能としており、前記2次元画像の各ピクセルは8ビットの情報を備えることにより、前記DRAMの前記第1および第2バンクに対しては、それぞれ同一行の連続する4つのアドレスに対して8ピクセルの画像データが格納されることを特徴とする。   A sixth aspect of the present invention is the DRAM access method according to any one of the first to fifth aspects, wherein the DRAM is capable of storing 16-bit data at one address, and each of the two-dimensional images is stored. Each pixel includes 8-bit information, so that image data of 8 pixels is stored for each of four consecutive addresses in the same row for the first and second banks of the DRAM. And

請求項7記載の発明は、請求項6に記載のDRAMアクセス方法であって、前記DRAMに対してラスタ順で連続する8ピクセルの画像データが、バースト転送されることを特徴とする。   A seventh aspect of the present invention is the DRAM access method according to the sixth aspect, wherein image data of 8 pixels continuous in a raster order is burst-transferred to the DRAM.

請求項8記載の発明は、請求項6または請求項7に記載のDRAMアクセス方法であって、前記DRAMに格納される画像データが、Y(輝度)データの場合には、前記DRAMの1つのアドレスに対して2ピクセル分のYデータが格納されることを特徴とする。   The invention according to claim 8 is the DRAM access method according to claim 6 or 7, wherein when the image data stored in the DRAM is Y (luminance) data, one of the DRAMs is stored. Y data for 2 pixels is stored for the address.

請求項9記載の発明は、請求項6ないし請求項8のいずれかに記載のDRAMアクセス方法であって、前記DRAMに格納される画像データが、U,Y(色差)データの場合には、前記DRAMの1つのアドレスに対して1組のUデータとVデータが格納されることを特徴とする。   The invention according to claim 9 is the DRAM access method according to any one of claims 6 to 8, wherein the image data stored in the DRAM is U, Y (color difference) data. One set of U data and V data is stored for one address of the DRAM.

請求項10記載の発明は、第1バンクおよび第2バンクを備えるDRAMにアクセスする方法であって、MPEGの処理対象である2次元画像をラスタ順で入力する第1工程と、前記2次元画像の行方向のデータについては16ピクセルごとに前記第1バンクおよび前記第2バンクを交互に切り替えながら前記DRAMに格納し、前記2次元画像の列方向のデータについては1行ごとに前記第1バンクおよび前記第2バンクが交互となるように前記DRAMに格納する第2工程と、を備えることを特徴とする。   The invention according to claim 10 is a method for accessing a DRAM having a first bank and a second bank, wherein a first step of inputting a two-dimensional image to be processed in MPEG in a raster order, and the two-dimensional image Is stored in the DRAM while alternately switching the first bank and the second bank every 16 pixels, and the data in the column direction of the two-dimensional image is stored in the first bank every row. And a second step of storing in the DRAM so that the second banks alternate.

請求項11記載の発明は、請求項10に記載のDRAMアクセス方法であって、さらに、前記第2工程によって格納された画像データに対して前記第1バンクと前記第2バンクを交互に切り替えながら16ピクセル単位でアクセスすることにより、縦16ピクセル×横16ピクセルのMPEG処理用のマクロブロックにアクセスする第3工程、を備えることを特徴とする。   The invention according to claim 11 is the DRAM access method according to claim 10, wherein the first bank and the second bank are alternately switched with respect to the image data stored in the second step. A third step of accessing a macroblock for MPEG processing of 16 pixels vertically × 16 pixels horizontally by accessing in units of 16 pixels is provided.

請求項12記載の発明は、請求項11に記載のDRAMアクセス方法であって、前記第3工程は、前記第1バンクに格納されたマクロブロックにおける第m行目(mは0以上14以下の整数)の16ピクセルの画像データにアクセスした後、次に、前記第2バンクに格納されたマクロブロックにおける第m+1行目の16ピクセルの画像データにアクセスする工程、を含むことを特徴とする。   A twelfth aspect of the present invention is the DRAM access method according to the eleventh aspect, wherein the third step includes the m-th row (m is 0 or more and 14 or less) in the macroblock stored in the first bank. After accessing the 16-pixel image data of (integer), the step of accessing the 16-pixel image data of the (m + 1) th row in the macroblock stored in the second bank is then included.

請求項13記載の発明は、請求項11または請求項12に記載のDRAMアクセス方法であって、前記第3工程は、2次元画像上において隣り合うマクロブロックに対して連続してアクセスする際には、隣り合うマクロブロックについて、列方向のアクセス順序を逆方向とすることを特徴とする。   A thirteenth aspect of the present invention is the DRAM access method according to the eleventh or twelfth aspect, wherein the third step is performed when successive macroblocks adjacent to each other on a two-dimensional image are accessed. Is characterized in that the access order in the column direction is reversed for adjacent macroblocks.

請求項14記載の発明は、請求項12に記載のDRAMアクセス方法であって、前記第3工程は、請求項2に記載の工程によりマクロブロックに対してアクセスした後、そのマクロブロックに隣り合うマクロブロックに対して連続してアクセスする際には、前記第1バンクに格納されたマクロブロックにおける第k行目(kは1以上15以下の整数)の16ピクセルの画像データにアクセスした後、次に、前記第2バンクに格納されたマクロブロックにおける第k−1行目の16ピクセルの画像データにアクセスする工程、を含むことを特徴とする。   A fourteenth aspect of the present invention is the DRAM access method according to the twelfth aspect, wherein the third step is adjacent to the macroblock after the macroblock is accessed by the step according to the second aspect. When accessing the macroblock continuously, after accessing the 16th pixel image data of the kth row (k is an integer of 1 to 15) in the macroblock stored in the first bank, Next, the method includes a step of accessing image data of 16 pixels in the (k−1) th row in the macro block stored in the second bank.

請求項15記載の発明は、請求項10ないし請求項14のいずれかに記載のDRAMアクセス方法であって、前記DRAMは1アドレスに32ビットのデータを格納可能としており、前記2次元画像の各ピクセルは8ビットの情報を備えることにより、前記DRAMの前記第1および第2バンクに対しては、それぞれ同一行の連続する4つのアドレスに対して16ピクセルの画像データが格納されることを特徴とする。   A fifteenth aspect of the present invention is the DRAM access method according to any one of the tenth to fourteenth aspects, wherein the DRAM can store 32-bit data at one address, and each of the two-dimensional images Each pixel includes 8-bit information, so that the first and second banks of the DRAM store image data of 16 pixels at four consecutive addresses in the same row. And

請求項16記載の発明は、請求項10ないし請求項14のいずれかに記載のDRAMアクセス方法であって、前記DRAMは1アドレスに16ビットのデータを格納可能としており、前記2次元画像の各ピクセルは8ビットの情報を備えることにより、前記DRAMの前記第1および第2バンクに対しては、それぞれ同一行の連続する8つのアドレスに対して16ピクセルの画像データが格納されることを特徴とする。   A sixteenth aspect of the present invention is the DRAM access method according to any one of the tenth to fourteenth aspects, wherein the DRAM is capable of storing 16-bit data at one address, and each of the two-dimensional images is stored. Each pixel includes 8-bit information, so that the first and second banks of the DRAM store 16-pixel image data for eight consecutive addresses in the same row. And

請求項17記載の発明は、請求項15または請求項16に記載のDRAMアクセス方法であって、前記DRAMに対してラスタ順で連続する16ピクセルの画像データが、バースト転送されることを特徴とする。   The invention according to claim 17 is the DRAM access method according to claim 15 or 16, characterized in that image data of 16 pixels continuous in raster order is burst-transferred to the DRAM. To do.

請求項18記載の発明は、請求項15に記載のDRAMアクセス方法であって、前記DRAMに格納される画像データが、Y(輝度)データの場合には、前記DRAMの1つのアドレスに対して4ピクセル分のYデータが格納されることを特徴とする。   The invention according to claim 18 is the DRAM access method according to claim 15, wherein the image data stored in the DRAM is Y (luminance) data with respect to one address of the DRAM. Y data for four pixels is stored.

請求項19記載の発明は、請求項15または請求項18に記載のDRAMアクセス方法であって、前記DRAMに格納される画像データが、U,Y(色差)データの場合には、前記DRAMの1つのアドレスに対してUデータとVデータの組が2組格納されることを特徴とする。   The invention described in claim 19 is the DRAM access method according to claim 15 or 18, wherein the image data stored in the DRAM is U, Y (color difference) data. Two sets of U data and V data are stored for one address.

請求項20記載の発明は、請求項16に記載のDRAMアクセス方法であって、前記DRAMに格納される画像データが、Y(輝度)データの場合には、前記DRAMの1つのアドレスに対して2ピクセル分のYデータが格納されることを特徴とする。   The invention according to claim 20 is the DRAM access method according to claim 16, wherein the image data stored in the DRAM is Y (luminance) data with respect to one address of the DRAM. Y data for two pixels is stored.

請求項21記載の発明は、請求項16または請求項20に記載のDRAMアクセス方法であって、前記DRAMに格納される画像データが、U,Y(色差)データの場合には、前記DRAMの1つのアドレスに対して1組のUデータとVデータとが格納されることを特徴とする。   The invention according to claim 21 is the DRAM access method according to claim 16 or claim 20, wherein the image data stored in the DRAM is U, Y (color difference) data. One set of U data and V data is stored for one address.

本発明によれば、ラスタ順の2次元画像データを、第1バンクと第2バンクを切り替えながらDRAMに格納するので、格納されている画像データについて異なる行の画像データに連続的にアクセスが必要となる場合でも、一方のバンクにアクセスしている間に他方のバンクの行アドレスを変更することが可能となり、アクセス効率が向上する。   According to the present invention, since the two-dimensional image data in the raster order is stored in the DRAM while switching between the first bank and the second bank, it is necessary to continuously access the image data in different rows for the stored image data. Even in this case, it becomes possible to change the row address of the other bank while accessing one bank, and the access efficiency is improved.

また、MPEG処理におけるマクロブロック単位で画像データにアクセスする場合には、第1バンクと第2バンクを切り替えつつ効率的にDRAMにアクセスすることができるので、MPEG処理の高速化を図ることが可能である。   Further, when accessing image data in units of macroblocks in MPEG processing, the DRAM can be accessed efficiently while switching between the first bank and the second bank, so that the speed of MPEG processing can be increased. It is.

{第1の実施の形態}
以下、図面を参照しつつ本発明の第1の実施の形態について説明する。図1は、画像処理装置の全体概略図である。画像処理装置は、例えば、CCD等のイメージセンサからなる入力部1、入力部1が出力した画像データを格納するSDRAM(Synchronous DRAM)4、SDRAM4に格納された画像データに対してMPEG規格に基づく圧縮処理を行うMPEG処理部2、入力部1が出力した画像データをSDRAM4に格納する際、およびMPEG処理部2がSDRAM4に格納されている画像データにアクセスする際に、SDRAM4に対するアクセス制御を行うメモリ制御部3とを備えている。
{First embodiment}
The first embodiment of the present invention will be described below with reference to the drawings. FIG. 1 is an overall schematic diagram of an image processing apparatus. The image processing apparatus is based on, for example, an input unit 1 composed of an image sensor such as a CCD, an SDRAM (Synchronous DRAM) 4 storing image data output from the input unit 1, and image data stored in the SDRAM 4 based on the MPEG standard. When the image processing unit 2 that performs compression processing and the image data output from the input unit 1 are stored in the SDRAM 4 and when the MPEG processing unit 2 accesses the image data stored in the SDRAM 4, access control to the SDRAM 4 is performed. And a memory control unit 3.

ここで、入力部1が出力する画像データは、ラスタ順で出力される。この明細書において、ラスタ順とは、2次元画像が1次元の画像データとして連続的に出力される手順であり、詳しくは、2次元画像の左上左端のピクセルを先頭に最上位行の画像データが順次転送され、右端のピクセルまで転送した後は、次の行の画像データを左端から右端まで順次転送し、次々に、各行の画像データを1次元の画像データとして転送する手順を示す。また、ラスタ順には、プログレッシブ転送のみならず、インタレース転送も含まれる。インタフレース転送の場合には、奇数行の画像データに対する1フィールド分の画像データの転送と、偶数行の画像データに対する1フィールド分の画像データの転送とが交互に行われることになる。   Here, the image data output by the input unit 1 is output in raster order. In this specification, the raster order is a procedure in which a two-dimensional image is continuously output as one-dimensional image data, and more specifically, image data in the uppermost row starting from the upper left pixel in the two-dimensional image. Are sequentially transferred, and after transferring to the rightmost pixel, the image data of the next row is sequentially transferred from the left end to the right end, and the image data of each row is sequentially transferred as one-dimensional image data. The raster order includes not only progressive transfer but also interlace transfer. In interlaced transfer, transfer of image data for one field with respect to image data in odd rows and transfer of image data for one field with respect to image data in even rows are alternately performed.

また、第1の実施の形態におけるSDRAM4は、1アドレスのメモリ領域に対して2バイト(16ビット)のデータを格納可能としている。つまり、第1の実施の形態におけるSDRAM4は、16ビットSDRAMである。また、SDRAM4は、連続する4つのアドレスに対して連続的にデータアクセスを行うバースト転送処理を可能としている。つまり、SDRAM4は、64ビット(4アドレス×16ビット)のデータをバースト転送可能としている。   Further, the SDRAM 4 in the first embodiment can store 2 bytes (16 bits) of data in a memory area of one address. That is, the SDRAM 4 in the first embodiment is a 16-bit SDRAM. The SDRAM 4 is capable of burst transfer processing that continuously accesses data to four consecutive addresses. That is, the SDRAM 4 is capable of burst transfer of 64 bits (4 addresses × 16 bits) of data.

図2は、2次元画像データのピクセル構成を示す図である。ここでは、2次元画像は、横320ピクセル、つまり、1行(水平1ライン)の画像データが320ピクセルである場合を例に説明する。また、この明細書においては、図に示すように、2次元画像の水平方向を行方向と、2次元画像の垂直方向を列方向と対応させて適宜説明する。   FIG. 2 is a diagram illustrating a pixel configuration of two-dimensional image data. Here, a two-dimensional image will be described as an example in which the horizontal 320 pixels, that is, the image data of one row (horizontal one line) is 320 pixels. Further, in this specification, as shown in the figure, the horizontal direction of the two-dimensional image will be described as appropriate in correspondence with the row direction, and the vertical direction of the two-dimensional image will correspond with the column direction.

図2においては、2次元の画像データをブロックに区分して表示している。ここで、列方向の1区分は画像の1行(水平1ライン)に対応している。また、行方向の1区分は、8ピクセル分の画像データに対応している。つまり、1ブロックは8ピクセル分の画像データの集合である。そして、各ブロック内に表示されている0〜7pix、8〜15pix等の表示は、最上位行の左端のピクセルを0番目の画像として、全ピクセルに対してラスタ順に付与されたピクセル番号である。したがって、画像データが横320ピクセル×縦100ピクセルであれば、ラスタ順に0から31999までの番号が各ピクセルに付与されることになる。   In FIG. 2, two-dimensional image data is displayed divided into blocks. Here, one section in the column direction corresponds to one row (one horizontal line) of the image. One section in the row direction corresponds to image data for 8 pixels. That is, one block is a set of image data for 8 pixels. The display of 0 to 7 pix, 8 to 15 pix, etc. displayed in each block is a pixel number assigned to all pixels in raster order with the leftmost pixel in the top row as the 0th image. . Therefore, if the image data is 320 pixels wide × 100 pixels high, numbers from 0 to 31999 are assigned to the pixels in raster order.

最上位行(0行目)の左端のブロックは、2次元画像の0行目の0番目から7番目までのピクセルに対応し、その右横のブロックは、2次元画像の0行目の8番目から15番目までのピクセルに対応している。そして、最上位行(0行目)の右端のブロックは、0行目の312番目から319番目までのピクセルに対応し、次の行(1行目)の左端のブロックは、320番目から327番目までのピクセル(これは、2次元画像における1行目の0番目から7番目までのピクセルに対応している。)に対応している。   The leftmost block in the top row (0th row) corresponds to the 0th to 7th pixels in the 0th row of the 2D image, and the right block is the 8th row in the 0th row of the 2D image. It corresponds to the pixels from the 15th to the 15th. The rightmost block of the uppermost row (0th row) corresponds to the 312th to 319th pixels of the 0th row, and the leftmost block of the next row (1st row) corresponds to the 320th to 327th pixels. To the first pixel (this corresponds to the 0th to 7th pixels in the first row in the two-dimensional image).

このようにして、2次元画像をラスタ順に8ピクセルごとにブロック化している。さらに、図に示すように、列方向のブロックがグループ化され、これらグループは、SDRAM4のバンク0とバンク1に交互に格納されるのである。具体的には、図において網掛けされていないブロックのグループはSDRAM4のバンク0に格納され、網掛けされているブロックのグループはSDRAM4のバンク1に格納されるのである。図中、A0,0、B0,0等の表示については、後で説明するが、この2次元画像データがSDRAM4に格納される際に、格納されるメモリ領域(バンク0およびバンク1におけるメモリ領域)のブロック名を示している。 In this way, the two-dimensional image is blocked every 8 pixels in raster order. Further, as shown in the figure, the blocks in the column direction are grouped, and these groups are alternately stored in the bank 0 and the bank 1 of the SDRAM 4. Specifically, in the figure, the group of blocks not shaded is stored in bank 0 of SDRAM 4 and the group of blocks shaded is stored in bank 1 of SDRAM 4. In the figure, the display of A 0,0 , B 0,0, etc. will be described later. When this two-dimensional image data is stored in the SDRAM 4, the memory area (bank 0 and bank 1) is stored. (Memory area) block name.

図3は、メモリ制御部3によって、入力部1より出力されたラスタ順の画像データが、SDRAM4に書き込まれる際のタイミング図である。また、図4は、SDRAM4のバンク0に対する書き込み順序を示す図であり、図5は、SDRAM4のバンク1に対する書き込み順序を示す図である。また、図6は、バンク0の各メモリ領域に格納される画像データのピクセル番号(この番号は、前述したように、2次元画像の最上位行(0行目)の左端(0列目)のピクセルを0番目の画像として、全ピクセルに対してラスタ順で付与された番号である。)を示す図であり、図7は、バンク1の各メモリ領域に格納される画像データのピクセル番号を示す図である。   FIG. 3 is a timing chart when the raster control image data output from the input unit 1 is written into the SDRAM 4 by the memory control unit 3. FIG. 4 is a diagram showing the order of writing to the bank 0 of the SDRAM 4, and FIG. 5 is a diagram showing the order of writing to the bank 1 of the SDRAM 4. FIG. 6 shows the pixel number of the image data stored in each memory area of bank 0 (this number is the left end (0th column) of the uppermost row (0th row) of the two-dimensional image as described above. 7 is a number assigned in raster order to all pixels, with the pixel of 0 being the 0th image. FIG. 7 is a pixel number of image data stored in each memory area of bank 1 FIG.

ここで、図4および図5において、メモリ領域a0,0、b0,0等の添え字は、1番目の添え字がメモリ領域の行番号を示し、2番目の添え字がメモリ領域の列番号を示している。したがって、メモリ領域a1,4は、バンク0の1行4列目のメモリ領域を示している。また、図4および図5におけるブロック領域A0,0、B0,0等は、4つのメモリ領域からなるブロックを示している。ブロック領域の添え字は、そのブロック領域に含まれている先頭(左端)のメモリ領域の行番号および列番号に対応している。 4 and 5, the subscripts such as the memory areas a 0,0 and b 0,0 are the first subscript indicating the row number of the memory area, and the second subscript is the memory area. Indicates the column number. Therefore, the memory areas a 1 and 4 indicate the memory area of the first row and the fourth column of the bank 0. In addition, block areas A 0,0 , B 0,0 and the like in FIGS. 4 and 5 indicate blocks composed of four memory areas. The subscript of the block area corresponds to the row number and column number of the first (leftmost) memory area included in the block area.

図3において、まず、バンクアドレスに「0」が設定され、行アドレスおよび列アドレスにいずれも「0」が設定され、0番目から7番目までの8ピクセル分の画像データが、バースト転送される。つまり、1ピクセルの画像データが8ビットであるので、8ピクセル分の画像データ(8ピクセル×8ビット)をバースト転送するのである。この8ピクセル分の画像データは、図4に示すバンク0のブロック領域A0,0に格納される。ブロック領域A0,0は、メモリ領域a0,0、a0,1、a0,2、a0,3からなる領域である。なお、図3において、Bank ADDRESSがバンクアドレス信号を示し、ADDRESSが行および列アドレス信号を示している。また、Bank0およびBank1は、それぞれバンク0およびバンク1に対するデータのアクセスタイミングと、転送されるデータの内容を示している。データの内容(0,1等の数字)は、前述したピクセル番号を示している。 In FIG. 3, first, “0” is set to the bank address, “0” is set to both the row address and the column address, and image data for 8 pixels from the 0th to the 7th is burst transferred. . That is, since the image data of 1 pixel is 8 bits, image data for 8 pixels (8 pixels × 8 bits) is burst transferred. The image data for 8 pixels is stored in the block area A 0,0 of bank 0 shown in FIG. The block area A 0,0 is an area composed of memory areas a 0,0 , a 0,1 , a 0,2 , a 0,3 . In FIG. 3, Bank ADDRESS indicates a bank address signal, and ADDRESS indicates a row and column address signal. Bank0 and Bank1 indicate the access timing of data to bank 0 and bank 1, respectively, and the contents of the transferred data. The data contents (numbers such as 0, 1) indicate the pixel numbers described above.

一方、図3に示すように、0番目から7番目までの8ピクセル分の画像データが、ブロック領域A0,0に書き込まれているタイミングで、バンクアドレスが「1」に設定される。そして、ブロック領域A0,0への書き込み終了後、8番目から15番目までの8ピクセル分の画像データがバースト転送される。この8ピクセル分の画像データは、図5に示す、バンク1のブロック領域B0,0に格納される。ブロック領域B0,0は、メモリ領域b0,0、b0,1、b0,2、b0,3からなる領域である。 On the other hand, as shown in FIG. 3, the bank address is set to “1” at the timing when the image data for 8 pixels from 0th to 7th is written in the block area A 0,0 . Then, after writing to the block area A 0,0 , image data for 8 pixels from the 8th to the 15th is burst transferred. The image data for 8 pixels is stored in the block area B 0,0 of bank 1 shown in FIG. The block area B 0,0 is an area composed of the memory areas b 0,0 , b 0,1 , b 0,2 , b 0,3 .

さらに、8番目から15番目までの8ピクセル分の画像データがブロック領域B0,0に書き込まれているタイミングで、バンクアドレスが「0」に設定される。そして、ブロック領域B0,0への書き込み終了後、16番目から23番目までの8ピクセル分の画像データがバースト転送される。この8ピクセル分の画像データは、列アドレスに「4」が設定されることにより、図4に示すバンク0のブロック領域A0,4に格納される。ブロック領域A0,4は、メモリ領域a0,4、a0,5、a0,6、a0,7からなる領域である。 Further, the bank address is set to “0” at the timing when the image data for 8 pixels from the 8th to the 15th is written in the block area B 0,0 . Then, after writing to the block area B 0,0 , image data for 8 pixels from the 16th to the 23rd is burst transferred. The image data for 8 pixels is stored in the block area A 0,4 of the bank 0 shown in FIG. 4 by setting “4” as the column address. The block area A 0,4 is an area composed of memory areas a 0,4 , a 0,5 , a 0,6 , a 0,7 .

そして、ブロック領域A0,4に書き込みが行われているタイミングで、バンクアドレスが「1」に設定される。そして、ブロック領域A0,4への書き込み終了後、24番目から31番目までの8ピクセル分の画像データがバースト転送される。この8ピクセル分の画像データは、列アドレスに「4」が設定されることにより、図5に示すバンク1のブロック領域B0,4に格納される。ブロック領域B0,4は、メモリ領域b0,4、b0,5、b0,6、b0,7からなる領域である。 The bank address is set to “1” at the timing when writing is performed in the block areas A 0,4 . Then, after writing to the block areas A 0,4 , image data for 8 pixels from the 24th to the 31st is burst transferred. The image data for 8 pixels is stored in the block area B 0,4 of the bank 1 shown in FIG. 5 by setting “4” to the column address. The block area B 0,4 is an area composed of memory areas b 0,4 , b 0,5 , b 0,6 , b 0,7 .

以上の処理により、図6および図7に示すように、バンク0のブロック領域A0,0、A0,4およびバンク1のブロック領域B0,0、B0,4に0番目から31番目までの32ピクセル分の画像データが格納される。この後は、同様に、バンク0とバンク1を切り替えながら、8ピクセル単位で画像データをバースト転送し、順次SDRAM4に画像データを格納するのである。図4および図5における矢印は、それぞれバンク0およびバンク1への格納順序を示している。上述した手順により、2次元画像の0行目の画像データが矢印の方向に格納された後、1行目の画像データが同様に矢印の方向に格納され、順次、各行の画像データが格納される。SDRAM4に対する書き込み手順を、ブロック領域を用いて表現すると、ブロック領域A0,0→B0,0→A0,4→B0,4→A0,8→B0,8→A0,12→・・・の順で、2次元画像データを順次格納することになる。 With the above processing, as shown in FIGS. 6 and 7, the block areas A 0,0 and A 0,4 of the bank 0 and the block areas B 0,0 and B 0,4 of the bank 1 are changed from the 0th to the 31st. Up to 32 pixels of image data are stored. Thereafter, similarly, the bank 0 and the bank 1 are switched, the image data is burst transferred in units of 8 pixels, and the image data is sequentially stored in the SDRAM 4. The arrows in FIGS. 4 and 5 indicate the storage order in bank 0 and bank 1, respectively. After the image data of the 0th row of the two-dimensional image is stored in the direction of the arrow by the above-described procedure, the image data of the first row is similarly stored in the direction of the arrow, and the image data of each row is stored sequentially. The The write procedure for the SDRAM 4 can be expressed using a block area. Block area A 0,0 → B 0,0 → A 0,4 → B 0,4 → A 0,8 → B 0,8 → A 0,12 In this order, the two-dimensional image data is stored sequentially.

このように、MPEG処理の対象となる2次元画像データをバンク0とバンク1とを切り替えながら、2次元画像イメージでSDRAM4に格納する。そして、図2にも示したように、2次元画像における列方向については、画像データが全て同じバンクに格納されるようにするのである。このため、2次元画像のマクロブロックに注目した場合、マクロブロック内の画像データは、SDRAM4の複数の行にまたがって格納されることとなるが、アクセスする行を切り替える場合にも、空き時間は発生しない。このアクセス手順については、後で具体的に説明するが、バンク1のデータにアクセスしているタイミングで、バンク0についてアクセスする行を切り替え、バンク0のデータにアクセスしているタイミングで、バンク1についてアクセスする行を切り替えることが可能となるからである。   In this way, 2D image data to be subjected to MPEG processing is stored in the SDRAM 4 as a 2D image image while switching between bank 0 and bank 1. As shown in FIG. 2, the image data is all stored in the same bank for the column direction in the two-dimensional image. For this reason, when attention is paid to the macroblock of the two-dimensional image, the image data in the macroblock is stored across a plurality of rows of the SDRAM 4. Does not occur. Although this access procedure will be described in detail later, the row to be accessed for bank 0 is switched at the timing when data in bank 1 is accessed, and bank 1 is accessed at the timing when data in bank 0 is accessed. This is because it is possible to switch the row to be accessed.

なお、この実施の形態では、図6および図7で示したように、2次元画像データの水平1ライン分の画像データは、SDRAM4のバンク0の同一行およびバンク1の同一行のメモリ領域に格納し、2次元画像データの水平ラインが次の水平ラインに移動すると、格納先のバンク0とバンク1のメモリ領域も行を変更するようにしている。このような格納方法は、メモリ領域の有効利用という点ではデメリットがあるが、回路構成をシンプルにすることができるという点でメリットがある。したがって、メモリ領域に余裕がある場合には有効な方法である。   In this embodiment, as shown in FIGS. 6 and 7, the image data for one horizontal line of the two-dimensional image data is stored in the memory areas of the same row of bank 0 and the same row of bank 1 of SDRAM 4. When the horizontal line of the two-dimensional image data is stored and moved to the next horizontal line, the storage areas of the bank 0 and bank 1 memory areas are also changed. Such a storage method has a demerit in terms of effective use of the memory area, but has an advantage in that the circuit configuration can be simplified. Therefore, this method is effective when there is a margin in the memory area.

ただし、上記格納方法は一例であり、これに限定されることはない。つまり、ラスタ順で入力する2次元画像の1行目の画像データを、SDRAM4の1行目(バンク0あるいはバンク1)に格納した後、2ライン目の画像データを続けて、SDRAM4の1行目に格納するような方法をとってもよい。同様に、SDRAM4の各行において、画像データの水平ラインに対応して格納する行を変更させることはなく、順次、画像データを詰めて格納するのである。そして、この場合にも、一度に転送される8ピクセル分の画像データ(つまり、1バースト転送分の画像データ)はSDRAM4のいずれかのバンクの同一行に格納されるようにしておけばよい。これにより、バンク0およびバンク1の一方のデータにアクセスしているタイミングで、他方のバンクの行アドレスを変更するようにすれば、処理速度を高速にすることが可能である。あるいは逆に、2次元画像の水平1ラインのデータサイズがSDRAM4の1行に格納可能なサイズ(バンク0とバンク1の1行に格納可能なサイズの和)より大きくてもよい。この場合にも、8ピクセル単位で画像データをいずれかのバンクの同一行に格納するようにし、2次元画像の水平1ラインの途中で各バンクの行アドレスを変更するようにしても問題はない。つまり、本発明は、本質的には、マクロブロックを構成する1行の画像データのうち、その半分の8ピクセル分の画像データが全て一方のバンクの同一行に格納され、これに続く残り半分の8ピクセル分の画像データが全て他方のバンクの同一行に格納され、さらに、列方向のデータは全て同じバンクに格納されることである。このような格納方法をとれば、後述するように、マクロブロック単位での画像データに対するアクセスにおいて、いずれかのバンクの行アドレスを変更する必要が生じた場合でも、その直前に必ず他方のバンクに対するアクセス処理が介入するので、その間に行アドレスを変更することで、空き時間の発生を無くすことができるのである。   However, the above storage method is an example, and the present invention is not limited to this. That is, after the image data of the first line of the two-dimensional image input in raster order is stored in the first line (bank 0 or bank 1) of the SDRAM 4, the image data of the second line is continued and one line of the SDRAM 4 is continued. You may take the method of storing in eyes. Similarly, in each row of the SDRAM 4, the row to be stored is not changed corresponding to the horizontal line of the image data, and the image data is sequentially packed and stored. In this case, image data for 8 pixels transferred at a time (that is, image data for 1 burst transfer) may be stored in the same row of any bank of the SDRAM 4. Thus, if the row address of the other bank is changed at the timing when one of the data in bank 0 and bank 1 is accessed, the processing speed can be increased. Or, conversely, the data size of one horizontal line of the two-dimensional image may be larger than the size that can be stored in one row of SDRAM 4 (the sum of the sizes that can be stored in one row of bank 0 and bank 1). Also in this case, there is no problem if the image data is stored in the same row of any bank in units of 8 pixels and the row address of each bank is changed in the middle of one horizontal line of the two-dimensional image. . That is, according to the present invention, the image data for 8 pixels, which is half of the image data of one row constituting the macro block, are all stored in the same row of one bank, and the remaining half following this. That is, all the image data for 8 pixels are stored in the same row of the other bank, and all the data in the column direction are stored in the same bank. If such a storage method is used, as will be described later, even when it is necessary to change the row address of one of the banks when accessing the image data in units of macroblocks, it is always necessary to change to the other bank. Since the access process intervenes, the occurrence of idle time can be eliminated by changing the row address during that time.

次に、MPEG処理部2がMPEG圧縮処理を行うために、SDRAM4に格納された画像データにマクロブロック単位でアクセスする処理について説明する。なお、このアクセス処理には、MPEG処理部2がMPEG圧縮処理を行う対象であるマクロブロック単位の画像データを読み出す処理と、マクロブロック単位の画像データを書き込む処理がある。   Next, processing for accessing the image data stored in the SDRAM 4 in units of macro blocks in order for the MPEG processing unit 2 to perform MPEG compression processing will be described. The access process includes a process for reading out image data in units of macroblocks to which the MPEG processing unit 2 performs an MPEG compression process, and a process for writing image data in units of macroblocks.

図8は、メモリ制御部3によって、SDRAM4に格納された画像データにアクセスする処理のタイミング図である。また、図9は、SDRAM4のバンク0に対するアクセス順序を示す図であり、図10は、SDRAM4のバンク1に対するアクセス順序を示す図である。なお、図8ないし図10は、マクロブロック単位での画像データの読み出し処理と書き込み処理に共通の特徴を示す図である。また、図9および図10における各メモリ領域a0,0、b0,0等は、図4および図5における各メモリ領域a0,0、b0,0等に対応しており、上述した書き込み処理により、図6および図7で示したような配列で2次元画像データが格納されているものとする。 FIG. 8 is a timing chart of a process for accessing the image data stored in the SDRAM 4 by the memory control unit 3. FIG. 9 is a diagram showing an access order to the bank 0 of the SDRAM 4, and FIG. 10 is a diagram showing an access order to the bank 1 of the SDRAM 4. FIG. 8 to FIG. 10 are diagrams showing features common to image data read processing and write processing in units of macroblocks. Further, each memory area a 0,0 in FIGS. 9 and 10, b 0,0, etc. are associated with the memory region a 0,0, b 0,0, etc. in FIGS. 4 and 5, described above It is assumed that two-dimensional image data is stored in an array as shown in FIGS. 6 and 7 by the writing process.

まず、マクロブロック単位での画像データの読み出し処理について説明する。図8において、まず、バンクアドレスに「0」が設定され、行アドレスおよび列アドレスにいずれも「0」が設定され、0番目から7番目までの8ピクセル分の画像データが、バースト転送される。具体的には、図9で示すバンク0のブロック領域A0,0に格納されている8ピクセル分の画像データが読み出される。なお、図8におけるBank ADDRESSがバンクアドレス信号を示し、ADDRESSが行および列アドレス信号を示している。また、Bank0およびBank1は、それぞれバンク0およびバンク1に対するデータのアクセスタイミングと、転送されるデータの内容を示している。データの内容(0,1等の数字)は、前述したピクセル番号を示している。 First, image data read processing in units of macroblocks will be described. In FIG. 8, first, “0” is set to the bank address, “0” is set to both the row address and the column address, and image data for 8 pixels from the 0th to the 7th is burst transferred. . Specifically, the image data for 8 pixels stored in the block area A 0,0 of bank 0 shown in FIG. 9 is read. In FIG. 8, Bank ADDRESS indicates a bank address signal, and ADDRESS indicates a row and column address signal. Bank0 and Bank1 indicate the access timing of data to bank 0 and bank 1, respectively, and the contents of the transferred data. The data contents (numbers such as 0, 1) indicate the pixel numbers described above.

一方、図8に示すように、ブロック領域A0,0の画像データに対する読み出し処理が行われているタイミングで、バンクアドレスが「1」に設定され、ブロック領域A0,0からの読み込み処理終了後、8番目から15番目までの8ピクセル分の画像データがバースト転送される。具体的には、図10で示すバンク1のブロック領域B0,0に格納されている8ピクセル分の画像データが読み出される。 On the other hand, as shown in FIG. 8, at the timing when the readout process for the image data of the block area A 0,0 is being performed, the bank address is set to "1", termination process of reading from the block area A 0,0 Thereafter, image data for 8 pixels from the 8th to the 15th is burst transferred. Specifically, the image data for 8 pixels stored in the block area B 0,0 of bank 1 shown in FIG. 10 is read.

さらに、図8に示すように、ブロック領域B0,0の画像データの読み出し処理が行われているタイミングで、バンクアドレスが「0」に設定されるとともに行アドレスに「1」が設定され、ブロック領域B0,0からの読み込み処理終了後、320番目から327番目までの8ピクセル分の画像データがバースト転送される。具体的には、図9で示すバンク0のブロック領域A1,0に格納されている8ピクセル分の画像データが読み出される。ブロック領域A1,0は、メモリ領域a1,0、a1,1、a1,2、a1,3からなる領域である。ここで、バンク0については、ブロック領域A0,0に対するアクセス処理の後、ブロック領域A1,0に対するアクセス処理が行われるため、アクセスする行アドレスを切り替える必要があるが、バンク1のブロック領域B0,0に対するデータ転送が行われているタイミングで、この行アドレスの切り替えが行われるので、空き時間が発生することなく、効率的にデータの読み出し処理が実行されるのである。 Further, as shown in FIG. 8, at the timing when the image data read processing of the block area B 0,0 is performed, the bank address is set to “0” and the row address is set to “1”. After the reading process from the block area B 0,0 is completed, the image data for 8 pixels from the 320th to the 327th is burst transferred. Specifically, the image data for 8 pixels stored in the block area A1,0 of the bank 0 shown in FIG. 9 is read. The block area A 1,0 is an area composed of memory areas a 1,0 , a 1,1 , a 1,2 , a 1,3 . Here, for bank 0, access processing for block area A 1,0 is performed after access processing for block area A 0,0 , so it is necessary to switch the row address to be accessed. Since the row address is switched at the timing when the data transfer with respect to B 0,0 is performed, the data reading process is efficiently executed without generating a free time.

そして、ブロック領域A1,0の画像データの読み出し処理が行われているタイミングで、バンクアドレスが「1」に設定されるとともに行アドレスに「1」が設定され、ブロック領域A1,0からの読み込み処理終了後、328番目から335番目までの8ピクセル分の画像データがバースト転送される。具体的には、図10で示すバンク1のブロック領域B1,0に格納されている8ピクセル分の画像データが読み出される。ブロック領域B1,0は、メモリ領域b1,0、b1,1、b1,2、b1,3からなる領域である。同様に、バンク1については、ブロック領域B0,0に対するアクセス処理の後、ブロック領域B1,0に対するアクセス処理が行われるため、アクセスする行アドレスを切り替える必要があるが、バンク0のブロック領域A1,0に対するデータ転送が行われているタイミングで、この行アドレスの切り替えが行われるので、空き時間が発生することなく、効率的にデータの読み出し処理が実行されるのである。 Then, at the timing when the readout processing of the image data of the block area A 1, 0 is being performed, "1" is set to a row address together with the bank address is set to "1", the block area A 1, 0 After the reading process ends, image data for 8 pixels from the 328th to the 335th is burst transferred. Specifically, the image data for 8 pixels stored in the block area B1,0 of the bank 1 shown in FIG. 10 is read. The block area B 1,0 is an area composed of memory areas b 1,0 , b 1,1 , b 1,2 , b 1,3 . Similarly, for bank 1, access processing for block area B 1,0 is performed after access processing for block area B 0,0 , so it is necessary to switch the row address to be accessed. Since the row address is switched at the timing when the data transfer for A 1, 0 is performed, the data reading process is efficiently executed without generating a free time.

以上の処理により、図6および図7に示したバンク0のブロック領域A0,0、A1,0およびバンク1のブロック領域B0,0、B1,0に格納されている0番目から15番目までの16ピクセル分の画像データおよび320番目から335番目までの16ピクセル分の画像データが読み出される。この画像データは、図2の画像イメージに対応させると、行方向が16ピクセルであって、列方向については同じ列の2行分の画像データである。つまり、この後、同様に、バンク0とバンク1を切り替えながら、8ピクセル単位で画像データをバースト転送し、順次、行方向が16ピクセルで、同じ列の画像データを読み出すことにより、2次元的なブロックの画像データを連続的に読み出すことが可能となるのである。そして、このような処理を16行分実行することにより、縦16ピクセル×横16ピクセルのマクロブロックに対応する画像データを連続的に読み出すことが可能となるのである。 Through the above processing, from the 0th stored in block areas A 0,0 and A 1,0 of bank 0 and block areas B 0,0 and B 1,0 of bank 1 shown in FIGS. The image data for 16 pixels up to the 15th and the image data for 16 pixels from the 320th to the 335th are read out. When this image data is made to correspond to the image image of FIG. 2, the row direction is 16 pixels, and the column direction is image data for two rows in the same column. That is, after that, similarly, while switching between bank 0 and bank 1, the image data is burst transferred in units of 8 pixels, and sequentially read out the image data in the same column with the row direction of 16 pixels. Therefore, it is possible to continuously read out image data of various blocks. By executing such processing for 16 rows, it is possible to continuously read out image data corresponding to a macroblock of 16 pixels vertically × 16 pixels horizontally.

図11は、マクロブロックの読み出す順序を示す図である。図8〜図10を用いた説明では、ブロック領域A0,0→B0,0→A1,0→B1,0の画像データを読み出すところまでを説明した。この後、バンク0とバンク1を交互に切り替えつつ、同列のブロック領域の画像データを順次読み出し、16行目となるブロック領域A15,0、B15,0を読み出した時点で、縦16ピクセル×横16ピクセルのマクロブロックに対応する画像データを読み出すことが可能となるのである。 FIG. 11 is a diagram illustrating the reading order of macroblocks. In the description using FIG. 8 to FIG. 10, the description has been given to the point where the image data of the block area A 0,0 → B 0,0 → A 1,0 → B 1,0 is read. Thereafter, the image data of the block area in the same row is sequentially read out while alternately switching between the bank 0 and the bank 1, and when the block areas A 15,0 and B 15,0 in the 16th row are read out, the vertical 16 pixels X Image data corresponding to a macroblock of 16 pixels wide can be read out.

また、上述したように、図2に示すようなバンク0とバンク1に対する格納ルールが満たされていれば、2次元画像の異なる水平ラインの画像データが、SDRAM4の同一の行に格納されていてもよい。たとえば、2次元画像データの1ライン目と2ライン目の画像データが、ともにSDRAM4の1行目のメモリ領域に格納されてもよいことを説明した。この場合にも、マクロブロック単位でのデータの読み出し処理は、高速に行うことが可能である。つまり、8ピクセル単位で、バンクを切り替えながら、画像データが格納されていることにより、一方のバンクから画像データを読み出している間に、他方のバンクの行を切り替えることが可能となるからである。これにより、SDRAM4に対するアクセス行を変更する際にも、空き時間を発生させることなく、読み出し処理を行うことが可能である。また、図2に示すようなバンク0とバンク1に対する格納ルールが満たされていれば、2次元画像データの水平1ラインがSDRAM4の複数の行にまたがって格納されていてもよい。あるいは、2次元画像の各水平ラインの列方向の順序と、SDRAM4に格納される列方向の順序が異なっていてもよいし、とびとびの行に格納されるようになっていてもよい。   As described above, if the storage rules for bank 0 and bank 1 as shown in FIG. 2 are satisfied, image data of different horizontal lines of the two-dimensional image is stored in the same row of SDRAM 4. Also good. For example, it has been described that the image data of the first line and the second line of the two-dimensional image data may be stored in the memory area of the first row of the SDRAM 4. Also in this case, the data reading process in units of macroblocks can be performed at high speed. That is, by storing image data while switching banks in units of 8 pixels, it becomes possible to switch the row of the other bank while reading image data from one bank. . As a result, even when an access row to the SDRAM 4 is changed, it is possible to perform a read process without causing a free time. Further, as long as the storage rules for bank 0 and bank 1 as shown in FIG. 2 are satisfied, one horizontal line of two-dimensional image data may be stored across a plurality of rows of SDRAM 4. Alternatively, the order in the column direction of each horizontal line of the two-dimensional image may be different from the order in the column direction stored in the SDRAM 4 or may be stored in discrete rows.

このように、マクロブロック単位で画像データを高速に読み出すことが可能であるが、MPEG処理部2により、マクロブロック単位で画像データを書き込む処理も同様である。この書き込み処理も、図8で示したタイミング図、図9、図10、図11で示したアクセス順序で行えばよい。つまり、ブロック領域A0,0→B0,0→A1,0→B1,0→A2,0・・・の順で画像データを書き込むようにすればよい。これにより、マクロブロック単位での画像データの読み込みおよび書き込み両方の処理を高速に行うことが可能である。 As described above, the image data can be read at a high speed in units of macroblocks, but the process of writing the image data in units of macroblocks by the MPEG processing unit 2 is the same. This writing process may also be performed in the access sequence shown in the timing chart shown in FIG. 8, FIG. 9, FIG. 10, and FIG. That is, the image data may be written in the order of the block areas A 0,0 → B 0,0 → A 1,0 → B 1,0 → A 2,0 . As a result, both reading and writing of image data in units of macro blocks can be performed at high speed.

以上説明したように、本実施の形態によれば、MPEG処理に必要なマクロブロック単位の画像データに連続的にアクセスする場合にも、バンク0とバンク1を切り替えることにより、アクセス空き時間を発生させることなく、効率的にSDRAM4にアクセスすることが可能である。つまり、一方のバンクにおいて画像データにアクセスしている間に、他方のバンクの行アドレスを変更することができるので、行アドレス変更に伴う空き時間を発生させることがない。しかも、入力部1から入力した画像データのSDRAM4に対する書き込み処理においては、ラスタ順で入力する画像データを、そのままの順序で格納するので、書き込み処理時における制御が複雑になることはない。   As described above, according to the present embodiment, even when image data in units of macro blocks necessary for MPEG processing is continuously accessed, an access free time is generated by switching between bank 0 and bank 1. It is possible to efficiently access the SDRAM 4 without making it happen. That is, since the row address of the other bank can be changed while the image data is being accessed in one bank, there is no free time associated with the row address change. In addition, in the writing process of the image data input from the input unit 1 to the SDRAM 4, the image data input in the raster order is stored in the same order, so that the control during the writing process is not complicated.

次に、図12を参照して、データの種別に応じた各メモリ領域への画像データの格納方法について説明する。MPEG処理においては、輝度データ(Yデータ)と色差データ(U,Vデータ)からなるYUV色空間の画像データを扱う。ここで、図13に示すように、Yデータは、2次元画像データの全ての画素が保持している情報である。これに対して、U,Vデータは、Yデータよりも数が少ない。YUV4:2:0フォーマットにおいては、図に示すように、UデータおよびVデータの数は、行方向に1/2間引かれるとともに、列方向にも1/2間引かれている。   Next, a method of storing image data in each memory area according to the type of data will be described with reference to FIG. In MPEG processing, image data in a YUV color space consisting of luminance data (Y data) and color difference data (U, V data) is handled. Here, as shown in FIG. 13, the Y data is information held by all the pixels of the two-dimensional image data. On the other hand, U and V data have fewer numbers than Y data. In the YUV 4: 2: 0 format, as shown in the figure, the numbers of U data and V data are decimated 1/2 in the row direction and ½ in the column direction.

上述したSDRAM4に対するアクセス処理では、画像データの種類が輝度データであるか、あるいは色差データであるかということは特に考慮せず説明した。ここでは、輝度データと色差データの場合、それぞれについてメモリ領域への格納方法を説明する。なお、画像データは、YUV4:2:0フォーマットの場合を説明する。   In the above-described access processing to the SDRAM 4, it has been described without particularly considering whether the type of image data is luminance data or color difference data. Here, in the case of luminance data and color difference data, a method of storing them in the memory area will be described. The image data will be described for the YUV 4: 2: 0 format.

図12で示したタイミング図の中で、前半の2つのバースト転送処理は、輝度データに対する処理である。後半の2つのバースト転送処理は、色差データに対する処理である。まず、輝度データの場合には、2つのYデータを1つのメモリ領域に格納する。つまり、1画素のYデータは8ビットであり、この実施の形態におけるSDRAM4の1アドレスに対応するメモリ領域は16ビットのデータを格納可能としているので、2ピクセル分のYデータを1アドレスのメモリ領域に格納するのである。このとき、SDRAM4にアクセスする16ビットのデータ線のうち、上位8ビットを一方のYデータ転送用に使用し、下位8ビットを他方のYデータ転送用の使用する。このようにして、バンク0には、4つのアドレスに対応した4つのメモリ領域に8ピクセル分のYデータが格納される。続いて、バンク1において、4つのアドレスに対応した4つのメモリ領域に8ピクセル分のYデータが格納されるのである。   In the timing chart shown in FIG. 12, the first two burst transfer processes are processes for luminance data. The latter two burst transfer processes are processes for color difference data. First, in the case of luminance data, two Y data are stored in one memory area. That is, the Y data of one pixel is 8 bits, and the memory area corresponding to one address of the SDRAM 4 in this embodiment can store 16 bits of data. It is stored in the area. At this time, among the 16-bit data lines accessing the SDRAM 4, the upper 8 bits are used for one Y data transfer and the lower 8 bits are used for the other Y data transfer. In this way, bank 0 stores Y data for 8 pixels in four memory areas corresponding to four addresses. Subsequently, in bank 1, Y data for 8 pixels is stored in four memory areas corresponding to four addresses.

次に、色差データの格納方法について説明する。図13において、太線枠で示した2ピクセル×2ピクセルの領域の中には、4つのYデータに対して、UデータとVデータが1つづつ存在する。そこで、この2つのUデータとVデータをパッキングして1つのメモリ領域に格納する。   Next, a method for storing color difference data will be described. In FIG. 13, one U data and one V data are present for each of four Y data in an area of 2 pixels × 2 pixels indicated by a bold frame. Therefore, the two U data and V data are packed and stored in one memory area.

図12に示すように、2つのUデータとVデータをパッキングして1つのメモリ領域に格納することとすれば、このようなUデータとVデータの組が4つ分、つまり、8ピクセル分バースト転送行うことが可能である。つまり、UデータおよびVデータは、いずれも1画素8ビットのデータであり、この実施の形態におけるSDRAM4の1アドレスに対応するメモリ領域は16ビットのデータを格納可能としているので、UデータとVデータからなる2ピクセル分のデータを1アドレスのメモリ領域に格納するのである。このとき、SDRAM4にアクセスする16ビットのデータ線のうち、上位8ビットを例えばUデータ転送用に使用し、下位8ビットをVデータ転送用の使用する。このようにして、バンク0には、4つのアドレスに対応した4つのメモリ領域に8ピクセル分の色差データが格納される。続いて、バンク1において、4つのアドレスに対応した4つのメモリ領域に8ピクセル分の色差データが格納されるのである。   As shown in FIG. 12, if two U data and V data are packed and stored in one memory area, four such sets of U data and V data, that is, 8 pixels are included. Burst transfer can be performed. That is, the U data and V data are both 8-bit data per pixel, and the memory area corresponding to one address of the SDRAM 4 in this embodiment can store 16-bit data. Data for two pixels consisting of data is stored in a memory area of one address. At this time, among the 16-bit data lines accessing the SDRAM 4, the upper 8 bits are used for U data transfer, for example, and the lower 8 bits are used for V data transfer. In this way, bank 0 stores color difference data for 8 pixels in four memory areas corresponding to four addresses. Subsequently, in bank 1, color difference data for 8 pixels is stored in four memory areas corresponding to four addresses.

このように、UデータとVデータをパッキングして、1つのメモリ領域に格納することにより、輝度データについてSDRAM4にアクセスする場合と、色差データについてSDRAM4にアクセスする場合とで、同じ転送手順を実行することが可能となるのである。   In this way, by packing U data and V data and storing them in one memory area, the same transfer procedure is executed when accessing SDRAM 4 for luminance data and when accessing SDRAM 4 for color difference data. It becomes possible to do.

具体的には、まず、輝度データについてマクロブロック単位のデータアクセスを行い、次に、同じマクロブロック領域内の色差データについてマクロブロック単位のデータアクセスを行うことになるが(図12は、輝度データについてのデータアクセス処理と色差データに対するデータアクセス処理がちょうど入れ替わるタイミングを示している。)、輝度データに対するデータアクセスと色差データに対するデータアクセスを同じ手順とすることができるのである。   Specifically, first, data access in units of macroblocks is performed on luminance data, and then data access in units of macroblocks is performed on color difference data in the same macroblock region (FIG. 12 shows luminance data). The timing at which the data access process and the data access process for the color difference data are just switched is shown.), The data access for the luminance data and the data access for the color difference data can be made the same procedure.

ただし、YUV4:2:0フォーマットの場合には、UデータとVデータの数が行方向(縦方向)にも1/2に間引かれているので、1つのマクロブロックに対する処理は、輝度データに対する処理の半分の処理でよい。図11を用いて説明すれば、輝度データに対する処理は、16行分の処理が必要であったが、色差データの場合には、8行分の処理でよい。   However, in the case of the YUV 4: 2: 0 format, the number of U data and V data is halved in the row direction (vertical direction), so the processing for one macroblock is performed with luminance data. Half of the processing is sufficient. If described with reference to FIG. 11, processing for luminance data requires processing for 16 rows, but in the case of color difference data, processing for 8 rows may be sufficient.

以上、第1の実施の形態においては、SDRAMが1アドレスに16ビットのデータを格納可能である場合を例に説明した。しかし、本発明は、1アドレスに8ビットのデータを格納可能なDRAMにも適用させることが可能である。この場合には、8ビットのデータを格納可能なDRAMを2個利用して、上述した実施の形態と同様の処理を行うようにすればよい。つまり、8ピクセル分の画像データを2個のDRAMのそれぞれ4つのアドレスに格納する処理を1単位の処理とすればよい。そして、それぞれのDRAMに対してバンク0とバンク1とを交互に切り替えながら上記と同様の処理を行うようにすればよい。   As described above, in the first embodiment, the case where the SDRAM can store 16-bit data in one address has been described as an example. However, the present invention can also be applied to a DRAM capable of storing 8-bit data at one address. In this case, two DRAMs that can store 8-bit data are used to perform the same processing as in the above-described embodiment. That is, the process of storing the image data for 8 pixels at each of the four addresses of the two DRAMs may be a unit process. Then, the same processing as described above may be performed for each DRAM while alternately switching between bank 0 and bank 1.

{第2の実施の形態}
次に、本発明の第2の実施の形態について説明する。第2の実施の形態における画像処理装置も、図1で説明した画像処理装置と同様である。ただし、第2の実施の形態におけるSDRAM4は、1アドレスのメモリ領域に対して4バイト(32ビット)のデータを格納可能としている。つまり、第2の実施の形態におけるSDRAM4は、32ビットSDRAMである。また、SDRAM4は、連続する4つのアドレスに対して連続的にデータアクセスを行うバースト転送処理を可能としている。つまり、SDRAM4は、128ビット(4アドレス×32ビット)のデータをバースト転送可能としている。
{Second Embodiment}
Next, a second embodiment of the present invention will be described. The image processing apparatus in the second embodiment is the same as the image processing apparatus described in FIG. However, the SDRAM 4 in the second embodiment can store 4 bytes (32 bits) of data in a memory area of one address. That is, the SDRAM 4 in the second embodiment is a 32-bit SDRAM. The SDRAM 4 is capable of burst transfer processing that continuously accesses data to four consecutive addresses. That is, the SDRAM 4 is capable of burst transfer of 128 bits (4 addresses × 32 bits) of data.

図14は、2次元画像データのピクセル構成を示す図である。ここでも、2次元画像は、横320ピクセル、つまり、1行(水平1ライン)の画像データが320ピクセルである場合を例に説明する。   FIG. 14 is a diagram illustrating a pixel configuration of two-dimensional image data. Here, the two-dimensional image will be described as an example in which the horizontal 320 pixels, that is, the image data of one row (horizontal one line) is 320 pixels.

図14においては、2次元の画像データをブロックに区分して表示している。この図の表記ルールは、図2で説明したものと同様である。ただし、図2と比較すると1ブロックのピクセル数が異なる。最上位行(0行目)の左端のブロックは、2次元画像の0行目の0番目から15番目までのピクセルに対応し、その右横のブロックは、2次元画像の0行目の16番目から31番目までのピクセルに対応している。そして、最上位行(0行目)の右端のブロックは、0行目の304番目から319番目までのピクセルに対応し、次の行(1行目)の左端のブロックは、320番目から335番目までのピクセル(これは、2次元画像における1行目の0番目から15番目までのピクセルに対応している。)に対応している。   In FIG. 14, two-dimensional image data is displayed divided into blocks. The notation rules in this figure are the same as those described in FIG. However, the number of pixels in one block is different from that in FIG. The leftmost block of the uppermost row (0th row) corresponds to the 0th to 15th pixels of the 0th row of the 2D image, and the right block is the 16th row of the 0th row of the 2D image. It corresponds to the pixels from the th to the 31st. The rightmost block of the uppermost row (0th row) corresponds to the 304th to 319th pixels of the 0th row, and the leftmost block of the next row (first row) corresponds to the 320th to 335th pixels. To the first pixel (this corresponds to the 0th to 15th pixels in the first row in the two-dimensional image).

このようにして、2次元画像をラスタ順に16ピクセルごとにブロック化している。さらに、この実施の形態においては、図に示すように、これら各ブロックが千鳥状にバンク0とバンク1に割り当てられてSDRAM4に格納される。言い換えると、2次元画像の行方向においても列方向においてもバンク0とバンク1が交互になるように割り当てられる。具体的には、図において網掛けされていないブロックはSDRAM4のバンク0に格納され、網掛けされているブロックはSDRAM4のバンク1に格納されるのである。図中、C0,0、D0,0等の表示については、第1の実施の形態で説明したものと同様である。つまり、この2次元画像データがSDRAM4に格納される際に、格納されるメモリ領域(バンク0およびバンク1におけるメモリ領域)のブロック名を示している。 In this way, the two-dimensional image is blocked every 16 pixels in raster order. Furthermore, in this embodiment, as shown in the figure, each of these blocks is assigned to bank 0 and bank 1 in a staggered manner and stored in SDRAM 4. In other words, the bank 0 and the bank 1 are assigned alternately in both the row direction and the column direction of the two-dimensional image. Specifically, in the figure, blocks not shaded are stored in bank 0 of SDRAM 4 and blocks shaded are stored in bank 1 of SDRAM 4. In the figure, the display of C 0,0 , D 0,0 and the like is the same as that described in the first embodiment. That is, the block names of the memory areas (memory areas in the bank 0 and the bank 1) stored when the two-dimensional image data is stored in the SDRAM 4 are shown.

図15は、メモリ制御部3によって、入力部1より出力されたラスタ順の画像データが、SDRAM4に書き込まれる際のタイミング図である。また、図16は、SDRAM4のバンク0に対する書き込み順序を示す図であり、図17は、SDRAM4のバンク1に対する書き込み順序を示す図である。また、図18は、バンク0の各メモリ領域に格納される画像データのピクセル番号(この番号は、前述したように、2次元画像の最上位行(0行目)の左端(0列目)のピクセルを0番目の画像として、全ピクセルに対してラスタ順で付与された番号である。)を示す図であり、図19は、バンク1の各メモリ領域に格納される画像データのピクセル番号を示す図である。   FIG. 15 is a timing chart when the raster control image data output from the input unit 1 is written into the SDRAM 4 by the memory control unit 3. FIG. 16 is a diagram showing the order of writing to the bank 0 of the SDRAM 4, and FIG. 17 is a diagram showing the order of writing to the bank 1 of the SDRAM 4. FIG. 18 shows the pixel number of image data stored in each memory area of bank 0 (this number is the left end (0th column) of the uppermost row (0th row) of the two-dimensional image as described above. FIG. 19 is a pixel number of image data stored in each memory area of bank 1. FIG. 19 is a number assigned in raster order to all pixels. FIG.

ここで、図16および図17において、メモリ領域c0,0、d0,0等の添え字は、1番目の添え字がメモリ領域の行番号を示し、2番目の添え字がメモリ領域の列番号を示している。これらの表記ルールも第1の実施の形態と同様である。また、図16および図17におけるブロック領域C0,0、D0,0等は、4つのメモリ領域からなるブロックを示している。ブロック領域の添え字は、そのブロック領域に含まれている先頭(左端)のメモリ領域の行番号および列番号に対応している。 In FIGS. 16 and 17, subscripts such as the memory areas c 0,0 and d 0,0 are the first subscript indicating the row number of the memory area, and the second subscript is the memory area. Indicates the column number. These notation rules are the same as those in the first embodiment. In addition, block areas C 0,0 , D 0,0, etc. in FIG. 16 and FIG. 17 indicate blocks composed of four memory areas. The subscript of the block area corresponds to the row number and column number of the first (leftmost) memory area included in the block area.

図15において、まず、バンクアドレスに「0」が設定され、行アドレスおよび列アドレスにいずれも「0」が設定され、0番目から15番目までの16ピクセル分の画像データが、バースト転送される。つまり、1ピクセルの画像データが8ビットであるので、16ピクセル分の画像データ(16ピクセル×8ビット)をバースト転送するのである。この16ピクセル分の画像データは、図16に示すバンク0のブロック領域C0,0に格納される。ブロック領域C0,0は、メモリ領域c0,0、c0,1、c0,2、c0,3からなる領域である。なお、図15の表記ルールも図3等と同様である。 In FIG. 15, first, “0” is set to the bank address, “0” is set to both the row address and the column address, and image data for 16 pixels from the 0th to the 15th is burst transferred. . That is, since image data of 1 pixel is 8 bits, image data for 16 pixels (16 pixels × 8 bits) is burst transferred. The image data for 16 pixels is stored in the block area C 0,0 of bank 0 shown in FIG. The block area C 0,0 is an area composed of memory areas c 0,0 , c 0,1 , c 0,2 , c 0,3 . The notation rules in FIG. 15 are the same as those in FIG.

一方、図15に示すように、0番目から15番目までの16ピクセル分の画像データが、ブロック領域C0,0に書き込まれているタイミングで、バンクアドレスが「1」に設定される。そして、ブロック領域C0,0への書き込み終了後、16番目から31番目までの16ピクセル分の画像データがバースト転送される。この16ピクセル分の画像データは、図17に示すバンク1のブロック領域D0,0に格納される。ブロック領域D0,0は、メモリ領域d0,0、d0,1、d0,2、d0,3からなる領域である。 On the other hand, as shown in FIG. 15, the bank address is set to “1” at the timing when image data for 16 pixels from the 0th to the 15th is written in the block area C 0,0 . Then, after writing to the block area C 0,0 , image data for 16 pixels from the 16th to the 31st is burst transferred. The image data for 16 pixels is stored in the block area D 0,0 of bank 1 shown in FIG. The block area D 0,0 is an area composed of memory areas d 0,0 , d 0,1 , d 0,2 , d 0,3 .

さらに、16番目から31番目までの16ピクセル分の画像データがブロック領域D0,0に書き込まれているタイミングで、バンクアドレスが「0」に設定される。そして、ブロック領域D0,0への書き込み終了後、32番目から47番目までの16ピクセル分の画像データがバースト転送される。この16ピクセル分の画像データは、列アドレスに「4」が設定されることにより、図16に示すバンク0のブロック領域C0,4に格納される。ブロック領域C0,4は、メモリ領域c0,4、c0,5、c0,6、c0,7からなる領域である。 Further, the bank address is set to “0” at the timing when the image data for 16 pixels from the 16th to the 31st is written in the block area D 0,0 . Then, after writing to the block area D 0,0 , image data for 16 pixels from the 32nd to the 47th is burst transferred. The image data for 16 pixels is stored in the block area C 0,4 of the bank 0 shown in FIG. 16 by setting “4” as the column address. The block area C 0,4 is an area composed of memory areas c 0,4 , c 0,5 , c 0,6 , c 0,7 .

そして、ブロック領域C0,4に書き込みが行われているタイミングで、バンクアドレスが「1」に設定される。そして、ブロック領域C0,4への書き込み終了後、48番目から63番目までの16ピクセル分の画像データがバースト転送される。この16ピクセル分の画像データは、列アドレスに「4」が設定されることにより、図17に示すバンク1のブロック領域D0,4に格納される。ブロック領域D0,4は、メモリ領域d0,4、d0,5、d0,6、d0,7からなる領域である。 Then, the bank address is set to “1” at the timing when writing is performed in the block areas C 0,4 . Then, after the writing to the block area C 0,4 is completed, the image data for 16 pixels from the 48th to the 63rd is burst transferred. The image data for 16 pixels is stored in the block area D 0,4 of the bank 1 shown in FIG. 17 by setting “4” as the column address. The block area D 0,4 is an area composed of memory areas d 0,4 , d 0,5 , d 0,6 , d 0,7 .

以上の処理により、図18および図19に示すように、バンク0のブロック領域C0,0、C0,4およびバンク1のブロック領域D0,0、D0,4に0番目から63番目までの64ピクセル分の画像データが格納される。この後は、同様に、バンク0とバンク1を切り替えながら、16ピクセル単位で画像データをバースト転送し、順次SDRAM4に画像データを格納するのである。図16および図17における矢印は、それぞれバンク0およびバンク1への格納順序を示している。上述した手順により、2次元画像の0行目の画像データが矢印の方向に格納された後、1行目の画像データが同様に矢印の方向に格納され、順次、各行の画像データが格納される。また、SDRAM4に対する書き込み手順をブロック領域を用いて表現すると、ブロック領域C0,0→D0,0→C0,4→D0,4→C0,8→D0,8→C0,12→・・・の順で、2次元画像データを順次格納することになる。 As a result of the above processing, as shown in FIGS. 18 and 19, the block areas C 0,0 and C 0,4 of the bank 0 and the block areas D 0,0 and D 0,4 of the bank 1 are changed from the 0th to the 63rd. Up to 64 pixels of image data are stored. Thereafter, similarly, the bank 0 and the bank 1 are switched, and the image data is burst transferred in units of 16 pixels, and the image data is sequentially stored in the SDRAM 4. The arrows in FIGS. 16 and 17 indicate the storage order in bank 0 and bank 1, respectively. After the image data of the 0th row of the two-dimensional image is stored in the direction of the arrow by the above-described procedure, the image data of the first row is similarly stored in the direction of the arrow, and the image data of each row is stored sequentially. The In addition, when the writing procedure for the SDRAM 4 is expressed using a block area, the block area C 0,0 → D 0,0 → C 0,4 → D 0,4 → C 0,8 → D 0,8 → C 0, The two-dimensional image data is sequentially stored in the order of 12 →.

このように、2次元画像の行方向については、16ピクセルごとにバンク0とバンク1が交互になるようSDRAM4に対してデータが格納される。そして、図14でも示したように、列方向については、1行ごとにバンク0とバンク1が交互になるようにSDRAM4に格納するのである。   Thus, in the row direction of the two-dimensional image, data is stored in the SDRAM 4 so that the bank 0 and the bank 1 are alternated every 16 pixels. As shown in FIG. 14, in the column direction, the bank 4 and the bank 1 are alternately stored in the SDRAM 4 for each row.

この実施の形態の例では、2次元画像の行方向のピクセル数は320である。したがって、16ピクセルごとにバンク0とバンク1を切り替えて0行目のデータを格納した後、1行目のデータを格納する場合には、1行目の先頭のブロックは再びバンク0に格納される順番となる。このため、1行目の先頭のブロック、つまり320番目から335番目までの画像データは、一旦バッファに格納し、次のブロック、つまり336番目から351番目までの画像データを先にバンク0に格納するようにする。次に、バッファされていた320番目から335番目までの画像データをバンク1に格納するのである。これにより、列方向については1行ごとにバンク0とバンク1が交互に切り替えられて画像データが格納されることになる。バッファされていた320番目から335番目までの画像データをバンク1に格納した後は、352番目から367番目までの画像データをバンク1に格納するようにしても、行アドレスの切り替えが発生しないのでアクセス速度が遅くなることはない。その後は、行方向に再び16ピクセルごとにバンク0とバンク1を切り替えながら画像データを格納すれば、列方向についても1行ごとにバンク0とバンク1が交互に切り替えられて画像データが格納されることになる。   In the example of this embodiment, the number of pixels in the row direction of the two-dimensional image is 320. Therefore, when the data of the first row is stored after switching the bank 0 and the bank 1 every 16 pixels, the first block of the first row is stored in the bank 0 again. It becomes the order. Therefore, the first block in the first row, that is, the 320th to 335th image data is temporarily stored in the buffer, and the next block, that is, the 336th to 351st image data is stored in the bank 0 first. To do. Next, the buffered 320th to 335th image data is stored in bank 1. As a result, in the column direction, bank 0 and bank 1 are alternately switched for each row to store image data. After the buffered 320th to 335th image data is stored in bank 1, even if the 352nd to 367th image data is stored in bank 1, row address switching does not occur. Access speed will never slow down. After that, if image data is stored while switching bank 0 and bank 1 every 16 pixels in the row direction again, bank 0 and bank 1 are alternately switched for each row in the column direction, and image data is stored. Will be.

一方、行方向のピクセル数が16ピクセルの奇数倍である場合には、ラスタ順でバンク0とバンク1を切り替えていくことにより、列方向についても1行ごとにバンク0とバンク1に対して交互に格納されるので、上記のようにバッファを利用する必要はない。   On the other hand, when the number of pixels in the row direction is an odd multiple of 16 pixels, bank 0 and bank 1 are switched in raster order, so that bank 0 and bank 1 are also line by row in the column direction. Since they are stored alternately, there is no need to use a buffer as described above.

このように、MPEG処理の対象となる2次元画像データをバンク0とバンク1とを切り替えながら、2次元画像イメージでSDRAM4に格納する。そして、画像の列方向については1行ごとにバンク0とバンク1が交互になるようにSDRAM4に格納する。このため、マクロブロックに注目した場合、SDRAM4の複数の行に画像データがまたがって格納されることとなるが、アクセスする行を切り替える場合にも、空き時間が発生することはない。このアクセス手順については、後で具体的に説明するが、バンク1のデータにアクセスしているタイミングで、バンク0についてアクセスする行を切り替え、バンク0のデータにアクセスしているタイミングで、バンク1についてアクセスする行を切り替えることが可能となるからである。   In this way, 2D image data to be subjected to MPEG processing is stored in the SDRAM 4 as a 2D image image while switching between bank 0 and bank 1. Then, in the column direction of the image, the data is stored in the SDRAM 4 so that the bank 0 and the bank 1 are alternated every row. For this reason, when attention is paid to the macro block, the image data is stored across a plurality of rows of the SDRAM 4, but no idle time is generated even when the row to be accessed is switched. Although this access procedure will be described in detail later, the row to be accessed for bank 0 is switched at the timing when data in bank 1 is accessed, and bank 1 is accessed at the timing when data in bank 0 is accessed. This is because it is possible to switch the row to be accessed.

なお、図18および図19で示したように、2次元画像データの水平1ライン分の画像データは、SDRAM4のバンク0の同一行およびバンク1の同一行のメモリ領域に格納し、2次元画像データのラインが次のラインに移動すると、格納先のバンク0とバンク1のメモリ領域も行を変更するようにしている。このような格納方法は、メモリ領域の有効利用という点ではデメリットがあるが、回路構成をシンプルにすることができるという点でメリットがある。したがって、メモリ領域に余裕がある場合には有効な方法である。   As shown in FIGS. 18 and 19, the image data for one horizontal line of the two-dimensional image data is stored in the memory area of the same row of bank 0 and the same row of bank 1 of the SDRAM 4 to store the two-dimensional image. When the data line moves to the next line, the storage areas of the bank 0 and bank 1 memory areas are also changed. Such a storage method has a demerit in terms of effective use of the memory area, but has an advantage in that the circuit configuration can be simplified. Therefore, this method is effective when there is a margin in the memory area.

ただし、上記格納方法は一例であり、これに限定されることはない。つまり、ラスタ順で入力する2次元画像データの1ライン目の画像データを、SDRAM4の1行目(バンク0あるいはバンク1)に格納した後、2ライン目の画像データを続けて、SDRAM4の1行目に格納するような方法をとってもよい。同様に、SDRAM4の各行において、画像データの水平ラインに対応して格納する行を変更させることはなく、順次、画像データを詰めて格納するのである。そして、この場合にも、一度に転送される16ピクセル分の画像データ(つまり、1バースト転送分の画像データ)はSDRAM4の同一行に格納されるようにしておけばよい。これにより、バンク0およびバンク1の一方のデータにアクセスしているタイミングで、他方のバンクの行アドレスを変更するようにすれば、処理速度を高速にすることが可能である。あるいは逆に、2次元画像の水平1ラインのデータサイズがSDRAM4の1行に格納可能なサイズ(バンク0とバンク1の1行に格納可能なサイズの和)より大きくてもよい。この場合にも、16ピクセル単位で画像データをいずれかのバンクの同一行に格納するようにし、2次元画像の水平1ラインの途中で各バンクの行アドレスを変更するようにしても問題はない。つまり、本発明は、本質的には、マクロブロックを構成する1行の16ピクセル分の画像データが全て一方のバンクの同一行に格納され、マクロブロックを構成する次の行の16ピクセル分の画像データが全て他方のバンクの同一行に格納されることである。このような格納方法をとれば、マクロブロック単位での画像データに対するアクセスにおいて、いずれかのバンクの行アドレスを変更する必要が生じた場合でも、その直前に必ず他方のバンクに対するアクセス処理が介入するので、その間に行アドレスを変更することで、空き時間の発生を無くすことができるのである。   However, the above storage method is an example, and the present invention is not limited to this. That is, the first line of image data of the two-dimensional image data input in raster order is stored in the first row (bank 0 or bank 1) of the SDRAM 4, and then the image data of the second line is continued. You may take the method of storing in a line. Similarly, in each row of the SDRAM 4, the row to be stored is not changed corresponding to the horizontal line of the image data, and the image data is sequentially packed and stored. Also in this case, the image data for 16 pixels transferred at a time (that is, image data for one burst transfer) may be stored in the same row of the SDRAM 4. Thus, if the row address of the other bank is changed at the timing when one of the data in bank 0 and bank 1 is accessed, the processing speed can be increased. Or, conversely, the data size of one horizontal line of the two-dimensional image may be larger than the size that can be stored in one row of SDRAM 4 (the sum of the sizes that can be stored in one row of bank 0 and bank 1). Also in this case, there is no problem if the image data is stored in the same row of any bank in units of 16 pixels and the row address of each bank is changed in the middle of one horizontal line of the two-dimensional image. . That is, according to the present invention, the image data for 16 pixels in one row constituting the macro block is all stored in the same row in one bank, and the data for 16 pixels in the next row constituting the macro block is essentially stored. All the image data is stored in the same row of the other bank. With such a storage method, even when it is necessary to change the row address of one bank in accessing the image data in units of macroblocks, the access processing for the other bank always intervenes immediately before that. Therefore, the occurrence of idle time can be eliminated by changing the row address in the meantime.

次に、MPEG処理部2がMPEG圧縮処理を行うために、SDRAM4に格納された画像データにマクロブロック単位でアクセスする処理について説明する。なお、このアクセス処理には、MPEG処理部2がMPEG圧縮処理を行う対象であるマクロブロック単位の画像データを読み出す処理と、マクロブロック単位の画像データを書き込む処理がある。   Next, processing for accessing the image data stored in the SDRAM 4 in units of macro blocks in order for the MPEG processing unit 2 to perform MPEG compression processing will be described. The access process includes a process for reading out image data in units of macroblocks to which the MPEG processing unit 2 performs an MPEG compression process, and a process for writing image data in units of macroblocks.

図20は、メモリ制御部3によって、SDRAM4に格納された画像データにアクセスする処理のタイミング図である。また、図21は、SDRAM4のバンク0に対するアクセス順序を示す図であり、図22は、SDRAM4のバンク1に対するアクセス順序を示す図である。さらに、図21および図22で示した方法によりマクロブロックにアクセスした後、続けて隣り合うマクロブロックをアクセスする方法を示したのが図23および図24である。図23は、SDRAM4のバンク0に対するアクセス順序を示す図であり、図24は、SDRAM4のバンク1に対するアクセス順序を示す図である。なお、図20ないし図24は、マクロブロック単位での画像データの読み出し処理と書き込み処理に共通の特徴を示す図である。また、図21ないし図24における各ブロック領域C0,0、D0,0等は、図16および図17における各ブロック領域C0,0、D0,0等に対応しており、上述した書き込み処理により、図18および図19で示したような配列で2次元画像データが格納されているものとする。 FIG. 20 is a timing chart of a process for accessing the image data stored in the SDRAM 4 by the memory control unit 3. FIG. 21 is a diagram showing an access order for the bank 0 of the SDRAM 4, and FIG. 22 is a diagram showing an access order for the bank 1 of the SDRAM 4. Further, FIG. 23 and FIG. 24 show a method of subsequently accessing the adjacent macroblock after accessing the macroblock by the method shown in FIG. 21 and FIG. FIG. 23 is a diagram showing an access order of the SDRAM 4 to the bank 0, and FIG. 24 is a diagram showing an access order of the SDRAM 4 to the bank 1. 20 to 24 are diagrams showing common features in the image data reading process and writing process in units of macroblocks. Further, each of the blocks C 0,0 in FIGS. 21 to 24, D 0,0, etc., each of the block areas C 0,0 in FIGS. 16 and 17 corresponds to D 0,0 and the like, described above It is assumed that two-dimensional image data is stored in the arrangement as shown in FIGS. 18 and 19 by the writing process.

まず、マクロブロック単位での画像データの読み出し処理について説明する。図20において、まず、バンクアドレスに「0」が設定され、行アドレスおよび列アドレスにいずれも「0」が設定され、0番目から15番目までの16ピクセル分の画像データが、バースト転送される。具体的には、図21で示すバンク0のブロック領域C0,0に格納されている16ピクセル分の画像データが読み出される。なお、図20における表記ルールは、図3等と同様である。 First, image data read processing in units of macroblocks will be described. In FIG. 20, first, “0” is set to the bank address, “0” is set to both the row address and the column address, and image data for 16 pixels from the 0th to the 15th is burst transferred. . Specifically, the image data for 16 pixels stored in the block area C 0,0 of bank 0 shown in FIG. 21 is read. Note that the notation rules in FIG. 20 are the same as those in FIG.

一方、図20に示すように、ブロック領域C0,0の画像データに対する読み出し処理が行われているタイミングで、バンクアドレスが「1」に設定されるとともに行アドレスが「1」に設定され、ブロック領域C0,0からの読み込み処理終了後、320番目から335番目までの16ピクセル分の画像データがバースト転送される。具体的には、図22で示すバンク1のブロック領域D1,0に格納されている16ピクセル分の画像データが読み出される。 On the other hand, as shown in FIG. 20, the bank address is set to “1” and the row address is set to “1” at the timing when the image data in the block area C 0,0 is read. After the reading process from the block area C 0,0 is completed, image data for 16 pixels from the 320th to the 335th is burst transferred. Specifically, the image data for 16 pixels stored in the block area D1,0 of the bank 1 shown in FIG. 22 is read.

さらに、図20に示すように、ブロック領域D1,0の画像データの読み出し処理が行われているタイミングで、バンクアドレスが「0」に設定されるとともに行アドレスが「2」に設定され、ブロック領域D1,0からの読み込み処理終了後、640番目から655番目までの16ピクセル分の画像データがバースト転送される。具体的には、図21で示すバンク0のブロック領域C2,0に格納されている16ピクセル分の画像データが読み出される。ブロック領域C2,0は、メモリ領域c2,0、c2,1、c2,2、c2,3からなる領域である。ここで、バンク0については、ブロック領域C0,0に対するアクセス処理の後、ブロック領域C2,0に対するアクセス処理が行われるため、アクセスする行アドレスを切り替える必要があるが、バンク1のブロック領域D1,0に対するデータ転送が行われているタイミングで、この行アドレスの切り替えが行われるので、空き時間が発生することなく、効率的にデータの読み出し処理が実行されるのである。 Further, as shown in FIG. 20, the bank address is set to “0” and the row address is set to “2” at the timing when the image data of the block area D 1,0 is read. After the reading process from the block area D 1,0 is completed, the image data for 16 pixels from the 640th to the 655th is burst transferred. Specifically, the image data for 16 pixels stored in the block area C 2,0 of bank 0 shown in FIG. 21 is read. The block area C 2,0 is an area composed of memory areas c 2,0 , c 2,1 , c 2,2 and c 2,3 . Here, for the bank 0, the access processing for the block area C 2,0 is performed after the access processing for the block area C 0,0 , so it is necessary to switch the row address to be accessed. Since the row address is switched at the timing when the data transfer to D 1,0 is performed, the data reading process is efficiently executed without generating a free time.

そして、ブロック領域C2,0の画像データの読み出し処理が行われているタイミングで、バンクアドレスが「1」に設定されるとともに行アドレスが「3」に設定され、ブロック領域C2,0からの読み込み処理終了後、960番目から975番目までの16ピクセル分の画像データがバースト転送される。具体的には、図22で示すバンク1のブロック領域D3,0に格納されている16ピクセル分の画像データが読み出される。ブロック領域D3,0は、メモリ領域d3,0、d3,1、d3,2、d3,3からなる領域である。同様に、バンク1については、ブロック領域D1,0に対するアクセス処理の後、ブロック領域D3,0に対するアクセス処理が行われるため、アクセスする行アドレスを切り替える必要があるが、バンク0のブロック領域C2,0に対するデータ転送が行われているタイミングで、この行アドレスの切り替えが行われるので、空き時間が発生することなく、効率的にデータの読み出し処理が実行されるのである。 Then, at the timing when the readout processing of the image data of the block area C 2, 0 is being performed, the row address along with the bank address is set to "1" is set to "3", the block area C 2, 0 After the reading process ends, image data for 16 pixels from the 960th to the 975th is burst transferred. Specifically, the image data for 16 pixels stored in the block area D 3,0 of bank 1 shown in FIG. 22 is read. The block area D 3,0 is an area composed of memory areas d 3,0 , d 3,1 , d 3,2 , d 3,3 . Similarly, for bank 1, since access processing for block area D 3,0 is performed after access processing for block area D 1,0 , it is necessary to switch the row address to be accessed. Since the row address is switched at the timing when the data transfer to C 2,0 is performed, the data reading process is efficiently executed without causing a free time.

以上の処理により、図18および図19に示したバンク0のブロック領域C0,0、C2,0およびバンク1のブロック領域D1,0、D3,0に格納されている0番目から15番目までの16ピクセル分の画像データおよび320番目から335番目までの16ピクセル分の画像データおよび640番目から655番目までの16ピクセル分の画像データおよび960番目から975番目までの16ピクセル分の画像データが読み出される。この画像データは、図14の画像イメージに対応させると、行方向が16ピクセルであって、列方向が同じ列の4行分の画像データである。つまり、この後、同様に、バンク0とバンク1を切り替えながら、16ピクセル単位で画像データをバースト転送し、順次、行方向が16ピクセルで、同じ列の画像データを読み出すことにより、2次元的なブロックの画像データを連続的に読み出すことが可能となるのである。そして、このような処理を16行分実行することにより、縦16ピクセル×横16ピクセルのマクロブロックに対応する画像データを連続的に読み出すことが可能となるのである。 Through the above processing, from the 0th stored in the block areas C 0,0 and C 2,0 of the bank 0 and the block areas D 1,0 and D 3,0 of the bank 1 shown in FIGS. Image data for 16 pixels up to 15th, image data for 16 pixels from 320th to 335th, image data for 16 pixels from 640th to 655th, and data for 16 pixels from 960th to 975th Image data is read out. If this image data is made to correspond to the image image of FIG. 14, it is image data for 4 rows in which the row direction is 16 pixels and the column direction is the same. That is, after that, similarly, the bank 0 and the bank 1 are switched, the image data is burst-transferred in units of 16 pixels, and the image data in the same column is sequentially read out in the row direction of 16 pixels. Therefore, it is possible to continuously read out image data of various blocks. By executing such processing for 16 rows, it is possible to continuously read out image data corresponding to a macroblock of 16 pixels vertically × 16 pixels horizontally.

図20〜図22を用いた説明では、ブロック領域C0,0→D1,0→C2,0→D3,0の画像データを読み出すところまでを説明した。この後、バンク0とバンク1を交互に切り替えつつ、同様に同列のブロック領域の画像データを順次読み出する。つまり、C0,0→D1,0→C2,0→D3,0→C4,0→D5,0→C6,0→D7,0→C8,0→D9,0→C10,0→D11,0→C12,0→D13,0→C14,0→D15,0の順でブロック領域を読み出すことにより、縦16ピクセル×横16ピクセルのマクロブロックに対応する画像データを読み出すことが可能となるのである。 In the description using FIGS. 20 to 22, the description has been made up to the point where the image data of the block area C 0,0 → D 1,0 → C 2,0 → D 3,0 is read. Thereafter, the image data in the block area in the same row are sequentially read out while alternately switching between the bank 0 and the bank 1. That is, C 0,0 → D 1,0 → C 2,0 → D 3,0 → C 4,0 → D 5,0 → C 6,0 → D 7,0 → C 8,0 → D 9, 0 → C 10,0 → D 11,0 → C 12,0 → D 13,0 → C 14,0 → by reading the order in the block area of the D 15,0, 16 vertical pixels × 16 horizontal pixels of the macro Image data corresponding to the block can be read out.

また、上述したように、図14に示すようなバンク0とバンク1に対する格納ルールが満たされていれば、2次元画像の異なる水平ラインの画像データが、SDRAM4の同一の行に格納されていてもよい。たとえば、2次元画像データの1ライン目と2ライン目の画像データが、ともにSDRAM4の1行目のメモリ領域に格納されてもよいことを説明した。この場合にも、マクロブロック単位でのデータの読み出し処理は、高速に行うことが可能である。つまり、16ピクセル単位で、バンクを切り替えながら、画像データが格納されていることにより、一方のバンクから画像データを読み出している間に、他方のバンクの行を切り替えることが可能となるからである。これにより、SDRAM4に対するアクセス行を変更する際にも、空き時間を発生させることなく、読み出し処理を行うことが可能である。また、図14に示すようなバンク0とバンク1に対する格納ルールが満たされていれば、2次元画像データの水平1ラインがSDRAM4の複数の行にまたがって格納されていてもよい。あるいは、2次元画像の各水平ラインの列方向の順序と、SDRAM4に格納される列方向の順序が異なっていてもよいし、とびとびの行に格納されるようになっていてもよい。   Further, as described above, if the storage rules for bank 0 and bank 1 as shown in FIG. 14 are satisfied, the image data of different horizontal lines of the two-dimensional image are stored in the same row of the SDRAM 4. Also good. For example, it has been described that the image data of the first line and the second line of the two-dimensional image data may be stored in the memory area of the first row of the SDRAM 4. Also in this case, the data reading process in units of macroblocks can be performed at high speed. That is, by storing the image data while switching the bank in units of 16 pixels, it is possible to switch the row of the other bank while reading the image data from one bank. . As a result, even when an access row to the SDRAM 4 is changed, it is possible to perform a read process without causing a free time. Further, if the storage rules for bank 0 and bank 1 as shown in FIG. 14 are satisfied, one horizontal line of the two-dimensional image data may be stored across a plurality of rows of the SDRAM 4. Alternatively, the order in the column direction of each horizontal line of the two-dimensional image may be different from the order in the column direction stored in the SDRAM 4 or may be stored in discrete rows.

このように、マクロブロック単位で画像データを高速に読み出すことが可能であるが、MPEG処理部2により、マクロブロック単位で画像データを書き込む処理も同様である。この書き込み処理も、図20で示したタイミング図、図21、図22で示したアクセス順序で行えばよい。つまり、ブロック領域C0,0→D1,0→C2,0→D3,0→C4,0・・・の順で画像データを書き込むようにすればよい。これにより、マクロブロック単位での画像データの読み込みおよび書き込み両方の処理を高速に行うことが可能である。 As described above, the image data can be read at a high speed in units of macroblocks, but the process of writing the image data in units of macroblocks by the MPEG processing unit 2 is the same. This writing process may also be performed in the access order shown in the timing chart shown in FIG. 20, FIG. 21, and FIG. That is, the image data may be written in the order of the block areas C 0,0 → D 1,0 → C 2,0 → D 3,0 → C 4,0 . As a result, both reading and writing of image data in units of macro blocks can be performed at high speed.

以上説明した方法により、縦16ピクセル×横16ピクセルのマクロブロックに対するアクセスを行った後、さらに、隣り合うマクロブロックにアクセスする方法を説明する。図14の画像イメージを用いて説明すると、0番目から15番目までのピクセルデータを含むマクロブロックにアクセスした後に、続けて16番目から31番目までのピクセルデータを含むマクロブロックにアクセスするような処理である。   A method of accessing an adjacent macroblock after accessing a macroblock of 16 pixels by 16 pixels by the above-described method will be described. Referring to the image in FIG. 14, after accessing a macroblock including the 0th to 15th pixel data, a process of subsequently accessing the macroblock including the 16th to 31st pixel data. It is.

ここで、上述したように、0番目から15番目までのピクセルデータを含むマクロブロックに対するアクセスにおいて、最後にアクセスするブロック領域はバンク1のブロック領域D15,0であった。このため、続けて16番目から31番目までのピクセルデータを含むマクロブロックにアクセスする場合、最初の16番目から31番目のピクセルデータもバンク1に格納されているため、バンク1に連続してアクセスする必要がある。そして、ブロック領域D15,0とブロック領域D0,0とがSDRAM4の異なる行である場合(この実施の形態では、異なる行に格納されている。)には、行アドレスを切り替える処理が発生し、処理速度が低下する。 Here, as described above, in the access to the macro block including the 0th to 15th pixel data, the block area to be accessed last is the block area D 15,0 of the bank 1. For this reason, when the macro block including the 16th to 31st pixel data is continuously accessed, since the first 16th to 31st pixel data is also stored in the bank 1, the bank 1 is continuously accessed. There is a need to. When the block area D 15,0 and the block area D 0,0 are in different rows of the SDRAM 4 (stored in different rows in this embodiment), processing for switching the row address occurs. However, the processing speed decreases.

そこで、本実施の形態においては、続けて隣り合うマクロブロックにアクセスする場合には、そのアクセス方向を列方向について逆にするようにする。つまり、図23および図24に示すように、このマクロブロックに対しては、図21および図22で示した方法に比べて列方向のアクセス順序を逆転させるのである。   Therefore, in the present embodiment, when the adjacent macroblock is continuously accessed, the access direction is reversed with respect to the column direction. That is, as shown in FIGS. 23 and 24, the access order in the column direction is reversed for this macroblock as compared with the method shown in FIGS.

具体的には、まず、ブロック領域C15,0に対するアクセスを行い、次に、ブロック領域D14,0にアクセスする。そして、バンク0とバンク1を切り替えながら同様のアクセスを行う。つまり、C15,0→D14,0→C13,0→D12,0→C11,0→D10,0→C9,0→D8,0→C7,0→D6,0→C5,0→D4,0→C3,0→D2,0→C1,0→D0,0の順でブロック領域を読み出すことにより、縦16ピクセル×横16ピクセルのマクロブロックに対応する画像データを読み出すことが可能となるのである。これにより、隣り合うマクロブロックについて連続してアクセスする場合でも、処理の全般にわたって常にバンク0とバンク1に対するアクセスが交互になるので、一方のバンクに対するアクセスを行っている間に、他方のバンクの行アドレスを切り替える処理を行うことが可能である。 Specifically, first, performs access to the block area C 15,0, then accesses the block area D 14,0. Then, the same access is performed while switching between bank 0 and bank 1. In other words, C 15,0 → D 14,0 → C 13,0 → D 12,0 → C 11,0 → D 10,0 → C 9,0 → D 8,0 → C 7,0 → D 6, By reading the block area in the order of 0 → C 5,0 → D 4,0 → C 3,0 → D 2,0 → C 1,0 → D 0,0 Image data corresponding to the block can be read out. As a result, even when adjacent macroblocks are continuously accessed, access to bank 0 and bank 1 is always alternated throughout the processing, so that while accessing one bank, It is possible to perform processing for switching row addresses.

次に、図25を参照して、データの種別に応じた各メモリ領域への画像データの格納方法について説明する。ここでも、図13で示したように、画像データは、YUV4:2:0フォーマットの場合を説明する。   Next, a method of storing image data in each memory area according to the type of data will be described with reference to FIG. Here, as shown in FIG. 13, the case where the image data is in the YUV 4: 2: 0 format will be described.

図25で示したタイミング図の中で、前半の2つのバースト転送処理は、輝度データに対する処理である。後半の2つのバースト転送処理は、色差データに対する処理である。まず、輝度データの場合には、4つのYデータを1つのメモリ領域に格納する。つまり、1画素のYデータは8ビットであり、本実施の形態におけるSDRAM4の1アドレスに対応するメモリ領域は32ビットのデータを格納可能としているので、4ピクセル分のYデータを1アドレスのメモリ領域に格納するのである。このとき、SDRAM4にアクセスする32ビットのデータ線を4等分して、それぞれ4ピクセル分のYデータ転送用に使用する。このようにして、バンク0には、4つのアドレスに対応した4つのメモリ領域に16ピクセル分のYデータが格納される。続いて、バンク1において、4つのアドレスに対応した4つのメモリ領域に16ピクセル分のYデータが格納されるのである。   In the timing chart shown in FIG. 25, the first two burst transfer processes are processes for luminance data. The latter two burst transfer processes are processes for color difference data. First, in the case of luminance data, four Y data are stored in one memory area. That is, the Y data of one pixel is 8 bits, and the memory area corresponding to one address of the SDRAM 4 in this embodiment can store 32 bits of data. Therefore, Y data for four pixels is stored in one address memory. It is stored in the area. At this time, the 32-bit data line for accessing the SDRAM 4 is divided into four equal parts and used for transferring Y data of four pixels. In this way, bank 0 stores 16 pixels of Y data in four memory areas corresponding to four addresses. Subsequently, in bank 1, Y data for 16 pixels is stored in four memory areas corresponding to four addresses.

次に、色差データの格納方法について説明する。この実施の形態では、UデータとVデータの組を2組パッキングして1つのメモリ領域に格納する。つまり、UデータおよびVデータは、いずれも1画素8ビットのデータであり、本実施の形態におけるSDRAM4の1アドレスに対応するメモリ領域は32ビットのデータを格納可能としているので、UデータとVデータからなる4ピクセル分のデータを1アドレスのメモリ領域に格納するのである。このとき、SDRAM4にアクセスする32ビットのデータ線を4等分して、それぞれ4ピクセル分のUデータとVデータに割り当てる。このようにして、バンク0には、4つのアドレスに対応した4つのメモリ領域に16ピクセル分の色差データが格納される。続いて、バンク1において、4つのアドレスに対応した4つのメモリ領域に16ピクセル分の色差データが格納されるのである。   Next, a method for storing color difference data will be described. In this embodiment, two sets of U data and V data are packed and stored in one memory area. That is, U data and V data are both 8-bit data per pixel, and the memory area corresponding to one address of SDRAM 4 in this embodiment can store 32-bit data. Data of 4 pixels consisting of data is stored in a memory area of one address. At this time, the 32-bit data line for accessing the SDRAM 4 is divided into four equal parts and assigned to U data and V data for 4 pixels, respectively. In this way, bank 0 stores color difference data for 16 pixels in four memory areas corresponding to four addresses. Subsequently, in bank 1, color difference data for 16 pixels is stored in four memory areas corresponding to four addresses.

このように、UデータとVデータをパッキングして、1つのメモリ領域に格納することにより、輝度データについてSDRAM4にアクセスする場合と、色差データについてSDRAM4にアクセスする場合とで、同じ転送手順を実行することが可能となるのである。   In this way, by packing U data and V data and storing them in one memory area, the same transfer procedure is executed when accessing SDRAM 4 for luminance data and when accessing SDRAM 4 for color difference data. It becomes possible to do.

具体的には、まず、輝度データについてマクロブロック単位のデータアクセスを行い、次に、同じマクロブロック領域内の色差データについてマクロブロック単位のデータアクセスを行うことになるが(図25は、輝度データについてのデータアクセス処理と色差データに対するデータアクセス処理がちょうど入れ替わるタイミングを示している。)、輝度データに対するデータアクセスと色差データに対するデータアクセスを同じ手順とすることができるのである。ただし、YUV4:2:0フォーマットの場合には、UデータとVデータの数が行方向(縦方向)にも1/2に間引かれているので、1つのマクロブロックに対する処理は、輝度データに対する処理の半分の処理でよい。   Specifically, first, data access in units of macroblocks is performed on luminance data, and then data access in units of macroblocks is performed on color difference data in the same macroblock region (FIG. 25 shows luminance data). The timing at which the data access process and the data access process for the color difference data are just switched is shown.), The data access for the luminance data and the data access for the color difference data can be made the same procedure. However, in the case of the YUV 4: 2: 0 format, the number of U data and V data is halved in the row direction (vertical direction), so the processing for one macroblock is performed with luminance data. Half of the processing is sufficient.

{第3の実施の形態}
次に、本発明の第3の実施の形態について説明する。第3の実施の形態における画像処理装置も、図1で説明した画像処理装置と同様である。第3の実施の形態におけるSDRAM4は、1アドレスのメモリ領域に対して2バイト(16ビット)のデータを格納可能としているが、第1の実施の形態とは異なり、SDRAM4は、連続する8つのアドレスに対して連続的にデータアクセスを行うバースト転送処理を可能としている。つまり、SDRAM4は、128ビット(8アドレス×16ビット)のデータをバースト転送可能とした、16ビットDDR(double data rate)SDRAMである。
{Third embodiment}
Next, a third embodiment of the present invention will be described. The image processing apparatus in the third embodiment is the same as the image processing apparatus described in FIG. The SDRAM 4 in the third embodiment is capable of storing 2 bytes (16 bits) of data in a memory area of one address. Unlike the first embodiment, the SDRAM 4 has eight consecutive Burst transfer processing that continuously accesses data to addresses is enabled. That is, the SDRAM 4 is a 16-bit DDR (double data rate) SDRAM that enables burst transfer of 128-bit (8 addresses × 16 bits) data.

この実施の形態においても、2次元画像をラスタ順に16ピクセルごとにブロック化し、図14で示したように、これら各ブロックが千鳥状にバンク0とバンク1に割り当てられて、SDRAM4に格納されることになる。   Also in this embodiment, a two-dimensional image is divided into blocks every 16 pixels in raster order, and as shown in FIG. 14, these blocks are assigned to banks 0 and 1 in a staggered manner and stored in the SDRAM 4. It will be.

図26は、メモリ制御部3によって、入力部1より出力されたラスタ順の画像データが、SDRAM4に書き込まれる際のタイミング図である。また、図27は、SDRAM4のバンク0に対する書き込み順序を示す図であり、図28は、SDRAM4のバンク1に対する書き込み順序を示す図である。また、図29は、バンク0の各メモリ領域に格納される画像データのピクセル番号を示す図であり、図30は、バンク1の各メモリ領域に格納される画像データのピクセル番号を示す図である。   FIG. 26 is a timing chart when the raster control image data output from the input unit 1 is written into the SDRAM 4 by the memory control unit 3. FIG. 27 is a diagram showing the order of writing to the bank 0 of the SDRAM 4, and FIG. 28 is a diagram showing the order of writing to the bank 1 of the SDRAM 4. 29 is a diagram showing pixel numbers of image data stored in each memory area of bank 0, and FIG. 30 is a diagram showing pixel numbers of image data stored in each memory area of bank 1. is there.

ここで、図27および図28において、メモリ領域e0,0、f0,0等の添え字は、1番目の添え字がメモリ領域の行番号を示し、2番目の添え字がメモリ領域の列番号を示している。これらの表記ルールも第1の実施の形態と同様である。また、図27および図28におけるブロック領域E0,0、F0,0等は、8つのメモリ領域からなるブロックを示している。ブロック領域の添え字は、そのブロック領域に含まれている先頭(左端)のメモリ領域の行番号および列番号に対応している。 27 and 28, the subscripts such as the memory areas e 0,0 and f 0,0 are the first subscript indicating the row number of the memory area, and the second subscript is the memory area. Indicates the column number. These notation rules are the same as those in the first embodiment. In addition, block areas E 0,0 , F 0,0, etc. in FIGS. 27 and 28 indicate blocks composed of eight memory areas. The subscript of the block area corresponds to the row number and column number of the first (leftmost) memory area included in the block area.

図26において、まず、バンクアドレスに「0」が設定され、行アドレスおよび列アドレスにいずれも「0」が設定され、0番目から15番目までの16ピクセル分の画像データが、バースト転送される。つまり、1ピクセルの画像データが8ビットであるので、16ピクセル分の画像データ(16ピクセル×8ビット)をバースト転送するのである。この16ピクセル分の画像データは、図27に示すバンク0のブロック領域E0,0に格納される。ブロック領域E0,0は、メモリ領域e0,0、e0,1、e0,2、e0,3、e0,4、e0,5、e0,6、e0,7からなる領域である。なお、図26の表記ルールも図3等と同様である。 In FIG. 26, first, “0” is set to the bank address, “0” is set to both the row address and the column address, and image data for 16 pixels from the 0th to the 15th is burst transferred. . That is, since image data of 1 pixel is 8 bits, image data for 16 pixels (16 pixels × 8 bits) is burst transferred. The image data for 16 pixels is stored in the block area E 0,0 of bank 0 shown in FIG. The block area E 0,0 is formed from the memory areas e 0,0 , e 0,1 , e 0,2 , e 0,3 , e 0,4 , e 0,5 , e 0,6 , e 0,7. It is an area. The notation rules in FIG. 26 are the same as those in FIG.

一方、図26に示すように、0番目から15番目までの16ピクセル分の画像データが、ブロック領域E0,0に書き込まれているタイミングで、バンクアドレスが「1」に設定される。そして、ブロック領域E0,0への書き込み終了後、16番目から31番目までの16ピクセル分の画像データがバースト転送される。この16ピクセル分の画像データは、図28に示す、バンク1のブロック領域F0,0に格納される。ブロック領域F0,0は、メモリ領域f0,0、f0,1、f0,2、f0,3、f0,4、f0,5、f0,6、f0,7からなる領域である。 On the other hand, as shown in FIG. 26, the bank address is set to “1” at the timing when image data for 16 pixels from the 0th to the 15th is written in the block area E 0,0 . Then, after writing to the block area E 0,0 , image data for 16 pixels from the 16th to the 31st is burst transferred. The image data for 16 pixels is stored in the block area F 0,0 of bank 1 shown in FIG. The block area F 0,0 is formed from the memory areas f 0,0 , f 0,1 , f 0,2 , f 0,3 , f 0,4 , f 0,5 , f 0,6 , f 0,7. It is an area.

さらに、16番目から31番目までの16ピクセル分の画像データがブロック領域F0,0に書き込まれているタイミングで、バンクアドレスが「0」に設定される。そして、ブロック領域F0,0への書き込み終了後、32番目から47番目までの16ピクセル分の画像データがバースト転送される。この16ピクセル分の画像データは、列アドレスに「8」が設定されることにより、図27に示すバンク0のブロック領域E0,8に格納される。ブロック領域E0,8は、メモリ領域e0,8、e0,9、e0,10、e0,11、e0,12、e0,13、e0,14、e0,15からなる領域である。 Furthermore, the bank address is set to “0” at the timing when the image data for 16 pixels from the 16th to the 31st is written in the block area F 0,0 . Then, after writing to the block area F 0,0 , image data for 16 pixels from the 32nd to the 47th is burst transferred. The image data for 16 pixels is stored in the block area E 0,8 of the bank 0 shown in FIG. 27 by setting “8” as the column address. Block area E 0, 8, the memory area e 0,8, e 0,9, e 0,10 , e 0,11, e 0,12, e 0,13, e 0,14, from e 0, 15 It is an area.

そして、ブロック領域E0,8に書き込みが行われているタイミングで、バンクアドレスが「1」に設定される。そして、ブロック領域E0,8への書き込み終了後、48番目から63番目までの16ピクセル分の画像データがバースト転送される。この16ピクセル分の画像データは、列アドレスに「8」が設定されることにより、図28に示すバンク1のブロック領域F0,8に格納される。ブロック領域F0,8は、メモリ領域f0,8、f0,9、f0,10、f0,11、f0,12、f0,13、f0,14、f0,15からなる領域である。 The bank address is set to “1” at the timing when writing is performed in the block areas E 0,8 . Then, after writing to the block areas E 0,8 , image data for 16 pixels from the 48th to the 63rd is burst transferred. The image data for 16 pixels is stored in the block area F 0,8 of the bank 1 shown in FIG. 28 by setting “8” as the column address. Block area F 0, 8, the memory area f 0,8, f 0,9, f 0,10 , f 0,11, f 0,12, f 0,13, f 0,14, from f 0, 15 It is an area.

以上の処理により、図29および図30に示すように、バンク0のブロック領域E0,0、E0,8およびバンク1のブロック領域F0,0、F0,8に0番目から63番目までの64ピクセル分の画像データが格納される。この後は、同様に、バンク0とバンク1を切り替えながら、16ピクセル単位で画像データをバースト転送し、順次SDRAM4に画像データを格納するのである。図27および図28における矢印は、それぞれバンク0およびバンク1への格納順序を示している。上述した手順により、2次元画像の0行目の画像データが矢印の方向に格納された後、1行目の画像データが同様に矢印の方向に格納され、順次、各行の画像データが格納される。また、SDRAM4に対する書き込み手順を、ブロック領域を用いて表現すると、ブロック領域E0,0→F0,0→E0,8→F0,8→E0,16→F0,16→C0,24→・・・の順で、2次元画像データを順次格納することになる。 Through the above processing, as shown in FIGS. 29 and 30, the 0th to 63rd blocks are added to the block areas E 0,0 and E 0,8 of the bank 0 and the block areas F 0,0 and F 0,8 of the bank 1. Up to 64 pixels of image data are stored. Thereafter, similarly, the bank 0 and the bank 1 are switched, and the image data is burst transferred in units of 16 pixels, and the image data is sequentially stored in the SDRAM 4. The arrows in FIGS. 27 and 28 indicate the storage order in bank 0 and bank 1, respectively. After the image data of the 0th row of the two-dimensional image is stored in the direction of the arrow by the above-described procedure, the image data of the first row is similarly stored in the direction of the arrow, and the image data of each row is stored sequentially. The Further, if the write procedure for the SDRAM 4 is expressed using a block area, the block area E 0,0 → F 0,0 → E 0,8 → F 0,8 → E 0,16 → F 0,16 → C 0 , 24 →... Sequentially stores the two-dimensional image data.

このように、2次元画像の行方向については、16ピクセルごとにバンク0とバンク1が交互になるようSDRAM4に対してデータが格納される。そして、図14でも示したように、列方向については、1行ごとにバンク0とバンク1が交互になるようにSDRAM4に格納するのである。   Thus, in the row direction of the two-dimensional image, data is stored in the SDRAM 4 so that the bank 0 and the bank 1 are alternated every 16 pixels. As shown in FIG. 14, in the column direction, the bank 4 and the bank 1 are alternately stored in the SDRAM 4 for each row.

そして、第2の実施の形態で説明したように、行方向のピクセル数が16ピクセルの偶数倍である場合には、バッファを利用することにより、列方向については2次元画像が1行ごとにバンク0とバンク1に対して交互に格納されるようにする。また、行方向のピクセル数が16ピクセルの奇数倍である場合には、バッファを利用する必要はない。   As described in the second embodiment, when the number of pixels in the row direction is an even multiple of 16 pixels, a two-dimensional image is displayed for each row in the column direction by using a buffer. The bank 0 and the bank 1 are alternately stored. If the number of pixels in the row direction is an odd multiple of 16 pixels, there is no need to use a buffer.

このように、MPEG処理の対象となる2次元画像データをバンク0とバンク1とを切り替えながら、2次元画像イメージでSDRAM4に格納する。そして、画像の列方向についてはバンク0とバンク1が交互になるようにSDRAM4に格納する。このため、マクロブロックに注目した場合、SDRAM4の複数の行に画像データがまたがって格納されることとなるが、アクセスする行を切り替える場合にも、空き時間が発生することはない。このアクセス処理については、後で具体的に説明するが、バンク1のデータにアクセスしているタイミングで、バンク0についてアクセスする行を切り替え、バンク0のデータにアクセスしているタイミングで、バンク1についてアクセスする行を切り替えることが可能となるからである。   In this way, 2D image data to be subjected to MPEG processing is stored in the SDRAM 4 as a 2D image image while switching between bank 0 and bank 1. Then, the image is stored in the SDRAM 4 so that the bank 0 and the bank 1 are alternately arranged in the column direction. For this reason, when attention is paid to the macro block, the image data is stored across a plurality of rows of the SDRAM 4, but no idle time is generated even when the row to be accessed is switched. This access processing will be described in detail later. The row to be accessed for bank 0 is switched at the timing when the data in bank 1 is accessed, and bank 1 is accessed at the timing when the data in bank 0 is accessed. This is because it is possible to switch the row to be accessed.

また、第1あるいは第2の実施の形態で説明したように、ラスタ順で入力する2次元画像データの1ライン目の画像データを、SDRAM4の1行目(バンク0あるいはバンク1)に格納した後、2ライン目の画像データを続けて、SDRAM4の1行目に格納するような方法をとってもよい。同様に、SDRAM4の各行において、画像データのラインに対応して格納する行を変更させることはなく、順次、画像データを詰めて格納するようにしてもよい。あるいは逆に、2次元画像の水平1ラインのデータサイズがSDRAM4の1行に格納可能なサイズ(バンク0とバンク1の1行に格納可能なサイズの和)より大きくてもよい。この場合にも、16ピクセル単位で画像データをいずれかのバンクの同一行に格納するようにし、2次元画像の水平1ラインの途中で各バンクの行アドレスを変更するようにしても問題はない。つまり、本発明は、本質的には、マクロブロックを構成する1行の16ピクセル分の画像データが全て一方のバンクの同一行に格納され、マクロブロックを構成する次の行の16ピクセル分の画像データが全て他方のバンクの同一行に格納されることである。   Further, as described in the first or second embodiment, the image data of the first line of the two-dimensional image data input in the raster order is stored in the first row (bank 0 or bank 1) of the SDRAM 4. Thereafter, a method may be used in which the image data of the second line is continuously stored in the first line of the SDRAM 4. Similarly, in each row of the SDRAM 4, the row to be stored corresponding to the line of the image data is not changed, and the image data may be sequentially packed and stored. Or, conversely, the data size of one horizontal line of the two-dimensional image may be larger than the size that can be stored in one row of SDRAM 4 (the sum of the sizes that can be stored in one row of bank 0 and bank 1). Also in this case, there is no problem if the image data is stored in the same row of any bank in units of 16 pixels and the row address of each bank is changed in the middle of one horizontal line of the two-dimensional image. . That is, according to the present invention, the image data for 16 pixels in one row constituting the macro block is all stored in the same row in one bank, and the data for 16 pixels in the next row constituting the macro block is essentially stored. All the image data is stored in the same row of the other bank.

次に、MPEG処理部2がMPEG圧縮処理を行うために、SDRAM4に格納された画像データにマクロブロック単位でアクセスする処理について説明する。なお、このアクセス処理には、MPEG処理部2がMPEG圧縮処理を行う対象であるマクロブロック単位の画像データを読み出す処理と、マクロブロック単位の画像データを書き込む処理がある。   Next, processing for accessing the image data stored in the SDRAM 4 in units of macro blocks in order for the MPEG processing unit 2 to perform MPEG compression processing will be described. The access process includes a process for reading out image data in units of macroblocks to which the MPEG processing unit 2 performs an MPEG compression process, and a process for writing image data in units of macroblocks.

図31は、メモリ制御部3によって、SDRAM4に格納された画像データにアクセスする処理のタイミング図である。また、図32は、SDRAM4のバンク0に対するアクセス順序を示す図であり、図33は、SDRAM4のバンク1に対するアクセス順序を示す図である。さらに、図32および図33で示した方法によりマクロブロックにアクセスした後、続けて隣り合うマクロブロックをアクセスする方法を示したのが図34および図35である。図34は、SDRAM4のバンク0に対するアクセス順序を示す図であり、図35は、SDRAM4のバンク1に対するアクセス順序を示す図である。なお、図31ないし図35は、マクロブロック単位での画像データの読み出し処理と書き込み処理に共通の特徴を示す図である。また、図32ないし図35における各ブロック領域E0,0、F0,0等は、図27および図28における各ブロック領域E0,0、F0,0等に対応しており、上述した書き込み処理により、図29および図30で示したような配列で2次元画像データが格納されているものとする。 FIG. 31 is a timing chart of processing for accessing the image data stored in the SDRAM 4 by the memory control unit 3. FIG. 32 is a diagram showing an access order for the bank 0 of the SDRAM 4, and FIG. 33 is a diagram showing an access order for the bank 1 of the SDRAM 4. Further, FIG. 34 and FIG. 35 show a method of subsequently accessing adjacent macroblocks after accessing the macroblocks by the method shown in FIG. 32 and FIG. FIG. 34 is a diagram showing an access order of SDRAM 4 to bank 0, and FIG. 35 is a diagram showing an access order of SDRAM 4 to bank 1. FIG. 31 to FIG. 35 are diagrams showing features common to image data reading processing and writing processing in units of macroblocks. Further, FIG. 32 to each of the blocks E in FIG. 35 0,0, F 0,0 and the like, each of the block areas E 0,0 in FIGS. 27 and 28 corresponds to F 0,0 and the like, described above It is assumed that two-dimensional image data is stored in the arrangement as shown in FIGS. 29 and 30 by the writing process.

まず、マクロブロック単位での画像データの読み出し処理について説明する。図31において、まず、バンクアドレスに「0」が設定され、行アドレスおよび列アドレスにいずれも「0」が設定され、0番目から15番目までの16ピクセル分の画像データが、バースト転送される。具体的には、図32で示すバンク0のブロック領域E0,0に格納されている16ピクセル分の画像データが読み出される。なお、図31における表記ルールは、図3等と同様である。 First, image data read processing in units of macroblocks will be described. In FIG. 31, first, “0” is set to the bank address, “0” is set to both the row address and the column address, and image data for 16 pixels from the 0th to the 15th is burst transferred. . Specifically, the image data for 16 pixels stored in the block area E 0,0 of bank 0 shown in FIG. 32 is read. The notation rules in FIG. 31 are the same as those in FIG.

一方、図31に示すように、ブロック領域E0,0の画像データに対する読み出し処理が行われているタイミングで、バンクアドレスが「1」に設定されるとともに行アドレスに「1」が設定され、ブロック領域E0,0からの読み込み処理終了後、320番目から335番目までの16ピクセル分の画像データがバースト転送される。具体的には、図33で示すバンク1のブロック領域F1,0に格納されている16ピクセル分の画像データが読み出される。 On the other hand, as shown in FIG. 31, the bank address is set to “1” and the row address is set to “1” at the timing when the image data in the block area E 0,0 is read. After the reading process from the block area E 0,0 is completed, the image data for 16 pixels from the 320th to the 335th is burst transferred. Specifically, the image data for 16 pixels stored in the block area F1,0 of bank 1 shown in FIG. 33 is read.

さらに、図31に示すように、ブロック領域F1,0の画像データの読み出し処理が行われているタイミングで、バンクアドレスが「0」に設定されるとともに行アドレスに「2」が設定され、ブロック領域F1,0からの読み込み処理終了後、640番目から655番目までの16ピクセル分の画像データがバースト転送される。具体的には、図33で示すバンク0のブロック領域E2,0に格納されている16ピクセル分の画像データが読み出される。ブロック領域E2,0は、メモリ領域e2,0、e2,1、e2,2、e2,3、e2,4、e2,5、e2,6、e2,7からなる領域である。ここで、バンク0については、ブロック領域E0,0に対するアクセス処理の後、ブロック領域E2,0に対するアクセス処理が行われるため、アクセスする行アドレスを切り替える必要があるが、バンク1のブロック領域F1,0に対するデータ転送が行われているタイミングで、この行アドレスの切り替えが行われるので、空き時間が発生することなく、効率的にデータの読み出し処理が実行されるのである。 Further, as shown in FIG. 31, at the timing when the image data read processing of the block area F 1,0 is performed, the bank address is set to “0” and the row address is set to “2”. After the reading process from the block area F1,0 is completed, image data for 16 pixels from the 640th to the 655th is burst transferred. Specifically, the image data for 16 pixels stored in the block area E 2,0 of bank 0 shown in FIG. 33 is read. The block area E 2,0 is obtained from the memory areas e 2,0 , e 2,1 , e 2,2 , e 2,3 , e 2,4 , e 2,5 , e 2,6 , e 2,7. It is an area. Here, for the bank 0, the access processing for the block area E 2,0 is performed after the access processing for the block area E 0,0 , so that it is necessary to switch the row address to be accessed. Since the row address is switched at the timing when the data transfer to F 1,0 is performed, the data reading process is efficiently executed without generating a free time.

そして、ブロック領域E2,0の画像データの読み出し処理が行われているタイミングで、バンクアドレスが「1」に設定されるとともに行アドレスに「3」が設定され、ブロック領域E2,0からの読み込み処理終了後、960番目から975番目までの16ピクセル分の画像データがバースト転送される。具体的には、図33で示すバンク1のブロック領域F3,0に格納されている16ピクセル分の画像データが読み出される。ブロック領域F3,0は、メモリ領域f3,0、f3,1、f3,2、f3,3、f3,4、f3,5、f3,6、f3,7からなる領域である。同様に、バンク1については、ブロック領域F1,0に対するアクセス処理の後、ブロック領域F3,0に対するアクセス処理が行われるため、アクセスする行アドレスを切り替える必要があるが、バンク0のブロック領域E2,0に対するデータ転送が行われているタイミングで、この行アドレスの切り替えが行われるので、空き時間が発生することなく、効率的にデータの読み出し処理が実行されるのである。 Then, at the timing when the readout processing of the image data of the block area E 2, 0 is being performed, is set to "3" to the row address along with the bank address is set to "1", the block area E 2, 0 After the reading process ends, image data for 16 pixels from the 960th to the 975th is burst transferred. Specifically, the image data for 16 pixels stored in the block area F 3,0 of bank 1 shown in FIG. 33 is read. The block area F 3,0 includes memory areas f 3,0 , f 3,1 , f 3,2 , f 3,3 , f 3,4 , f 3,5 , f 3,6 , and f 3,7. It is an area. Similarly, for bank 1, since access processing for block area F 3,0 is performed after access processing for block area F 1,0 , it is necessary to switch the row address to be accessed. Since the row address is switched at the timing when the data transfer to E 2,0 is performed, the data reading process is efficiently executed without generating a free time.

以上の処理により、図29および図30に示したバンク0のブロック領域E0,0、E2,0およびバンク1のブロック領域F1,0、F3,0に格納されている0番目から15番目までの16ピクセル分の画像データおよび320番目から335番目までの16ピクセル分の画像データおよび640番目から655番目までの16ピクセル分の画像データおよび960番目から975番目までの16ピクセル分の画像データが読み出される。この画像データは、図14の画像イメージに対応させると、行方向が16ピクセルであって、列方向が同じ列の4行分の画像データである。つまり、この後、同様に、バンク0とバンク1を切り替えながら、16ピクセル単位で画像データをバースト転送し、順次、行方向が16ピクセルで、同じ列の画像データを読み出すことにより、2次元的なブロックの画像データを連続的に読み出すことが可能となるのである。そして、このような処理を16行分実行することにより、縦16ピクセル×横16ピクセルのマクロブロックに対応する画像データを連続的に読み出すことが可能となるのである。 Through the above processing, from the 0th stored in the block areas E 0,0 and E 2,0 of the bank 0 and the block areas F 1,0 and F 3,0 of the bank 1 shown in FIGS. Image data for 16 pixels up to 15th, image data for 16 pixels from 320th to 335th, image data for 16 pixels from 640th to 655th, and data for 16 pixels from 960th to 975th Image data is read out. If this image data is made to correspond to the image image of FIG. 14, it is image data for 4 rows in which the row direction is 16 pixels and the column direction is the same. That is, after that, similarly, the bank 0 and the bank 1 are switched, the image data is burst-transferred in units of 16 pixels, and the image data in the same column is sequentially read out in the row direction of 16 pixels. Therefore, it is possible to continuously read out image data of various blocks. By executing such processing for 16 rows, it is possible to continuously read out image data corresponding to a macroblock of 16 pixels vertically × 16 pixels horizontally.

図31〜図33を用いた説明では、ブロック領域E0,0→F1,0→E2,0→F3,0の画像データを読み出すところまでを説明した。この後、バンク0とバンク1を交互に切り替えつつ、同様に同列のブロック領域の画像データを順次読み出する。つまり、E0,0→F1,0→E2,0→F3,0→E4,0→F5,0→E6,0→F7,0→E8,0→F9,0→E10,0→F11,0→E12,0→F13,0→E14,0→F15,0の順でブロック領域を読み出すことにより、縦16ピクセル×横16ピクセルのマクロブロックに対応する画像データを読み出すことが可能となるのである。 In the description with reference to FIGS. 31 to 33, the description has been given to the point of reading the image data of the block area E 0,0 → F 1,0 → E 2,0 → F 3,0 . Thereafter, the image data in the block area in the same row are sequentially read out while alternately switching between the bank 0 and the bank 1. That is, E 0,0 → F 1,0 → E 2,0 → F 3,0 → E 4,0 → F 5,0 → E 6,0 → F 7,0 → E 8,0 → F 9, 0 → E 10,0 → F 11,0 → E 12,0 → F 13,0 → E 14,0 → by reading the order in the block area of the F 15,0, 16 vertical pixels × 16 horizontal pixels of the macro Image data corresponding to the block can be read out.

また、上述したように、図14に示すようなバンク0とバンク1に対する格納ルールが満たされていれば、2次元画像の複数の水平ラインのデータが、SDRAM4の同一の行に格納されていてもよいし、2次元画像データの水平1ラインがSDRAM4の複数の行にまたがって格納されていてもよい。あるいは、2次元画像の各水平ラインの列方向の順序と、SDRAM4に格納される列方向の順序が異なっていてもよいし、とびとびの行に格納されるようになっていてもよい。   As described above, if the storage rules for bank 0 and bank 1 as shown in FIG. 14 are satisfied, data of a plurality of horizontal lines of the two-dimensional image is stored in the same row of the SDRAM 4. Alternatively, one horizontal line of the two-dimensional image data may be stored across a plurality of rows of the SDRAM 4. Alternatively, the order in the column direction of each horizontal line of the two-dimensional image may be different from the order in the column direction stored in the SDRAM 4 or may be stored in discrete rows.

このように、マクロブロック単位で画像データを高速に読み出すことが可能であるが、MPEG処理部2により、マクロブロック単位で画像データを書き込む処理も同様である。この書き込み処理も、図31で示したタイミング図、図32、図33で示したアクセス順序で行えばよい。つまり、ブロック領域E0,0→F1,0→E2,0→F3,0→E4,0・・・の順で画像データを書き込むようにすればよい。これにより、マクロブロック単位での画像データの読み込みおよび書き込み両方の処理を高速に行うことが可能である。 As described above, the image data can be read at a high speed in units of macroblocks, but the process of writing the image data in units of macroblocks by the MPEG processing unit 2 is the same. This writing process may also be performed in the access order shown in the timing chart shown in FIG. 31, FIG. 32, and FIG. That is, the image data may be written in the order of the block areas E 0,0 → F 1,0 → E 2,0 → F 3,0 → E 4,0 . As a result, both reading and writing of image data in units of macro blocks can be performed at high speed.

以上説明した方法により、縦16ピクセル×横16ピクセルのマクロブロックに対するアクセスを行った後、さらに、隣り合うマクロブロックにアクセスする方法は、第2の実施の形態と同様である。続けて隣り合うマクロブロックにアクセスする場合には、そのアクセス方向を列方向について逆にするようにする。つまり、図34および図35に示すように、このマクロブロックに対しては、図32および図33で示した方法に比べて列方向のアクセスを逆転させるのである。   The method for accessing the adjacent macroblocks after accessing the macroblocks of 16 pixels by 16 pixels by the method described above is the same as in the second embodiment. When the adjacent macroblock is subsequently accessed, the access direction is reversed with respect to the column direction. That is, as shown in FIGS. 34 and 35, the access in the column direction is reversed for this macroblock as compared with the method shown in FIGS.

まず、ブロック領域E15,0に対するアクセスを行い、次に、ブロック領域F14,0にアクセスする。そして、バンク0とバンク1を切り替えながら同様のアクセスを行う。つまり、E15,0→F14,0→E13,0→F12,0→E11,0→F10,0→E9,0→F8,0→E7,0→F6,0→E5,0→F4,0→E3,0→F2,0→E1,0→F0,0の順でブロック領域を読み出すことにより、縦16ピクセル×横16ピクセルのマクロブロックに対応する画像データを読み出すことが可能となるのである。これにより隣り合うマクロブロックに対して連続的にアクセスする場合でも、処理の全般にわたって常にバンク0とバンク1に対するアクセスが交互になるので、一方のバンクに対するアクセスを行っている間に、他方のバンクの行を切り替える処理を行うことが可能である。 First, access to the block area E 15,0, then accesses the block area F 14,0. Then, the same access is performed while switching between bank 0 and bank 1. In other words, E 15,0 → F 14,0 → E 13,0 → F 12,0 → E 11,0 → F 10,0 → E 9,0 → F 8,0 → E 7,0 → F 6, By reading the block area in the order of 0 → E 5,0 → F 4,0 → E 3,0 → F 2,0 → E 1,0 → F 0,0 Image data corresponding to the block can be read out. As a result, even when adjacent macroblocks are continuously accessed, access to bank 0 and bank 1 is always alternated throughout the entire process, so the other bank can be accessed while one bank is being accessed. It is possible to perform the process of switching the rows.

次に、図36を参照して、データの種別に応じた各メモリ領域への画像データの格納方法について説明する。ここでも、図13で示したように、画像データは、YUV4:2:0フォーマットの場合を説明する。   Next, a method for storing image data in each memory area corresponding to the type of data will be described with reference to FIG. Here, as shown in FIG. 13, the case where the image data is in the YUV 4: 2: 0 format will be described.

図36で示したタイミング図の中で、前半の2つのバースト転送処理は、輝度データに対する処理である。後半の2つのバースト転送処理は、色差データに対する処理である。まず、輝度データの場合には、2つのYデータを1つのメモリ領域に格納する。つまり、1画素のYデータは8ビットであり、本実施の形態におけるSDRAM4の1アドレスに対応するメモリ領域は16ビットのデータを格納可能としているので、2ピクセル分のYデータを1アドレスのメモリ領域に格納するのである。このとき、SDRAM4にアクセスする16ビットのデータ線のうち上位8ビットと下位8ビットを、それぞれ2ピクセル分のYデータ転送用に使用する。このようにして、バンク0には、8つのアドレスに対応した8つのメモリ領域に16ピクセル分のYデータが格納される。続いて、バンク1において、8つのアドレスに対応した8つのメモリ領域に16ピクセル分のYデータが格納されるのである。   In the timing diagram shown in FIG. 36, the first two burst transfer processes are processes for luminance data. The latter two burst transfer processes are processes for color difference data. First, in the case of luminance data, two Y data are stored in one memory area. That is, the Y data of one pixel is 8 bits, and the memory area corresponding to one address of the SDRAM 4 in the present embodiment can store 16 bits of data. It is stored in the area. At this time, the upper 8 bits and the lower 8 bits of the 16-bit data line for accessing the SDRAM 4 are respectively used for Y data transfer for 2 pixels. In this way, bank 0 stores Y data for 16 pixels in eight memory areas corresponding to eight addresses. Subsequently, in bank 1, Y data for 16 pixels is stored in eight memory areas corresponding to eight addresses.

次に、色差データの格納方法について説明する。この実施の形態では、1組のUデータとVデータをパッキングして1つのメモリ領域に格納する。つまり、UデータおよびVデータは、いずれも1画素8ビットのデータであり、本実施の形態におけるSDRAM4の1アドレスに対応するメモリ領域は16ビットのデータを格納可能としているので、UデータとVデータからなる2ピクセル分のデータを1アドレスのメモリ領域に格納するのである。このとき、SDRAM4にアクセスする16ビットのデータ線のうち、たとえば上位8ビットをUデータ転送用に割り当て、下位8ビットをVデータ転送用に割り当てる。このようにして、バンク0には、8つのアドレスに対応した8つのメモリ領域に16ピクセル分の色差データが格納される。続いて、バンク1において、8つのアドレスに対応した8つのメモリ領域に16ピクセル分の色差データが格納されるのである。   Next, a method for storing color difference data will be described. In this embodiment, a set of U data and V data is packed and stored in one memory area. That is, U data and V data are both 8-bit data per pixel, and the memory area corresponding to one address of SDRAM 4 in this embodiment can store 16-bit data. Data for two pixels consisting of data is stored in a memory area of one address. At this time, among the 16-bit data lines accessing the SDRAM 4, for example, the upper 8 bits are assigned for U data transfer and the lower 8 bits are assigned for V data transfer. In this way, the bank 0 stores the color difference data for 16 pixels in the eight memory areas corresponding to the eight addresses. Subsequently, in bank 1, color difference data for 16 pixels is stored in eight memory areas corresponding to eight addresses.

このように、UデータとVデータをパッキングして、1つのメモリ領域に格納することにより、輝度データについてSDRAM4にアクセスする場合と、色差データについてSDRAM4にアクセスする場合とで、同じ転送手順を実行することが可能となるのである。   In this way, by packing U data and V data and storing them in one memory area, the same transfer procedure is executed when accessing SDRAM 4 for luminance data and when accessing SDRAM 4 for color difference data. It becomes possible to do.

具体的には、まず、輝度データについてマクロブロック単位のデータアクセスを行い、次に、同じマクロブロック領域内の色差データについてマクロブロック単位のデータアクセスを行うことになるが(図36は、輝度データについてのデータアクセス処理と色差データに対するデータアクセス処理がちょうど入れ替わるタイミングを示している。)、輝度データに対するデータアクセスと色差データに対するデータアクセスを同じ手順とすることができるのである。ただし、YUV4:2:0フォーマットの場合には、UデータとVデータの数が行方向(縦方向)にも1/2に間引かれているので、1つのマクロブロックに対する処理は、輝度データに対する処理の半分の処理でよい。   Specifically, first, data access in units of macroblocks is performed on luminance data, and then data access in units of macroblocks is performed on color difference data in the same macroblock region (FIG. 36 shows luminance data). The timing at which the data access process and the data access process for the color difference data are just switched is shown.), The data access for the luminance data and the data access for the color difference data can be made the same procedure. However, in the case of the YUV 4: 2: 0 format, the number of U data and V data is halved in the row direction (vertical direction), so the processing for one macroblock is performed with luminance data. Half of the processing is sufficient.

以上の本発明の3つの実施の形態について説明した。そして、上記各実施の形態においては、メモリとしてSDRAMを例に説明したが、本発明は、SDRAMのみならず、一般的にDRAMに対して適用可能である。   The three embodiments of the present invention have been described. In each of the above embodiments, the SDRAM is described as an example of the memory. However, the present invention can be applied not only to the SDRAM but also to the DRAM in general.

実施の形態に係る画像処理装置の全体概略図である。1 is an overall schematic diagram of an image processing apparatus according to an embodiment. 第1の実施の形態における2次元画像データのDRAMに対する格納イメージを示す図である。It is a figure which shows the storage image with respect to DRAM of the two-dimensional image data in 1st Embodiment. 第1の実施の形態におけるSDRAMに対する書き込みタイミング図である。FIG. 4 is a write timing diagram for the SDRAM in the first embodiment. バンク0に対する書き込み順を示す図である。FIG. 5 is a diagram showing a writing order with respect to bank 0; バンク1に対する書き込み順を示す図である。FIG. 5 is a diagram showing a writing order with respect to bank 1; バンク0に格納される画像データのピクセル番号を示す図である。FIG. 6 is a diagram showing pixel numbers of image data stored in bank 0. バンク1に格納される画像データのピクセル番号を示す図である。FIG. 4 is a diagram showing pixel numbers of image data stored in a bank 1. 第1の実施の形態におけるマクロブロック単位でのアクセスタイミングを示す図である。It is a figure which shows the access timing in the macroblock unit in 1st Embodiment. バンク0に対するアクセス順を示す図である。FIG. 10 is a diagram showing an access order to bank 0. バンク1に対するアクセス順を示す図である。FIG. 5 is a diagram showing an access order to bank 1; バンク0およびバンク1を使用したマクロブロック単位でのアクセスイメージを示す図である。It is a figure which shows the access image in the macroblock unit using the bank 0 and the bank 1. FIG. 1アドレスに対する書き込み方法を具体的に示すタイミング図である。FIG. 10 is a timing diagram specifically showing a writing method for one address. YUV4:2:0フォーマットを示す図である。It is a figure which shows a YUV4: 2: 0 format. 第2および第3の実施の形態における2次元画像データのDRAMに対する格納イメージを示す図である。It is a figure which shows the storage image with respect to DRAM of the two-dimensional image data in 2nd and 3rd Embodiment. 第2の実施の形態におけるSDRAMに対する書き込みタイミング図である。FIG. 10 is a write timing diagram for the SDRAM in the second embodiment. バンク0に対する書き込み順を示す図である。FIG. 5 is a diagram showing a writing order with respect to bank 0; バンク1に対する書き込み順を示す図である。FIG. 5 is a diagram showing a writing order with respect to bank 1; バンク0に格納される画像データのピクセル番号を示す図である。FIG. 6 is a diagram showing pixel numbers of image data stored in bank 0. バンク1に格納される画像データのピクセル番号を示す図である。FIG. 4 is a diagram showing pixel numbers of image data stored in a bank 1. 第2の実施の形態におけるマクロブロック単位でのアクセスタイミングを示す図である。It is a figure which shows the access timing in the macroblock unit in 2nd Embodiment. バンク0に対するアクセス順を示す図である。FIG. 6 is a diagram showing an access order to bank 0. バンク1に対するアクセス順を示す図である。FIG. 4 is a diagram showing an access order to bank 1; 隣り合うマクロブロックにアクセスする際のバンク0に対するアクセス順を示す図である。It is a figure which shows the access order with respect to the bank 0 at the time of accessing an adjacent macroblock. 隣り合うマクロブロックにアクセスする際のバンク1に対するアクセス順を示す図である。It is a figure which shows the access order with respect to the bank 1 at the time of accessing an adjacent macroblock. 1アドレスに対する書き込み方法を具体的に示すタイミング図である。FIG. 10 is a timing diagram specifically showing a writing method for one address. 第3の実施の形態におけるSDRAMに対する書き込みタイミング図である。FIG. 10 is a write timing diagram for the SDRAM in the third embodiment. バンク0に対する書き込み順を示す図である。FIG. 5 is a diagram showing a writing order with respect to bank 0; バンク1に対する書き込み順を示す図である。FIG. 5 is a diagram showing a writing order with respect to bank 1; バンク0に格納される画像データのピクセル番号を示す図である。FIG. 6 is a diagram showing pixel numbers of image data stored in bank 0. バンク1に格納される画像データのピクセル番号を示す図である。FIG. 4 is a diagram showing pixel numbers of image data stored in a bank 1. 第3の実施の形態におけるマクロブロック単位でのアクセスタイミングを示す図である。It is a figure which shows the access timing in the macroblock unit in 3rd Embodiment. バンク0に対するアクセス順を示す図である。FIG. 10 is a diagram showing an access order to bank 0. バンク1に対するアクセス順を示す図である。FIG. 5 is a diagram showing an access order to bank 1; 隣り合うマクロブロックにアクセスする際のバンク0に対するアクセス順を示す図である。It is a figure which shows the access order with respect to the bank 0 at the time of accessing an adjacent macroblock. 隣り合うマクロブロックにアクセスする際のバンク1に対するアクセス順を示す図である。It is a figure which shows the access order with respect to the bank 1 at the time of accessing an adjacent macroblock. 1アドレスに対する書き込み方法を具体的に示すタイミング図である。FIG. 10 is a timing diagram specifically showing a writing method for one address.

符号の説明Explanation of symbols

3 メモリ制御部
4 SDRAM
3 Memory control unit 4 SDRAM

Claims (21)

第1バンクおよび第2バンクを備えるDRAMにアクセスする方法であって、
MPEGの処理対象である2次元画像をラスタ順で入力する第1工程と、
前記2次元画像の行方向のデータについては8ピクセルごとに前記第1バンクおよび前記第2バンクを交互に切り替えながら前記DRAMに格納し、前記2次元画像の列方向のデータについては前記DRAMの同一バンクに格納する第2工程と、
を備えることを特徴とするDRAMアクセス方法。
A method for accessing a DRAM comprising a first bank and a second bank, comprising:
A first step of inputting a two-dimensional image to be processed in MPEG in raster order;
The row direction data of the two-dimensional image is stored in the DRAM every eight pixels while alternately switching the first bank and the second bank, and the column direction data of the two-dimensional image is the same as that of the DRAM. A second step of storing in the bank;
A DRAM access method comprising:
請求項1に記載のDRAMアクセス方法であって、さらに、
前記第2工程によって格納された画像データに対して前記第1バンクと前記第2バンクを交互に切り替えながら8ピクセル単位でアクセスすることにより、縦16ピクセル×横16ピクセルのMPEG処理用のマクロブロックにアクセスする第3工程、
を備えることを特徴とするDRAMアクセス方法。
The DRAM access method according to claim 1, further comprising:
By accessing the image data stored in the second step in units of 8 pixels while alternately switching the first bank and the second bank, a macroblock for MPEG processing of 16 pixels vertically × 16 pixels horizontally The third step of accessing
A DRAM access method comprising:
請求項2に記載のDRAMアクセス方法であって、
前記第3工程は、
前記第1バンクに格納されたマクロブロックにおける第m行目(mは0以上14以下の整数)の8ピクセルの画像データにアクセスした後、前記第2バンクに格納されたラスタ順で次の8ピクセルの画像データにアクセスし、次に、前記第1バンクに格納されたマクロブロックにおける第m+1行目の8ピクセルの画像データにアクセスした後、前記第2バンクに格納されたラスタ順で次の8ピクセルの画像データにアクセスする工程、
を含むことを特徴とするDRAMアクセス方法。
The DRAM access method according to claim 2, comprising:
The third step includes
After accessing 8-pixel image data in the m-th row (m is an integer not smaller than 0 and not larger than 14) in the macroblock stored in the first bank, the next 8 in the raster order stored in the second bank. After accessing the image data of the pixels, and then accessing the image data of 8 pixels in the (m + 1) th row in the macroblock stored in the first bank, the next in the raster order stored in the second bank Accessing 8-pixel image data;
A DRAM access method comprising:
請求項1に記載のDRAMアクセス方法であって、
前記第2工程は、
前記2次元画像の第n行目(nは0以上の整数)の画像データを、前記第1バンクおよび前記第2バンクの第n行目の記憶領域に格納し、第n+1行目の画像データを、前記第1バンクおよび前記第2バンクの第n+1行目の記憶領域に格納する工程、
を含むことを特徴とするDRAMアクセス方法。
The DRAM access method according to claim 1, comprising:
The second step includes
Image data of the nth row (n is an integer of 0 or more) of the two-dimensional image is stored in the storage area of the nth row of the first bank and the second bank, and the image data of the (n + 1) th row is stored. In the storage area of the (n + 1) th row of the first bank and the second bank,
A DRAM access method comprising:
請求項4に記載のDRAMアクセス方法であって、
前記第3工程は、
前記第1バンクの第n行目に格納されたマクロブロックにおける第m行目(mは0以上14以下の整数)の8ピクセルの画像データにアクセスした後、前記第2バンクの第n行目に格納されたラスタ順で次の8ピクセルの画像データにアクセスし、次に、前記第1バンクの第n+1行目に格納されたマクロブロックにおける第m+1行目の8ピクセルの画像データにアクセスした後、前記第2バンクの第n+1行目に格納されたラスタ順で次の8ピクセルの画像データにアクセスする工程、
を含むことを特徴とするDRAMアクセス方法。
The DRAM access method according to claim 4, comprising:
The third step includes
After accessing 8-pixel image data of the m-th row (m is an integer of 0 to 14) in the macroblock stored in the n-th row of the first bank, the n-th row of the second bank Next, the image data of the next 8 pixels is accessed in the raster order stored, and then the image data of 8 pixels of the (m + 1) th row in the macro block stored in the (n + 1) th row of the first bank is accessed. And accessing the next 8-pixel image data in the raster order stored in the (n + 1) th row of the second bank.
A DRAM access method comprising:
請求項1ないし請求項5のいずれかに記載のDRAMアクセス方法であって、
前記DRAMは1アドレスに16ビットのデータを格納可能としており、前記2次元画像の各ピクセルは8ビットの情報を備えることにより、前記DRAMの前記第1および第2バンクに対しては、それぞれ同一行の連続する4つのアドレスに対して8ピクセルの画像データが格納されることを特徴とするDRAMアクセス方法。
A DRAM access method according to any one of claims 1 to 5,
The DRAM can store 16-bit data at one address, and each pixel of the two-dimensional image has 8-bit information, so that the first and second banks of the DRAM are the same. A DRAM access method characterized in that image data of 8 pixels is stored for four consecutive addresses in a row.
請求項6に記載のDRAMアクセス方法であって、
前記DRAMに対してラスタ順で連続する8ピクセルの画像データが、バースト転送されることを特徴とするDRAMアクセス方法。
The DRAM access method according to claim 6, comprising:
8. A DRAM access method, wherein 8-pixel image data continuous in a raster order is burst transferred to the DRAM.
請求項6または請求項7に記載のDRAMアクセス方法であって、
前記DRAMに格納される画像データが、Y(輝度)データの場合には、前記DRAMの1つのアドレスに対して2ピクセル分のYデータが格納されることを特徴とするDRAMアクセス方法。
A DRAM access method according to claim 6 or 7,
When the image data stored in the DRAM is Y (luminance) data, Y data for two pixels is stored for one address of the DRAM.
請求項6ないし請求項8のいずれかに記載のDRAMアクセス方法であって、
前記DRAMに格納される画像データが、U,Y(色差)データの場合には、前記DRAMの1つのアドレスに対して1組のUデータとVデータが格納されることを特徴とするDRAMアクセス方法。
A DRAM access method according to any one of claims 6 to 8, comprising:
When the image data stored in the DRAM is U, Y (color difference) data, a set of U data and V data is stored for one address of the DRAM. Method.
第1バンクおよび第2バンクを備えるDRAMにアクセスする方法であって、
MPEGの処理対象である2次元画像をラスタ順で入力する第1工程と、
前記2次元画像の行方向のデータについては16ピクセルごとに前記第1バンクおよび前記第2バンクを交互に切り替えながら前記DRAMに格納し、前記2次元画像の列方向のデータについては1行ごとに前記第1バンクおよび前記第2バンクが交互となるように前記DRAMに格納する第2工程と、
を備えることを特徴とするDRAMアクセス方法。
A method for accessing a DRAM comprising a first bank and a second bank, comprising:
A first step of inputting a two-dimensional image to be processed in MPEG in raster order;
The row direction data of the 2D image is stored in the DRAM while alternately switching the first bank and the second bank every 16 pixels, and the column direction data of the 2D image is stored for each row. A second step of storing in the DRAM such that the first bank and the second bank alternate;
A DRAM access method comprising:
請求項10に記載のDRAMアクセス方法であって、さらに、
前記第2工程によって格納された画像データに対して前記第1バンクと前記第2バンクを交互に切り替えながら16ピクセル単位でアクセスすることにより、縦16ピクセル×横16ピクセルのMPEG処理用のマクロブロックにアクセスする第3工程、
を備えることを特徴とするDRAMアクセス方法。
The DRAM access method according to claim 10, further comprising:
By accessing the image data stored in the second step in units of 16 pixels while alternately switching the first bank and the second bank, a macroblock for MPEG processing of 16 pixels vertically × 16 pixels horizontally The third step of accessing
A DRAM access method comprising:
請求項11に記載のDRAMアクセス方法であって、
前記第3工程は、
前記第1バンクに格納されたマクロブロックにおける第m行目(mは0以上14以下の整数)の16ピクセルの画像データにアクセスした後、次に、前記第2バンクに格納されたマクロブロックにおける第m+1行目の16ピクセルの画像データにアクセスする工程、
を含むことを特徴とするDRAMアクセス方法。
The DRAM access method according to claim 11, comprising:
The third step includes
After accessing the image data of 16 pixels in the m-th row (m is an integer not smaller than 0 and not larger than 14) in the macro block stored in the first bank, next, in the macro block stored in the second bank Accessing the image data of 16 pixels in the (m + 1) th row;
A DRAM access method comprising:
請求項11または請求項12に記載のDRAMアクセス方法であって、
前記第3工程は、2次元画像上において隣り合うマクロブロックに対して連続してアクセスする際には、隣り合うマクロブロックについて、列方向のアクセス順序を逆方向とすることを特徴とするDRAMアクセス方法。
A DRAM access method according to claim 11 or claim 12,
The third step is characterized in that when accessing adjacent macroblocks on a two-dimensional image continuously, the access order in the column direction is reversed for the adjacent macroblocks. Method.
請求項12に記載のDRAMアクセス方法であって、
前記第3工程は、
請求項2に記載の工程によりマクロブロックに対してアクセスした後、そのマクロブロックに隣り合うマクロブロックに対して連続してアクセスする際には、前記第1バンクに格納されたマクロブロックにおける第k行目(kは1以上15以下の整数)の16ピクセルの画像データにアクセスした後、次に、前記第2バンクに格納されたマクロブロックにおける第k−1行目の16ピクセルの画像データにアクセスする工程、
を含むことを特徴とするDRAMアクセス方法。
A DRAM access method according to claim 12, comprising:
The third step includes
3. After accessing a macroblock according to the process of claim 2, when continuously accessing a macroblock adjacent to the macroblock, the kth in the macroblock stored in the first bank. After accessing the 16-pixel image data in the row (k is an integer from 1 to 15), next, the 16-pixel image data in the (k−1) -th row in the macroblock stored in the second bank. The process of accessing,
A DRAM access method comprising:
請求項10ないし請求項14のいずれかに記載のDRAMアクセス方法であって、
前記DRAMは1アドレスに32ビットのデータを格納可能としており、前記2次元画像の各ピクセルは8ビットの情報を備えることにより、前記DRAMの前記第1および第2バンクに対しては、それぞれ同一行の連続する4つのアドレスに対して16ピクセルの画像データが格納されることを特徴とするDRAMアクセス方法。
The DRAM access method according to any one of claims 10 to 14,
The DRAM can store 32-bit data at one address, and each pixel of the two-dimensional image has 8-bit information, so that the first and second banks of the DRAM are the same. A DRAM access method, wherein 16-pixel image data is stored at four consecutive addresses in a row.
請求項10ないし請求項14のいずれかに記載のDRAMアクセス方法であって、
前記DRAMは1アドレスに16ビットのデータを格納可能としており、前記2次元画像の各ピクセルは8ビットの情報を備えることにより、前記DRAMの前記第1および第2バンクに対しては、それぞれ同一行の連続する8つのアドレスに対して16ピクセルの画像データが格納されることを特徴とするDRAMアクセス方法。
The DRAM access method according to any one of claims 10 to 14,
The DRAM can store 16-bit data at one address, and each pixel of the two-dimensional image has 8-bit information, so that the first and second banks of the DRAM are the same. A DRAM access method characterized in that image data of 16 pixels is stored at eight consecutive addresses in a row.
請求項15または請求項16に記載のDRAMアクセス方法であって、
前記DRAMに対してラスタ順で連続する16ピクセルの画像データが、バースト転送されることを特徴とするDRAMアクセス方法。
The DRAM access method according to claim 15 or 16, comprising:
A DRAM access method characterized in that image data of 16 pixels continuous in raster order is burst transferred to the DRAM.
請求項15に記載のDRAMアクセス方法であって、
前記DRAMに格納される画像データが、Y(輝度)データの場合には、前記DRAMの1つのアドレスに対して4ピクセル分のYデータが格納されることを特徴とするDRAMアクセス方法。
The DRAM access method according to claim 15, comprising:
A DRAM access method, wherein when the image data stored in the DRAM is Y (luminance) data, Y data for four pixels is stored for one address of the DRAM.
請求項15または請求項18に記載のDRAMアクセス方法であって、
前記DRAMに格納される画像データが、U,Y(色差)データの場合には、前記DRAMの1つのアドレスに対してUデータとVデータの組が2組格納されることを特徴とするDRAMアクセス方法。
The DRAM access method according to claim 15 or 18,
If the image data stored in the DRAM is U, Y (color difference) data, two sets of U data and V data are stored for one address of the DRAM. how to access.
請求項16に記載のDRAMアクセス方法であって、
前記DRAMに格納される画像データが、Y(輝度)データの場合には、前記DRAMの1つのアドレスに対して2ピクセル分のYデータが格納されることを特徴とするDRAMアクセス方法。
The DRAM access method according to claim 16, comprising:
When the image data stored in the DRAM is Y (luminance) data, Y data for two pixels is stored for one address of the DRAM.
請求項16または請求項20に記載のDRAMアクセス方法であって、
前記DRAMに格納される画像データが、U,Y(色差)データの場合には、前記DRAMの1つのアドレスに対して1組のUデータとVデータとが格納されることを特徴とするDRAMアクセス方法。
The DRAM access method according to claim 16 or 20,
When the image data stored in the DRAM is U, Y (color difference) data, a set of U data and V data is stored for one address of the DRAM. how to access.
JP2004226872A 2004-01-20 2004-08-03 Accessing method to dram Pending JP2005236946A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004226872A JP2005236946A (en) 2004-01-20 2004-08-03 Accessing method to dram

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004011750 2004-01-20
JP2004226872A JP2005236946A (en) 2004-01-20 2004-08-03 Accessing method to dram

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2010276844A Division JP4997418B2 (en) 2004-01-20 2010-12-13 DRAM access method

Publications (1)

Publication Number Publication Date
JP2005236946A true JP2005236946A (en) 2005-09-02

Family

ID=35019402

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004226872A Pending JP2005236946A (en) 2004-01-20 2004-08-03 Accessing method to dram

Country Status (1)

Country Link
JP (1) JP2005236946A (en)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08186826A (en) * 1994-12-28 1996-07-16 Graphics Commun Lab:Kk Image decoding processing method and storage device used for it and image decoder
JPH08307875A (en) * 1995-05-02 1996-11-22 Matsushita Electric Ind Co Ltd Image memory device and motion vector detection circuit
JPH10162131A (en) * 1996-11-28 1998-06-19 Matsushita Electric Ind Co Ltd Image processor
JPH10191236A (en) * 1996-12-25 1998-07-21 Nec Corp Image processor and image data memory arranging method
JPH10304354A (en) * 1997-04-28 1998-11-13 Toshiba Corp Moving image decoding method and moving image decoder
JPH11317962A (en) * 1998-05-07 1999-11-16 Hitachi Ltd Data storage method and data transfer circuit
JP2000172560A (en) * 1998-12-03 2000-06-23 Matsushita Electric Ind Co Ltd Memory controller
JP2003186740A (en) * 2001-12-19 2003-07-04 Matsushita Electric Ind Co Ltd Memory control device and memory control method

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08186826A (en) * 1994-12-28 1996-07-16 Graphics Commun Lab:Kk Image decoding processing method and storage device used for it and image decoder
JPH08307875A (en) * 1995-05-02 1996-11-22 Matsushita Electric Ind Co Ltd Image memory device and motion vector detection circuit
JPH10162131A (en) * 1996-11-28 1998-06-19 Matsushita Electric Ind Co Ltd Image processor
JPH10191236A (en) * 1996-12-25 1998-07-21 Nec Corp Image processor and image data memory arranging method
JPH10304354A (en) * 1997-04-28 1998-11-13 Toshiba Corp Moving image decoding method and moving image decoder
JPH11317962A (en) * 1998-05-07 1999-11-16 Hitachi Ltd Data storage method and data transfer circuit
JP2000172560A (en) * 1998-12-03 2000-06-23 Matsushita Electric Ind Co Ltd Memory controller
JP2003186740A (en) * 2001-12-19 2003-07-04 Matsushita Electric Ind Co Ltd Memory control device and memory control method

Similar Documents

Publication Publication Date Title
US6496192B1 (en) Modular architecture for image transposition memory using synchronous DRAM
KR100817057B1 (en) Mapping method and video system for mapping pixel data included same pixel data group to same bank address of memory
JPH10191236A (en) Image processor and image data memory arranging method
US20020109699A1 (en) Pixel pages optimized for GLV
JPH08278779A (en) Frame memory controller for graphics
US8345167B2 (en) Methods of storing and accessing pictures
JPWO2008146406A1 (en) Image processing apparatus and method for pixel data conversion
US8269786B2 (en) Method for reading and writing image data in memory
JP2011053671A (en) Semiconductor integrated circuit
US7061496B2 (en) Image data processing system and image data reading and writing method
US20080044107A1 (en) Storage device for storing image data and method of storing image data
US20050088539A1 (en) Image processing apparatus and image processing method
KR19980081641A (en) Moving picture decoding method and moving picture decoding device
US20090189919A1 (en) Image scaling method
JP4997418B2 (en) DRAM access method
JP2007189687A (en) Apparatus and method of video decoding to alternatively store lines of screen in pixels, and method of storing reference screen
JP2005236946A (en) Accessing method to dram
WO2013099518A1 (en) Image processing device and memory access control method
JP3288327B2 (en) Video memory circuit
JPH11306343A (en) Rotational processing device for two-dimensional data
US20120218279A1 (en) Image processing apparatus and memory access method thereof
JP2008146235A (en) Image processor
US20050021902A1 (en) System, method, and apparatus for efficiently storing macroblocks
JP4821410B2 (en) MEMORY CONTROL METHOD, MEMORY CONTROL DEVICE, IMAGE PROCESSING DEVICE, AND PROGRAM
JP3405079B2 (en) Memory allocation method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070726

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20070726

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20090911

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101026

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101102

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110308