JP2014035617A - Image processing interface circuit - Google Patents
Image processing interface circuit Download PDFInfo
- Publication number
- JP2014035617A JP2014035617A JP2012175841A JP2012175841A JP2014035617A JP 2014035617 A JP2014035617 A JP 2014035617A JP 2012175841 A JP2012175841 A JP 2012175841A JP 2012175841 A JP2012175841 A JP 2012175841A JP 2014035617 A JP2014035617 A JP 2014035617A
- Authority
- JP
- Japan
- Prior art keywords
- read
- data
- write
- image processing
- input
- 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.)
- Granted
Links
- 238000012545 processing Methods 0.000 title claims abstract description 114
- 238000012546 transfer Methods 0.000 claims abstract description 112
- 230000000694 effects Effects 0.000 claims description 4
- 125000004122 cyclic group Chemical group 0.000 claims 1
- 238000007726 management method Methods 0.000 description 37
- 238000006243 chemical reaction Methods 0.000 description 24
- 230000001360 synchronised effect Effects 0.000 description 15
- 238000000034 method Methods 0.000 description 13
- 238000004364 calculation method Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 230000004048 modification Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 6
- 238000012913 prioritisation Methods 0.000 description 6
- 230000006872 improvement Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000006835 compression Effects 0.000 description 4
- 238000007906 compression Methods 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000007616 round robin method Methods 0.000 description 3
- 238000012937 correction Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000013075 data extraction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Abstract
Description
本発明は、所定の画像処理を実行するモジュールコアに接続される画像処理インターフェース回路に関する。 The present invention relates to an image processing interface circuit connected to a module core that executes predetermined image processing.
従来より、画像処理装置では、画像処理モジュールコアとDRAM(Dynamic Random Access Memory)との間のデータ転送に、DMAC(Direct Memory Access Controller)が利用されている。例えば、モジュールコアのそれぞれに専用のDMACが接続され、各DMACがそれぞれバスに直接接続される。 Conventionally, in an image processing apparatus, a DMAC (Direct Memory Access Controller) is used for data transfer between an image processing module core and a DRAM (Dynamic Random Access Memory). For example, a dedicated DMAC is connected to each module core, and each DMAC is directly connected to the bus.
また、画像処理をいわゆるマクロブロック単位で行うモジュールコアが知られている。例えばH.264では、16×16画素、16×8画素、8×16画素、8×8画素、8×4画素、4×8画素、4×4画素から、マクロブロックのサイズを選択可能である。そのような画像処理モジュールコアは、DRAMに対するアクセス、すなわち読み出しおよび書き込みをマクロブロック単位で行う。 A module core that performs image processing in units of so-called macroblocks is also known. For example, H.C. In H.264, a macroblock size can be selected from 16 × 16 pixels, 16 × 8 pixels, 8 × 16 pixels, 8 × 8 pixels, 8 × 4 pixels, 4 × 8 pixels, and 4 × 4 pixels. Such an image processing module core performs access to the DRAM, that is, reading and writing in units of macroblocks.
しかし、モジュールコアのそれぞれに専用のDMACを設ける構成では、多くのDMACが存在することでチップ面積の増大を招いてしまう。 However, in a configuration in which a dedicated DMAC is provided for each module core, the presence of many DMACs increases the chip area.
また、DRAMに対するアクセスをマクロブロック単位で行うと、メモリアクセスの効率が低い。例えば8ビットYUV422の4×4画素のマクロブロックでは1ラインが8バイトしかないので、わずか8バイトの読み出しでDRAMのROWアドレスを切り替えなければならない。また、マクロブロックの1ラインずつ読み出し要求を発行すると、多くの要求発行によってバス帯域の消費が大きくなってしまう。これらの点は書き込みについても同様である。 In addition, when the DRAM is accessed in units of macro blocks, the memory access efficiency is low. For example, in a macro block of 4 × 4 pixels of 8-bit YUV422, one line has only 8 bytes, so the DRAM ROW address must be switched by reading only 8 bytes. Also, if a read request is issued line by line in a macroblock, the bus bandwidth is increased due to the issue of many requests. The same applies to writing.
本発明は、DMACの個数抑制、バス帯域の効率化、等を実現可能な技術を提供することを目的とする。 An object of the present invention is to provide a technique capable of realizing the number control of DMAC, the efficiency improvement of a bus band, and the like.
本発明の第1の態様に係る画像処理インターフェース回路は、所定の画像処理を実行するモジュールコアに接続される画像処理インターフェース回路であって、バスに接続された画像供給元メモリから読み出したデータを格納するための読み出しバッファと、前記画像供給元メモリから前記読み出しバッファへのデータ転送を管理する読み出し管理部と、前記読み出しバッファ内の格納データを所定サイズの入力ブロック単位で前記モジュールコアへ供給するコア入力管理部とを備え、前記読み出し管理部は、前記読み出しバッファに複数の入力ブロックが格納されるように、前記モジュールコアで処理する入力画像データの読み出しを管理すると共に、前記入力画像データがバースト転送されるように前記画像供給元メモリ上の読み出し対象領域を所定の読み出し条件に従って決定する。 An image processing interface circuit according to a first aspect of the present invention is an image processing interface circuit connected to a module core that executes predetermined image processing, and reads data read from an image supply source memory connected to a bus. A read buffer for storing, a read manager for managing data transfer from the image supply source memory to the read buffer, and supplying stored data in the read buffer to the module core in units of input blocks of a predetermined size A core input management unit, wherein the read management unit manages reading of the input image data processed by the module core so that a plurality of input blocks are stored in the read buffer, and the input image data Read-out pairs on the image source memory so as to be burst transferred. It determines an area in accordance with a predetermined read condition.
本発明の第2の態様に係る画像処理インターフェース回路は、上記の第1の態様に係る画像処理インターフェース回路であって、前記入力画像データは、それぞれが画素ラインまたは画素ライン群に対応する複数の入力画像データ列を含み、前記入力ブロックは、前記複数の入力画像データ列のうちのN個(Nは2以上の整数)の入力画像データ列を対象にして設定され、前記読み出しバッファは、前記入力ブロックが設定された前記N個の入力画像データ列がそれぞれ入力されるN個の読み出しラインFIFO部を含み、前記所定の読み出し条件は、前記N個の入力画像データ列を循環的に選択する旨の循環選択条件と、入力画像データ列の先頭の側から順に前記読み出し対象領域を設定する旨の列内順序条件と、各入力画像データ列に対する前記読み出し対象領域の設定は、選択される度に1回とする旨の回数条件とを含む。 An image processing interface circuit according to a second aspect of the present invention is the image processing interface circuit according to the first aspect, wherein the input image data includes a plurality of pixels each corresponding to a pixel line or a pixel line group. An input image data sequence, and the input block is set for N input image data sequences (N is an integer of 2 or more) of the plurality of input image data sequences, and the read buffer It includes N read line FIFO units to which the N input image data sequences set with input blocks are respectively input, and the predetermined read condition cyclically selects the N input image data sequences. A circular selection condition indicating that the read target area is set in order from the top of the input image data string, and each input image data string. That setting of the reading target area, and a count condition to the effect that once each time it is selected.
本発明の第3の態様に係る画像処理インターフェース回路は、上記の第1の態様に係る画像処理インターフェース回路であって、前記入力画像データは、それぞれが画素ラインまたは画素ライン群に対応する複数の入力画像データ列を含み、前記入力ブロックは、前記複数の入力画像データ列のうちの1個の入力画像データ列を対象にして設定され、前記読み出しバッファは、前記入力ブロックが設定された前記1個の入力画像データ列が入力される1個の読み出しラインFIFO部を含み、前記所定の読み出し条件は、入力画像データ列の先頭の側から順に前記読み出し対象領域を設定する旨の列内順序条件を含む。 An image processing interface circuit according to a third aspect of the present invention is the image processing interface circuit according to the first aspect described above, wherein the input image data includes a plurality of pixels each corresponding to a pixel line or a pixel line group. Including the input image data sequence, the input block is set for one input image data sequence of the plurality of input image data sequences, and the read buffer is the 1 in which the input block is set In-column order condition that includes one read-line FIFO unit to which one input image data string is input, and that the predetermined read condition is to set the read target area in order from the head side of the input image data string including.
本発明の第4の態様に係る画像処理インターフェース回路は、上記の第1ないし第3の態様のうちのいずれか1つに係る画像処理インターフェース回路であって、前記所定の読み出し条件は、前記読み出し対象領域の終了アドレスを前記画像供給元メモリのアドレスアライメント境界に合わせる旨の読み出しアライメント条件を含む。 An image processing interface circuit according to a fourth aspect of the present invention is the image processing interface circuit according to any one of the first to third aspects, wherein the predetermined readout condition is the readout A read alignment condition for matching the end address of the target area with the address alignment boundary of the image source memory is included.
本発明の第5の態様に係る画像処理インターフェース回路は、上記の第4の態様に係る画像処理インターフェース回路であって、前記所定の読み出し条件は、前記読み出し対象領域が前記入力画像データ列の始端を含む場合、前記読み出し対象領域のデータ量が前記バスのバス幅の倍数になるように前記読み出し対象領域の開始アドレスを設定する旨の読み出しサイズ条件を含む。 An image processing interface circuit according to a fifth aspect of the present invention is the image processing interface circuit according to the fourth aspect described above, wherein the predetermined read condition is that the read target area is the start of the input image data sequence. , A read size condition for setting the start address of the read target area so that the amount of data in the read target area is a multiple of the bus width of the bus is included.
本発明の第6の態様に係る画像処理インターフェース回路は、上記の第5の態様に係る画像処理インターフェース回路であって、前記所定の読み出し条件は、前記入力画像データ列中の未読み出し部分が1回のバースト転送で設定可能な最大転送量を超過している場合、且つ、その超過量が前記読み出しサイズ条件の下で設定された前記開始アドレスと前記入力画像データ列の先頭アドレスとの差分よりも大きい場合、前記読み出し対象領域の終了アドレスを前記バースト転送の前記最大転送量に合わせて設定する旨の第1の終了アドレス条件と、前記超過量が前記差分以下である場合、前記読み出し対象領域の前記終了アドレスを前記入力画像データ列の終端アドレスに設定する旨の第2の終了アドレス条件とを含む。 An image processing interface circuit according to a sixth aspect of the present invention is the image processing interface circuit according to the fifth aspect, wherein the predetermined read condition is that an unread portion in the input image data string is 1 When the maximum transfer amount that can be set in one burst transfer is exceeded, and the excess amount is based on the difference between the start address set under the read size condition and the start address of the input image data sequence Is larger, the first end address condition for setting the end address of the read target area according to the maximum transfer amount of the burst transfer, and the read target area when the excess amount is equal to or less than the difference And a second end address condition for setting the end address to the end address of the input image data sequence.
本発明の第7の態様に係る画像処理インターフェース回路は、上記の第1ないし第6の態様のうちのいずれか1つに係る画像処理インターフェース回路であって、前記所定の読み出し条件は、前記入力画像データ列中の未読み出し部分が前記バースト転送の前記最大転送量以下である場合、前記読み出し対象領域の終了アドレスを前記入力画像データ列の終端アドレスに設定する旨の第3の終了アドレス条件を含む。 An image processing interface circuit according to a seventh aspect of the present invention is the image processing interface circuit according to any one of the first to sixth aspects, wherein the predetermined read condition is the input When an unread portion in the image data sequence is equal to or less than the maximum transfer amount of the burst transfer, a third end address condition is set to set the end address of the read target region as the end address of the input image data sequence. Including.
本発明の第8の態様に係る画像処理インターフェース回路は、上記の第1ないし第7の態様のうちのいずれか1つに係る画像処理インターフェース回路であって、前記読み出しバッファは、前記バースト転送の前記最大転送量の1倍よりも大きく且つ2倍よりも小さい容量を有した読み出しラインFIFO部を少なくとも1つ含み、前記読み出し管理部は、前記読み出しラインFIFO部内において前記モジュールコアに対する供給済みデータが前記最大転送量以上になった場合、前記供給済みデータに替えて前記画像供給元メモリから読み出した新しいデータを前記読み出しラインFIFO部に格納する。 An image processing interface circuit according to an eighth aspect of the present invention is the image processing interface circuit according to any one of the first to seventh aspects, wherein the read buffer is configured to perform the burst transfer. The read management unit includes at least one read line FIFO unit having a capacity larger than 1 times and smaller than 2 times the maximum transfer amount, and the read management unit includes data already supplied to the module core in the read line FIFO unit. When the maximum transfer amount is exceeded, new data read from the image supply source memory is stored in the read line FIFO unit instead of the supplied data.
本発明の第9の態様に係る画像処理インターフェース回路は、所定の画像処理を実行するモジュールコアに接続される画像処理インターフェース回路であって、前記モジュールコアから出力されるコア出力データを格納するための書き込みバッファと、前記コア出力データの前記書き込みバッファへの入力を管理するコア出力管理部と、前記書き込みバッファ内の格納データを、バスに接続された画像格納先メモリへ転送することを管理する書き込み管理部とを備え、前記書き込みバッファは、1回のバースト転送で設定可能な最大転送量よりも大きい容量を有した書き込みラインFIFO(First In First Out)部を少なくとも1つ含み、前記書き込み管理部は、前記書き込みラインFIFO部ごとに、前記書き込みラインFIFO部内のデータのうちで前記バースト転送の対象にする書き込み対象データと、前記画像格納先メモリ上の書き込み先領域とを、所定の書き込み条件に従って決定する。 An image processing interface circuit according to a ninth aspect of the present invention is an image processing interface circuit connected to a module core that executes predetermined image processing, and stores core output data output from the module core. A write buffer, a core output management unit that manages input of the core output data to the write buffer, and transfer of storage data in the write buffer to an image storage destination memory connected to a bus A write management unit, wherein the write buffer includes at least one write line FIFO (First In First Out) unit having a capacity larger than a maximum transfer amount that can be set in one burst transfer, and the write management unit For each write line FIFO unit, the data in the write line FIFO unit And write target data to be subjected to the burst transfer out, a write destination area on the image storage destination memory, to determine according to a predetermined write conditions.
本発明の第10の態様に係る画像処理インターフェース回路は、上記の第9の態様に係る画像処理インターフェース回路であって、前記所定の書き込み条件は、前記書き込み対象データを前記バースト転送の前記最大転送量に設定する旨の書き込みサイズ条件と、前記書き込み先領域を前記画像格納先メモリのアドレスアライメント境界に合わせる旨の書き込みアライメント条件とのうちの少なくとも一方を含む。 An image processing interface circuit according to a tenth aspect of the present invention is the image processing interface circuit according to the ninth aspect, wherein the predetermined write condition is the maximum transfer of the burst transfer of the write target data. At least one of a write size condition for setting the amount and a write alignment condition for aligning the write destination area with the address alignment boundary of the image storage destination memory.
本発明の第11の態様に係る画像処理インターフェース回路は、上記の第9または第10の態様に係る画像処理インターフェース回路であって、前記所定の書き込み条件は、前記モジュールコアから出力される出力画像の画素ラインまたは画素ライン群の終端に対応する前記コア出力データまでの範囲で以て前記書き込み対象データを区切ると共に、その区切られた範囲に対応して前記書き込み先領域を設定する旨のライン終端条件を含む。 An image processing interface circuit according to an eleventh aspect of the present invention is the image processing interface circuit according to the ninth or tenth aspect, wherein the predetermined write condition is an output image output from the module core. A line end indicating that the write target data is delimited by a range up to the core output data corresponding to the end of the pixel line or pixel line group, and the write destination area is set corresponding to the delimited range Includes conditions.
本発明の第12の態様に係る画像処理インターフェース回路は、上記の第9ないし第11の態様のうちのいずれか1つ係る画像処理インターフェース回路であって、前記書き込みラインFIFO部は、前記バースト転送の前記最大転送量の1倍よりも大きく且つ2倍よりも小さい容量を有し、前記書き込み管理部は、前記書き込みラインFIFO部内において前記画像格納先メモリに対する転送済みデータが前記最大転送量以上になった場合、前記転送済みデータに替えて新しいコア出力データを前記書き込みラインFIFO部に格納する。 An image processing interface circuit according to a twelfth aspect of the present invention is the image processing interface circuit according to any one of the ninth to eleventh aspects, wherein the write line FIFO unit includes the burst transfer. The write management unit has a capacity that is greater than 1 and less than 2 times the maximum transfer amount, and the write management unit has transferred data for the image storage destination memory that is greater than or equal to the maximum transfer amount in the write line FIFO unit. If it does, new core output data is stored in the write line FIFO unit in place of the transferred data.
上記の第1ないし第8の態様によれば、複数回分の入力ブロックを事前にバッファに読み出しておき、且つ、その読み出しにバースト転送を利用する。したがって、モジュールコアで必要となる度に入力ブロックを読み出す構成に比べて、読み出し要求の頻度を抑制可能である。それにより、バス帯域を効率良く利用できる。 According to the first to eighth aspects described above, a plurality of input blocks are read in advance into a buffer, and burst transfer is used for the reading. Therefore, the frequency of read requests can be suppressed as compared with a configuration in which an input block is read each time it is required by the module core. Thereby, the bus bandwidth can be used efficiently.
上記の第2ないし第8の態様によれば、N個の入力画像データ列が部分的且つ並行的に読み出され、又、そのような読み出しがN個の入力画像データ列の先頭側から順に進行する。このため、一の入力画像データ列を先頭から終端まで読み出しその後に他の入力画像データ列の読み出しを開始する場合に比べて、モジュールコアへのデータ供給に遅延を生じにくい。すなわち、後者の場合、例えば最も先頭側に設定された入力ブロックをモジュールコアに供給するのに要する時間は、N個の入力画像データ列全体を読み出す時間にほぼ等しい。これに対し、上記の部分的且つ並行的な読み出しによれば、N個の入力画像データ列全体の読み出しを待たなくても、最も先端側の入力ブロックをモジュールコアに供給し終えることができる。また、上記の部分的且つ並行的な読み出しによれば、読み出しバッファの容量を小さくできる。 According to the second to eighth aspects, the N input image data strings are read out partially and in parallel, and such reading is sequentially performed from the head side of the N input image data strings. proceed. For this reason, compared to the case where one input image data string is read from the beginning to the end and then reading of the other input image data string is started, delay in supplying data to the module core is less likely to occur. That is, in the latter case, for example, the time required to supply the input block set at the headmost side to the module core is substantially equal to the time for reading the entire N input image data strings. On the other hand, according to the partial and parallel reading described above, it is possible to finish supplying the most input block to the module core without waiting for reading of the entire N input image data strings. Further, according to the partial and parallel reading described above, the capacity of the read buffer can be reduced.
上記の第4ないし第8の態様によれば、読み出し対象領域が画像供給元メモリのアドレスアライメント境界を跨ぐ場合に比べて、画像供給元メモリを効率良く動作させることが可能である。それにより、データ転送効率の向上、省電力化等に資する。 According to the fourth to eighth aspects, it is possible to operate the image supply source memory more efficiently than when the read target region crosses the address alignment boundary of the image supply source memory. Thereby, it contributes to improvement of data transfer efficiency and power saving.
上記の第5ないし第8の態様によれば、特に読み出し対象領域が入力画像データ列の始端を含む場合に、入力画像データにとって有意なデータを受信ビット列内において後ろ詰めにすることができる。換言すれば、読み出し対象領域の開始アドレスの調整は、不要なデータを受信ビット列中に含ませることになるが、そのような不要データを意図的に、受信ビット列の前方に配置することができる。したがって、バッファへ読み出した入力画像データ中に不要データが割り込むのを回避できる。このため、上記不要データの管理および除去が容易になる。具体的には、モジュールコアへのデータ供給の際、バッファの出力データのうちで読み出し開始アドレスの調整量に応じた先頭データを無視すれば済む。 According to the fifth to eighth aspects, data that is significant for the input image data can be left-justified in the received bit string, particularly when the read target area includes the start of the input image data string. In other words, adjustment of the start address of the read target area includes unnecessary data in the received bit string, but such unnecessary data can be intentionally arranged in front of the received bit string. Therefore, unnecessary data can be prevented from interrupting the input image data read to the buffer. This facilitates management and removal of the unnecessary data. Specifically, when data is supplied to the module core, the head data corresponding to the read start address adjustment amount in the output data of the buffer may be ignored.
上記の第6ないし第8の態様によれば、1回の読み出し要求で以て、転送可能な最大データ量を確保可能である。このため、読み出し要求の回数増加が抑制されることで、データ転送を効率的に行うことができる。また、データ転送の効率化に伴って読み出し要求の頻度が抑制される。 According to the sixth to eighth aspects, the maximum data amount that can be transferred can be secured by one read request. For this reason, the data transfer can be performed efficiently by suppressing the increase in the number of read requests. In addition, the frequency of read requests is reduced as data transfer becomes more efficient.
また、上記の第6ないし第8の態様によれば、入力画像データ列中の未読み出し部分がバースト転送の最大転送量を超過している場合、且つ、その超過量が上記読み出しサイズ条件の下で設定された開始アドレスと入力画像データ列の先頭アドレスとの差分以下である場合には、読み出し対象領域の終了アドレスを入力画像データ列の終端アドレスに設定する。これにより、各入力画像データ列について読み出し要求の回数が揃う。このため、かかる点からも、読み出し要求の頻度の抑制を図ることができる。 According to the sixth to eighth aspects, when the unread portion in the input image data sequence exceeds the maximum transfer amount of burst transfer, and the excess amount is under the read size condition. If the difference is less than or equal to the difference between the start address set in step 1 and the start address of the input image data sequence, the end address of the read target area is set as the end address of the input image data sequence. As a result, the number of read requests for each input image data string is uniform. For this reason, also from this point, it is possible to suppress the frequency of read requests.
上記の第7ないし第8の態様によれば、入力画像データ列の終端側部分の読み出しについて、不要な転送動作を抑制できる。したがって、バス帯域を効率良く利用できる。 According to the seventh to eighth aspects, an unnecessary transfer operation can be suppressed for reading of the terminal side portion of the input image data sequence. Therefore, the bus bandwidth can be used efficiently.
上記の第8の態様によれば、読み出しバッファの容量を小さくできる。それにより、チップ面積の削減、装置の小型化、省電力化等を図ることができる。 According to the eighth aspect, the capacity of the read buffer can be reduced. Thereby, the chip area can be reduced, the apparatus can be reduced in size, and the power can be saved.
上記の第9ないし第12の態様によれば、複数個の出力ブロックをバッファに蓄積しておき、且つ、それらを纏めて画像格納先メモリへバースト転送させる。したがって、モジュールコアから出力ブロックが出力される度にその出力ブロックを画像格納先メモリへ転送する構成に比べて、書き込み要求の頻度を抑制可能である。それにより、バス帯域を効率良く利用できる。 According to the ninth to twelfth aspects, a plurality of output blocks are accumulated in the buffer, and they are collectively transferred to the image storage destination memory. Therefore, the frequency of write requests can be suppressed as compared with the configuration in which each time an output block is output from the module core, the output block is transferred to the image storage destination memory. Thereby, the bus bandwidth can be used efficiently.
上記の第10ないし第12の態様によれば、書き込みサイズ条件により、1回の書き込み要求で以て最大データ量を書き込み可能である。このため、データ転送を効率的に行うことができる。また、データ転送の効率化に伴って書き込み要求の頻度が抑制される。また、書き込みアライメント条件により、書き込み先領域が画像格納先メモリのアドレスアライメント境界を跨ぐ場合に比べて、画格納先メモリを効率良く動作させることが可能である。それにより、データ転送効率の向上、省電力化等に資する。 According to the tenth to twelfth aspects, the maximum amount of data can be written with a single write request according to the write size condition. For this reason, data transfer can be performed efficiently. In addition, the frequency of write requests is reduced as data transfer becomes more efficient. Further, the image storage destination memory can be operated more efficiently than the case where the write destination region crosses the address alignment boundary of the image storage destination memory depending on the write alignment condition. Thereby, it contributes to improvement of data transfer efficiency and power saving.
上記の第11ないし第12の態様によれば、ライン終端側部分の書き込みについて、不要な転送動作を抑制できる。したがって、バス帯域を効率良く利用できる。 According to the eleventh to twelfth aspects, it is possible to suppress unnecessary transfer operations for writing at the line end side portion. Therefore, the bus bandwidth can be used efficiently.
上記の第12の態様によれば、書き込みバッファの容量を小さくできる。それにより、チップ面積の削減、装置の小型化、省電力化等を図ることができる。 According to the twelfth aspect, the capacity of the write buffer can be reduced. Thereby, the chip area can be reduced, the apparatus can be reduced in size, and the power can be saved.
本発明の目的、特徴、局面、および利点は、以下の詳細な説明と添付図面とによって、より明白となる。 The objects, features, aspects and advantages of the present invention will become more apparent from the following detailed description and the accompanying drawings.
<全体構成>
図1に、実施の形態に係る画像処理装置1のブロック図を例示する。図1の例によれば、画像処理装置1は、複数の画像処理モジュール部2と、モジュールアービタ部3と、DMAC(Direct Memory Access Controller)部4と、バス10と、メモリ11と、CPU12とを含んでいる。なお、ここでは3つの画像処理モジュール部2を例示するが、この例に限定されるものではない。また、3つの処理モジュール部2を区別する場合、符号2a,2b,2cを用いることにする。かかる表記法は他の要素についても用いる場合がある。
<Overall configuration>
FIG. 1 illustrates a block diagram of an image processing apparatus 1 according to the embodiment. 1, the image processing apparatus 1 includes a plurality of image processing module units 2, a
画像処理モジュール部2aは、モジュールコア5aと、読み出し用の画像処理インターフェース回路である読み出しインターフェース(I/F)回路6Raと、書き込み用の画像処理インターフェース回路である書き込みインターフェース(I/F)回路6Waとを含んでいる。同様に、画像処理モジュール部2b,2cは、モジュールコア5b,5cと、読み出しI/F回路6Rb,6Rcと、書き込みI/F回路6Wb,6Wcとをそれぞれ含んでいる。また、モジュールアービタ部3は、読み出しアービタ3Rと、書き込みアービタ3Wとを含んでいる。また、DMAC部4は、読み出しDMAC4Rと、書き込みDMAC4Wとを含んでいる。
The image
図1に示すように、モジュールコア5aは読み出しI/F回路6Raに接続され、同様にモジュールコア5b,5cは読み出しI/F回路6Rb,6Rcにそれぞれ接続されている。3つの読み出しI/F回路6Ra,6Rb,6Rcはいずれも読み出しアービタ3Rに接続されている。読み出しアービタ3Rは読み出しDMAC4Rに接続され、読み出しDMAC4Rはバス10に接続されている。
As shown in FIG. 1, the
また、モジュールコア5aは書き込みI/F回路6Waに接続され、同様にモジュールコア5b,5cは書き込みI/F回路6Wb,6Wcにそれぞれ接続されている。3つの書き込みI/F回路6Wa,6Wb,6Wcはいずれも書き込みアービタ3Wに接続されている。書き込みアービタ3Wは書き込みDMAC4Wに接続され、書き込みDMAC4Wはバス10に接続されている。
The
すなわち、3つの画像処理モジュール部2a,2b,2cがモジュールアービタ部3に接続され、モジュールアービタ部3はDMAC部4に接続され、DMAC部4はバス10に接続されている。この場合、DMAC部4はモジュールアービタ部3とバス10との間に接続されている。
That is, three image
モジュールコア5は、入力画像データに対して所定の画像処理(例えば圧縮、伸長、アフィン変換、各種補正等)を実行し、処理後のデータを出力画像データとして出力する。換言すれば、モジュールコア5は、所定の画像処理によって、入力画像データから出力画像データを生成する。
The
モジュールコア5は、入力画像データを所定サイズの入力ブロック単位で受け付け、受け付けた入力ブロックに対して画像処理を実行し、処理済みデータをコア出力データとして出力する。なお、コア出力データを、入力ブロックに対応させて、出力ブロックとも称することにする。なお、入力ブロックは1つのデータ列で構成される場合もあれば、複数のデータ列の集合体として構成される場合もある。出力ブロックについても同様である。
The
モジュールコア5a,5b,5cの画像処理内容は互いに異なっていてもよいし、あるいはモジュールコア5a,5b,5cのうちの2つ以上が同じ種類または同じ内容の画像処理を行うコアであってもよい。なお、モジュールコア5として、既存のモジュールコア、例えばいわゆるIP(Intellectual Property)コアとして提供されるモジュールコアを利用可能である。
The image processing contents of the
読み出しI/F回路6Rは、モジュールコア5で処理する入力画像データをメモリ11から読み出し、その入力画像データを入力ブロック単位でモジュールコア5へ供給するための読み出し処理を行う。また、書き込みI/F回路6Wは、モジュールコア5から出力ブロックを受け取り、それらの出力ブロックを出力画像データとしてメモリ11へ書き込むための書き込み処理を行う。
The read I / F circuit 6R reads input image data to be processed by the
モジュールアービタ部3は、画像処理モジュール部2a,2b,2cがメモリ11に対してアクセスするのを調停する。
The
具体的には、読み出しアービタ3Rは、3つの読み出しI/F回路6Rから、メモリ11に対する読み出し要求を受け付け、それらを所定の調停方式に従って調停し、調停によって選択された読み出し要求を読み出しDMAC4Rへ引き渡す。なお、読み出し要求には、メモリ11上の読み出し対象領域を特定するための情報が付随する。
Specifically, the read arbiter 3R receives read requests for the
また、書き込みアービタ3Wは、3つの書き込みI/F回路6Wから、メモリ11に対する書き込み要求を受け付け、それらを所定の調停方式に従って調停し、調停によって選択された書き込み要求を書き込みDMAC4Wへ引き渡す。なお、書き込み要求には、書き込み対象データと、メモリ11上の書き込み先領域を特定するための情報とが付随する。
The
以下では、読み出し対象領域を開始アドレスおよび終了アドレスで特定する場合を例示し、書き込み先領域についても同様に例示する。但し、この例に限定されるものではない。例えば開始アドレスおよびその領域長さによって、読み出し対象領域および書き込み先領域を特定することも可能である。 In the following, a case where the read target area is specified by the start address and the end address is illustrated, and the write destination area is similarly illustrated. However, it is not limited to this example. For example, the read target area and the write destination area can be specified by the start address and the area length.
アービタ3R,3Wによる調停方式として、ここでは、ラウンドロビン方式を例示する。ラウンドロビン方式では、画像処理モジュール部2a,2b,2cのメモリアクセス要求(RQa,RQb,RQcと表記することにする)間に複数種類の優先順位付けが予め準備される。そして、いずれか1つの優先順位付けに基づいて調停を行ったならば、使用する優先順位付けを切り替える。
Here, as an arbitration method using the
より具体的には、例えば(i)RQa>RQb>RQc、(ii)RQb>RQc>RQa、(iii)RQc>RQa>RQbという3種類の優先順位付けが予め準備される。なお、例えばRQa>RQbはRQaの方がRQbよりも優先順位が高いことを表すものとする。上記(i)の優先順位付けが有効である状態において、RQa,RQcが競合したとする。この場合、上記(i)に従って、優先順位の高いRQaが選択される。そして、選択されたRQaが最下位に規定されている優先順位付け、すなわち上記(ii)が次の調停において有効とされる。 More specifically, for example, three types of prioritization are prepared in advance: (i) RQa> RQb> RQc, (ii) RQb> RQc> RQa, and (iii) RQc> RQa> RQb. For example, RQa> RQb indicates that RQa has a higher priority than RQb. Assume that RQa and RQc compete in a state where the prioritization in (i) is valid. In this case, RQa having a higher priority is selected according to (i) above. Then, the prioritization in which the selected RQa is defined at the bottom, that is, the above (ii) is made effective in the next arbitration.
アービタ3R,3Wに他の調停方式を採用してもよい。但し、ラウンドロビン方式は簡易なアルゴリズムの一例であり、そのためアービタ3R,3Wを小規模に構成可能である。
Other arbitration methods may be adopted for the
DMAC部4は、モジュールアービタ部3による調停結果に係るメモリアクセスを実行する。
The
具体的には、読み出しDMAC4Rは、所定のバス仕様(換言すればバスプロトコル)に準拠したバスインターフェース(I/F)を有している。読み出しDMAC4Rは、当該バスI/Fを、読み出しアービタ3Rから引き渡された読み出し要求に従って制御する。それにより、読み出し要求で指定された、メモリ11の読み出し対象領域から、データが読み出される。読み出しDMAC4Rは、読み出したデータを、その読み出し要求を発行した読み出しI/F回路6Rへ転送する。
Specifically, the
また、書き込みDMAC4Wも同様にバスI/Fを有しており、書き込みDMAC4Wは当該バスI/Fを、書き込みアービタ3Wから引き渡された書き込み要求に従って制御する。より具体的には、書き込みDMAC4Wは、書き込み要求に係る書き込み対象データが、書き込み要求で指定された書き込み先領域に格納されるように、バスI/Fを制御する。
Similarly, the
ここでは、説明のため、DMAC4R,4WのバスI/FがAXI(Advanced eXtensible Interface)に準拠している場合を例示する。但し、この例に限定されるものではない。AXIによれば、バースト転送が可能である。AXIの転送制御情報は、バースト長、バーストサイズ、等を含む。具体的には、バースト長は1回のバースト転送で行うデータ転送の回数であり、仕様上は基本的に1〜16回のいずれかを設定可能である。また、バーストサイズは1回のバースト転送中の各データ転送における最大転送量であり、仕様上は1,2,4,8,16,32,64,128バイトのいずれかを設定可能である。
Here, for the sake of explanation, a case where the bus I / F of the
バス10は例えば、データバス、アドレスバス、制御バス等を含んでいる。ここではデータバスが128ビット幅である場合を例示する。この場合、設定可能な最大バーストサイズは16バイト(128ビット)である。なお、AXIではバスをチャネルと称する場合がある。
The
メモリ11は、画像処理モジュール部2へ入力する画像データ、画像処理モジュール部2から出力された画像データ、等を格納する。このため、メモリ11は、入力画像データを供給する画像供給元メモリとして機能すると共に、出力画像データを格納する画像格納先メモリとしても機能する。なお、画像供給元メモリと画像格納先メモリとを別々の部品で構成してもよい。
The
ここでは、メモリ11がDRAM(Dynamic Random Access Memory)である場合を例示し、以下ではメモリ11をDRAM11とも称する。また、DRAM11が32バイトでアラインされている場合、換言すればDRAM11が32バイト境界を有する場合を例示する。但し、これらの例に限定されるものではない。
Here, a case where the
CPU12は、画像処理装置1の全体的な制御を行う。例えば、CPU12は、画像処理モジュール部2に対して、画像処理の実行の指示、および、その実行に必要な情報の提供を行う。
The
なお、バス10に、他のモジュール、例えば外部接続用(外部記憶媒体用、表示装置用等)のインターフェースを提供するモジュールが接続されていてもよい。
Note that another module, for example, a module that provides an interface for external connection (for an external storage medium, a display device, etc.) may be connected to the
また、画像処理装置1は1チップに集積された画像集積回路として提供可能であるが、その例に限定されるものではない。また、画像処理装置1は種々に変形可能である。例えば、CPU12を画像処理装置1内から省き、外部のCPUを画像処理装置1に接続するように変形可能である。また、CPU12の替わりにあるいはCPU12と共に、メモリ11とバス10の一方または両方を画像処理装置1内から省いてもよい。
The image processing apparatus 1 can be provided as an image integrated circuit integrated on one chip, but is not limited to this example. The image processing apparatus 1 can be variously modified. For example, the
画像処理装置1によれば、3つの画像処理モジュール部2a,2b,2cがDMAC部4を共用する。このため、画像処理モジュール部2a,2b,2cのそれぞれに対してDMAC部4を設けた構成に比べて、DMAC部4の数が削減される。それにより、チップ面積を削減可能である。その結果、装置の小型化、省電力化等を図ることができる。
According to the image processing apparatus 1, the three image
<画像等の説明>
画像処理装置1をより具体的に例示する前に、画像等を説明する。図2には四角形の画像Gを例示しており、説明を分かりやすくするために当該四角形の直交する2辺を水平方向(換言すれば横方向)Hおよび垂直方向(換言すれば縦方向)Vにそれぞれ対応させている。画像Gは図2の例とは違えて縦長であってもよい。なお、画像Gの水平方向HがDRAM11のROWライン方向に対応するものとする。
<Description of images etc.>
Before illustrating the image processing apparatus 1 more specifically, images and the like will be described. FIG. 2 illustrates a quadrangular image G, and in order to make the explanation easy to understand, two orthogonal sides of the quadrilateral are horizontal (in other words, horizontal) H and vertical (in other words, vertical) V. It corresponds to each. Unlike the example of FIG. 2, the image G may be vertically long. It is assumed that the horizontal direction H of the image G corresponds to the ROW line direction of the
図2に示すように、画像Gは画素PXの集合体として把握される。図2では、画素PXが水平方向Hおよび垂直方向Vのいずれにも整列している。すなわち、マトリクス状に画素PXが配置されている。 As shown in FIG. 2, the image G is grasped as an aggregate of the pixels PX. In FIG. 2, the pixels PX are aligned in both the horizontal direction H and the vertical direction V. That is, the pixels PX are arranged in a matrix.
ここで、水平方向Hに並んだ画素PXの群を画素ラインPLと称することにする。この場合、画像Gにおいて、それぞれの画素ラインPLは水平方向Hに延在しており、複数の画素ラインPLが垂直方向Vに並んでいる。また、画像Gにおいて、画素ラインPLは同じ長さを有し(すなわち画素数が同じ)を有し、画素ラインPLの始端(ここでは左端とする)の位置が揃っており、終端(ここでは右端とする)の位置も揃っている。 Here, a group of pixels PX arranged in the horizontal direction H is referred to as a pixel line PL. In this case, in the image G, each pixel line PL extends in the horizontal direction H, and a plurality of pixel lines PL are arranged in the vertical direction V. Further, in the image G, the pixel lines PL have the same length (that is, the number of pixels is the same), the positions of the start ends (here, left ends) of the pixel lines PL are aligned, and the end (here, The right end) is also aligned.
図3および図4に示すように、画像Gに対して、画素PXの群であるマクロブロックMBが設定される。ここでは、図4の例では、マクロブロックMBが水平方向Hに連続する8画素×垂直方向Vに連続する8画素で構成されている。但し、マクロブロックMBのサイズはこの例に限定されるものではない。例えばH.264では、16×16、16×8、8×16、8×4、4×8、4×4からマクロブロックサイズを選択可能である。 As shown in FIGS. 3 and 4, a macroblock MB that is a group of pixels PX is set for the image G. Here, in the example of FIG. 4, the macroblock MB is composed of 8 pixels continuous in the horizontal direction H × 8 pixels continuous in the vertical direction V. However, the size of the macroblock MB is not limited to this example. For example, H.C. In H.264, the macroblock size can be selected from 16 × 16, 16 × 8, 8 × 16, 8 × 4, 4 × 8, and 4 × 4.
図3に示すように、マクロブロックMBは、画像Gの左上隅を起点(換言すれば原点)にして互いに隣接するように設定される。これにより、画像Gに対してマトリクス状にマクロブロックMBが設定される。 As shown in FIG. 3, the macro blocks MB are set to be adjacent to each other with the upper left corner of the image G as a starting point (in other words, the origin). As a result, the macroblock MB is set in a matrix for the image G.
ここで、マクロブロックMB内において水平方向Hに並んだ画素PXの群、換言すれば画素ラインPLのうちでマクロブロックMB内に存在する部分を、ブロック内画素ラインML(図4参照)と称することにする。また、水平方向Hに並んだマクロブロックMBの群をブロックラインBL(図3参照)と称することにする。 Here, a group of pixels PX arranged in the horizontal direction H in the macroblock MB, in other words, a portion existing in the macroblock MB in the pixel line PL is referred to as an intra-block pixel line ML (see FIG. 4). I will decide. A group of macroblocks MB arranged in the horizontal direction H is referred to as a block line BL (see FIG. 3).
なお、説明を簡単にするため、画像Gの幅(水平方向Hに沿ったサイズ)および高さ(垂直方向Vに沿ったサイズ)は、マクロブロックMBのそれらの倍数である場合を例示する。すなわち、マクロブロックMBが幅8画素×高さ8画素のサイズを有するとの例示において、画像Gの水平方向Hおよび垂直方向Vの画素数はいずれも8の倍数であるとする。 In order to simplify the description, the case where the width (size along the horizontal direction H) and the height (size along the vertical direction V) of the image G are multiples of those of the macroblock MB is exemplified. That is, in the illustration that the macroblock MB has a size of 8 pixels wide × 8 pixels high, it is assumed that the number of pixels in the horizontal direction H and the vertical direction V of the image G is a multiple of 8.
なお、水平方向Hと垂直方向Vの一方または両方において画像Gの画素数が8の倍数でない場合、画像GをマクロブロックMB単位で分割すると、マクロブロックMBのサイズに満たない小画像が生じる。そのような小画像は、例えば、ダミーデータのパディングによってマクロブロックMBのサイズに拡大して画像処理に供される。 When the number of pixels of the image G is not a multiple of 8 in one or both of the horizontal direction H and the vertical direction V, when the image G is divided in units of the macroblock MB, a small image less than the size of the macroblock MB is generated. For example, such a small image is enlarged to the size of the macroblock MB by padding dummy data and used for image processing.
上記のように画像Gが画素PXの集合体として把握される場合、画像Gのデータは画素PXごとの画像データ(すなわち画素データ)の集合体として管理可能である。 When the image G is grasped as an aggregate of the pixels PX as described above, the data of the image G can be managed as an aggregate of image data (that is, pixel data) for each pixel PX.
これに対し、画素データが他の所定形式のデータに変換され、そのような変換後のデータによって画像データが構成される場合がある。例えば圧縮処理が施された画像データが挙げられる。 On the other hand, pixel data may be converted into data of another predetermined format, and image data may be constituted by such converted data. For example, image data that has been subjected to compression processing can be used.
圧縮処理は画素に対して(換言すれば画素データに対して)設定されたマクロブロックMB単位で行われ、各マクロブロックMBについてストリームデータ(換言すればシーケンシャルデータ)が生成される。このため、圧縮等が施された画像データは、そのようなストリームデータの集合体として把握され、例えば図3において各マクロブロックMBをストリームデータに見立てた構成として把握される。 The compression processing is performed in units of macroblocks MB set for pixels (in other words, for pixel data), and stream data (in other words, sequential data) is generated for each macroblock MB. For this reason, the compressed image data is grasped as an aggregate of such stream data, for example, as a configuration in which each macroblock MB is regarded as stream data in FIG.
ここで、画像データが画素データで構成されている場合、水平方向Hに並んだ画素データから成るデータ列は、1本の画素ラインPLに対応する。また、画像データが所定のストリームデータで構成されている場合、水平方向Hに並んだストリームデータから成るデータ列は、所定本数(マクロブロックMBに含まれていた本数)の画素ラインPL、すなわち画素ラインPLの群に対応する。 Here, when the image data is composed of pixel data, a data string composed of pixel data arranged in the horizontal direction H corresponds to one pixel line PL. In addition, when the image data is composed of predetermined stream data, a data string composed of stream data arranged in the horizontal direction H is a predetermined number (the number included in the macroblock MB) of pixel lines PL, that is, pixels. Corresponds to the group of lines PL.
<複数ラインモードと1ラインモード>
ここで、モジュールコア5の入力ブロックがマクロブロックMBである場合、すなわち入力ブロックが複数の画素ラインPLに対して設定されることにより複数のデータ列(それぞれが画素ラインPLに対応する)を含む場合を、複数ラインモードと称することにする。
<Multi-line mode and 1-line mode>
Here, when the input block of the
一方、モジュールコア5の入力ブロックが所定のストリームデータである場合、すなわち入力ブロックが1つのデータ列で構成される場合を、1ラインモードと称することにする。
On the other hand, the case where the input block of the
モジュールコア5の出力ブロックについても同様に、複数ラインモードおよび1ラインモードが定義される。
Similarly, for the output block of the
以下に読み出しI/F回路6Rおよび書き込みI/F回路6Wの具体例を説明するが、主に、モジュールコア5の入力と出力の両方が複数ラインモードである場合を例に挙げる。例えば画素値の補正、画像のリサイズ等の処理がこれにあたる。入力が複数ラインモードであり且つ出力が1ラインモードの場合(例えば圧縮処理)と、入力が1ラインモードであり且つ出力が複数ラインモードの場合(例えば伸長処理)についても、以下の説明から十分に理解される。
Specific examples of the read I / F circuit 6R and the write I /
<読み出しI/F回路6R>
図5に、読み出しI/F回路6Rのブロック図を例示する。図5の例によれば、読み出しI/F回路6Rは、コア側入出力部100と、読み出しバッファ110と、読み出し管理部130と、コア入力管理部150とを含んでいる。
<Read I / F circuit 6R>
FIG. 5 illustrates a block diagram of the read I / F circuit 6R. According to the example of FIG. 5, the read I / F circuit 6 </ b> R includes a core side input /
<コア側入力部100>
コア側入出力部100は、読み出しI/F回路6Rの動作クロックが読み出しアービタ3Rのそれと同期している一方、モジュールコア5の動作クロックとは非同期であるとの例に応じて、設けられている。このため、読み出しI/F回路6Rの動作クロックがモジュールコア5のそれと同期している場合には、コア側入出力部100は省略可能である。図3の例によれば、コア側入出力部100は、入力用の非同期FIFO(First In First Out)部101と、出力用の非同期FIFO部102とを含んでいる。
<Core
The core side input /
<読み出しバッファ110>
読み出しバッファ110は、DRAM11から読み出したデータを一時的に格納するのに利用される。図6の例では、読み出しバッファ110は8個の読み出しラインFIFO部111を有している。8個の読み出しラインFIFO部111は、マクロブロックMB(すなわち入力ブロック)が設定された8本の画素ラインPLにそれぞれ割り当てられている。具体的には、i=0〜7として、マクロブロックMB内で上から数えて第i番目の画素ラインPLのデータは、第i番目の読み出しラインFIFO部111に格納される。
<Read
The read
ここで、ラインFIFO部111の個数は、マクロブロックMBが設定される画素ラインPLの本数と同数またはそれ以上である。例えば16個のラインFIFO部111を設ければ、最大16本の画素ラインPLに対応可能であり、そのうちの所定の8個のラインFIFO部111を使って例えば8本の画素ラインPL分のマクロブロックMBに対応可能である。また、1ラインモードの場合も同様である。
Here, the number of
各ラインFIFO部111は、32個の格納領域112を有している。ラインFIFO部111の1個あたりの格納領域112の個数は、1回のバースト転送で設定可能なデータ転送の最大回数(AXIでは16回)のZ倍に選定されている。ここではZ=2であるが、これに限定されるものではない(後述する)。
Each
また、1個の格納領域112の容量は、基本的には、データバス幅(換言すれば、ハードウェア設計上、設定可能な最大バーストサイズ)と同じ16バイト(128ビット)に選定されている。この場合、1つのラインFIFO部111は最大で、バースト転送2回分のデータを格納可能である。なお、後述の例では、1個の格納領域112の容量が132ビット(=128ビット+4ビット)に拡張される。
The capacity of one
ここで、8ビットYUV422の場合、8画素分の画像データ量、すなわちブロック内画素ラインML分の1本分の画像データ量は、16バイトである。したがって、1個の格納領域112にブロック内画素ラインMLの1本分のデータを格納可能であり、8個の格納領域112(第0〜7番目のラインFIFO部111のそれぞれにおいて1個の格納領域112を使用)に、マクロブロックMBの1個分のデータを格納可能である。つまり、読み出しバッファ110の全体で32個のマクロブロックMBのデータを格納可能である。
Here, in the case of 8-bit YUV422, the amount of image data for 8 pixels, that is, the amount of image data for one pixel line in the block ML is 16 bytes. Therefore, data for one pixel line ML in the block can be stored in one
ここでは、読み出しバッファ110が2つのSRAM(Static Random Access Memory)113,114で構成される場合、すなわちダブルバッファ構成を採用する場合を例示する。但し、読み出しバッファ110を1つのSRAMまたは3つ以上のSRAMで構成することも可能であるし、又、SRAM以外のメモリを利用することも可能である。
Here, a case where the read
SRAM113,114の1つのアドレスに1つの格納領域112が割り当てられており、このため1つのアドレスに16バイトのデータを格納可能である。1アドレス分のデータは一括で読み書きされる。この場合、SRAM113,114のワード長は16バイトである。
One
また、各ラインFIFO部111は、SRAM113中の16個の格納領域112(これらのアドレスは連続している)と、SRAM114中の16個の格納領域112(SRAM113中の上記16個の格納領域112と同じアドレスが用意されている)とによって、構成されている。SRAM113中の上記16個の格納領域112に対する書き込みはアドレスが小さい方から順番に且つ循環的に行われ、読み出しも同様である。これによりFIFOが実現される。SRAM114中の上記16個の格納領域112についても同様である。
Each
SRAM113に対するアクセスと、SRAM114に対するアクセスとは、独立に実行可能である。このため、例えば、SRAM113,114のうちの一方のSRAMに対して書き込みを行いつつ、他方のSRAMに対して読み出しを行うことが可能である。なお、同じSRAMに対してアクセスが衝突した場合、例えば書き込みを優先させ読み出しを1サイクル待たせればよい。
Access to the
図7には、SRAM113,114を交互に切り替えながらデータを書き込む例を示している。すなわち、0番目のデータD0をSRAM113に書き込み、1番目のデータD1をSRAM114に書き込み、2番目のデータD2をSRAM113に書き込み、3番目のデータD3をSRAM114に書き込む。これによれば、例えば、SRAM114にデータD1を書き込みつつ、SRAM113からデータD0を読み出すことが可能である。
FIG. 7 shows an example in which data is written while the
もちろん、SRAM113の16個の格納領域112に連続的に書き込み、その後、書き込み先をSRAM114に切り替えることも可能である。
Of course, it is also possible to write continuously to the 16
<読み出し管理部130>
読み出し管理部130は、DRAM11メモリから読み出しバッファ110へのデータ転送を管理する。図5の例によれば、読み出し管理部130は、アドレス変換部131と、同期FIFO部132,133と、終了判定部134とを含んでいる。
<Read
The
アドレス変換部131は、入力画像データの読み出しに必要な情報(以下、読み出し基本情報と称する)をモジュールコア5から非同期FIFO部101を介して取得する。読み出し基本情報は、例えば、DRAM11において入力画像データが格納されている領域の開始アドレスおよび終了アドレス、マクロブロックMB(すなわちモジュールコア5の入力ブロック)のサイズ、画像水平方向HにおけるマクロブロックMBの個数、等である。
The
アドレス変換部131は、取得した読み出し基本情報に基づいて、DRAM11上の読み出し対象領域(より具体的には、その領域の開始アドレスおよび終了アドレス)を決定する。この際、読み出し対象領域は、入力画像データが読み出しバッファ110へバースト転送されるように、所定の読み出し条件に従って決定される。その決定手法については後に詳述する。
The
アドレス変換部131は、読み出し対象領域の開始アドレスおよび終了アドレスを、読み出し要求と共に、読み出しアービタ3Rへ入力する。その後、読み出しDMAC4Rが、読み出しアービタ3Rを介して取得した、読み出し対象領域の開始アドレスおよび終了アドレスに基づいて、その読み出し対象領域のデータをDRAM11から読み出しアービタ3Rを介して読み出しバッファ110へ、バースト転送する。
The
また、アドレス変換部131は、各回の読み出し要求について、読み出しバッファ110に対する書き込み制御を発行する。かかる書き込み制御は、同期FIFO部132に入力され、対応する読み出し要求に係るデータを読み出しバッファ110に格納する際に利用される。これにより、例えばマクロブロックMB内の第i番目の画素ラインPLのデータを、対応する第i番目のラインFIFO部111に格納することが可能になる。
Further, the
また、アドレス変換部131は、各回の読み出し要求について、読み出し対象領域のデータサイズを、同期FIFO部133へ入力する。かかるデータサイズは、終了判定部134において、各回の読み出し要求に係る読み出しの終了を検出するのに利用される。具体的には、終了判定部134は、DRAM11から読み出しアービタ3Rを介して読み出しバッファ110へ入力されるデータのバイト数をカウントしており、そのカウント値が同期FIFO部133に入力されたデータサイズと一致したことを以て、所望の読み出し対象領域の読み出しが終了したと判断し、その通知を読み出しアービタ3Rへ入力する。
Further, the
また、アドレス変換部131が、決定した読み出し対象領域の終了アドレスが入力画像データの終了アドレスに到達したと判断した場合、その判断結果を同期FIFO部133へ入力する。終了判定部134は、その判断結果を同期FIFO部133から取得したことを以て、入力画像データ全体について読み出しが終了することを知り、その通知を読み出しアービタ3Rへ入力する。
When the
<コア入力管理部150>
コア入力管理部150は、読み出しバッファ110内の格納データを入力ブロック単位(ここではマクロブロック単位)で、モジュールコア5へ供給する。図5の例によれば、コア入力管理部150は、アドレス計算部151と、フォーマット変換部152とを含んでいる。
<Core
The core
アドレス計算部151は、モジュールコア5から上記読み出し基本情報を取得し、当該基本情報に基づいて読み出しバッファ110からのデータ読み出しを制御する。具体的には、第0番目〜第7番目のラインFIFO部111を循環的に選択しつつ、選択したラインFIFO部111からブロック内画素ラインMLの1個分のバイト数のデータが読み出されるように、読み出しバッファ110内のアドレスを指定する。
The
ラインFIFO部111の各格納領域112は、基本的には、読み出し操作が1回行われれば、その格納データを破棄または上書きすることが可能になる。但し、所望のデータが2つの格納領域112に跨る場合があり、そのような場合に備える必要がある。具体的には、所望データの後ろ側部分を格納している格納領域112は、まだ読み出されていないデータの一部も一緒に保持している可能性がある。このため、例えば、格納領域112内のデータのうちで読み出し済みの部分だけを削除するようにすればよい。
In each
フォーマット変換部152は、読み出しバッファ110から読み出したデータを、モジュールコア5の入力に適した所定のフォーマットに変換する。例えば、読み出しバッファ110から出力される128ビットのデータを所定のビット幅に切り分ける処理が行われる。フォーマット変換部152からの出力データが、非同期FIFO部102を介してモジュールコア5へ供給される。
The
<読み出しI/F回路6Rによる効果>
読み出しI/F回路6Rによれば、複数回分の入力ブロックを事前に読み出しバッファ110に読み出しておき、それらの入力ブロックを順次、モジュールコア5へ供給する。しかも、入力ブロックの読み出しにバースト転送が利用されるように、DRAM11の読み出し対象領域を決定する。したがって、モジュールコア5で必要となる度に入力ブロックを読み出す構成に比べて、各画像処理モジュール部2による読み出し要求の頻度を抑制可能である。それにより、バス帯域を効率良く利用できる。
<Effects of Read I / F Circuit 6R>
According to the read I / F circuit 6R, input blocks for a plurality of times are read to the read
また、各画像処理モジュール部2による読み出し要求の頻度抑制に伴って、読み出しアービタ3Rに、既存のいわゆるバスアービタ(バスに接続され当該バスの使用権を調停するアービタ)で行われる帯域調整を行わせる必要性が低くなる。したがって、読み出しアービタ3Rにはバスアービタに比べて簡易なアルゴリズムを採用可能であり、その結果、読み出しアービタ3Rを小規模に構成可能である。 Further, as the frequency of read requests by each image processing module unit 2 is suppressed, the read arbiter 3R is caused to perform band adjustment performed by an existing so-called bus arbiter (arbiter connected to the bus and arbitrating the right to use the bus). Less need. Therefore, a simpler algorithm can be adopted for the read arbiter 3R than the bus arbiter, and as a result, the read arbiter 3R can be configured on a small scale.
<読み出しI/F回路6Rによるデータの読み出し>
図8に、読み出しI/F回路6RがDRAM11からデータを読み出す様子を模式的に示す。図8および図9に例示するように、読み出しI/F回路6Rは、マクロブロックMBの群であるブロックラインBLを対象にして、読み出しを行う。
<Reading Data by Read I / F Circuit 6R>
FIG. 8 schematically shows how the read I / F circuit 6 </ b> R reads data from the
具体的には、ブロックラインBL中の各画素ラインPLを始端(ここでは左端)から終端(ここでは右端)へ向けて、バースト転送を繰り返す。特に、図8に対応する図9に示すように、上から数えて第0番目の画素ラインPLの始端からバースト転送を行い、次は第1番目の画素ラインPLの始端からバースト転送を行う。その後、第2番目〜第7番目の画素ラインPLを順番に選択し、各画素ラインPLの始端からバースト転送する。そして、第0番目の画素ラインPLに戻り、読み出しが済んでいない部分の先頭からバースト転送を行う。次に、第1番目の画素ラインPLのうちで読み出しが済んでいない部分の先頭からバースト転送を行う。以下同様にして、ブロックラインBL全体について読み出しを行う。 Specifically, burst transfer is repeated for each pixel line PL in the block line BL from the start end (here, the left end) toward the end (here, the right end). In particular, as shown in FIG. 9 corresponding to FIG. 8, burst transfer is performed from the beginning of the 0th pixel line PL counted from the top, and then burst transfer is performed from the beginning of the first pixel line PL. Thereafter, the second to seventh pixel lines PL are selected in order, and burst transfer is performed from the beginning of each pixel line PL. Then, returning to the 0th pixel line PL, burst transfer is performed from the head of the portion where reading has not been completed. Next, burst transfer is performed from the beginning of the portion of the first pixel line PL that has not been read out. In the same manner, reading is performed on the entire block line BL.
なお、図8では3回のバースト転送によって1本の画素ラインPL分の画素データの読み出しが完了する場合を例示しているが、この例に限定されるものではない。 Although FIG. 8 illustrates a case where reading of pixel data for one pixel line PL is completed by three burst transfers, the present invention is not limited to this example.
この際、1回のバースト転送は、基本的に、設定可能な最大の転送量に設定される。画像処理装置1の場合、16バイト(128ビット)のバーストサイズおよび16回のバースト長で以て、最大256バイトのデータ転送が可能である。 At this time, one burst transfer is basically set to the maximum transfer amount that can be set. In the case of the image processing apparatus 1, data transfer of a maximum of 256 bytes is possible with a burst size of 16 bytes (128 bits) and a burst length of 16 times.
各回のバースト転送の対象、すなわちDRAM11における読み出し対象領域は、上記のように読み出し管理部130(より具体的にはアドレス変換部131)によって設定される。この際、読み出し管理部130は、次のような読み出し条件に従うことによって、図8および図9に例示した読み出しを行う。
The target of each burst transfer, that is, the read target area in the
すなわち、ブロックラインBL内の8本の画素ラインPLに対応する8個の入力画像データ列を循環的に選択する旨の条件(循環選択条件)と、上記入力画像データ列の先頭の側から順に読み出し対象領域を設定する旨の条件(列内順序条件)と、各入力画像データ列に対する読み出し対象領域の設定は、選択される度に1回とする旨の条件(回数条件)とに従って、読み出し管理部130は読み出し対象領域を順次、決定していく。
That is, a condition for cyclically selecting eight input image data strings corresponding to eight pixel lines PL in the block line BL (circular selection condition), and in order from the top of the input image data string Reading is performed in accordance with a condition for setting a reading target area (in-column order condition) and a setting for setting the reading target area for each input image data string once (selection condition). The
図8および図9に例示した読み出し手法によれば、8本の画素ラインPLに対応する8個の入力画像データ列が部分的且つ並行的に読み出され、又、そのような読み出しが8個の入力画像データ列の先頭側から順に進行する。 According to the readout method illustrated in FIGS. 8 and 9, eight input image data strings corresponding to the eight pixel lines PL are read out partially and in parallel, and eight such readouts are performed. The process proceeds in order from the beginning of the input image data sequence.
このため、一の画素ラインPLを先頭から終端まで読み出しその後に他の画素ラインPLの読み出しを開始する場合に比べて、モジュールコア5へのデータ供給に遅延を生じにくい。すなわち、後者の場合、例えば最も先頭側に設定されたマクロブロックMBをモジュールコア5に供給するのに要する時間は、8本の画素ラインPL全体、すなわちブロックラインBL全体を読み出す時間にほぼ等しい。
For this reason, compared with the case where one pixel line PL is read from the head to the end and then reading of the other pixel lines PL is started, the data supply to the
これに対し、図8および図9の示した部分的且つ並行的な読み出しによれば、8本の画素ラインPL全体の読み出しを待たなくても、最も先端側のマクロブロックMBをモジュールコア5に供給し終えることができる。
On the other hand, according to the partial and parallel readout shown in FIGS. 8 and 9, the most macro block MB is transferred to the
また、そのような部分的且つ並行的な読み出しによれば、読み出しバッファ110の容量を小さくできる。
Further, according to such partial and parallel reading, the capacity of the read
ここで、読み出し対象領域の設定に際し、DRAM11のアドレスアライメントに配慮するのが好ましい。DRAM11の動作を効率化できるからである。この点に関する読み出し条件として、読み出し対象領域の終了アドレスをDRAM11のアドレスアライメント境界(ここでは32バイト境界)に合わせる旨の条件(読み出しアライメント条件)が採用される。
Here, it is preferable to consider the address alignment of the
かかる読み出しアライメント条件によれば、或る開始アドレスが与えられた場合、終了アドレスは{(開始アドレス&〜0x1f)+255バイト}によって算出可能である。 According to the read alignment condition, when a certain starting address is given, the end address can be calculated by {(start address & ~ 0x1f) +255 bytes}.
読み出しアライメント条件の採用により、読み出し対象領域がDRAM11のアドレスアライメント境界を跨ぐ場合に比べて、DRAM11を効率良く動作させることが可能である。それにより、データ転送効率の向上、省電力化等に資する。
By adopting the read alignment condition, it is possible to operate the
ところで、読み出しアライメント条件によって読み出し対象領域の終了アドレスを調整すると、図10に示すように画素ラインPLの最初のバースト転送および最後のバースト転送では、読み出し対象領域が256バイトよりも短くなる場合がある。そのような場合は、例えば、読み出しDMAC4Rによってバースト長の設定が調整される。
By the way, if the end address of the read target area is adjusted according to the read alignment condition, the read target area may be shorter than 256 bytes in the first burst transfer and the last burst transfer of the pixel line PL as shown in FIG. . In such a case, for example, the setting of the burst length is adjusted by the
また、読み出し対象領域が短くなった結果、読み出し対象領域がバス幅(ここでは128ビット)の倍数にならない場合が生じうる。読み出しI/F回路6Rはバス10からバス幅単位でデータを受信する点に鑑みると、読み出し対象領域がバス幅の倍数でない場合、図11に示すように、読み出し対象領域として意図していない不要データも一緒にバス10から拾うことになる。特にそのような不要データは受信ビット列の末端部分に含まれることになるので、そのまま読み出しバッファ110へ入力すると、図11に示すように、次の読み出し対象領域のデータとの間に不要データが割り込むことになる。コア入力管理部150(より具体的にはアドレス計算部151)がそのような不要データをモジュールコア5へ供給しないようにすればよいが、そのためには不要データの位置とサイズを管理する必要があり煩雑である。
In addition, as a result of the shortening of the read target area, the read target area may not be a multiple of the bus width (here 128 bits). In view of the point that the read I / F circuit 6R receives data from the
そこで、読み出し管理部130は、読み出し対象領域が画素ラインPLの始端を含む場合、読み出し対象領域のデータ量がバス幅の倍数になるように読み出し対象領域の開始アドレスを設定する旨の条件(読み出しサイズ条件)を利用する。これによれば、図12に示すように、不要データを受信ビット列内において前詰めすることができる。換言すれば、入力画像データにとって有意なデータを受信ビット列内において後ろ詰めにすることができる。すなわち、読み出し対象領域の開始アドレスの調整は、不要なデータを受信ビット列中に含ませることになるが、そのような不要データを意図的に、受信ビット列の前方に配置することができる。
Therefore, when the readout target area includes the start end of the pixel line PL, the
したがって、図12に示すように、1本の画素ラインPLに対応するデータ列中に不要データが割り込むのを回避できる。このため、不要データの管理および除去が容易になる。具体的には、コア入力管理部150が、各画素ラインPLに対応するデータ列のうちで、読み出し開始アドレスの調整量に応じた先頭データを無視すれば済む。なお、上記調整量は、読み出しアライメント条件に従って上記の〜0x1fによってマスクされた量、換言すれば読み出しアライメント条件を適用する前の開始アドレスの下位5ビットで与えられる。
Therefore, as shown in FIG. 12, it is possible to avoid unnecessary data from being interrupted in the data string corresponding to one pixel line PL. This facilitates management and removal of unnecessary data. Specifically, the core
より具体的には、ラインFIFO部111の格納領域112に、読み出したデータを格納するための128ビットの前に、読み出し開始アドレスの調整量を格納するための4ビットを設ける。コア入力管理部150では、アドレス計算部151またはフォーマット変換部152が、各格納領域112の先頭4ビットを参照することで、不要データの有無と、不要データのサイズ(すなわち、続く128ビットのうちでモジュールコア5へ供給しないデータ量)とを判別可能である。
More specifically, the
なお、図12に示すように、画素ラインPLの終端側においても、読み出し対象領域が短くなった結果、読み出し対象領域がバス幅の倍数にならない場合が生じうる。但し、画素ラインPLの終端側については、受信ビット列の末端部分に不要データが存在しても特に問題にならない。なぜならば、例えばモジュールコア5への供給データ量が画素ラインPLの1本分に到達した段階で、その格納領域112から出力される後続ビットは無視すればよく、その結果、不要データを自動的に除去することが可能になるからである。
As shown in FIG. 12, the read target area may not be a multiple of the bus width as a result of the shortened read target area even on the terminal side of the pixel line PL. However, regarding the end side of the pixel line PL, there is no particular problem even if unnecessary data exists at the end portion of the received bit string. This is because, for example, when the amount of data supplied to the
次に、読み出し対象領域の終了アドレスの設定に関連した条件(終了アドレス条件)を説明する。読み出し対象領域の終了アドレスは、基本的には、開始アドレス+255バイトに設定される。但し、上記のように、読み出しアライメント条件の下では、DRAM11のアドレスアライメント境界に配慮して、終了アドレスは{(開始アドレス&〜0x1f)+255バイト}で与えられる。
Next, conditions (end address conditions) related to setting the end address of the read target area will be described. The end address of the read target area is basically set to (start address + 255 bytes). However, as described above, under the read alignment condition, in consideration of the address alignment boundary of
また、画素ラインPL中の未読み出し部分がバースト転送の最大転送量(ここでは256バイト)以下である場合、読み出し対象領域の終了アドレスを画素ラインPLの終端アドレスに設定する。すなわち、図8および図9では画素ラインPLの最後の読み出し対象領域も上記最大転送量に相当する例を図示しているが、特に最後の読み出し対象領域が上記最大転送量よりも小さい場合には、その読み出し対象領域のサイズに合わせて終了アドレスを設定すればよい。これによれば、画素ラインPLの終端側部分の読み出しについて、不要な転送動作を抑制できる。したがって、バス帯域を効率良く利用できる。 When the unread portion in the pixel line PL is equal to or less than the maximum transfer amount (256 bytes in this case) of burst transfer, the end address of the read target region is set as the end address of the pixel line PL. That is, FIG. 8 and FIG. 9 illustrate an example in which the last read target area of the pixel line PL also corresponds to the maximum transfer amount, but particularly when the last read target area is smaller than the maximum transfer amount. The end address may be set in accordance with the size of the read target area. According to this, an unnecessary transfer operation can be suppressed for reading of the terminal side portion of the pixel line PL. Therefore, the bus bandwidth can be used efficiently.
これに対し、画素ラインPLの未読み出し部分が1回のバースト転送で設定可能な最大転送量よりも大きい場合であっても、読み出し対象領域の終了アドレスを画素ラインPLの終端アドレスに設定するのが好ましい場合がある。具体的には、図10に示すように、画素ラインPLの最後の読み出し対象領域が小さい場合、その小さい領域を読み出すために読み出し要求を発行するのは効率が悪い。特に、そのような小さい領域が多く存在する場合には、効率低下は大きくなる。 In contrast, even if the unread portion of the pixel line PL is larger than the maximum transfer amount that can be set in one burst transfer, the end address of the read target region is set as the end address of the pixel line PL. May be preferred. Specifically, as shown in FIG. 10, when the last read target area of the pixel line PL is small, it is inefficient to issue a read request to read the small area. In particular, when there are many such small regions, the reduction in efficiency becomes large.
そこで、画素ラインPL中の未読み出し部分が1回のバースト転送で設定可能な最大転送量を超過している場合、且つ、その超過量が上記読み出しサイズ条件の下で設定された開始アドレスと画素ラインPLの先頭アドレスとの差分よりも大きい場合には、上記の基本的な終了アドレス条件と同様に、読み出し対象領域の終了アドレスを上記最大転送量に合わせて設定する。なお、上記差分は、読み出しアライメント条件下における開始アドレスの上記調整量にあたる。 Therefore, when the unread portion in the pixel line PL exceeds the maximum transfer amount that can be set by one burst transfer, the excess amount is set to the start address and the pixel set under the read size condition. If the difference from the head address of the line PL is larger than the basic end address condition, the end address of the read target area is set in accordance with the maximum transfer amount. The difference corresponds to the adjustment amount of the start address under the read alignment condition.
これによれば、1回の読み出し要求で以て、転送可能な最大データ量を確保可能である。このため、読み出し要求の回数増加が抑制されることで、データ転送を効率的に行うことができる。また、データ転送の効率化に伴って読み出し要求の頻度が抑制されるので、読み出しアービタの処理負荷を低減可能である。 According to this, it is possible to secure the maximum amount of data that can be transferred with a single read request. For this reason, the data transfer can be performed efficiently by suppressing the increase in the number of read requests. In addition, since the frequency of read requests is suppressed as data transfer becomes more efficient, the processing load on the read arbiter can be reduced.
これに対し、上記超過量が上記差分以下である場合、読み出し対象領域の終了アドレスを画素ラインPLの終端アドレスに設定する。これによれば、図13に示すように、上記のような小さい領域が生じるのを回避できる。また、この場合、バースト転送可能な最大データ量に加え、上記の小さい領域のデータも、1回の読み出し要求で以て確保可能である。また、図13に示すように、各画素ラインPLについて読み出し要求の回数が揃うことになる。その結果、読み出し要求の回数増加が抑制されることで、データ転送を効率的に行うことができる。また、データ転送の効率化に伴って読み出し要求の頻度が抑制されるので、読み出しアービタの処理負荷を低減可能である。 On the other hand, when the excess amount is equal to or less than the difference, the end address of the read target area is set as the end address of the pixel line PL. According to this, as shown in FIG. 13, it is possible to avoid the occurrence of such a small region. In this case, in addition to the maximum amount of data that can be burst transferred, the data in the small area can be secured by a single read request. In addition, as shown in FIG. 13, the number of read requests is equalized for each pixel line PL. As a result, an increase in the number of read requests is suppressed, so that data transfer can be performed efficiently. In addition, since the frequency of read requests is suppressed as data transfer becomes more efficient, the processing load on the read arbiter can be reduced.
なお、上記超過量が上記差分以下である場合の終了アドレス条件によれば、1回のバースト転送で設定可能なデータ量を超えて、読み出し要求を行うことになる。このような場合でも、読み出しDMAC4Rによって2回以上のバースト転送に分割される。一方、読み出したデータを格納するためには、ラインFIFO部111において17個以上の格納領域112が受け入れ可能になっている必要がある。このため、かかる終了アドレス条件は、ラインFIFO部111の空き具合の確認と共に、利用すればよい。
According to the end address condition when the excess amount is equal to or less than the difference, a read request is made exceeding the data amount that can be set by one burst transfer. Even in such a case, it is divided into two or more burst transfers by the
<書き込みI/F回路6W>
図14に、書き込みI/F回路6Wのブロック図を例示する。図14の例によれば、書き込みI/F回路6Wは、コア側入出力部200と、書き込みバッファ210と、書き込み管理部230と、コア出力管理部250とを含んでいる。
<Write I /
FIG. 14 illustrates a block diagram of the write I /
<コア側入力部200>
コア側入出力部200は、読み出しI/F回路6Rのコア側入出力部100(図5参照)と同様の目的で設けられている。図14の例によれば、コア側入出力部200は、入力用に非同期FIFO部201,202および非同期パルス部203を含んでいる。
<Core-
The core side input /
<書き込みバッファ210>
書き込みバッファ210は、モジュールコア5から出力されるコア出力データ(換言すれば出力ブロック)を一時的に格納するのに利用される。ここでは書き込みバッファ210が、読み出しI/F回路6Rの読み出しバッファ110と同様に、8個の書き込みラインFIFO部が2つのSRAMで構成されている場合を例示する。この場合、読み出しバッファ110と同様に、8個の書き込みラインFIFO部は、出力ブロックに含まれる8本の画素ラインPLにそれぞれ割り当てられている。
<Write
The
ここでは、出力ブロックに含まれる画素ラインPLの本数が、入力ブロックが設定される画素ラインPLの本数と同じである場合を例示するが、例えばモジュールコア5が画像を垂直方向Vに縮小するリサイズ処理を行う場合、出力ブロックに対応する画素ラインPLの本数は、入力ブロックに対応する画素ラインPLの本数よりも少ない。逆に、画像を垂直方向Vに拡大するリサイズ処理では、出力ブロックに対応する画素ラインPLの本数は、入力ブロックに対応する画素ラインPLの本数よりも多い。
In this example, the number of pixel lines PL included in the output block is the same as the number of pixel lines PL in which the input block is set. For example, the
<コア出力管理部250>
コア出力管理部250は、コア出力データの書き込みバッファ210への入力を管理する。図14の例によれば、コア出力管理部250は、アドレス計算部251と、フォーマット変換部252とを含んでいる。
<Core
The core
コア出力データは、モジュールコア5から非同期FIFO部202を介してフォーマット変換部252へ入力される。フォーマット変換部252は、所定のフォーマットで構成されたコア出力データを、書き込みバッファ210の入力に適したフォーマットに変換する。例えば、コア出力データのビット列を、書き込みバッファ210の1ワード(128ビット)単位に変換する。
The core output data is input from the
アドレス計算部251は、フォーマット変換部252の出力データを書き込みバッファ210のどのアドレスに格納するのかについて制御する。具体的には、アドレス計算部251は、出力画像データをDRAM11へ書き込むために必要な情報(以下、書き込み基本情報と称する)をモジュールコア5から非同期FIFO部201を介して取得する。書き込み基本情報は、例えば、DRAM11において出力画像データの格納先領域の開始アドレスおよび終了アドレス、モジュールコア5の出力ブロック(換言すれば出力側におけるマクロブロックMB)のサイズ、画像水平方向Hにおける出力ブロックの個数、等である。
The
なお、画像水平方向Hにおける出力ブロックの個数の情報は画素ラインPLの終端位置の指標となるが、例えばモジュールコア5が、画素ラインPLの終端のデータを出力する際に、その通知を非同期パルス部203を介してアドレス計算部251へ出力してもよい。
The information on the number of output blocks in the image horizontal direction H serves as an index of the end position of the pixel line PL. For example, when the
<書き込み管理部230>
書き込み管理部230は、書き込みバッファ210内の格納データのDRAM11への転送を管理する。図14の例によれば、書き込み管理部230は、アドレス変換部231と、同期FIFO部232,233と、終了判定部234とを含んでいる。
<Write
The
アドレス変換部231は、モジュールコア5から上記書き込み基本情報を取得する。上記のように、画像水平方向Hにおける出力ブロックの個数の情報の代わりに、例えばモジュールコア5が画素ラインPLの終端のデータを出力する際に発行する通知を、非同期パルス部203を介して取得してもよい。
The
そして、アドレス変換部231は、取得した基本情報に基づいて、書き込みバッファ210からのデータ読み出しを制御する。具体的には、アドレス変換部231は、図15に示すように書き込みラインFIFO部に格納された各回の出力ブロックのデータを、図16に示すようにバースト転送のために纏める。また、アドレス変換部231は、そのように纏められた書き込み対象データの格納先である、DRAM11上の書き込み先領域の開始アドレスおよび終了アドレスを設定する。
Then, the
書き込み対象データおよび書き込み先領域は、書き込み要求と共に、書き込みアービタ3Wへ入力される。その後、書き込みDMAC4Wが、書き込みアービタ3Wを介して取得した書き込み先領域へ、書き込み対象データをバースト転送する。
The write target data and the write destination area are input to the
書き込み管理部231は、書き込み対象データおよび書き込み先領域を、書き込みラインFIFO部ごとに決定し、その決定は所定の書き込み条件に従って行われる。書き込み条件については後述する。
The
また、アドレス変換部231は、各回の書き込み要求について、書き込みバッファ210に対する読み出し制御を発行する。かかる読み出し制御は、同期FIFO部232に入力され、書き込み対象データを書き込みバッファ210から取り出す際に利用される。
Further, the
また、アドレス変換部231は、各回の書き込み要求について、書き込み先領域のデータサイズを、同期FIFO部233へ入力する。かかるデータサイズは、終了判定部234において、各回の書き込み要求に係る書き込みの終了を検出するのに利用される。具体的には、終了判定部234は、書き込みバッファ210から書き込みアービタ3Wを介してDRAM11へ転送されるデータのバイト数をカウントしており、そのカウント値が同期FIFO部233に入力されたデータサイズと一致したことを以て、所望の書き込み対象データの書き込みが終了したと判断し、その通知を書き込みアービタ3Wへ入力する。
In addition, the
また、アドレス変換部231が、出力画像データの全てのデータについて書き込み要求を発行したと判断した場合、その判断結果を同期FIFO部233へ入力する。終了判定部234は、その判断結果を同期FIFO部233から取得したことを以て、出力画像データ全体について書き込みが終了することを知り、その通知を書き込みアービタ3Wへ入力する。
If the
<書き込みI/F回路6Wによる効果>
書き込みI/F回路6Wによれば、複数個の出力ブロックを書き込みバッファ210に蓄積しておき、且つ、それらを纏めてDRAM11へバースト転送させる。したがって、モジュールコア5から出力ブロックが出力される度にその出力ブロックをDRAM11へ転送する構成に比べて、各画像処理モジュール部2による書き込み要求の頻度を抑制可能である。それにより、バス帯域を効率良く利用できる。
<Effects of write I /
According to the write I /
また、各画像処理モジュール部2による書き込み要求の頻度抑制に伴って、書き込みアービタ3Wに、既存のいわゆるバスアービタで行われる帯域調整を行わせる必要性が低くなる。したがって、書き込みアービタ3Wにはバスアービタに比べて簡易なアルゴリズムを採用可能であり、その結果、書き込みアービタ3Wを小規模に構成可能である。
Further, as the frequency of write requests by each image processing module unit 2 is suppressed, it is less necessary for the
<書き込みI/F回路6Wによるデータの書き込み>
書き込みI/F回路6Wでは、書き込みラインFIFO部ごとに未書き込みデータ(DRAM11への書き込みが済んでいないデータ)の蓄積量が所定閾値を超えたか否かを監視し、未書き込みデータの蓄積量が所定閾値を超えた時点で、その未書き込みデータを書き込み対象データに選定して書き込み要求を発行する。
<Data writing by write I /
The write I /
上記所定閾値は、基本的には、1回のバースト転送で設定可能な最大転送量である。すなわち、書き込み対象データを上記最大転送量に設定する旨の条件(書き込みサイズ条件)が適用される。かかる書き込みサイズ条件によれば、データ転送を効率的に行うことができる。また、データ転送の効率化に伴って書き込み要求の頻度が抑制されるので、書き込みアービタ3Wの処理負荷を低減可能である。
The predetermined threshold is basically the maximum transfer amount that can be set by one burst transfer. That is, a condition (write size condition) for setting the write target data to the maximum transfer amount is applied. According to the write size condition, data transfer can be performed efficiently. In addition, since the frequency of write requests is suppressed as data transfer becomes more efficient, the processing load on the
但し、未書き込みデータが、モジュールコア5から出力される出力画像において画素ラインの終端に到達した場合には、その終端に対応するコア出力データまでの範囲で以て書き込み対象データを区切り、その区切られた範囲(換言すれば、その書き込み対象データのサイズ)に応じた書き込み先領域を設定するのが好ましい(ライン終端条件)。これによれば、ライン終端側部分の書き込みについて、不要な転送動作を抑制できる。したがって、バス帯域を効率良く利用できる。
However, when unwritten data reaches the end of the pixel line in the output image output from the
また、読み出しI/F回路6Rと同様に、DRAM11のアドレスアライメントに配慮するのが好ましい。具体的には、DRAM11中の書き込み先領域をDRAM11のアドレスアライメント境界に合わせる旨の条件(書き込みアライメント条件)が採用される。書き込みアライメント条件によれば、書き込み先領域がDRAM11のアドレスアライメント境界を跨ぐ場合に比べて、DRAM11を効率良く動作させることが可能である。それにより、データ転送効率の向上、省電力化等に資する。
Further, like the read I / F circuit 6R, it is preferable to consider the address alignment of the
<変形例1>
さて、上記では、各ラインFIFO部111において、格納領域112の個数が、1回のバースト転送で設定可能なデータ転送の最大回数(AXIでは16回)の2倍である場合を例示した。しかし、この例に限定されるものではない。
<Modification 1>
In the above, the case where the number of the
具体的には、各ラインFIFO部111の格納領域112の個数は、1回のバースト転送で設定可能なデータ転送の最大回数(AXIでは16回)の1倍よりも多く且つ2倍よりも少なくてもよい。なお、この場合、各ラインFIFO部111の容量は、1回のバースト転送で設定可能な最大転送量の1倍よりも大きく且つ2倍よりも小さい。
Specifically, the number of
そのような設計であっても、各ラインFIFO部111内において、モジュールコア5に対する供給済みデータがバースト転送の上記最大転送量以上になったことを以て、その供給済みデータに替えてDRAM11から読み出した新しいデータをラインFIFO部111に格納すればよい。この例によれば、読み出しバッファ110の容量を小さくできる。その結果、チップ面積の削減、装置の小型化、省電力化等を図ることができる。
Even in such a design, in each
かかる変形は書き込みバッファ210に対しても適用可能である。
Such a modification can also be applied to the
<変形例2>
上記では、マクロブロックMBが8本の画素ラインPLに対して設定され、読み出しバッファ110が8個のラインFIFO部111で構成され、バースト長が16回である場合を例示した。これに対し、例えばマクロブロックMBが16本の画素ラインPLに対応する場合、各ラインFIFO部111を2分割して利用することにより、16個のラインFIFO部111を用意することが可能である。但し、この場合、バースト長は最大8回に制限される。このような手法によれば、読み出しバッファ110の容量を増加させることなく、各種サイズのマクロブロックMBに柔軟に対応することができる。
<Modification 2>
In the above, the case where the macroblock MB is set for the eight pixel lines PL, the
かかる変形は書き込みバッファ210に対しても適用可能である。
Such a modification can also be applied to the
<変形例3>
上記では1つの画像データを処理対象とする場合を例示した。これに対し、複数の画像データを切り替えながら並列的に処理することも可能である。例えば、Y、U、Vの成分ごとの画像データを切り替えながら、画像上で同じ位置に設定された共通のマクロブロックMBを並列的に処理する例が挙げられる。
<
In the above, the case where one image data is a processing target is illustrated. On the other hand, it is also possible to process in parallel while switching a plurality of image data. For example, there is an example in which common macroblocks MB set at the same position on the image are processed in parallel while switching the image data for each of the Y, U, and V components.
<変形例4>
本発明は詳細に説明されたが、上記した説明は、すべての局面において、例示であって、本発明がそれに限定されるものではない。例示されていない無数の変形例が、本発明の範囲から外れることなく想定され得るものと解される。
<
Although the present invention has been described in detail, the above description is illustrative in all aspects, and the present invention is not limited thereto. It is understood that countless variations that are not illustrated can be envisaged without departing from the scope of the present invention.
本発明に係る画像処理装置等は例えばデジタルカメラに搭載可能である。但し、この例に限定されるものではない。 The image processing apparatus according to the present invention can be mounted on, for example, a digital camera. However, it is not limited to this example.
1 画像処理装置
2,2a〜2c 画像処理モジュール部
3 モジュールアービタ部
3R 読み出しアービタ
3W 書き込みアービタ
4 DMAC部
4R 読み出しDMAC
4W 書き込みDMAC
5,5a〜5c モジュールコア
6R,6Ra〜6Rc 読み出しI/F回路(画像処理インターフェース回路)
6W,6Wa〜6Wb 書き込みI/F回路(画像処理インターフェース回路)
10 バス
11 メモリ(画像供給元メモリ、画像格納先メモリ)
110 読み出しバッファ
130 読み出し管理部
150 コア入力管理部
210 書き込みバッファ
230 書き込み管理部
250 コア出力管理部
PX 画素
PL 画素ライン
MB マクロブロック
BL ブロックライン
DESCRIPTION OF SYMBOLS 1
4W write DMAC
5, 5a to 5c Module core 6R, 6Ra to 6Rc Read I / F circuit (image processing interface circuit)
6W, 6Wa ~ 6Wb Write I / F circuit (image processing interface circuit)
10
DESCRIPTION OF
Claims (12)
バスに接続された画像供給元メモリから読み出したデータを格納するための読み出しバッファと、
前記画像供給元メモリから前記読み出しバッファへのデータ転送を管理する読み出し管理部と、
前記読み出しバッファ内の格納データを所定サイズの入力ブロック単位で前記モジュールコアへ供給するコア入力管理部と
を備え、
前記読み出し管理部は、前記読み出しバッファに複数の入力ブロックが格納されるように、前記モジュールコアで処理する入力画像データの読み出しを管理すると共に、前記入力画像データがバースト転送されるように前記画像供給元メモリ上の読み出し対象領域を所定の読み出し条件に従って決定する、
画像処理インターフェース回路。 An image processing interface circuit connected to a module core that executes predetermined image processing,
A read buffer for storing data read from the image supply source memory connected to the bus;
A read manager that manages data transfer from the image source memory to the read buffer;
A core input management unit that supplies storage data in the read buffer to the module core in units of input blocks of a predetermined size;
The read management unit manages reading of input image data to be processed by the module core so that a plurality of input blocks are stored in the read buffer, and the image so that the input image data is burst transferred. Determining a read target area on the source memory according to a predetermined read condition;
Image processing interface circuit.
前記入力画像データは、それぞれが画素ラインまたは画素ライン群に対応する複数の入力画像データ列を含み、
前記入力ブロックは、前記複数の入力画像データ列のうちのN個(Nは2以上の整数)の入力画像データ列を対象にして設定され、
前記読み出しバッファは、前記入力ブロックが設定された前記N個の入力画像データ列がそれぞれ入力されるN個の読み出しラインFIFO部を含み、
前記所定の読み出し条件は、
前記N個の入力画像データ列を循環的に選択する旨の循環選択条件と、
入力画像データ列の先頭の側から順に前記読み出し対象領域を設定する旨の列内順序条件と、
各入力画像データ列に対する前記読み出し対象領域の設定は、選択される度に1回とする旨の回数条件と
を含む、画像処理インターフェース回路。 The image processing interface circuit according to claim 1,
The input image data includes a plurality of input image data strings each corresponding to a pixel line or a pixel line group,
The input block is set for N input image data strings (N is an integer of 2 or more) among the plurality of input image data strings,
The read buffer includes N read line FIFO units to which the N input image data strings in which the input blocks are set are respectively input.
The predetermined read condition is:
A cyclic selection condition for cyclically selecting the N input image data strings;
An in-column order condition for setting the read target region in order from the top of the input image data sequence;
The image processing interface circuit, wherein the setting of the read target area for each input image data string includes a number condition that the read target area is set to be once for each selection.
前記入力画像データは、それぞれが画素ラインまたは画素ライン群に対応する複数の入力画像データ列を含み、
前記入力ブロックは、前記複数の入力画像データ列のうちの1個の入力画像データ列を対象にして設定され、
前記読み出しバッファは、前記入力ブロックが設定された前記1個の入力画像データ列が入力される1個の読み出しラインFIFO部を含み、
前記所定の読み出し条件は、
入力画像データ列の先頭の側から順に前記読み出し対象領域を設定する旨の列内順序条件
を含む、画像処理インターフェース回路。 The image processing interface circuit according to claim 1,
The input image data includes a plurality of input image data strings each corresponding to a pixel line or a pixel line group,
The input block is set for one input image data sequence of the plurality of input image data sequences,
The read buffer includes one read line FIFO unit to which the one input image data string in which the input block is set is input,
The predetermined read condition is:
An image processing interface circuit including an in-column ordering condition for setting the read target area in order from the head of the input image data sequence.
前記所定の読み出し条件は、前記読み出し対象領域の終了アドレスを前記画像供給元メモリのアドレスアライメント境界に合わせる旨の読み出しアライメント条件を含む、画像処理インターフェース回路。 An image processing interface circuit according to any one of claims 1 to 3,
The image processing interface circuit, wherein the predetermined read condition includes a read alignment condition for matching an end address of the read target area with an address alignment boundary of the image supply source memory.
前記所定の読み出し条件は、前記読み出し対象領域が前記入力画像データ列の始端を含む場合、前記読み出し対象領域のデータ量が前記バスのバス幅の倍数になるように前記読み出し対象領域の開始アドレスを設定する旨の読み出しサイズ条件を含む、画像処理インターフェース回路。 The image processing interface circuit according to claim 4,
When the read target area includes the start end of the input image data sequence, the predetermined read condition is that the start address of the read target area is set such that the data amount of the read target area is a multiple of the bus width of the bus. An image processing interface circuit including a read size condition for setting.
前記所定の読み出し条件は、
前記入力画像データ列中の未読み出し部分が1回のバースト転送で設定可能な最大転送量を超過している場合、且つ、その超過量が前記読み出しサイズ条件の下で設定された前記開始アドレスと前記入力画像データ列の先頭アドレスとの差分よりも大きい場合、前記読み出し対象領域の終了アドレスを前記バースト転送の前記最大転送量に合わせて設定する旨の第1の終了アドレス条件と、
前記超過量が前記差分以下である場合、前記読み出し対象領域の前記終了アドレスを前記入力画像データ列の終端アドレスに設定する旨の第2の終了アドレス条件と
を含む、画像処理インターフェース回路。 The image processing interface circuit according to claim 5,
The predetermined read condition is:
When the unread portion in the input image data sequence exceeds the maximum transfer amount that can be set by one burst transfer, and the excess amount is the start address set under the read size condition A first end address condition that sets an end address of the read target area in accordance with the maximum transfer amount of the burst transfer when greater than a difference from a start address of the input image data sequence;
And a second end address condition for setting the end address of the read target area to the end address of the input image data sequence when the excess amount is equal to or less than the difference.
前記所定の読み出し条件は、前記入力画像データ列中の未読み出し部分が前記バースト転送の前記最大転送量以下である場合、前記読み出し対象領域の終了アドレスを前記入力画像データ列の終端アドレスに設定する旨の第3の終了アドレス条件を含む、画像処理インターフェース回路。 An image processing interface circuit according to any one of claims 1 to 6,
When the unread portion in the input image data sequence is less than or equal to the maximum transfer amount of the burst transfer, the predetermined read condition sets the end address of the read target area as the end address of the input image data sequence An image processing interface circuit including a third end address condition to that effect.
前記読み出しバッファは、前記バースト転送の前記最大転送量の1倍よりも大きく且つ2倍よりも小さい容量を有した読み出しラインFIFO部を少なくとも1つ含み、
前記読み出し管理部は、前記読み出しラインFIFO部内において前記モジュールコアに対する供給済みデータが前記最大転送量以上になった場合、前記供給済みデータに替えて前記画像供給元メモリから読み出した新しいデータを前記読み出しラインFIFO部に格納する、
画像処理インターフェース回路。 An image processing interface circuit according to any one of claims 1 to 7,
The read buffer includes at least one read line FIFO unit having a capacity that is greater than 1 and less than 2 times the maximum transfer amount of the burst transfer,
The read management unit reads the new data read from the image supply source memory in place of the supplied data when the supplied data for the module core exceeds the maximum transfer amount in the read line FIFO unit. Store in the line FIFO section,
Image processing interface circuit.
前記モジュールコアから出力されるコア出力データを格納するための書き込みバッファと、
前記コア出力データの前記書き込みバッファへの入力を管理するコア出力管理部と、
前記書き込みバッファ内の格納データを、バスに接続された画像格納先メモリへ転送することを管理する書き込み管理部と
を備え、
前記書き込みバッファは、1回のバースト転送で設定可能な最大転送量よりも大きい容量を有した書き込みラインFIFO(First In First Out)部を少なくとも1つ含み、
前記書き込み管理部は、前記書き込みラインFIFO部ごとに、前記書き込みラインFIFO部内のデータのうちで前記バースト転送の対象にする書き込み対象データと、前記画像格納先メモリ上の書き込み先領域とを、所定の書き込み条件に従って決定する、
画像処理インターフェース回路。 An image processing interface circuit connected to a module core that executes predetermined image processing,
A write buffer for storing core output data output from the module core;
A core output management unit that manages input of the core output data to the write buffer;
A write management unit that manages the transfer of data stored in the write buffer to an image storage destination memory connected to the bus;
The write buffer includes at least one write line FIFO (First In First Out) portion having a capacity larger than a maximum transfer amount that can be set in one burst transfer,
The write management unit determines, for each write line FIFO unit, write target data to be subjected to burst transfer among data in the write line FIFO unit and a write destination area in the image storage destination memory. Determine according to the writing conditions of
Image processing interface circuit.
前記所定の書き込み条件は、
前記書き込み対象データを前記バースト転送の前記最大転送量に設定する旨の書き込みサイズ条件と、
前記書き込み先領域を前記画像格納先メモリのアドレスアライメント境界に合わせる旨の書き込みアライメント条件と
のうちの少なくとも一方を含む、画像処理インターフェース回路。 An image processing interface circuit according to claim 9,
The predetermined write condition is:
Write size condition for setting the write target data to the maximum transfer amount of the burst transfer,
An image processing interface circuit including at least one of a write alignment condition for aligning the write destination area with an address alignment boundary of the image storage destination memory.
前記所定の書き込み条件は、前記モジュールコアから出力される出力画像の画素ラインまたは画素ライン群の終端に対応する前記コア出力データまでの範囲で以て前記書き込み対象データを区切ると共に、その区切られた範囲に対応して前記書き込み先領域を設定する旨のライン終端条件を含む、画像処理インターフェース回路。 The image processing interface circuit according to claim 9 or 10, wherein:
The predetermined write condition divides the write target data in a range up to the core output data corresponding to the end of the pixel line or pixel line group of the output image output from the module core, and An image processing interface circuit including a line termination condition for setting the writing destination area corresponding to a range.
前記書き込みラインFIFO部は、前記バースト転送の前記最大転送量の1倍よりも大きく且つ2倍よりも小さい容量を有し、
前記書き込み管理部は、前記書き込みラインFIFO部内において前記画像格納先メモリに対する転送済みデータが前記最大転送量以上になった場合、前記転送済みデータに替えて新しいコア出力データを前記書き込みラインFIFO部に格納する、
画像処理インターフェース回路。 An image processing interface circuit according to any one of claims 9 to 11,
The write line FIFO unit has a capacity that is greater than 1 and less than 2 times the maximum transfer amount of the burst transfer,
When the transferred data for the image storage destination memory exceeds the maximum transfer amount in the write line FIFO unit, the write management unit sends new core output data to the write line FIFO unit instead of the transferred data. Store,
Image processing interface circuit.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012175841A JP6117494B2 (en) | 2012-08-08 | 2012-08-08 | Image processing interface circuit |
US13/854,340 US9552619B2 (en) | 2012-08-08 | 2013-04-01 | Image processing apparatus and image processing interface circuit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012175841A JP6117494B2 (en) | 2012-08-08 | 2012-08-08 | Image processing interface circuit |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2014035617A true JP2014035617A (en) | 2014-02-24 |
JP2014035617A5 JP2014035617A5 (en) | 2015-09-10 |
JP6117494B2 JP6117494B2 (en) | 2017-04-19 |
Family
ID=50284592
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012175841A Active JP6117494B2 (en) | 2012-08-08 | 2012-08-08 | Image processing interface circuit |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6117494B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018036860A (en) * | 2016-08-31 | 2018-03-08 | 株式会社メガチップス | Image processing apparatus, first adjustment circuit, and second adjustment circuit |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06266612A (en) * | 1993-03-17 | 1994-09-22 | Toshiba Corp | Dma controller |
JPH10326342A (en) * | 1997-05-27 | 1998-12-08 | Canon Inc | Memory control circuit |
JP2005196786A (en) * | 2004-01-09 | 2005-07-21 | Samsung Electronics Co Ltd | Image converter, direct memory access device for image conversion, and camera interface for supporting image conversion |
JP2006139803A (en) * | 2002-12-26 | 2006-06-01 | Canon Inc | Image processing apparatus and image processing method |
JP2008299519A (en) * | 2007-05-30 | 2008-12-11 | Ricoh Co Ltd | Image processor |
JP2012146032A (en) * | 2011-01-07 | 2012-08-02 | Konica Minolta Business Technologies Inc | Image memory control apparatus and image processing apparatus |
-
2012
- 2012-08-08 JP JP2012175841A patent/JP6117494B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06266612A (en) * | 1993-03-17 | 1994-09-22 | Toshiba Corp | Dma controller |
JPH10326342A (en) * | 1997-05-27 | 1998-12-08 | Canon Inc | Memory control circuit |
JP2006139803A (en) * | 2002-12-26 | 2006-06-01 | Canon Inc | Image processing apparatus and image processing method |
JP2005196786A (en) * | 2004-01-09 | 2005-07-21 | Samsung Electronics Co Ltd | Image converter, direct memory access device for image conversion, and camera interface for supporting image conversion |
JP2008299519A (en) * | 2007-05-30 | 2008-12-11 | Ricoh Co Ltd | Image processor |
JP2012146032A (en) * | 2011-01-07 | 2012-08-02 | Konica Minolta Business Technologies Inc | Image memory control apparatus and image processing apparatus |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018036860A (en) * | 2016-08-31 | 2018-03-08 | 株式会社メガチップス | Image processing apparatus, first adjustment circuit, and second adjustment circuit |
Also Published As
Publication number | Publication date |
---|---|
JP6117494B2 (en) | 2017-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9552619B2 (en) | Image processing apparatus and image processing interface circuit | |
US10241721B2 (en) | Image processing device and image processing method | |
TWI544751B (en) | Reformatting data to decrease bandwidth between a video encoder and a buffer | |
JP7142741B2 (en) | Data transfer device and data transfer method | |
US9262314B2 (en) | Data transfer device | |
JP6732534B2 (en) | Data processing device and data processing method | |
US10803589B2 (en) | Image processing device | |
JP6210743B2 (en) | Data processing device and data transfer control device | |
JP6117495B2 (en) | Image processing device | |
JP6117494B2 (en) | Image processing interface circuit | |
US7773817B2 (en) | JPEG image processing circuit | |
JP5721970B2 (en) | Real-time streaming apparatus and bus control method | |
JP2007018222A (en) | Memory access control circuit | |
KR20170049191A (en) | Image processing apparatus and Image processing method | |
JP5739758B2 (en) | Memory controller and SIMD processor | |
US9544475B2 (en) | Data transfer apparatus and data transfer method | |
US20220210454A1 (en) | Video decoding and display system and memory accessing method thereof | |
JP5360594B2 (en) | DMA transfer apparatus and method | |
US9372817B2 (en) | High perfomance DMA controller for video processors | |
US20120144150A1 (en) | Data processing apparatus | |
JP2014035619A5 (en) | ||
JP2010287058A (en) | Memory system | |
JP2020035263A (en) | Memory controller | |
US20100328539A1 (en) | Method and apparatus for memory reuse in image processing | |
Hyun et al. | A synchronous DRAM controller for an H. 264/AVC encoder |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150722 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150722 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20160624 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160726 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160921 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20170228 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170323 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6117494 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |