JP5213394B2 - Image transfer device - Google Patents
Image transfer device Download PDFInfo
- Publication number
- JP5213394B2 JP5213394B2 JP2007238181A JP2007238181A JP5213394B2 JP 5213394 B2 JP5213394 B2 JP 5213394B2 JP 2007238181 A JP2007238181 A JP 2007238181A JP 2007238181 A JP2007238181 A JP 2007238181A JP 5213394 B2 JP5213394 B2 JP 5213394B2
- Authority
- JP
- Japan
- Prior art keywords
- image
- read
- unit
- data
- buffer
- 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.)
- Active
Links
Images
Landscapes
- Image Processing (AREA)
- Storing Facsimile Image Data (AREA)
- Editing Of Facsimile Originals (AREA)
- Controls And Circuits For Display Device (AREA)
Description
この発明は、二次元画像データのBITBLT処理を行う画像転送装置に関するものである。 The present invention relates to an image transfer apparatus that performs BITBLT processing of two-dimensional image data.
二次元グラフィクスの描画処理において、メモリ上の画像の矩形領域を別の領域へと転送するBITBLT(Bit Block Transfer:ビットブリット)は頻繁に使用される機能である。また、転送時に転送元のデータと転送先のデータとの間でブレンド処理や論理演算等の処理を行ったり、別領域にある画像を参照して画像の合成を行ったりする場合もある。
BITBLT処理を行う際には、メモリから参照する画像データの読み出し、演算処理、メモリへの書き込みを行う必要がある。従来では、CPUによるソフトウェア処理により実施されていたが、高速に処理を行うためにハードウェアで実施する方法が提案されている(例えば、特許文献1または特許文献2参照)。
また、1画素当たりのビット数が異なる複数の画像をメモリから読み出して合成する際に、それぞれの画像を一時保存する一時保存メモリを用意し、メモリからバースト転送によって読み出して一時保存メモリへ保持し、合成する方法も提案されている(例えば、特許文献3参照)。
In two-dimensional graphics rendering processing, BITBLT (Bit Block Transfer) that transfers a rectangular area of an image on a memory to another area is a frequently used function. In some cases, processing such as blend processing or logical operation is performed between transfer source data and transfer destination data at the time of transfer, or an image is synthesized by referring to an image in another area.
When performing BITBLT processing, it is necessary to read image data to be referenced from the memory, perform arithmetic processing, and write to the memory. Conventionally, it has been implemented by software processing by a CPU. However, a method implemented by hardware has been proposed in order to perform processing at high speed (see, for example,
In addition, when multiple images with different bits per pixel are read from the memory and combined, a temporary storage memory is provided to temporarily store each image, read from the memory by burst transfer, and stored in the temporary storage memory. A method of synthesizing has also been proposed (see, for example, Patent Document 3).
組み込み用システムなどにおいて使用されるユニファイドメモリアーキテクチャでは、CPUが使用するメインメモリと描画を行うビデオメモリが同じメモリであるため、BITBLT処理時の転送元の領域や転送先の領域が同じメモリ内に存在することになる。メモリとしてはSDRAMやDDR−SDRAMが使用されることが多い。
この場合、例えば特許文献1に示されるような従来の装置によるBITBLT処理では、画素毎にメモリに対する読み出しと書き込みが繰り返されることになる。そのため、転送元と転送先のメモリ内のアドレスが離れている場合には、読み出しまたは書き込みのアクセス毎に、メモリに対するプリチャージ等のオーバーヘッドが生じる場合があり効率が悪いという問題があった。また、例えば、特許文献2に示されているようなBITBLT処理では、参照する画像を格納するメモリと書き込みを行うメモリが分かれており、同じメモリ内でのBITBLT処理については考慮されておらず、同一メモリ内におけるBITBLT処理には適用できないという問題があった。
In a unified memory architecture used in an embedded system or the like, the main memory used by the CPU and the video memory for drawing are the same memory, so that the transfer source area and the transfer destination area during the BITBLT processing are in the same memory. Will exist. As the memory, SDRAM or DDR-SDRAM is often used.
In this case, for example, in BITBLT processing by a conventional apparatus as shown in
更に、例えば、特許文献3に示されたような従来の装置による処理は、表示装置への画面の出力を想定したものであり、画像のメモリへの書き戻しや、画像の一部の領域を転送することが考慮されていない。また、1画素当たりのビット数が少ない画像の場合には一度に読み出すデータの量を減らすため、一時保存メモリの容量が有効に利用されていないという課題があった。
Furthermore, for example, the processing by the conventional apparatus as shown in
この発明は上記のような課題を解決するためになされたもので、メモリへのアクセスが効率良く行え、BITBLT処理を高速に行うことのできる画像転送装置を得ることを目的とする。 The present invention has been made to solve the above-described problems, and an object of the present invention is to provide an image transfer apparatus that can efficiently access a memory and perform BITBLT processing at high speed.
この発明に係る画像転送装置は、処理対象となる画像データ毎に設けられ、参照する画像データのメモリ内のアドレスを計算し、当該画像データを読み出す複数の画像リード部と、複数の画像リード部で読み出された画像データに演算処理を施してメモリへ書き戻すための演算部と、複数の画像リード部および演算部からの読み出し要求または書き込み要求を制御する制御部とを備え、複数の画像リード部は、読み出した画像データを一時保存するバッファをそれぞれ備え、参照する画像データをバッファが満杯になるまでリードを行い、その後バッファが空になるまで出力するように動作すると共に、バッファが空であるか否かを示すEMPTY信号を出力し、制御部は、現在の処理と複数の画像リード部から出力されるEMPTY信号とに基づき、次の処理として、複数の画像リード部におけるいずれかの画像リード部のデータ読み出しまたは演算部からのデータ書き込みを決定し、複数の画像リード部のデータ読み出しまたは演算部からのデータ書き込みがメモリに対して連続して行われるように制御するものである。 An image transfer apparatus according to the present invention is provided for each image data to be processed, calculates an address in a memory of image data to be referenced, and reads a plurality of image read units, and a plurality of image read units A plurality of image read units and a control unit for controlling a read request or a write request from the calculation unit. Each read unit has a buffer for temporarily storing the read image data. The read unit reads the reference image data until the buffer is full, and then outputs until the buffer is empty. outputs EMPTY signal indicating whether or not the control unit, EMPTY signal output from the current process and the plurality of images leads and Based, as the next process, to determine the data write from the data read or the arithmetic unit of any of the image read unit in a plurality of image read unit, a memory data write from the data read or computing unit of the plurality of images leads Are controlled so as to be performed continuously.
この発明の画像転送装置は、処理対象となる画像データ毎に当該画像データを読み出す複数の画像リード部を設け、これらの画像リード部で読み出した画像データを一時保存するバッファを設け、このバッファが満杯になるまでリードを行い、その後空になるまで出力すると共に、現在の処理と複数の画像リード部からのEMPTY信号とに基づいて、いずれかの画像リード部のデータ読み出しまたは演算部からのデータ書込みを決定し、複数の画像リード部のデータ読み出しまたは演算部からのデータ書き込みがメモリに対して連続して行われるようにしたので、バッファ容量を有効に利用することができ、バッファの小容量化に寄与し、メモリへのアクセスが効率良く行え、BITBLT処理を高速に行うことができる。
The image transfer apparatus according to the present invention includes a plurality of image read units that read out the image data for each image data to be processed, and a buffer that temporarily stores the image data read out by these image read units. Read until full, then output until empty, and based on current processing and EMPTY signals from multiple image read units, read data from one of the image read units or data from the arithmetic unit determining the writing, since writing of data from the data read or computing unit of the plurality of images leads to a so that continuously performed with respect to memory, it is possible to effectively utilize the buffer capacity, small buffers This contributes to increasing the capacity, enabling efficient access to the memory, and performing BITBLT processing at high speed.
実施の形態1.
図1は、この発明の実施の形態1による画像転送装置を示す構成図であるが、この説明に先立ち、実施の形態1の画像転送装置におけるBITBLT処理について説明する。
図2は、実施の形態1による画像転送装置の処理内容の説明図である。
図示のフレームバッファ100A,フレームバッファ100B,フレームバッファ100Cは同一メモリ内に割り当てられているとする。また、一例として、フレームバッファ100Aとフレームバッファ100Cは1画素当たりのビット数が32ビットであり、フレームバッファ100Bは1画素あたりのビット数が16ビットであると仮定する。このような条件で画像転送装置がフレームバッファ100A内の画像Aとフレームバッファ100B内の画像Bを合成し、フレームバッファ100Cの画像Cの領域へブレンド処理を行いながら転送する場合を実施の形態として説明する。
FIG. 1 is a block diagram showing an image transfer apparatus according to
FIG. 2 is an explanatory diagram of processing contents of the image transfer apparatus according to the first embodiment.
Assume that the illustrated
以下、図1を用いて、実施の形態1による画像転送装置の構成を説明する。
図示のように、画像転送装置10は、第1の画像リード部11、第2の画像リード部12、第3の画像リード部13、演算部14、制御部15、バスIF部16を備えている。また、画像転送装置10は、バス20を介してCPU30およびメモリIF40と相互に接続され、メモリIF40にはメモリ50が接続されている。尚、図中、破線矢印は制御信号、実線矢印はデータ信号の流れを示している。
Hereinafter, the configuration of the image transfer apparatus according to the first embodiment will be described with reference to FIG.
As illustrated, the
第1の画像リード部11は、図2で説明した画像Aのデータを読み出すリード部である。同様に、第2の画像リード部12は、画像Bのデータを読み出す画像リード部であり、第3の画像リード部13は、画像Cのデータを読み出す画像リード部である。これらの画像リード部11〜13は、それぞれバッファ11a、12a、13aを備えており、これらバッファ11a、12a、13aに、画像A、画像B、画像Cを一時保持するよう構成されている。
The first image read
演算部14は、第1の画像リード部11,第2の画像リード部12,第3の画像リード部13からそれぞれ出力されるデータに対して合成等の演算処理を施し、この演算処理結果をバスIF部16に出力する機能部である。制御部15は、画像転送装置10における全ての制御を司る制御部であり、CPU30から設定されたパラメータに基づいて、第1の画像リード部11〜第3の画像リード部13からの読み出し要求および演算部14からの書き込み要求のうち、どの処理を実行するかを判断する。バスIF部16は、制御部15からの指示に従い、第1の画像リード部11〜第3の画像リード部13からの読み出し要求および演算部14からの書き込み要求のうち、いずれかの要求を選択してバス20に出力するためのバスインタフェースである。
The
バス20は、画像転送装置10とメモリ50間のデータ転送や、CPU30と画像転送装置10間の制御データの転送を行うためのバスである。CPU30は、画像転送装置10に対して、BITBLT処理における種々の設定や指示を行うプロセッサである。また、メモリIF40は、実際にメモリ50へのアクセスを行うメモリインタフェースである。メモリ50は、画像データを保持する外部メモリであり、図2で示したフレームバッファ100A,100B,100Cが設けられたメモリである。
また、本実施の形態の前提として、メモリIF40は、メモリ50に対して連続した読み出しあるいは書き込みの処理を行う際に、ロウアドレスが同一であればプリチャージ等のオーバーヘッドなしで処理することができるよう構成されているものとする。
The bus 20 is a bus for transferring data between the
Further, as a premise of the present embodiment, the
次に、実施の形態1の動作について説明する。
先ず、BITBLT処理時には、CPU30が画像転送装置10に対して画像のサイズや演算処理内容などの必要なパラメータを設定する。そして、CPU30が画像転送装置10に起動を指示することにより、画像転送装置10が動作を開始する。
Next, the operation of the first embodiment will be described.
First, at the time of BITBLT processing, the
以下、図3を参照して画像転送装置10の動作を説明する。
図3は、画像転送装置10の動作を説明するタイミング図である。
第1の画像リード部11から制御部15に対しては、第1の画像リード部11が動作中であるか否かを示すビジー信号BUSY1、バッファ11aが満杯になった、または参照する画像Aのデータを全て読み込んだことを伝えるためのパルス信号FULL1、バッファ11aが空であるか否かを示す信号EMPTY1が出力される。
同様に、第2の画像リード部12から制御部15に対しては、第2の画像リード部12が動作中であるか否かを示すビジー信号BUSY2、バッファ12aが満杯になった、または参照する画像Bのデータを全て読み込んだことを伝えるためのパルス信号FULL2、バッファ12aが空であるか否かを示す信号EMPTY2が出力される。
同様に、第3の画像リード部13から制御部15に対しては、第3の画像リード部13が動作中であるか否かを示すビジー信号BUSY3、バッファ13aが満杯になった、または参照する画像Cのデータを全て読み込んだことを伝えるためのパルス信号FULL3、バッファ13aが空であるか否かを示す信号EMPTY3が出力される。
Hereinafter, the operation of the
FIG. 3 is a timing chart for explaining the operation of the
From the first
Similarly, a busy signal BUSY2 indicating whether or not the second
Similarly, the busy signal BUSY3 indicating whether or not the third image read
また、演算部14から制御部15に対しては、演算部14が動作中であるか否かを示すビジー信号BUSY4が出力される。
初期状態では、ビジー信号BUSY1,BUSY2、BUSY3,BUSY4は共に“0”で、動作中ではないことを示している。また、EMPTY1,EMPTY2,EMPTY3は共に“1”で、バッファ11a、バッファ12a,バッファ13aが空であることを示している(図3、T1)。
Further, a busy signal BUSY4 indicating whether or not the
In the initial state, the busy signals BUSY1, BUSY2, BUSY3, and BUSY4 are all “0”, indicating that no operation is in progress. EMPTY1, EMPTY2, and EMPTY3 are all “1”, indicating that the
画像転送装置1がCPU30から起動の指示を受けると、第1の画像リード部11が動作を開始し、ビジー信号BUSY1を“1”とする。そして、設定されたパラメータ(フレームバッファ100Aのベースアドレス、フレームバッファ100Aのサイズ、フレームバッファ100Aの1画素あたりのビット数、画像Aの座標、転送サイズなど)から、参照する画像Aのメモリ50における最初のアドレスを計算し、バスIF部16に対して画像Aのデータの読み出しを要求する。
また、同時に第2の画像リード部12も動作を開始し、ビジー信号BUSY2を“1”とする。そして、設定されたパラメータ(フレームバッファBのベースアドレス、フレームバッファ100Bのサイズ、フレームバッファ100Bの1画素あたりのビット数、画像Bの座標、転送サイズなど)から、参照する画像Bのメモリ50における最初のアドレスを計算し、バスIF部16に対して画像Bのデータの読み出しを要求する。
同様に、第3の画像リード部13も動作を開始し、ビジー信号BUSY3を“1”とする。そして、設定されたパラメータ(フレームバッファ100Cのベースアドレス、フレームバッファ100Cのサイズ、フレームバッファ100Cの1画素あたりのビット数、画像Cの座標、転送サイズなど)から、参照する画像Cのメモリ50における最初のアドレスを計算し、バスIF部16に対して画像Cのデータの読み出しを要求する。
When the
At the same time, the second
Similarly, the third image read
画像転送装置1がCPU30から起動の指示を受けると、制御部15は先ずバスIF部16に対して画像Aの読み出しを行うように指示する。バスIF部16は、制御部15からの指示に従い、第1の画像リード部11からの読み出し要求を選択し、バス20へ出力する。そしてメモリIF40を介してメモリ50から読み出されたデータを受け取ると、データを第1の画像リード部11へ返す。第1の画像リード部11はバスIF部16から受け取ったデータをバッファ11aへ格納し、バッファ11aが空であるか否かを示す信号EMPTY1を“0”とする。
第1の画像リード部11は、読み出し要求がバスIF部16に受け付けられると、連続して次のデータの読み出しを要求する。バスIF部16は、制御部15から画像Aの読み出しを指示されているため、続けて第1の画像リード部11からの読み出し要求を選択してバス20へ出力する。このように連続して画像Aのデータの読み出しを行い、画像Aのデータをバッファ11aへ順次格納していく(図3、T2)。
この期間中、第2の画像リード部12および第3の画像リード部13は、画像Bおよび画像Cの読み出し要求がバスIF部16に受け付けられないため、読み出し要求を出したまま一時停止状態となる。
When the
When the read request is received by the bus IF
During this period, the second image read
やがて第1の画像リード部11のバッファ11aが満杯になると、第1の画像リード部11は、制御部15に対してパルス信号FULL1を出力し、データの読み出しを中止する。そして、バッファ11aに蓄えられた画像Aのデータを演算部14に対して出力する。
演算部14は、第1の画像リード部11から画像Aのデータが出力されても、この時点では第2の画像リード部12および第3の画像リード部13から画像Bおよび画像Cのデータが出力されていないため、第1の画像リード部11からの画像Aのデータを受け取らない。第1の画像リード部11は演算部14に対して画像Aのデータを出力したまま一時停止状態となる。
Eventually, when the
Even if the data of the image A is output from the first
制御部15は、第1の画像リード部11からパルス信号FULL1が入力されると、画像Aの一連の読み出し処理が終了したと判断し、次にどの処理を実行するかを判断する。図4は、制御部15における判断方法を示したものである。この場合、現在の処理が画像Aの読み出しであり、EMPTY2が“1”であるため、次にバスIF部16に対して画像Bの読み出しを行うように指示する。
When the pulse signal FULL1 is input from the first
バスIF部16は、制御部15からの指示に従い、第2の画像リード部12から出力されている読み出し要求を選択し、バス20へ出力する。そしてメモリIF40を介してメモリ50から読み出されたデータを受け取ると、データを第2の画像リード部12へ返す。第2の画像リード部12はバスIF部16から受け取ったデータをバッファ12aへ格納し、バッファ12aが空であるか否かを示す信号EMPTY2を“0”とする。
第2の画像リード部12は、読み出し要求がバスIF部16に受け付けられると、連続して次のデータの読み出しを要求する。バスIF部16は制御部15から画像Bの読み出しを指示されているため、続けて第2の画像リード部12からの読み出し要求を選択してバス20へ出力する。このように連続して画像Bのデータの読み出しを行い、画像Bのデータをバッファ12aへ順次格納していく(図3、T3)。
The bus IF
When the read request is accepted by the bus IF
やがてバッファ12aが満杯になると、第2の画像リード部12は制御部15に対してパルス信号FULL2を出力し、データの読み出しを中止する。そして、バッファ12aに蓄えられた画像Bのデータを演算部14に対して出力する。
演算部14では、第2の画像リード部12から画像Bのデータが出力されていても、この時点では第3の画像リード部13から画像Cのデータが出力されていないため、第2の画像リード部12からの画像Bのデータを受け取らない。第2の画像リード部12は演算部14に対して画像Bのデータを出力したまま一時停止状態となる。
Eventually, when the
Even if the image B data is output from the second image read
制御部15は、第2の画像リード部12からパルス信号FULL2が入力されると、画像Bの一連の読み出し処理が終了したと判断し、次にどの処理を実行するかを判断する。この場合、現在の処理が画像Bの読み出しであり、EMPTY1が“0”かつEMPTY3が“1”であるため、次にバスIF部16に対して画像Cの読み出しを行うように指示する。
When the pulse signal FULL2 is input from the second
バスIF部16は、制御部15からの指示に従い、第3の画像リード部13から出力されている読み出し要求を選択し、バス20へ出力する。そしてメモリIF40を介してメモリ50から読み出されたデータを受け取ると、データを第3の画像リード部13へ返す。第3の画像リード部13はバスIF部16から受け取ったデータをバッファ13aへ格納し、バッファ13aが空であるか否かを示す信号EMPTY3を“0”とする。
第3の画像リード部13は、読み出し要求がバスIF部16に受け付けられると、連続して次のデータの読み出しを要求する。バスIF部16は制御部15から画像Cの読み出しを指示されているため、続けて第3の画像リード部13からの読み出し要求を選択してバス20へ出力する。このように連続して画像Cのデータの読み出しを行い、画像Cのデータをバッファ13aへ順次格納していく(図3、T4)。
やがて第3の画像リード部13のバッファ13aが満杯になると、第3の画像リード部13は、制御部15に対してパルス信号FULL3を出力し、データの読み出しを中止する。そして、バッファ13aに蓄えられた画像Cのデータを演算部14に対して出力する。
The bus IF
When the read request is accepted by the bus IF
Eventually, when the
制御部15は、第3の画像リード部13からパルス信号FULL3が入力されると、画像Cの一連の読み出し処理が終了したと判断し、次にどの処理を実行するかを判断する。この場合、現在の処理が画像Cの読み出しであり、EMPTY1が“0”かつEMPTY2が“0”であるため、次にバスIF部16に対して画像Cの書き込みを行うように指示する。
When the
演算部14は、第1の画像リード部11、第2の画像リード部12および第3の画像リード部13の全てからデータが入力されると、データを受け取って動作を開始し、ビジー信号BUSY4を“1”とする。
演算部14は、設定されたパラメータに従い画像データに対して合成やブレンド等の演算処理を行い、結果を画像Cのアドレスへ書き戻すためにバスIF部16へ書き込み要求を出力する。
バスIF部16は、制御部15からの指示に従い、演算部14から出力されている書き込み要求を選択し、バス20へ出力する。そしてメモリIF40を介してメモリ50へデータを書き込む。
When the data is input from all of the first image read
The
The bus IF
第1の画像リード部11、第2の画像リード部12および第3の画像リード部13は、演算部14にデータが受け取られると、バッファ11a,バッファ12a,およびバッファ13aに格納されている画像データを順次演算部14へ出力する。
演算部14は、データを受け取って演算処理を行い、バスIF部16へ出力する処理をパイプライン処理で行い、連続してバスIF部16へ書き込み要求を出力する。バスIF部16は、制御部15から画像Cの書き込みを指示されているため、続けて演算部14からの書き込み要求を選択してバス20へ出力する。このように連続して画像C領域へのデータの書き込み行う(図3、T5)。
When the first image read
The
やがてバッファ11a、バッファ12a,バッファ13aのいずれかが空になると、演算部14に対する入力データが揃わなくなるため、演算部14はデータの受け取りを停止する。そして、それまでに受け取ったデータを全てバスIF部16へ出力し終わった時点でビジー信号BUSY4を“0”にする。
この例では、画像Aと画像Cが、画像Bよりも1画素あたりのビット数が2倍であると仮定しているため、バッファ11aとバッファ13aが空になり、バッファ12aには半分のデータが残っている状態となる。
When any of the
In this example, since it is assumed that the number of bits per pixel of the image A and the image C is twice that of the image B, the
第1の画像リード部11は、バッファ11aが空になった時点で、バッファ11aが空であるか否かを示す信号EMPTY1を“1”にし、画像Aの続きのアドレスを計算してバスIF部16に対して読み出し要求を出力する。
同様に、第3の画像リード部13は、バッファ13aが空になった時点で、バッファ13aが空であるか否かを示す信号EMPTY3を“1”にし、画像Cの続きのアドレスを計算してバスIF部16に対して読み出し要求を出力する。
When the
Similarly, when the
制御部15は、演算部14からのビジー信号BUSY4が“1”から“0”へ変化すると、画像Cの一連の書き込み処理が終了したと判断し、次にどの処理を実行するかを判断する。この場合、現在の処理が画像Cの書き込みであり、EMPTY1が“1”であるため、次にバスIF部16に対して画像Aの読み出しを行うように指示する。それにより、バッファ11aが満杯になるまで画像Aの読み出し処理が連続して行われる。(図3、T6)
When the busy signal BUSY4 from the
以上説明したように、画像を読み出す際にはバッファが満杯になるまで連続してリードを行い、データが揃ったらいずれかのバッファが空になるまで連続して演算処理をしながら書き戻す処理を繰り返す。 As described above, when reading an image, read continuously until the buffer is full, and when data is complete, write back while continuously calculating until one of the buffers is empty. repeat.
やがて、第1の画像リード部11は、参照する画像Aの最終データを読み込むと、バッファ11aが満杯になっていなくても制御部15に対してパルス信号FULL1を出力し、演算部14に対してデータを出力する。そして、演算部14に対して全てのデータを出力し終わった時点でビジー信号BUSY1を“0”にする。
同様に、第2の画像リード部12は、参照する画像Bの最終データを読み込むと、バッファ12aが満杯になっていなくても制御部15に対してパルス信号FULL2を出力し、演算部14に対してデータを出力する。そして、演算部14に対して全てのデータを出力し終わった時点でビジー信号BUSY2を“0”にする。
同様に、第3の画像リード部13は、参照する画像Cの最終データを読み込むと、バッファ13aが満杯になっていなくても制御部15に対してパルス信号FULL3を出力し、演算部14に対してデータを出力する。そして、演算部14に対して全てのデータを出力し終わった時点でビジー信号BUSY3を“0”にする。
Eventually, when the first image read
Similarly, when the second image read
Similarly, when the third image read
演算部14が受け取ったデータを全てバスIF部16へ出力し、ビジー信号4が“1”から“0”へ変化した時点で、BUSY1、BUSY2およびBUSY3が全て“0”であれば画像転送装置10の動作が終了する(図3、T7)。
When all the data received by the
以上のように、画像を読み出す際にはバッファが満杯になるまで連続してリードを行い、データが揃ったらいずれかのバッファが空になるまで連続して演算処理をしながら書き戻す構成としたため、メモリ50に対して連続して読み出しあるいは書き込みが行われるようになり、メモリアクセスの際のオーバーヘッドを低減することができ、高速に処理を行うことができる。
As described above, when the image is read, it is continuously read until the buffer is full, and when data is ready, it is written back while continuously performing arithmetic processing until any buffer becomes empty. Thus, reading or writing is continuously performed on the
尚、上記実施の形態では、画像リード部を3個としたが、これらの数は3個に限定されるものではない。例えば、更に別の画像Dを参照して合成を行う機能を実現する場合には、画像リード部の数を4個とし、同様の制御を行えばよい。 In the above embodiment, the number of image lead portions is three, but the number is not limited to three. For example, when realizing a function of combining with reference to another image D, the number of image lead units may be four and the same control may be performed.
以上のように、実施の形態1の画像転送装置によれば、同一メモリ内の画像データのBITBLT処理を行う画像転送装置において、処理対象となる画像データ毎に設けられ、参照する画像データのメモリ内のアドレスを計算し、画像データを読み出す複数の画像リード部と、複数の画像リード部で読み出された画像データに演算処理を施してメモリへ書き戻すための演算部と、複数の画像リード部および演算部からの読み出し要求または書き込み要求を制御する制御部とを備えたので、メモリへのアクセスが効率良く行え、BITBLT処理を高速に行うことができる。 As described above, according to the image transfer apparatus of the first embodiment, in the image transfer apparatus that performs BITBLT processing of image data in the same memory, a memory of image data to be referred to is provided for each image data to be processed. A plurality of image read units for calculating the addresses in the image data, reading the image data, a calculation unit for performing arithmetic processing on the image data read by the plurality of image read units and writing back to the memory, and a plurality of image reads And a control unit that controls a read request or a write request from the calculation unit and the calculation unit, the memory can be accessed efficiently, and the BITBLT process can be performed at high speed.
また、実施の形態1の画像転送装置によれば、複数の画像リード部は、読み出した画像データを一時保存するバッファをそれぞれ備え、参照する画像データをバッファが満杯になるまでリードを行い、その後バッファが空になるまで出力するように動作するようにしたので、バッファ容量を有効に利用することができ、バッファの小容量化に寄与することができる。 Further, according to the image transfer apparatus of the first embodiment, each of the plurality of image reading units includes a buffer that temporarily stores the read image data, reads the image data to be referenced until the buffer is full, and then Since the output is performed until the buffer becomes empty, the buffer capacity can be used effectively, and the buffer capacity can be reduced.
また、実施の形態1の画像転送装置によれば、制御部は、複数の画像リード部のデータ読み出しまたは演算部からのデータ書き込みがメモリに対して連続して行われるように制御するようにしたので、同一メモリ内での画像データのBITBLT処理が効率良く行え、BITBLT処理を高速に行うことができる。 Further, according to the image transfer apparatus of the first embodiment, the control unit controls the data reading of the plurality of image reading units or the data writing from the calculation unit to be continuously performed on the memory. Therefore, BITBLT processing of image data within the same memory can be performed efficiently, and BITBLT processing can be performed at high speed.
10 画像転送装置、11 第1の画像リード部、11a,12a,13a バッファ、12 第2の画像リード部、13 第3の画像リード部、14 演算部、15 制御部、16 バスIF部、20 バス、30 CPU、40 メモリIF、50 メモリ、100A,100B,100C フレームバッファ。
DESCRIPTION OF
Claims (1)
処理対象となる画像データ毎に設けられ、参照する画像データの前記メモリ内のアドレスを計算し、当該画像データを読み出す複数の画像リード部と、
前記複数の画像リード部で読み出された画像データに演算処理を施して前記メモリへ書き戻すための演算部と、
前記複数の画像リード部および前記演算部からの読み出し要求または書き込み要求を制御する制御部とを備え、
前記複数の画像リード部は、読み出した画像データを一時保存するバッファをそれぞれ備え、参照する画像データをバッファが満杯になるまでリードを行い、その後バッファが空になるまで出力するように動作すると共に、当該バッファが空であるか否かを示すEMPTY信号を出力し、
前記制御部は、現在の処理と前記複数の画像リード部から出力されるEMPTY信号とに基づき、次の処理として、前記複数の画像リード部におけるいずれかの画像リード部のデータ読み出しまたは前記演算部からのデータ書き込みを決定し、前記複数の画像リード部のデータ読み出しまたは前記演算部からのデータ書き込みが前記メモリに対して連続して行われるように制御することを特徴とする画像転送装置。 In an image transfer apparatus that performs BITBLT processing of image data in the same memory,
A plurality of image read units that are provided for each image data to be processed, calculate an address in the memory of the image data to be referenced, and read out the image data;
An arithmetic unit for performing arithmetic processing on the image data read by the plurality of image reading units and writing back to the memory;
A control unit for controlling a read request or a write request from the plurality of image read units and the calculation unit,
Each of the plurality of image read units includes a buffer for temporarily storing the read image data, reads the reference image data until the buffer is full, and then operates to output until the buffer is empty. , Output an EMPTY signal indicating whether or not the buffer is empty ,
Based on the current process and the EMPTY signal output from the plurality of image read units , the control unit reads data from one of the image read units in the plurality of image read units or the arithmetic unit as the next process image transfer apparatus a data write to determine, data writing from the data read or the arithmetic unit of the plurality of image lead portions and controls to be performed continuously to the memory from.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007238181A JP5213394B2 (en) | 2007-09-13 | 2007-09-13 | Image transfer device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007238181A JP5213394B2 (en) | 2007-09-13 | 2007-09-13 | Image transfer device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009070162A JP2009070162A (en) | 2009-04-02 |
JP5213394B2 true JP5213394B2 (en) | 2013-06-19 |
Family
ID=40606336
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007238181A Active JP5213394B2 (en) | 2007-09-13 | 2007-09-13 | Image transfer device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5213394B2 (en) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0447431A (en) * | 1990-06-13 | 1992-02-17 | Fuji Photo Film Co Ltd | Image memory device |
JP3010913B2 (en) * | 1992-06-18 | 2000-02-21 | 富士ゼロックス株式会社 | Image editing device |
JP2000172242A (en) * | 1998-12-03 | 2000-06-23 | Victor Co Of Japan Ltd | Image display control device |
JP2005190002A (en) * | 2003-12-24 | 2005-07-14 | Nec Corp | Bitblt screen control circuit and portable terminal using it |
JP2007213251A (en) * | 2006-02-08 | 2007-08-23 | Canon Inc | Image correction processing device and image correction processing method |
-
2007
- 2007-09-13 JP JP2007238181A patent/JP5213394B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2009070162A (en) | 2009-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7664922B2 (en) | Data transfer arbitration apparatus and data transfer arbitration method | |
EP1880277B1 (en) | Command execution controlling apparatus, command execution instructing apparatus and command execution controlling method | |
US5530458A (en) | Image memory control device | |
US8902240B2 (en) | Image processing device | |
US7558901B2 (en) | Apparatus and method for connecting processor to bus | |
JP5213394B2 (en) | Image transfer device | |
JP5191193B2 (en) | Image display drive device | |
JP3683657B2 (en) | Graphics display device and graphics processor | |
JP2007333892A (en) | Memory controller, bus controller, and display device control system | |
JPH10326342A (en) | Memory control circuit | |
JP5475859B2 (en) | Image display drive device | |
JP4137903B2 (en) | Graphics display device and graphics processor | |
JP4835872B2 (en) | Image processing device | |
JP4071225B2 (en) | Transfer circuit | |
JPH10333659A (en) | Memory control method and device therefor | |
JP2000227895A (en) | Device and method for transferring image data | |
JP3204297B2 (en) | DMA transfer control device | |
JPH07129460A (en) | Method and device for processing image | |
JP2001109656A (en) | Memory cooperation type data processor | |
JP2806376B2 (en) | Image processing apparatus and image processing method | |
JP3094346B2 (en) | Image memory device | |
JPS62113193A (en) | Memory circuit | |
JP2008096838A (en) | Moving image display device | |
JP2009003632A (en) | Image processing system | |
JPH04278652A (en) | Graphic drawing device and its memory access system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100617 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110817 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120221 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120417 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120626 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120823 |
|
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: 20130129 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130226 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5213394 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20160308 Year of fee payment: 3 |
|
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 |
|
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 |