JP2007299211A - Memory control device - Google Patents

Memory control device Download PDF

Info

Publication number
JP2007299211A
JP2007299211A JP2006126801A JP2006126801A JP2007299211A JP 2007299211 A JP2007299211 A JP 2007299211A JP 2006126801 A JP2006126801 A JP 2006126801A JP 2006126801 A JP2006126801 A JP 2006126801A JP 2007299211 A JP2007299211 A JP 2007299211A
Authority
JP
Japan
Prior art keywords
memory
address
data
color difference
memory bank
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
JP2006126801A
Other languages
Japanese (ja)
Inventor
Masahiro Koyama
政洋 小山
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.)
Victor Company of Japan Ltd
Original Assignee
Victor Company of Japan Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Victor Company of Japan Ltd filed Critical Victor Company of Japan Ltd
Priority to JP2006126801A priority Critical patent/JP2007299211A/en
Publication of JP2007299211A publication Critical patent/JP2007299211A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Image Input (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a memory control device which can shorten the read time of data from a memory by storing data in the memory so as to accelerate an access to the memory. <P>SOLUTION: The memory control device has: an allocation means for dividing image data in each prescribed macroblock and determining memory banks for storing respective data so that the data of a luminance block and the data of a color difference block are stored in respectively different memory banks; a specifying means 12 for specifying a memory cell included in the memory bank specified for each data of the luminance block and the color difference block by the allocation means 11 by using a memory bank address, a row address and a column address, outputting a first address including the memory bank address and the row address and outputting the memory bank address and the row address as a second address; and a writing means for outputting the data of the luminance block or the data of the color difference block which are to be written in the memory cell specified by the address specified by the specification means. <P>COPYRIGHT: (C)2008,JPO&INPIT

Description

本発明は、メモリに対して画像データのアクセスを制御するメモリ制御装置に関する。   The present invention relates to a memory control device that controls access of image data to a memory.

近年、メモリバンクを複数備えたメモリが利用されている。このように複数のメモリバンクを有するメモリでは、データをメモリバンクのいずれかに記憶している。メモリバンクを複数有するメモリの一例として、SDRAM(Synchronous Dynamic Random Access Memory)が代表的である。SDRAMは安価であることもあり、パーソナルコンピュータ等の主記憶装置、圧縮画像の復号器のフレームメモリ等に広く用いられている。SDRAMの一種であるDDR-SDRAM(Double Data Rate-SDRAM)は、クロックの立ち上がりと立ち下りの両エッジに同期してメモリにアクセスすることでSDRAMの2倍の速度でデータの読み書きをすることができるという特徴がある。   In recent years, a memory having a plurality of memory banks has been used. As described above, in a memory having a plurality of memory banks, data is stored in any one of the memory banks. A typical example of a memory having a plurality of memory banks is SDRAM (Synchronous Dynamic Random Access Memory). The SDRAM may be inexpensive, and is widely used in a main memory such as a personal computer, a frame memory of a compressed image decoder, and the like. DDR-SDRAM (Double Data Rate-SDRAM), which is a kind of SDRAM, can read and write data at twice the speed of SDRAM by accessing the memory in synchronization with both rising and falling edges of the clock. There is a feature that can be done.

図8にDDR−SDRAMの基本構成を示す。図8(a)に示すように、DDR−SDRAMは、4つのメモリバンクMB0〜MB3と、制御回路21と、I/O制御回路22とを有している。各メモリバンクMB0〜MB3は、独立して制御可能なメモリであり、各メモリバンクでデータが記憶される。   FIG. 8 shows a basic configuration of the DDR-SDRAM. As shown in FIG. 8A, the DDR-SDRAM includes four memory banks MB0 to MB3, a control circuit 21, and an I / O control circuit 22. Each of the memory banks MB0 to MB3 is an independently controllable memory, and data is stored in each memory bank.

メモリバンクMB0は、図8(b)に示すように行アドレス(ロウアドレス)と列アドレス(カラムアドレス)で区分される複数のメモリセル200を有している。図8(b)に示すメモリバンクMB0は、(m+1)×(n+1)個のメモリセルによって構成されている。メモリバンクMB0の行アドレスが同一のメモリセル群によって、ページ201が構成される。図8(b)のメモリバンクMB0では、行アドレスがkである(n+1)個のメモリセルから成るページ201をページkとしている。他のメモリバンクMB1〜MB3も図8(b)で示すメモリバンクMB0と同一の複数のメモリセルを有する構成である(図示せず)。   As shown in FIG. 8B, the memory bank MB0 has a plurality of memory cells 200 that are divided by a row address (row address) and a column address (column address). The memory bank MB0 shown in FIG. 8B is composed of (m + 1) × (n + 1) memory cells. A page 201 is constituted by memory cell groups having the same row address in the memory bank MB0. In the memory bank MB0 of FIG. 8B, a page 201 composed of (n + 1) memory cells whose row address is k is set as a page k. The other memory banks MB1 to MB3 also have the same plurality of memory cells as the memory bank MB0 shown in FIG. 8B (not shown).

SDRAMの制御回路21は、外部のメモリ制御装置から「アドレス」と「コマンド」が入力される。制御回路21は入力されたアドレスとコマンドによってメモリバンクを識別する「バンクアドレス」と、行を識別する「行アドレス」と、列を識別する「列アドレス」を特定し、特定されたメモリバンクのメモリセルにアクセスする。   The control circuit 21 of the SDRAM receives “address” and “command” from an external memory control device. The control circuit 21 specifies a “bank address” for identifying a memory bank by an input address and a command, a “row address” for identifying a row, and a “column address” for identifying a column. Access a memory cell.

SDRAMでは、行アドレスと列アドレスを時分割で取り扱う必要がある。また、SDRAMでは、行アドレスを指定する際には「アクティベート」と呼ばれる遅延サイクルが必要であり、異なる行アドレスに移動する際には「プリチャージ」と呼ばれる遅延サイクルも必要である。そのため、同一のメモリバンクの異なるページに高速アクセスすることはできない点でアクセス速度の高速化に限界がある。この点は、高速アクセスが可能とされたDDR−SDRAMでも同一の問題がある。   In SDRAM, it is necessary to handle row addresses and column addresses in a time-sharing manner. In SDRAM, a delay cycle called “activation” is required when a row address is specified, and a delay cycle called “precharge” is required when moving to a different row address. Therefore, there is a limit to increasing the access speed in that different pages in the same memory bank cannot be accessed at high speed. This point has the same problem even in a DDR-SDRAM that allows high-speed access.

従来、圧縮画像の復号器のフレームメモリとして利用されるSDRAMにマクロブロック単位でデータアクセスする際、各メモリバンクを独立に制御するように各マクロブロックに対応するデータの記憶方法を工夫した技術がある(例えば、特許文献1参照)。この特許文献1に記載の技術では、複数のメモリセルを矩形のブロックに対応させて区画し、1つのブロック内のメモリセルに対して連続するアドレスを割付けて記憶させる等によって、メモリに対してアクセスを高速にしている。   2. Description of the Related Art Conventionally, when data is accessed in units of macroblocks in an SDRAM used as a frame memory of a compressed image decoder, there is a technology that devises a data storage method corresponding to each macroblock so as to control each memory bank independently. Yes (see, for example, Patent Document 1). In the technique described in Patent Document 1, a plurality of memory cells are partitioned corresponding to a rectangular block, and a continuous address is assigned to a memory cell in one block and stored. Access is fast.

一方、MPEG等の圧縮画像は輝度ブロック及び色差ブロックで構成されるマクロブロック単位を処理単位としており、画像の符号化又は復号化の際には輝度データYおよび色差データCを用いる必要がある。例えば、画像フォーマットの一つである4:2:0方式の場合、図9(a)で示すように、マクロブロックは水平方向16画素、垂直方向16画素の輝度データYに対し、それぞれ水平方向8画素、垂直方向8画素の色差データCb,Crから成る。また、図9(b)に示すように4:2:2方式のマクロブロックの場合、水平方向16画素、垂直方向16画素の輝度データYに対し、それぞれ水平方向8画素、垂直方向16画素の色差データCb,Crから成る。   On the other hand, a compressed image such as MPEG uses a macroblock unit composed of a luminance block and a color difference block as a processing unit, and it is necessary to use the luminance data Y and the color difference data C when encoding or decoding the image. For example, in the case of the 4: 2: 0 format which is one of the image formats, as shown in FIG. 9A, the macroblock has a horizontal direction for luminance data Y of 16 pixels in the horizontal direction and 16 pixels in the vertical direction. It consists of color difference data Cb and Cr of 8 pixels and 8 pixels in the vertical direction. Further, as shown in FIG. 9B, in the case of a 4: 2: 2 macro block, the luminance data Y of 16 pixels in the horizontal direction and 16 pixels in the vertical direction are respectively set to 8 pixels in the horizontal direction and 16 pixels in the vertical direction. It consists of color difference data Cb and Cr.

画像を圧縮・復号する場合、上述したように同一のマクロブロックに対応する輝度データY及び色差データCの両データを読み出し・書き込みする必要がある。一方、上述した特許文献1に記載の技術では、対応する輝度データ及び色差データが同一のメモリバンクに1つのマクロブロックに対応する輝度データY及び色差データCが記憶されていると、遅延サイクル無しでこれらのデータを読み出すことができない。すなわち、メモリに対するアクセス速度が低下する。   When compressing / decoding an image, it is necessary to read and write both the luminance data Y and the color difference data C corresponding to the same macroblock as described above. On the other hand, in the technique described in Patent Document 1 described above, if the luminance data Y and the color difference data C corresponding to one macroblock are stored in the same memory bank with the corresponding luminance data and color difference data, there is no delay cycle. Therefore, these data cannot be read out. That is, the access speed to the memory decreases.

また、画像データを復号して画像として表示する際には、画像を構成する各画素のデータに対して、水平方向に連続アクセスする必要があるため、水平方向にも連続アクセスしやすいようにメモリに記憶させておくことが望ましい。
特開平11−137052号公報
In addition, when image data is decoded and displayed as an image, it is necessary to continuously access the data of each pixel constituting the image in the horizontal direction, so that the memory can be easily accessed in the horizontal direction. It is desirable to memorize.
Japanese Patent Laid-Open No. 11-137052

従来は、特許文献1に記載の技術によっても、輝度データY及び色差データCが同一のメモリバンクに記憶されている場合、画像データを復号する際に両データの読み出しに遅延サイクルが必要となり、アクセス速度が低下するという問題があった。   Conventionally, even when the luminance data Y and the color difference data C are stored in the same memory bank even by the technique described in Patent Document 1, a delay cycle is required to read both data when decoding the image data. There was a problem that the access speed decreased.

上記課題に鑑み本発明は、メモリバンクを複数有するメモリから、輝度データ及び色差データから成る画像データの読出し時間を短縮させるメモリ制御装置を提供することを目的とする。   In view of the above problems, an object of the present invention is to provide a memory control device that shortens the reading time of image data including luminance data and color difference data from a memory having a plurality of memory banks.

上述した課題を解決するため、請求項1に係る本発明によれば、メモリバンクアドレス、行アドレス及び列アドレスによって特定される複数のメモリセルで構成されるメモリバンクを複数有し、供給される第1アドレス及び第2アドレスからメモリバンクアドレス、行アドレス及び列アドレスを求めてメモリセルにデータを記憶するメモリに対して、輝度データ及び色差データから成る画像データの記憶を制御するメモリ制御装置であって、画像データを画像領域として所定のマクロブロック単位に区分し、区分された画像領域のマクロブロックを構成する輝度ブロックのデータ及び色差ブロックのデータがそれぞれ異なるメモリバンクに記憶されるように各データを記憶させるメモリバンクを決定する割付手段と輝度ブロック及び色差ブロックの各データに対して、割付手段で決定されたメモリバンクに含まれるメモリセルを、メモリバンクアドレス、行アドレス及び列アドレスによって指定し、メモリバンクアドレス及び行アドレスを含む第1アドレスとしてメモリに出力し、メモリバンクアドレス及び列アドレスを第2アドレスとしてメモリに出力する指定手段と、指定手段で指定されたバンクアドレス、行アドレス及び列アドレスで特定されるメモリセルに書き込む輝度ブロックのデータ及び色差ブロックのデータをメモリに出力し、それぞれのデータを各特定されたメモリセルに書込ませる書込手段とを有することを特徴としている。   In order to solve the above-described problem, according to the first aspect of the present invention, a plurality of memory banks each including a plurality of memory cells specified by a memory bank address, a row address, and a column address are provided and supplied. A memory control device for controlling the storage of image data including luminance data and color difference data for a memory that obtains a memory bank address, a row address, and a column address from a first address and a second address and stores the data in a memory cell. The image data is divided into predetermined macroblock units as image areas, and the luminance block data and the color difference block data constituting the macroblocks of the divided image areas are stored in different memory banks. Allocation means for determining a memory bank for storing data, a luminance block, and a color difference block The memory cells included in the memory bank determined by the allocating means are designated by the memory bank address, the row address, and the column address, and the first address including the memory bank address and the row address is stored in the memory. The output means outputs the memory bank address and column address to the memory as the second address, and the luminance block data and color difference to be written in the memory cell specified by the bank address, row address and column address specified by the specifying means It is characterized by having writing means for outputting the data of the block to the memory and writing the respective data into each specified memory cell.

本発明では、メモリバンクを複数有するメモリから、輝度データ及び色差データから成る画像データの読出し時間を短縮させるメモリ制御装置を提供することができる。   According to the present invention, it is possible to provide a memory control device that shortens the reading time of image data including luminance data and color difference data from a memory having a plurality of memory banks.

<メモリ制御装置>
以下、本発明の最良の実施の形態に係るメモリ制御装置1について図面を用いて説明する。図1に示すように、メモリ制御装置1は割付手段11、指定手段12、書込手段13及び読出手段14を有している。また、メモリ制御装置1は、メモリ2と伝送路によって接続されている。
<Memory control device>
Hereinafter, a memory control device 1 according to the preferred embodiment of the present invention will be described with reference to the drawings. As shown in FIG. 1, the memory control device 1 includes an allocation unit 11, a designation unit 12, a writing unit 13, and a reading unit 14. The memory control device 1 is connected to the memory 2 by a transmission path.

メモリ制御装置1は、書込操作リクエストを入力すると、メモリ2の指定されたアドレスのメモリ領域に画像データを書き込む。また、メモリ制御装置1は、読出操作リクエストを入力すると、メモリ2の指定されたアドレスのメモリ領域から画像データを読み出す。例えばメモリ制御装置1は、画像データをメモリに書き込み又は読み出しをする機能を有するテレビジョンやビデオレコーダ等の装置に備えられている。   When the memory control device 1 receives the write operation request, the memory control device 1 writes the image data in the memory area at the designated address in the memory 2. In addition, when a read operation request is input, the memory control device 1 reads image data from the memory area at the specified address in the memory 2. For example, the memory control device 1 is provided in a device such as a television or a video recorder having a function of writing or reading image data in a memory.

割付手段11は、画像データを画像領域として所定のマクロブロック単位に区分し、区分された画像領域のマクロブロックを構成する輝度ブロックのデータ及び色差ブロックのデータがそれぞれ異なるメモリバンクに記憶されるように各データを記憶させるメモリバンクを決定する。   The allocating means 11 divides the image data into predetermined macroblock units as image areas, and the luminance block data and the color difference block data constituting the macroblocks of the divided image areas are stored in different memory banks. The memory bank for storing each data is determined.

指定手段12は、輝度ブロック及び色差ブロックの各画素のデータに対して、割付手段で決定されたメモリバンクに含まれるメモリセルを、メモリバンクアドレス、行アドレス及び列アドレスによって指定する。また、指定手段12は、メモリバンクアドレス及び行アドレスを含む第1アドレスを出力し、メモリバンクアドレス及び列アドレスを含む第2アドレスを出力する。   The designation means 12 designates the memory cells included in the memory bank determined by the assignment means with respect to the data of each pixel of the luminance block and the color difference block by the memory bank address, the row address, and the column address. The designation unit 12 outputs a first address including a memory bank address and a row address, and outputs a second address including a memory bank address and a column address.

書込手段13は、指定手段12で指定されたバンクアドレス、行アドレス及び列アドレスで特定されるメモリセルに輝度ブロックのデータ及び色差ブロックのデータをそれぞれ書き込ませる。   The writing means 13 causes the luminance block data and the color difference block data to be written in the memory cells specified by the bank address, the row address, and the column address specified by the specifying means 12, respectively.

読出手段14は、指定手段12で指定されたバンクアドレス、行アドレス及び列アドレスで特定されるメモリセルから輝度データ及び色差データをそれぞれ読み出す。   The reading unit 14 reads luminance data and color difference data from the memory cell specified by the bank address, the row address, and the column address specified by the specifying unit 12.

本発明の最良の実施の形態に係るメモリ制御装置1がメモリ2に記憶させるデータは画像データであるため、以下では「画像データ」を単に「データ」として記載する。   Since the data stored in the memory 2 by the memory control device 1 according to the preferred embodiment of the present invention is image data, “image data” is hereinafter simply referred to as “data”.

<メモリ>
メモリ2は、メモリバンクMB0〜MB3、制御回路21及びI/O制御回路22を有している。このメモリ2は図8を用いて上述したDDR−SDRAMと同一の構成であり、各メモリバンクMB0〜MB3は、図8(b)を用いて上述したメモリバンクMB0と同一の構成である。そのため、各メモリバンクについての説明は省略する。メモリ2の各メモリバンクのメモリセルは、「バンクアドレス」「行アドレス」及び「列アドレス」によって特定される。制御回路21は、メモリ制御装置1の指定手段12が出力するアドレス及びコマンドからアクセスの対象となるメモリセルを特定する。その後、制御回路21は、I/O制御回路22を介して、特定されたメモリセルにアクセスする。
<Memory>
The memory 2 includes memory banks MB0 to MB3, a control circuit 21, and an I / O control circuit 22. The memory 2 has the same configuration as that of the DDR-SDRAM described above with reference to FIG. 8, and each of the memory banks MB0 to MB3 has the same configuration as that of the memory bank MB0 described above with reference to FIG. Therefore, description of each memory bank is omitted. The memory cell of each memory bank of the memory 2 is specified by “bank address”, “row address”, and “column address”. The control circuit 21 specifies a memory cell to be accessed from an address and a command output from the designation unit 12 of the memory control device 1. Thereafter, the control circuit 21 accesses the specified memory cell via the I / O control circuit 22.

制御回路21は、アクセス対象となるメモリセルを特定する場合、メモリ制御装置1が出力する第1アドレスによって「バンクアドレス」及び「行アドレス」を特定し、第2アドレスによって、「バンクアドレス」及び「列アドレス」を特定する。「コマンド」は、アドレスが第1アドレス又は第2アドレスのいずれであるかを識別するデータを含んでおり、メモリ2の制御回路21は、アドレスとともに入力したコマンドによって、このアドレスが第1アドレス又は第2アドレスのいずれであるかを判定する。   When specifying the memory cell to be accessed, the control circuit 21 specifies “bank address” and “row address” by the first address output from the memory control device 1, and sets “bank address” and “bank address” by the second address. Specify the “column address”. The “command” includes data for identifying whether the address is the first address or the second address, and the control circuit 21 of the memory 2 determines that the address is the first address or the address according to the command input together with the address. It is determined which of the second addresses.

コマンドで第1アドレスであると識別している場合(コマンドが所謂「バンク・アクティブ・コマンド」である場合)、制御回路21は、コマンドと共に入力したアドレスは第1アドレスであると判定する。そのため、制御回路21は、このアドレス(第1アドレス)から「バンクアドレス」及び「行アドレス」を求め、アクセスの対象となるメモリセルが含まれるバンクとページを特定し、このページをアクティブにする。   When the command identifies the first address (when the command is a so-called “bank active command”), the control circuit 21 determines that the address input together with the command is the first address. Therefore, the control circuit 21 obtains a “bank address” and a “row address” from this address (first address), specifies a bank and a page including a memory cell to be accessed, and activates this page. .

また、コマンドで第2アドレスであると識別している場合(コマンドが所謂「ライト・コマンド」又は「リード・コマンド」である場合)、制御回路21は、コマンドと共に入力したアドレスは第2アドレスであると判定する。そのため、制御回路21は、このアドレス(第2アドレス)から「バンクアドレス」及び「列アドレス」を求め、アクティブにされているページからアクセスの対象となるメモリセルの列を特定し、アクセスを実行する。   When the command identifies the second address (when the command is a so-called “write command” or “read command”), the control circuit 21 determines that the address input together with the command is the second address. Judge that there is. Therefore, the control circuit 21 obtains the “bank address” and “column address” from this address (second address), specifies the column of the memory cell to be accessed from the activated page, and executes the access. To do.

このようにアクセスが実行されるメモリ2も図8(b)で説明したSDRAMと同様に、異なるメモリバンクに遅延サイクル無しでアクセスすることができるが、同一のメモリバンクの異なるページに遅延サイクル無しでアクセスすることはできない。   Similarly to the SDRAM described in FIG. 8B, the memory 2 to be accessed can access different memory banks without a delay cycle, but there is no delay cycle for different pages in the same memory bank. Cannot be accessed.

<メモリ制御装置における処理>
図2に示すフローチャートにあるように、メモリ制御装置1の割付手段11は、メモリ2に記憶させるデータの画像領域を所定のマクロブロック単位に区分する(1)。その後、割付手段11は、区分した各画像領域のマクロブロックの輝度ブロックと色差ブロックのデータをそれぞれ異なるメモリバンクに記憶させるように、各データを記憶させるメモリバンクを決定する(2)。
<Processing in memory control device>
As shown in the flowchart of FIG. 2, the allocating unit 11 of the memory control device 1 divides the image area of data to be stored in the memory 2 into predetermined macroblock units (1). After that, the allocating unit 11 determines a memory bank in which each data is stored so that the data of the luminance block and the color difference block of the macro block of each divided image area are stored in different memory banks (2).

各輝度ブロック及び色差ブロックの各データを記憶させるメモリバンクが決定されると、指定手段12は、輝度ブロック及び色差ブロックの各画素のデータに、割付手段11で決定されたメモリバンクに含まれるメモリセルのアドレスを指定する(3)。その後、書込手段13又は読出手段14は、コマンドとともにアドレスを送信して、メモリ2のアドレスで特定されるメモリ位置にアクセスする(4)。メモリ2では、メモリ制御装置1から送信された行アドレス又は列アドレスをコマンドとともに受信し、受信したアドレス及びコマンドに従ってデータの書き込み又は読み出しが実行される。   When the memory bank for storing each data of each luminance block and chrominance block is determined, the designating unit 12 stores the memory included in the memory bank determined by the allocating unit 11 for the data of each pixel of the luminance block and chrominance block. A cell address is designated (3). Thereafter, the writing means 13 or the reading means 14 transmits an address together with the command to access the memory location specified by the address of the memory 2 (4). In the memory 2, the row address or column address transmitted from the memory control device 1 is received together with the command, and data is written or read according to the received address and command.

<<画像領域の区分>>
ここで、割付手段11において実行される画像領域を区分する処理を説明する。例えば、扱うデータがH.246/AVCの圧縮方式で圧縮される場合、割付手段11では、下記の(1)〜(3)の条件に対応して所定の画像領域をマクロブロック単位に区分する必要がある。
<< Image area classification >>
Here, the process of classifying the image area executed in the assigning unit 11 will be described. For example, the data handled is H.264. When compression is performed using the H.246 / AVC compression method, the allocating unit 11 needs to divide a predetermined image area into macroblock units corresponding to the following conditions (1) to (3).

(1)H.264/AVCでは、最大で水平方向に21画素、垂直方向に21画素のデータに基づいて予測画像を生成する。そのため、水平方向に21画素、垂直方向が21画素の画像データが最大でも4つの異なるメモリバンクに収まるように割付ける。 (1) H. In H.264 / AVC, a predicted image is generated based on data of 21 pixels in the horizontal direction and 21 pixels in the vertical direction at the maximum. For this reason, the image data of 21 pixels in the horizontal direction and 21 pixels in the vertical direction is allocated so that it can fit in at least four different memory banks.

(2)H.264/AVCでは、マクロブロックペアという仕組みが利用されるため、垂直方向には2の倍数個のマクロブロックを1つのページ内に割付ける。 (2) H. In H.264 / AVC, a mechanism called a macroblock pair is used, so that multiples of 2 macroblocks are allocated in one page in the vertical direction.

(3)読出しの際にアクセスペナルティ(遅延サイクル)が発生するのを防止するため、隣接する画像領域のデータは異なるメモリバンクに記憶する。 (3) In order to prevent an access penalty (delay cycle) from occurring at the time of reading, data of adjacent image areas are stored in different memory banks.

上記の(1)〜(3)の条件に対応して区分される画像領域には、1つのメモリバンクに記憶するデータの画像領域には、水平方向は2マクロブロック以上確保し、垂直方向は4マクロブロック以上含む必要がある。水平方向を2マクロブロック以上必要とするのは、21画素を2バンク以内に収める必要があるからである。また、垂直方向を4マクロブロック以上必要とするのは、垂直方向を21画素のフィールドラインを2バンク以内に収める必要があるからである。   In the image area divided in accordance with the above conditions (1) to (3), two or more macroblocks are secured in the horizontal direction in the image area of data stored in one memory bank, and the vertical direction is It is necessary to include 4 macroblocks or more. The reason why two or more macro blocks are required in the horizontal direction is that 21 pixels need to be contained within two banks. The reason why four or more macroblocks are required in the vertical direction is that it is necessary to fit a field line of 21 pixels within two banks in the vertical direction.

図3に4:2:0方式の場合の画像の輝度データYと色差データCとの1フレームにおける対応関係を示す。図3(a)では、輝度データYを●で示し、色差データCを■で示している。図3(a)では、Y[0][0]が垂直ライン番号が0、水平画素アドレスが0の輝度データYを表し、Cb[0][0]及びCr[0][0]が垂直ライン番号が0、水平画素アドレスが0の色差データC(Cb,Cr)を表している。このように、1フレームのデータでは、輝度データYが4に対し、色差データC(Cb,Cr)が1の割合で構成されており、輝度データYに対し、色差データCは1/2のデータ量となる。   FIG. 3 shows the correspondence in one frame between the luminance data Y and the color difference data C of the image in the 4: 2: 0 system. In FIG. 3A, the luminance data Y is indicated by ● and the color difference data C is indicated by ■. In FIG. 3A, Y [0] [0] represents the luminance data Y with the vertical line number 0 and the horizontal pixel address 0, and Cb [0] [0] and Cr [0] [0] are vertical. It represents color difference data C (Cb, Cr) having a line number of 0 and a horizontal pixel address of 0. As described above, in the data of one frame, the luminance data Y is 4 and the color difference data C (Cb, Cr) is 1 in proportion to the luminance data Y, and the color difference data C is 1/2 of the luminance data Y. It becomes the amount of data.

図3(b)で示すようにデータは輝度データY、色差データCb及び色差データCrに分けられるが、符号化する際には、輝度ブロックの輝度データYと色差ブロックの色差データC(Cb,Cr)と個々に管理される(図3(c))。そのため、色差データCb及び色差データCrは、後述する図6(c)で示すように、同一のメモリ領域に記憶される。   As shown in FIG. 3B, the data is divided into luminance data Y, color difference data Cb, and color difference data Cr. When encoding, the luminance data Y of the luminance block and the color difference data C (Cb, Cb, Cr) and individually managed (FIG. 3C). Therefore, the color difference data Cb and the color difference data Cr are stored in the same memory area as shown in FIG.

図4を用いて、割付手段11が画像を上述したH.246/AVCに対応した水平方向を2マクロブロック、垂直方向を4マクロブロックである複数の画像領域に区分した一例を説明する。
図4(a)に示す例では、輝度データYを記憶させるために、水平方向に32画素、垂直方向に64ラインの領域に区分している。以下の説明では、垂直方向のライン番号yが0から63までの場合には、水平方向の画素番号xが0から31までを領域1、水平方向の画素番号xが32から63までを領域2、水平方向の画素番号xが64から95までを領域3、水平方向の画素番号xが96から127までを領域4とする。また、垂直方向のライン番号yが64から127までの場合、水平方向の画素番号xが0から31までを領域5、水平方向の画素番号xが32から63までを領域6、水平方向の画素番号xが64から95までを領域7、水平方向の画素番号xが96から127までを領域8とする。
Referring to FIG. An example in which the horizontal direction corresponding to H.246 / AVC is divided into a plurality of image areas having 2 macroblocks in the horizontal direction and 4 macroblocks in the vertical direction will be described.
In the example shown in FIG. 4A, in order to store the luminance data Y, it is divided into regions of 32 pixels in the horizontal direction and 64 lines in the vertical direction. In the following description, when the vertical line number y is 0 to 63, the horizontal pixel number x is 0 to 31, and the horizontal pixel number x is 32 to 63. The horizontal pixel number x is from 64 to 95 as region 3, and the horizontal pixel number x is from 96 to 127 as region 4. When the vertical line number y is from 64 to 127, the horizontal pixel number x is from 0 to 31 in the region 5, the horizontal pixel number x is from 32 to 63 in the region 6, and the horizontal pixel is It is assumed that the number x is from 64 to 95 as the region 7 and the horizontal pixel number x is from 96 to 127 as the region 8.

輝度データYについて画像領域を図4(a)に示すように定めることで、上述した(1)〜(3)のH.246/AVCに対応した画像領域のデータをメモリに記憶させることができる。   By defining the image area for the luminance data Y as shown in FIG. The image area data corresponding to H.246 / AVC can be stored in the memory.

図4(b)は、4:2:0方式のフォーマットの色差データC(Cb,Cr)について区分した一例である。以下の説明では、4:2:0方式の場合、画像の色差データC(Cb,Cr)を水平方向に32画素、垂直方向に128ラインの領域に区分している。このように、輝度データYの場合と比較して垂直方向のライン数が2倍であるのは、図3を用いて説明したように、輝度データYが4に対し、色差データCの割合が2(1/2)で構成されるためである。   FIG. 4B is an example in which the color difference data C (Cb, Cr) in the 4: 2: 0 format is divided. In the following description, in the 4: 2: 0 system, the color difference data C (Cb, Cr) of an image is divided into regions of 32 pixels in the horizontal direction and 128 lines in the vertical direction. In this way, the number of lines in the vertical direction is twice that in the case of the luminance data Y, as described with reference to FIG. 3, the ratio of the color difference data C is 4 with respect to the luminance data Y. This is because it is composed of 2 (1/2).

以下の説明では、垂直方向のライン番号yが0から127までの場合、水平方向の画素番号xが0から31までを領域9、水平方向の画素番号xが32から63までを領域10、水平方向の画素番号xが64から95までを領域11とし、水平方向の画素番号xが96から127までを領域12とする。色差データCの画像領域を図4(b)に示すように定めることで、上述した(1)〜(3)のH.246/AVCに対応してデータをメモリに記憶させることができる。   In the following description, when the vertical line number y is 0 to 127, the horizontal pixel number x is 0 to 31, the region 9 is horizontal, and the horizontal pixel number x is 32 to 63, the region 10 is horizontal. A region 11 is a pixel number x in the direction from 64 to 95, and a region 12 is a pixel number x in the horizontal direction from 96 to 127. By defining the image area of the color difference data C as shown in FIG. Data can be stored in the memory corresponding to H.246 / AVC.

図4(c)は、4:2:2方式のフォーマットの色差データC(Cb,Cr)について区分した一例である。以下の説明では、4:2:2方式の場合、画像の色差データC(Cb,Cr)を水平方向に32画素、垂直方向に64ラインの領域に区分している。4:2:2方式の場合、輝度データYが4に対し、色差データCの割合が4で構成されるため、輝度データYと色差データCのデータ量は同一である。したがって、このように水平方向に32画素、垂直方向に64ラインの領域に区分している。   FIG. 4C shows an example in which the color difference data C (Cb, Cr) in the 4: 2: 2 format is divided. In the following description, in the case of the 4: 2: 2 system, the color difference data C (Cb, Cr) of the image is divided into regions of 32 pixels in the horizontal direction and 64 lines in the vertical direction. In the case of the 4: 2: 2 system, since the luminance data Y is 4 and the ratio of the color difference data C is 4, the data amount of the luminance data Y and the color difference data C is the same. Therefore, the area is divided into 32 pixels in the horizontal direction and 64 lines in the vertical direction.

以下の説明では、垂直方向のライン番号yが0から63までの場合、水平方向の画素番号xが0から31までを領域13、水平方向の画素番号xが32から63までを領域14、水平方向の画素番号xが64から95までを領域15、水平方向の画素番号xが96から127までを領域16とする。また、垂直方向のライン番号yが64から127までの場合、水平方向の画素番号xが0から31までを領域17、水平方向の画素番号xが32から63までを領域18、水平方向の画素番号xが64から95までを領域19、水平方向の画素番号xが96から127までを領域20とする。   In the following description, when the vertical line number y is 0 to 63, the horizontal pixel number x is 0 to 31, the region 13 is horizontal, and the horizontal pixel number x is 32 to 63, the region 14 is horizontal. A region 15 is a pixel number x in the direction from 64 to 95, and a region 16 is a pixel number x in the horizontal direction from 96 to 127. When the vertical line number y is from 64 to 127, the horizontal pixel number x is from 0 to 31 in the region 17, the horizontal pixel number x is from 32 to 63 in the region 18, and the horizontal pixel. It is assumed that the number x is from 64 to 95 as the region 19 and the horizontal pixel number x is from 96 to 127 as the region 20.

<<各マクロブロックに対するメモリバンクの決定>>
図5を用いて、割付手段11が、図4に示すように区分した所定のマクロブロックを含む各画像領域に対応する輝度データY及び色差データCを記憶させるメモリバンクを決定する一例を説明する。
<< Determining the memory bank for each macroblock >>
With reference to FIG. 5, an example will be described in which the allocating unit 11 determines a memory bank for storing the luminance data Y and the color difference data C corresponding to each image area including a predetermined macroblock divided as shown in FIG. .

図5(a)は、割付手段11が、領域1の輝度データYはメモリバンクMB0に書き込み、領域2の輝度データYはメモリバンクMB1に書き込み、領域3の輝度データYはメモリバンクMB2に書き込み、領域4の輝度データYはメモリバンクMB3に書き込むようにメモリバンクを決定したことを示している。また、割付手段11が、領域5の輝度データYはメモリバンクMB2に書き込み、領域6の輝度データYはメモリバンクMB3に書き込み、領域7の輝度データYはメモリバンクMB0に書き込み、領域8の輝度データYはメモリバンクMB1に書き込むようにメモリバンクを決定したことを示している。   In FIG. 5A, the allocation means 11 writes the luminance data Y of area 1 to the memory bank MB0, the luminance data Y of area 2 to the memory bank MB1, and the luminance data Y of area 3 to the memory bank MB2. The luminance data Y of the area 4 indicates that the memory bank is determined to be written in the memory bank MB3. Also, the allocation means 11 writes the luminance data Y of the area 5 into the memory bank MB2, writes the luminance data Y of the area 6 into the memory bank MB3, writes the luminance data Y of the area 7 into the memory bank MB0, and Data Y indicates that the memory bank is determined to be written in the memory bank MB1.

図5(b)は、4:2:0方式のフォーマットの場合に割付手段11が、領域9の色差データCはメモリバンクMB3に書き込み、領域10の色差データCはメモリバンクMB0に書き込み、領域11の色差データCはメモリバンクMB1に書き込み、領域12の色差データCはメモリバンクMB2に書き込むようにメモリバンクを決定したことを示している。図5(a)に示す輝度データYに対するメモリバンクと図5(b)に示す色差データCに対するメモリバンクを比較すると、同一の画素に対応する輝度データY及び色差データCは、それぞれ異なるメモリバンクに対応するように決定されたことが分かる。   In FIG. 5B, in the 4: 2: 0 format, the allocating unit 11 writes the color difference data C in the area 9 to the memory bank MB3, and writes the color difference data C in the area 10 to the memory bank MB0. 11 indicates that the memory bank is determined so that the color difference data C of 11 is written in the memory bank MB1 and the color difference data C of the area 12 is written in the memory bank MB2. Comparing the memory bank for the luminance data Y shown in FIG. 5A with the memory bank for the color difference data C shown in FIG. 5B, the luminance data Y and the color difference data C corresponding to the same pixel are different from each other. It can be seen that the decision was made to correspond to.

図5(c)は、4:2:2方式のフォーマットの場合に割付手段11が、領域13の色差データCはメモリバンクMB3に書き込み、領域14の色差データCはメモリバンクMB0に書き込み、領域15の色差データはメモリバンクMB1に書き込み、領域16の色差データCはメモリバンクMB2に書き込むようにメモリバンクを決定されたことを示している。図5(a)に示す輝度データYに対するメモリバンクと図5(c)に示す色差データCに対するメモリバンクを比較すると、同一の画素に対応する輝度データY及び色差データCは、それぞれ異なるメモリバンクに対応するように決定されたことが分かる。   In FIG. 5C, in the case of the 4: 2: 2 format, the allocating means 11 writes the color difference data C in the area 13 to the memory bank MB3, and writes the color difference data C in the area 14 to the memory bank MB0. 15 indicates that the memory bank is determined so that the color difference data of 15 is written to the memory bank MB1 and the color difference data C of the area 16 is written to the memory bank MB2. Comparing the memory bank for the luminance data Y shown in FIG. 5A with the memory bank for the color difference data C shown in FIG. 5C, the luminance data Y and the color difference data C corresponding to the same pixel are different from each other. It can be seen that the decision was made to correspond to.

4:2:0方式の場合、図4(a)、図4(b)、図5(a)及び図5(b)に示すように各マクロブロックに対するメモリバンクが決定されているとき、書込手段13がデータを書き込む場合について説明する。
まず、書込手段13が水平方向の画素番号64〜95、垂直方向のライン番号64〜127のデータを書き込む場合について説明する。水平方向の画素番号64〜95、垂直方向のライン番号64〜127に該当する領域7に対応するのはメモリバンクMB0であり、領域11に対応するのはメモリバンクMB3であるため、書込手段13は、輝度データYをメモリバンクMB0にデータを書き込み、色差データCをメモリバンクMB3にデータを書き込む。
In the 4: 2: 0 system, when the memory bank for each macroblock is determined as shown in FIGS. 4 (a), 4 (b), 5 (a) and 5 (b), the write A case in which the insertion unit 13 writes data will be described.
First, a case where the writing unit 13 writes data of pixel numbers 64 to 95 in the horizontal direction and line numbers 64 to 127 in the vertical direction will be described. Since the memory bank MB0 corresponds to the area 7 corresponding to the pixel numbers 64 to 95 in the horizontal direction and the line numbers 64 to 127 in the vertical direction, and the memory bank MB3 corresponds to the area 11, the writing means 13 writes the luminance data Y into the memory bank MB0 and writes the color difference data C into the memory bank MB3.

次に、書込手段13が水平方向の画素番号96〜127、垂直方向のライン番号64〜127のデータを書き込む場合について説明する。水平方向の画素番号96〜127、垂直方向のライン番号64〜127に該当する領域8に対応するのはメモリバンクMB1であり、領域12に対応するのはメモリバンクMB0であるため、書込手段13は、メモリバンクMB1にデータを書き込み、色差データCをメモリバンクMB0にデータを書き込む。
読出手段14がデータを読み出す際には、書込手段13によってこのように書き込まれたデータが読み出される。
Next, a case where the writing unit 13 writes data of pixel numbers 96 to 127 in the horizontal direction and line numbers 64 to 127 in the vertical direction will be described. The memory bank MB1 corresponds to the region 8 corresponding to the pixel numbers 96 to 127 in the horizontal direction and the line numbers 64 to 127 in the vertical direction, and the memory bank MB0 corresponds to the region 12, so that the writing means 13 writes data to the memory bank MB1, and writes color difference data C to the memory bank MB0.
When the reading means 14 reads data, the writing means 13 reads the data written in this way.

4:2:2方式の場合、図4(a)、図4(c)、図5(a)及び図5(c)に示すように各マクロブロックに対するメモリバンクが決定されているとき、書込手段13がデータを書き込む場合について説明する。
まず、書込手段13が水平方向の画素番号0〜32、垂直方向のライン番号0〜63のデータを書き込む場合について説明する。水平方向の画素番号0〜32、垂直方向のライン番号0〜63に該当する領域1に対応するのは、メモリバンクMB0であり、領域13に対応するのはメモリバンクMB3であるため、書込手段13は、輝度データYをメモリバンクMB0にデータを書き込み、色差データCをメモリバンクMB3に書き込む。
In the case of the 4: 2: 2 method, when the memory bank for each macroblock is determined as shown in FIGS. 4 (a), 4 (c), 5 (a) and 5 (c), the write A case in which the insertion unit 13 writes data will be described.
First, a case where the writing unit 13 writes data of pixel numbers 0 to 32 in the horizontal direction and line numbers 0 to 63 in the vertical direction will be described. Since the memory bank MB0 corresponds to the area 1 corresponding to the pixel numbers 0 to 32 in the horizontal direction and the line numbers 0 to 63 in the vertical direction, and the memory bank MB3 corresponds to the area 13, The means 13 writes the luminance data Y into the memory bank MB0 and writes the color difference data C into the memory bank MB3.

次に、書込手段13が水平方向の画素番号0〜32、垂直方向のライン番号64〜127のデータを書き込む場合について説明する。水平方向の画素番号0〜32、垂直方向のライン番号64〜127に該当する領域5に対応するのはメモリバンクMB1であり、領域17に対応するのはメモリバンクMB0であるため、書込手段13は、輝度データYをメモリバンクMB1に書き込み、色差データをメモリバンクMB0に書き込む。
読出手段14がデータを読み出す際には、書込手段13によってこのように書き込まれたデータが対応するメモリセルから読み出される。
Next, a case where the writing unit 13 writes data of pixel numbers 0 to 32 in the horizontal direction and line numbers 64 to 127 in the vertical direction will be described. Since the memory bank MB1 corresponds to the area 5 corresponding to the pixel numbers 0 to 32 in the horizontal direction and the line numbers 64 to 127 in the vertical direction, and the memory bank MB0 corresponds to the area 17, the writing means 13 writes the luminance data Y into the memory bank MB1 and the color difference data into the memory bank MB0.
When the reading means 14 reads data, the data written in this way by the writing means 13 is read from the corresponding memory cell.

図6(a)は、メモリバンクの1ページにマクロブロックのデータを記憶させるように決定した一例である。ここでは、メモリセルのビット数が32bitであり、ページ内のメモリセル数(列アドレス数)が512のメモリバンクに、1画素が8bitのデータを書き込む例を説明する。   FIG. 6A shows an example in which macroblock data is determined to be stored in one page of the memory bank. Here, an example will be described in which 8 bits of data are written to one pixel in a memory bank having 32 bits of memory cells and 512 memory cells (number of column addresses) in a page.

図6では、各メモリセルの単位をカラムセグメントとする。メモリセルが512であるため、図6(a)に示すように、1のページは512のカラムセグメントから成る。ここで、1画素は8bitであるため、1カラムセグメント(32bit)には4画素分のデータを書き込むことができる。したがって、64カラムセグメントが1マクロブロック(16×16画素)に相当し、1ページには、図6(a)に示すように8個のマクロブロックのデータを書き込むことが出来る。   In FIG. 6, the unit of each memory cell is a column segment. Since there are 512 memory cells, one page consists of 512 column segments as shown in FIG. Here, since one pixel is 8 bits, data for four pixels can be written in one column segment (32 bits). Therefore, 64 column segments correspond to one macroblock (16 × 16 pixels), and data of eight macroblocks can be written in one page as shown in FIG.

各カラムセグメントは4画素分の輝度データ又は色差データを書き込むことができる。図6(b)に示すように、1つのカラムセグメントには4画素分の輝度データを記憶させることができるため、4画素分の輝度データYを記憶する。   Each column segment can write luminance data or color difference data for four pixels. As shown in FIG. 6B, since luminance data for four pixels can be stored in one column segment, luminance data Y for four pixels is stored.

また、図6(c)に示すように、1つのカラムセグメントには4画素分の色差データを記憶させることができる。図3で説明したように、色差ブロック{Cb[n],Cr[n]}の組が輝度ブロック{Y[2n],Y[2n+1]}(n=0,1,2…)に対応するため、色差データCb及び色差データCrから成る色差ブロックを一組にしてメモリバンクに書き込む(図6(c))。4:2:0方式、4:2:2方式のいずれのフォーマットにおいても、メモリバンクのページ内の水平方向のマクロブロックは輝度データY、色差データC(Cb,Cr)ともに2組になり、垂直ライン方向に関しては、4:2:0方式では輝度データの2倍の8マクロブロックが割付けられ、4:2:2方式では輝度データと同一の4マクロブロックが決定割付けられる。   Further, as shown in FIG. 6C, color difference data for four pixels can be stored in one column segment. As described in FIG. 3, a set of color difference blocks {Cb [n], Cr [n]} corresponds to luminance blocks {Y [2n], Y [2n + 1]} (n = 0, 1, 2,...). Therefore, a set of color difference blocks composed of the color difference data Cb and the color difference data Cr is written to the memory bank (FIG. 6C). In both the 4: 2: 0 format and the 4: 2: 2 format, the horizontal macroblocks in the page of the memory bank have two sets of luminance data Y and color difference data C (Cb, Cr). Regarding the vertical line direction, in the 4: 2: 0 system, 8 macroblocks that are twice the luminance data are allocated, and in the 4: 2: 2 system, the same 4 macroblocks as the luminance data are determined and allocated.

<<アドレスの指定>>
次に、指定手段12が、画像の各画素のデータに対して、メモリ2のアドレスを指定する場合について説明する。
<< Address specification >>
Next, the case where the designation unit 12 designates the address of the memory 2 for the data of each pixel of the image will be described.

指定手段12は、第1アドレス又は第2アドレスをコマンドと共にメモリ2に出力して、アクセス対象となるメモリセルを指定する。指定手段12は、行アドレスを含む第1アドレスを出力する場合、(式1)を利用する。また指定手段12は、列アドレスを含む第2アドレスを出力する場合(式2)を利用する。アドレスは以下のように指定される。   The designation means 12 outputs the first address or the second address together with the command to the memory 2 to designate a memory cell to be accessed. The designation unit 12 uses (Formula 1) when outputting the first address including the row address. The designation unit 12 uses the case where the second address including the column address is output (Formula 2). The address is specified as follows:

行アドレス=α×Page_Y+Page_X ・・・(1)
列アドレス=8×Col_Y+Col_X ・・・(2)
ここで、式(1)中のαは、表1に示すようにデータで表示される画像の水平画素サイズ毎に予め定められてメモリ制御装置1内のメモリ(図示せず)に記憶されている。例えば、HDTVの1920画素、垂直1088ラインの場合、αは表1から「62」となる。

Figure 2007299211
Row address = α × Page_Y + Page_X (1)
Column address = 8 × Col_Y + Col_X (2)
Here, α in Expression (1) is determined in advance for each horizontal pixel size of an image displayed as data as shown in Table 1, and is stored in a memory (not shown) in the memory control device 1. Yes. For example, in the case of 1920 pixels of HDTV and 1088 vertical lines, α is “62” from Table 1.
Figure 2007299211

また、Page_X、Page_Y、Col_X及びCol_Yは、図7を用いて説明するように求められる。
行アドレス及び列アドレスを求める際に使用される式(1)又は式(2)中のPage_X及びCol_X、バンクアドレスPelは、水平方向の画素番号から、図7(a)に示すように求められる。図7(a)によれば、水平方向の画素番号を2進表記の12bitで表したとき、上位7bitをPage_Xに使用する。また、中位3bitをCol_Yに使用する。下位2bitをデータを記憶させるセグメント内の画素を識別するアドレスPelに使用する。
Further, Page_X, Page_Y, Col_X, and Col_Y are obtained as described with reference to FIG.
Page_X and Col_X and the bank address Pel in Equation (1) or Equation (2) used when obtaining the row address and column address are obtained from the pixel numbers in the horizontal direction as shown in FIG. . According to FIG. 7A, when the horizontal pixel number is represented by 12 bits in binary notation, the upper 7 bits are used for Page_X. Also, middle 3 bits are used for Col_Y. The lower 2 bits are used as an address Pel for identifying a pixel in a segment for storing data.

行アドレス及び列アドレスを求める際に使用される式(1)又は式(2)中のPage_Y及びCol_Yは、垂直方向のライン番号から、図7(b)に示すように求められる。図7(b)によれば、垂直方向のライン番号を2進表記の12bitで表したとき、上位6bitをPage_Yに使用する。また、下位6bitをCol_Yに使用する。   Page_Y and Col_Y in Equation (1) or Equation (2) used when obtaining the row address and column address are obtained from the line numbers in the vertical direction as shown in FIG. According to FIG. 7B, when the line number in the vertical direction is represented by 12 bits in binary notation, the upper 6 bits are used for Page_Y. Also, the lower 6 bits are used for Col_Y.

ここで、例えば垂直方向のライン番号が「117」、水平方向の画素番号が「220」の輝度データYを書き込む際、式(1)、(2)を用いて行アドレス及び列アドレスを求める処理について説明する。   Here, for example, when the luminance data Y having the vertical line number “117” and the horizontal pixel number “220” is written, the row address and the column address are obtained using equations (1) and (2). Will be described.

垂直ライン番号である「117」は、二進表記(12bit)では、「0000_0111_1101」となる。また、水平画素アドレスである「221」は、二進表記(12bit)では、「0000_1101_1101」となる。図7で示した規定に基づいて式(1)及び式(2)の各値を求めた場合、Page_Xは、「0000_110」であるため、「6」と求められる。Col_Xは、「1_11」であるため、「7」と求められる。Pelは、「01」であるため、「1」と求められる。Page_Yは、「0000_01」であるため、「1」と求められる。Col_Yは、「11_1101」であるため、「53」と求められる。   The vertical line number “117” is “0000 — 0111 — 1101” in binary notation (12 bits). The horizontal pixel address “221” is “0000 — 1101 — 1101” in binary notation (12 bits). When the values of Expression (1) and Expression (2) are obtained based on the rules shown in FIG. 7, since Page_X is “0000 — 110”, “6” is obtained. Since Col_X is “1_11”, “7” is obtained. Since Pel is “01”, it is calculated as “1”. Since Page_Y is “0000 — 01”, “1” is obtained. Since Col_Y is “11 — 1101”, “53” is obtained.

ここで、画像の水平サイズが720である場合に表1を参照するとαの値は26である。したがって、行アドレスは式(1)により、α×Page_Y+Page_Xであるから、26×1+6により、「32」が求められる。また、列アドレスは式(2)により、8×Col_Y+Col_Xであるから、8×53+7により、「431」が求められる。   Here, when the horizontal size of the image is 720, referring to Table 1, the value of α is 26. Therefore, since the row address is α × Page_Y + Page_X according to the equation (1), “32” is obtained by 26 × 1 + 6. Further, since the column address is 8 × Col_Y + Col_X according to the expression (2), “431” is obtained by 8 × 53 + 7.

このように、式(1)で求めた「行アドレス」の下位2bitである「バンクアドレス」及び式(1)で求めた「行アドレス」の上位bitを含む「第1アドレス」と、式(1)で求めた「行アドレス」の下位2bitである「バンクアドレス」及び式(2)で求めた「列アドレス」を含む「第2アドレス」とを指定手段12から入力した制御回路21は、メモリセルを特定してこの特定されたメモリセルに対してアクセスを実行される。   As described above, the “first address” including the “bank address” which is the lower 2 bits of the “row address” obtained by the expression (1) and the upper bits of the “row address” obtained by the expression (1), and the expression ( The control circuit 21 that has input the “bank address” that is the lower 2 bits of the “row address” obtained in 1) and the “second address” including the “column address” obtained in the equation (2) from the designating unit 12, A memory cell is specified and access is performed to the specified memory cell.

上述したように、本発明の最良の実施の形態によれば、同一のマクロブロックの輝度ブロックの輝度データYと色差ブロックの色差データCを異なるメモリバンクに記憶させることで、輝度データYへのアクセスから色差データCへのアクセスに遷移する際に生じる無効サイクルを必要とせず、効率的なデータアクセスを可能とすることができる。   As described above, according to the preferred embodiment of the present invention, the luminance data Y of the same macro block and the color difference data C of the color difference block are stored in different memory banks, so that Efficient data access can be achieved without requiring an invalid cycle that occurs when transitioning from access to access to color difference data C.

本発明は、ここでは記載していない様々な実施の形態等を含むことは勿論である。従って、本発明の技術的範囲は上記の説明から妥当な特許請求の範囲に係る発明特定事項によってのみ定められるものである。   It goes without saying that the present invention includes various embodiments not described herein. Therefore, the technical scope of the present invention is defined only by the invention specifying matters according to the scope of claims reasonable from the above description.

本発明の最良の実施の形態に係るメモリ制御装置とこれに接続されるメモリを示すブロック図である。1 is a block diagram showing a memory control device and a memory connected to the memory control device according to the best embodiment of the present invention; FIG. 本発明の最良の実施の形態に係るメモリ制御装置の処理を説明するフローチャートである。It is a flowchart explaining the process of the memory control apparatus which concerns on best embodiment of this invention. 4:2:0方式フォーマットの画像データの輝度データY及び色差データCの対応を示す。The correspondence between the luminance data Y and the color difference data C of the image data in the 4: 2: 0 system format is shown. 本発明の最良の実施の形態に係るメモリ制御装置で画像領域を区分する処理を説明する図である。It is a figure explaining the process which classifies an image area | region with the memory control apparatus which concerns on best embodiment of this invention. 本発明の最良の実施の形態に係るメモリ制御装置で各画像領域のデータを記憶するメモリバンクが決定された一例を説明する図である。It is a figure explaining an example in which the memory bank which memorize | stores the data of each image area was determined in the memory control apparatus which concerns on best embodiment of this invention. 本発明の最良の実施の形態に係るメモリ制御装置でアクセスするページについてを説明する図である。It is a figure explaining the page accessed with the memory control apparatus which concerns on best embodiment of this invention. 本発明の最良の実施の形態に係るメモリ制御装置で利用するアドレスを説明する図である。It is a figure explaining the address utilized with the memory control apparatus which concerns on the best embodiment of this invention. 従来から利用される複数のメモリバンクを有するSDRAMを示すブロック図である。It is a block diagram which shows the SDRAM which has several memory banks utilized conventionally. 従来から画像処理で利用されるマクロブロックを示す図である。It is a figure which shows the macroblock conventionally utilized by image processing.

符号の説明Explanation of symbols

1…メモリ制御装置
11…割付手段
12…指定手段
13…書込手段
14…読出手段
DESCRIPTION OF SYMBOLS 1 ... Memory control apparatus 11 ... Allocation means 12 ... Designation means 13 ... Writing means 14 ... Reading means

Claims (1)

メモリバンクアドレス、行アドレス及び列アドレスによって特定される複数のメモリセルで構成されるメモリバンクを複数有し、供給される第1アドレス及び第2アドレスから前記メモリバンクアドレス、前記行アドレス及び前記列アドレスを求めて前記メモリセルにデータを記憶するメモリに対して、輝度データ及び色差データから成る画像データの記憶を制御するメモリ制御装置であって、
前記画像データを画像領域として所定のマクロブロック単位に区分し、区分された前記画像領域のマクロブロックを構成する輝度ブロックのデータ及び色差ブロックのデータがそれぞれ異なるメモリバンクに記憶されるように前記各データを記憶させるメモリバンクを決定する割付手段と
前記輝度ブロック及び前記色差ブロックの各データに対して、前記割付手段で決定された前記メモリバンクに含まれるメモリセルを、メモリバンクアドレス、行アドレス及び列アドレスによって指定し、前記メモリバンクアドレス及び前記行アドレスを含む第1アドレスとして前記メモリに出力し、前記メモリバンクアドレス及び前記列アドレスを第2アドレスとして前記メモリに出力する指定手段と、
前記指定手段で指定された前記バンクアドレス、前記行アドレス及び前記列アドレスで特定される前記メモリセルに書き込む前記輝度ブロックのデータ及び前記色差ブロックのデータを前記メモリに出力し、それぞれのデータを各前記特定されたメモリセルに書込ませる書込手段と、
を有することを特徴とするメモリ制御装置。


There are a plurality of memory banks composed of a plurality of memory cells specified by a memory bank address, a row address and a column address, and the memory bank address, the row address and the column are supplied from the supplied first address and second address. A memory control device that controls storage of image data including luminance data and color difference data for a memory that stores data in the memory cell by obtaining an address,
The image data is divided into predetermined macroblock units as image areas, and the luminance block data and color difference block data constituting the macroblocks of the divided image areas are stored in different memory banks, respectively. Allocating means for determining a memory bank for storing data; and for each data of the luminance block and the chrominance block, memory cells included in the memory bank determined by the allocating means are assigned a memory bank address, a row address, and Designating means for designating by a column address, outputting to the memory as a first address including the memory bank address and the row address, and outputting the memory bank address and the column address to the memory as a second address;
The luminance block data and the color difference block data to be written to the memory cell specified by the bank address, the row address and the column address specified by the specifying means are output to the memory, and the respective data are output to the memory. Writing means for writing to the specified memory cell;
A memory control device comprising:


JP2006126801A 2006-04-28 2006-04-28 Memory control device Pending JP2007299211A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006126801A JP2007299211A (en) 2006-04-28 2006-04-28 Memory control device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006126801A JP2007299211A (en) 2006-04-28 2006-04-28 Memory control device

Publications (1)

Publication Number Publication Date
JP2007299211A true JP2007299211A (en) 2007-11-15

Family

ID=38768655

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006126801A Pending JP2007299211A (en) 2006-04-28 2006-04-28 Memory control device

Country Status (1)

Country Link
JP (1) JP2007299211A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016033818A (en) * 2014-07-30 2016-03-10 ▲ホア▼▲ウェイ▼技術有限公司 Data processing method, apparatus, and system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016033818A (en) * 2014-07-30 2016-03-10 ▲ホア▼▲ウェイ▼技術有限公司 Data processing method, apparatus, and system
US9727253B2 (en) 2014-07-30 2017-08-08 Huawei Technologies, Co., Ltd. Data processing method, apparatus, and system

Similar Documents

Publication Publication Date Title
KR101127962B1 (en) Apparatus for image processing and method for managing frame memory in image processing
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
KR101305490B1 (en) The method and apparatus for mapping memory
JPH08123953A (en) Picture processor
JP4755624B2 (en) Motion compensation device
JPH09172601A (en) Method for recording one frame of image signal on frame memory or sdram in moving image decoder
JP2013065343A (en) System for interleaved storage of video data
CN101212680B (en) Image data storage access method and system
US20050232027A1 (en) Data storage device, data storage control apparatus, data storage control method, and data storage control program
US20080044107A1 (en) Storage device for storing image data and method of storing image data
US9201781B2 (en) Data processing apparatus, data processing method and data sharing system
KR19990060797A (en) Memory allocation method of decoded image data and its device
US8937624B2 (en) Method and apparatus for translating memory access address
JP2007299211A (en) Memory control device
JP2965530B2 (en) Video data shuffling method and apparatus
JP2008052522A (en) Image data access device and image data access method
JP2000066950A (en) Semiconductor storage device
CN100403276C (en) Storage access method
JP2005222180A (en) Image data arrangement method
JP4983160B2 (en) Moving image processing device
JP2008278442A (en) Image processor
JP2008146235A (en) Image processor
JPH11167518A (en) Using method for memory of moving picture decoding device
JP4390822B2 (en) Image processing device