JP6548483B2 - 複数のデータ処理部でバッファを共有するデータ制御装置、制御方法 - Google Patents
複数のデータ処理部でバッファを共有するデータ制御装置、制御方法 Download PDFInfo
- Publication number
- JP6548483B2 JP6548483B2 JP2015130617A JP2015130617A JP6548483B2 JP 6548483 B2 JP6548483 B2 JP 6548483B2 JP 2015130617 A JP2015130617 A JP 2015130617A JP 2015130617 A JP2015130617 A JP 2015130617A JP 6548483 B2 JP6548483 B2 JP 6548483B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- intermediate buffer
- buffer
- unit
- execution
- 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
- 239000000872 buffer Substances 0.000 title claims description 376
- 238000000034 method Methods 0.000 title claims description 71
- 230000001360 synchronised effect Effects 0.000 claims description 9
- 238000001514 detection method Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 description 57
- 230000007704 transition Effects 0.000 description 35
- 230000005540 biological transmission Effects 0.000 description 30
- 238000004891 communication Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 13
- 230000015654 memory Effects 0.000 description 10
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000002195 synergetic effect Effects 0.000 description 1
Images
Landscapes
- Information Transfer Systems (AREA)
Description
本発明は、上記のような課題を鑑みて、ローカルメモリを持つ系を複数搭載するシステムでも簡易な構成で高速なデータ共有を行うバッファの制御方法及び制御装置を提供する。
前記中間バッファ制御手段は、
DRAMから中間バッファへのデータ転送および前記中間バッファからデータ処理手段へのデータ転送を制御する入力手段と、
前記データ処理手段から前記中間バッファへのデータ転送および前記中間バッファから前記DRAMへのデータ転送を制御する出力手段と、
前記入力手段および前記出力手段のバッファ状態情報を各々保持し、前記バッファ状態情報に応じて、前記入力手段および前記出力手段の動作を制御する同期実行手段とを備え、
前記同期実行手段は、
前記入力手段から実行完了通知を受け取ると、前記入力手段のバッファ状態情報を書込状態と設定し、
前記出力手段から実行完了通知を受け取ると、前記出力手段のバッファ状態情報を読出状態と設定し、
他の中間バッファ制御手段と中間バッファを共有する場合には、該他の中間バッファ制御手段の同期実行手段とバッファ状態情報を相互に送信し、
他の中間バッファ制御手段と中間バッファを共有しない場合には、前記入力手段のバッファ状態情報と前記出力手段のバッファ状態情報を相互に送信し、
同期信号によってそれぞれの同期実行手段のバッファ状態情報を更新する。
<実施例1>
(画像処理装置)
図1は、本発明の第1の実施形態における画像処理装置の一構成例を示すブロック図である。画像処理装置100は、システム制御部110、スキャナ制御部120、画像処理部130、プリンタ制御部140からなる。
システム制御部110は、画像処理装置のシステムバス170に接続された各モジュールを制御するCPU111、画像データや各モジュールの設定値など、一時的なデータを保持するDRAM112、後述する制御用のプログラムを保持するROM113からなる。
続けて、DRAM112や中間バッファの容量が画像データ200の全体を保持できない容量における動作について説明する。DRAM112や中間バッファの容量が少ない場合は、画像データを分割して画像処理を行う。
家庭用プリンタのように安価に提供しなければならない機器では、ハードウェアのコストを抑えるため、1枚のデジタル画像データ全体を記憶できるだけの容量のメモリを実装できない場合がある。そのため、1枚のデジタル画像データを複数の短冊状のバンド領域に分割し、逐次的にバンド領域のみをメモリ(以下、バンドメモリと称する)に展開して各種の画像処理を施す、いわゆるバンド処理が行われることがある。
まず、前述と同様にCPU111はROM113からプログラムを読み出し、スキャナ制御部120、画像処理部130、プリンタ制御部140の設定を行う。その後、スキャナ制御部120を起動し、画像データの一部分であるバンド領域210をスキャンしてDRAM112に書き込む。
続けて、画像処理部130は次のバンド分割領域B231をDRAM112から読み出し、画像処理を適用した画像データをDRAM112に書き出す。
これを繰り返すことでバンド領域210に対する画像処理を完了する。
その後、プリンタ制御部140を起動し、DRAM上の画像処理されたバンド領域を読み出し、印刷する。
以上の処理を繰り返し、画像全体に適用する事で、DRAM112や中間バッファの容量が画像データ200の全体を保持できない容量の場合でも、画像200全体に対して画像処理を適用する事が出来る。
次に図3を用いて画像処理部130の詳細を説明する。
画像処理部130は、上述の通り、画像処理制御部131と、スキャナ用画像処理回路群132と、プリンタ用画像処理回路群133とからなるデータ制御装置である。スキャナ用画像処理回路群132と、プリンタ用画像処理回路群133とは、データ処理部としての役割を担う。
アービタ341は、中間バッファ342と、中間バッファ342へのリクエストを発行するDMAコントローラ310と、中間バッファ制御部a320と、中間バッファ制御部b330とに接続される。アービタ341はリクエスト発行元からの中間バッファ342への書き込み、読み出しリクエストを調停し、実行する。具体的には、複数のモジュールから同時に同じバッファへのアクセス要求があった場合には、優先順位の高いモジュールのアクセスから先に実行して行くといった調停を行う。ただし、調停方法についてはこれを限定するものではない。
画像入力部321は、同期実行部323の命令に応じて、中間バッファを操作するリクエストを発行するモジュールである。リクエストには2種類あり、1つはDRAM112から画像データを取得して中間バッファ342へ書き込むリクエストで、DMAコントローラ310に発行するものである。もう一つは、中間バッファ342に保持されている画像データを読み出し、画像処理回路132に送信するリクエストで、中間バッファ群340に発行するものである。
画像入力部321はDMA受信部411とパケット送信部412で構成される。
パケット送信部412は、中間バッファ群340に発行するリクエストと、画像処理回路132へのデータ出力を制御するモジュールである。画像処理時には、同期実行部323からどのバッファを利用するか、扱う画像フォーマットや画像サイズが設定される。その後、同期実行部323からの実行開始命令を受信すると、設定されたいずれかの中間バッファ342から画像フォーマットに合わせてデータを取り出すようリクエストを生成し、中間バッファ群340に発行する。
ここで、パケット送信部412が画像データに付加する画素位置を特定するための情報について図2を用いて説明する。
転送終了時、最後の画素240−nのデータを送信する際には、転送終了信号とラインエンド信号を付加する。
また、副走査方向に見たときに1画素目となる画素のデータを送信する際には、ラインスタート信号のみ付加する。
副走査方向に見た時に最終画素となるh画素目の画素のデータを送信する際には、ラインエンド信号のみ付加する。
画素位置を特定するためのこれらの信号は画像処理回路、画像出力部322で利用され、画像出力部322では画像処理後の画像データのサイズを算出する際に用いる。
画像出力部322は同期実行部323の命令に応じて、中間バッファを操作するリクエストを発行するモジュールである。リクエストには2種類あり、1つは画像処理回路132で処理した画像データを受信し、中間バッファ342に書き出すリクエストを中間バッファ群340に発行するものである。もう一つは、中間バッファ342に保持されている処理済みの画像データをDRAM112に書き出すリクエストをDMAコントローラ310に発行するものである。ここで、図4(b)を用いて画像出力部322の詳細について説明する。
画像出力部332はパケット受信部422とDMA送信部421で構成されている。
パケット受信部422は、画像処理回路132からの画像データを受信し、中間バッファ群340に発行するリクエストを制御するモジュールである。画像処理時には、同期実行部323から、どの中間バッファ342を利用するかといった設定や、扱う画像フォーマットが設定される。
続けて画素240−2´、240−3´を受信するごとに受信画素数をカウントアップする。
そして、主走査方向にh´画素目の画素を受信した際には画像入力部321によって付加したラインエンド信号を検知して受信画素数のカウントアップを終了する。
このようにして、パケット受信部422は、画像処理回路で処理されて得られた出力画像のサイズとして主走査方向の画素数h´を算出する。
後で詳細に説明するが、スキャン処理とプリント処理を連続実行する際に、中間バッファ制御部a、bで中間バッファ342を共有する場合における出力画素数の利用方法について説明する。
まず、バンド領域に対して前段のスキャン処理を実行する。
その後、後段のプリント処理を担当する中間バッファ制御部b330で出力画像の画素数h´を算出する。
この画素数h´を前段のスキャン処理を担当する中間バッファ制御部a320の信号線5113bで受信する。
中間バッファ制御部a320は、受信した値(画素数h´)を用いて次に取得するバンド領域のDRAM上のアドレスを算出する。
この仕組みにより、画像処理回路の中にフィルタのように出力画像のサイズが変化する画像処理があった場合においても、画像処理部130内で自律的にDRAM上のアドレス参照先を切り替えることによって、出力画像の連続性を確保することが出来る。つまり、出力画像の連続性を確保するために、処理するバンド領域を切り替えるごとにCPU111から、実行制御部510の設定を切り替える、という必要が無くなり、CPU111の制御を待つことなく複数のバンド領域を連続して転送する事が可能となる。
この点について以下に詳しく説明する。
図15(b)は、画像処理部から出力される1つ目の出力バンド領域1512,2つ目の出力バンド領域1522を示す。
入力バンド領域1511(のデータ)が処理されて出力バンド領域1512(のデータ)が出力され、入力バンド領域1521が処理されて出力バンド領域1522が出力される。
また、入力バンド領域1511が入力されたら、次に入力バンド領域1521が入力される。
図15(a)および(b)に示すように、出力バンド領域1512は、入力バンド領域1511に比べて副走査方向に上下各{(h−h´)/2}画素、この例では1画素、小さいとする。
同様に、出力バンド領域1522も、入力バンド領域1521に比べて副走査方向に上下各{(h−h´)/2}画素、この例では1画素、小さいとする。
図15(b)に示すように、出力バンド領域1512の下端の画素と出力バンド領域1522の上端の画素とが、隙間なく連続するようにするためには、
図15(a)に示すように、入力バンド領域1511と入力バンド領域1521とを(h−h´)画素、この例では2画素、オーバーラップさせる必要がある。
同期実行部323は、中間バッファ342の管理と、画像入力部321及び画像出力部322の実行とを制御するモジュールである。同期実行部323には、CPU111と、画像入力部321と、画像出力部322と、そして他の中間バッファ制御部330の同期実行部333とが接続される。
CPU111とは、画像処理実行開始命令の受信と、画像処理実行終了信号の送信とを行う。
画像入力部321には、画像入力部が用いるバッファや、アクセスするDRAM上のアドレス、画像データのサイズなどを設定するための信号と、画像入力部321の動作を制御するための信号とが接続される。
また、他の中間バッファ制御部330には、複数の画像処理回路群で中間バッファを共有するためのバッファ状態情報を更新するための信号と、同期信号とが接続される。
同期実行部323は、実行制御部510、入力制御部520、及び出力制御部530から構成される。
画像入力部321の設定を信号511(DMA受信部の設定)、512(パケット送信部の設定)にて行い、画像出力部322の設定を信号513(DMA送信部の設定)、514(パケット受信部の設定)にて行う。
出力制御部への実行開始命令は、信号517にて送信し、出力制御部からの実行完了通知は、信号518にて受信する。
また、CPU111からの画像処理実行開始信号は信号519にて受信し、CPU111への画像処理終了信号は信号5110より送信する。
S601にてCPUからの画像処理開始の割り込みを待ち、検知するとS602に遷移する。
S602では入力制御部520と出力制御部530とに実行開始命令を発行し、S603に遷移する。
S603では入力側制御部520と出力側制御部530からの実行終了信号を待機し、両方の信号を受信したらS604に遷移する。
S604では入出力制御を終了し、CPU111に画像処理終了の割り込みを通知する。
入力制御部520は、画像入力部321のDMA受信部411及びパケット送信部412の同期制御と、中間バッファ342の管理とを行うモジュールである。DMA受信部411への実行開始命令は信号521にて送信し、DMA受信部からの実行終了を信号522にて受信する。パケット送信部412への実行開始命令は信号523にて送信し、パケット送信部からの実行終了は信号524にて受信する。
同時に、バッファ状態情報を書込状態にする更新情報を信号527にて他の中間バッファ制御部330へ送信し、バッファ状態情報を読出状態にする更新情報を信号528bにて他の中間バッファ制御部330から受信することでバッファ状態情報の同期も行う。
また、パケット送信部412で画像データやバンド領域の送信が完了した場合には、入力制御部520の実行を終了させるための信号を信号529にて受信する。
S701にて実行制御部510から実行開始命令515を待ち、受信するとS702に遷移する。
S702にて他の中間バッファ制御部と中間バッファを共有しない設定であればS703−0に遷移し、共有する設定であればS710に遷移する。
S703−0では入力制御部520のバッファ状態保持部520bに保持されているバッファの状態情報を参照して、
空であれば信号521からDMA受信部411に対して実行開始命令を発行し、
フルであれば信号523からパケット送信部412に対して実行開始命令を発行し、S704−0に遷移する。
S704−0では実行開始命令を発行したモジュールからの実行終了通知を信号522、524で受信するまで待機し、終了信号を検知したら、S707−0に遷移する。
S707−0では、実行開始命令を発行したモジュールが用いた、バッファ状態保持部520bに保持されているバッファ状態情報を更新する。DMA受信部411がバッファを更新した場合はバッファ状態情報の書込状態信号528をアサートしてバッファ状態保持部520bに保持されているバッファ状態情報をフルとする。パケット送信部412がバッファを更新した場合は読出状態信号527をアサートしてバッファ状態保持部520bに保持されているバッファ状態情報を空にする。そして、バッファ状態情報を更新したら、S708に遷移する。
S708では、画像入力部321からの処理終了信号529が送信されていなかったらS702に遷移し、送信されていたらS709に遷移する。
S703−1に遷移した場合、入力制御部520はパケット送信部412に対して信号523から実行開始命令を発行し、S704−1に遷移する。
S704−1ではパケット送信部412の実行終了信号を信号524で受信するまで待機し、終了信号を検知したらS705−1に遷移する。
S705−1では他の中間バッファ制御部330との同期信号525とバッファの読出状態信号527をアサートし、S706−1に遷移する。
S707−1では入力同期部520aが発行した読出状態信号527と、他の中間バッファ制御部330から発行された書込状態信号528のうちアサートされている信号を用いてバッファ状態保持部520bに保持されているバッファ状態情報を更新する。バッファ状態情報を更新したらS708に遷移する。
S708では実行制御部510に信号516から実行完了通知を行い、入力制御を終了する。
出力制御部530は、画像出力部322のDMA送信部421及びパケット受信部422の同期制御と中間バッファの管理とを行うモジュールである。DMA送信部421への実行開始命令は信号531にて送信し、DMA送信部421からの実行終了を信号532にて受信する。パケット受信部422への実行開始命令は信号533にて送信し、パケット受信部422からの実行終了は信号534にて受信する。他の中間バッファ制御部330と中間バッファ342を共有する場合には、信号5112にて中間バッファを共有するように設定がなされ、信号536にて送信する同期信号と、信号535にて受信する同期信号を用いて同期制御を行う。
S801にて実行制御部510から実行開始命令517を待ち、受信するとS802に遷移する。
S802にて他の中間バッファ制御部330と中間バッファ342を共有しない設定であればS803−0に遷移し、共有する設定であればS810に遷移する。
空であればパケット受信部422に対して信号533から実行開始命令を発行し、
フルであればDMA送信部421に対して信号531から実行開始命令を発行し、S804−0に遷移する。
パケット受信部422がバッファを更新した場合は、書込状態信号538をアサートして、バッファ状態保持部530bに保持されているバッファ状態情報をフルとする。DMA送信部421がバッファを更新した場合は、読出状態信号537aをアサートしてバッファ状態保持部530bに保持されているバッファ状態情報を空にする。
そして、バッファ状態保持部530bに保持されているバッファ状態情報を更新したら、S808に遷移する。
S804−1ではパケット送信部422の実行終了信号を信号534で受信するまで待機し、終了信号を検知したらS805−1に遷移する。
S805−1では他の中間バッファ制御部330との同期信号536とバッファの書込状態信号538をアサートし、S806−1に遷移する。
S807−1では出力同期部530aが発行した書込状態信号538と、他の中間バッファ制御部330から発行された読出状態信号537のうちアサートされている信号を用いてバッファ状態保持部530bに保持されているバッファ状態情報を更新する。バッファ状態保持部530bに保持されているバッファ状態情報を更新したらS808に遷移する。
S808では実行制御部510に信号518から実行完了通知を行い、出力制御を終了する。
このため、スキャナ側の出力同期部530aはパケット受信部を起動し、パケットの受信が完了したらバッファ状態情報の書込状態信号538と同期信号536をアサートする。
プリンタ側の入力同期部520aではバッファ状態保持部520bに保持されているバッファ状態情報が空のため、パケット送信部412の起動は行わずに同期信号525を出力し、他の中間バッファ制御部330からの同期信号526を待つ。
相互に同期信号が送られたら、バッファ書込状態信号538によってバッファ状態保持部530b、520bのそれぞれに保持されているバッファ状態情報をフルに切り替え、図9Bの状態で次の実行を開始する。
以上のように、異なる中間バッファ制御部320、330でバッファの状態情報をそれぞれ同期して更新することによって、中間バッファ342を介して(DRAMを介することなく)高速なデータ転送を実現する事が出来る。
実施例1では、スキャナ側の画像出力部322と画像入力部331が1つの同じバッファ342にアクセスする場合を例に説明した。
実施例2では、バッファを効率的に用いて高速なデータ共有を実現するための構成について説明する。実施例2では画像出力部322と画像出力部342が2つのバッファ(例えば、342−1、342−2)に交互にアクセスするバッファ構成にし、これを同期制御する。
以下で具体的な動作について図10を用いて説明する。図10に示すバッファ1状態保持部530b−1、520b−1はバッファ342−1の状態情報を保持しており、バッファ2状態保持部530b−2、520b−2はバッファ342−2の状態情報を保持している。
中間バッファ制御部a320の出力制御部530と
中間バッファ制御部b330の入力制御部520が起動される。
図10Aのように、初めは中間バッファ1、2共にデータが入っていないため、バッファ1状態保持部520b−1,バッファ2状態保持部520b−2に保持されている状態情報が共に空となる。
プリンタ側の入力同期部520aでは、バッファ1の状態情報が空のため、パケット送信部412の起動は行わず、同期信号525を送信し、他の中間バッファ制御部320からの同期信号526を待つ。
相互に同期信号が送られたら、バッファ書込状態信号538−1によってそれぞれのバッファ1の状態情報をフルに切り替え、図10Bの状態で次の実行を開始する。
バッファ2状態情報は空であるため、スキャナ側のパケット受信部422を起動し、パケットの受信が完了したらバッファ2状態情報の書込状態信号538−2と同期信号536をアサートする。
プリンタ側の入力同期部520ではバッファ1状態保持部520b−1に保持されているバッファ1状態情報を参照する。バッファ1状態情報はフルであるため、パケット送信部412を起動し、パケットの送信が完了したらバッファ1状態情報の読出状態信号527−1と同期信号525をアサートする。
相互に同期信号が送られたら、バッファ1読み出し信号527−1によってバッファ1の状態情報を空にし、バッファ2の書き出し信号538−2によって、バッファ2の状態情報をフルにし、図10Cの状態で次の実行を開始する。
バッファ1状態情報は空であるため、スキャナ側のパケット受信部422を起動し、パケットの受信が完了したらバッファ1状態情報の書込状態信号と同期信号538−1をアサートする。
プリンタ側の入力同期部520ではバッファ2状態保持部520b−2に保持されているバッファ2状態情報を参照する。バッファ2状態情報はフルであるため、パケット送信部412を起動し、パケットの送信が完了したらバッファ2状態情報の読出状態信号527−2と同期信号525をアサートする。相互に同期信号が送られたら、バッファ2読み出し信号527−2によってバッファ2の状態情報を空にし、バッファ1の書込状態信号538−1によって、バッファ状態情報1をフルにし、図10Bの状態で次の実行を開始する。
図16(a)は中間バッファが1つしかない場合(中間バッファ1のみの場合)を示し、図16(b)は中間バッファが2つある場合(中間バッファ1と2の場合)を示す。
中間バッファ1がフルの状態になり、中間バッファ1から入力部への読出しが開始され(T11)、
中間バッファ1から入力部への読出しが終了し(T12)、
中間バッファ1が空の状態になり、出力部から中間バッファ1への書込みが開始され(T13)、
中間バッファ1がフルの状態になると、中間バッファ1から入力部への読出しが開始される(T14)。
中間バッファ2がフルの状態にならなくても、中間バッファ1がフルの状態になれば、中間バッファ1から入力部への読出しは開始できる。また、中間バッファ1がフルの状態にならなくても、中間バッファ2がフルの状態になれば、中間バッファ2から入力部への読出しは開始できる。
中間バッファ1がフルの状態になり、中間バッファ1から入力部への読出しが開始され(T21)、
出力部から中間バッファ2への書込みが開始され(T22)、
中間バッファ1から入力部への読出しが終了し(T23)、
中間バッファ2から入力部への読出しが開始され(T24)、
出力部から中間バッファ1への書込みが開始され(T25)、
中間バッファ2から入力部への読出しが終了し(T26)、
中間バッファ1から入力部への読出しが開始される(T27)。
中間バッファ1から入力部への読出し終了(T23)と、
中間バッファ1から入力部への読出し開始(T27)との間に、
中間バッファ2から入力部への読出しが開始し(T24)、かつ中間バッファ2から入力部への読出しが終了している(T26)。
出力部から中間バッファ1への書込み終了(T21)と、
出力部から中間バッファ1への書込み開始(T25)との間に、
出力部から中間バッファ2への書込みが開始し(T22)、かつ出力部から中間バッファ2への書込みが終了している(T24)。
実施例1ではスキャン処理とプリント処理を連続して実行する場合における中間バッファ342の共有方法について説明した。実施例3では、画像データに対してスキャン用画像処理回路群132やプリンタ用画像処理回路群133に含まれる画像処理機能を複数回適用する場合について説明する。
S1201にて実行制御部510はフィルタ処理を実行する回数をループ回数としてCPU111から設定され、画像処理実行開始の割り込み信号519を待つ。割り込みを検知したらS1202に遷移する。
S1202ではCPU111から指定された回数の実行開始命令を発行しているかどうか判定し、実行済みもしくはループ実行が不要であればS1203−1に遷移し、指定された回数の実行をしていない場合はS1203−0に遷移する。
S1204−0では入力制御部520と出力制御部530に実行開始命令を発行し、S1205−0に遷移する。
S1206では状態情報交換部540にバッファ状態情報の交換を命令すると同時に、画像入力部321と画像出力部322がどの利用するバッファを利用するかといった設定についても交換する。交換が完了したらS1202に遷移する。
S1203−1では入力側で中間バッファを共有しないように設定し、出力側で中間バッファを共有するように設定しS1204−1に遷移する。
S1204−1はS1204−0と同様で、S1205−1とS1205−0も同様の制御を行いS1207に遷移する。
S1207ではCPU111に画像処理終了の割り込みを通知する。
S1301にて実行制御部510から実行開始命令515を待ち、受信するとS1302に遷移する。
S1302にてループ実行の初回またはループ処理をしない場合であればS1303−0に遷移し、2回目〜最終回のループ実行であればS1310に遷移する。
S1303−0では入力共有設定を参照して、中間バッファ342を共有するように設定されていればS1310に、共有しないように設定されていればS1304−0に遷移する。
S1304−0、S1310以降は図7のS703−0とS710と同様の制御であるため説明を省略する。
S1401にて実行制御部510から実行開始命令517を待ち、受信するとS1402に遷移する。
S1402にてループ処理をしない、またはループ処理の最終回を実行する場合はS1403に遷移し、ループ処理の初回〜最終回の1つ手前を実行する場合はS1410遷移する。
S1403では出力共有設定を参照して、中間バッファを共有するように設定されていればS1404−1に、共有しないように設定されていればS1410に遷移する。
S1404−0、S14010以降は図8のS803−0とS810と同様の制御であるため説明を省略する。
以上のように構成することで中間バッファを効率的に利用しつつ、画像データに対して同様の画像処理を複数回適用する事が出来る。
<その他の実施例>
本発明は、上述した実施形態の機能を実現するソフトウェアのコンピュータプログラムコードを記録した記憶媒体を、システム或いは装置に供給することによっても実現できる。この場合、そのシステム或いは装置のコンピュータ(又はCPUやMPU)が読み取り可能に記憶媒体に格納されたコンピュータプログラムコードを読み出し実行することにより、上述した実施形態の機能を実現する。
110 システム制御部
120 スキャナ制御部
130 画像処理部
140 プリンタ制御部
310 DMAコントローラ
320 中間バッファ制御部a
321 画像入力部
322 画像出力部
323 同期実行部
Claims (6)
- 複数の中間バッファ制御手段を備えるデータ制御装置であって、
前記中間バッファ制御手段は、
DRAMから中間バッファへのデータ転送および前記中間バッファからデータ処理手段へのデータ転送を制御する入力手段と、
前記データ処理手段から前記中間バッファへのデータ転送および前記中間バッファから前記DRAMへのデータ転送を制御する出力手段と、
前記入力手段および前記出力手段のバッファ状態情報を各々保持し、前記バッファ状態情報に応じて、前記入力手段および前記出力手段の動作を制御する同期実行手段とを備え、
前記同期実行手段は、
前記入力手段から実行完了通知を受け取ると、前記入力手段のバッファ状態情報を書込状態と設定し、
前記出力手段から実行完了通知を受け取ると、前記出力手段のバッファ状態情報を読出状態と設定し、
他の中間バッファ制御手段と中間バッファを共有する場合には、該他の中間バッファ制御手段の同期実行手段とバッファ状態情報を相互に送信し、
他の中間バッファ制御手段と中間バッファを共有しない場合には、前記入力手段のバッファ状態情報と前記出力手段のバッファ状態情報を相互に送信し、
同期信号によってそれぞれの同期実行手段のバッファ状態情報を更新する
ことを特徴とするデータ制御装置。 - 前記入力手段は、前記中間バッファから前記データ処理手段へデータ転送する際、転送開始時に転送開始信号をデータに付加して前記データ処理手段に転送し、所定のデータ量の転送を終えたら転送終了信号をデータに付加して前記データ処理手段に転送し、
前記出力手段は、前記データ処理手段から前記中間バッファ制御手段へデータ転送する際、前記転送開始信号を受信してから前記転送終了信号を受信するまでの間に転送したデータ量から、受信データ量を算出して、前記受信データ量を前記同期実行手段に送信し、
前記同期実行手段は、前記受信データ量に基づいて、前記入力手段がアクセスするDRAM上のアドレスを算出する
ことを特徴とする請求項1に記載のデータ制御装置。 - 第1の中間バッファ制御手段が、第2の中間バッファ制御手段と中間バッファを共有し、
前記第2の中間バッファ制御手段の同期実行手段は、前記第1の中間バッファ制御手段の出力手段が算出した前記受信データ量に基づいて、前記第2の中間バッファ制御手段の入力手段がアクセスするDRAM上のアドレスを算出する
ことを特徴とする請求項2に記載のデータ制御装置。 - 前記入力手段が転送するデータ量として、画像データの主走査方向の画素数および副走査方向の画素数が設定され、
前記画像データの転送開始時には前記画像データに転送開始信号とラインスタート信号が付加され、
前記画像データの転送終了時には前記画像データに転送終了信号とラインエンド信号が付加され、
前記画像データの副走査方向における1画素目のデータ転送が行われる際にはラインスタート信号が付加され、
前記画像データの副走査方向における最終画素のデータ転送が行われる際にはラインエンド信号が付加されて、前記データ処理部に転送され、
前記出力手段は前記データ処理手段から転送されるデータに付加された前記ラインスタート信号を検知してから前記ラインエンド信号を検知するまでの画素数を前記受信データ量とする
ことを特徴とする請求項3に記載のデータ制御装置。 - スキャン処理に関わる第1のデータ処理手段とプリント処理に関わる第2のデータ処理手段とを備え、
前記第1の中間バッファ制御手段が第1のデータ処理手段に関わるデータ転送を制御し、
前記第2の中間バッファ制御手段が第2のデータ処理手段に関わるデータ転送を制御する
ことを特徴とする請求項4に記載のデータ制御装置。 - 複数の中間バッファ制御手段を備えるデータ制御装置の制御方法であって、
前記中間バッファ制御手段は、
DRAMから中間バッファへのデータ転送および前記中間バッファからデータ処理手段へのデータ転送を制御する入力手段と、
前記データ処理手段から前記中間バッファへのデータ転送および前記中間バッファから前記DRAMへのデータ転送を制御する出力手段と、
前記入力手段および前記出力手段のバッファ状態情報を各々保持し、前記バッファ状態情報に応じて、前記入力手段および前記出力手段の動作を制御する同期実行手段とを備え、
前記同期実行手段は、
前記入力手段から実行完了通知を受け取ると、前記入力手段のバッファ状態情報を書込状態と設定し、
前記出力手段から実行完了通知を受け取ると、前記出力手段のバッファ状態情報を読出状態と設定し、
他の中間バッファ制御手段と中間バッファを共有する場合には、該他の中間バッファ制御手段の同期実行手段とバッファ状態情報を相互に送信し、
他の中間バッファ制御手段と中間バッファを共有しない場合には、前記入力手段のバッファ状態情報と前記出力手段のバッファ状態情報を相互に送信し、
同期信号によってそれぞれの同期実行手段のバッファ状態情報を更新する
ことを特徴とするデータ制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015130617A JP6548483B2 (ja) | 2015-06-30 | 2015-06-30 | 複数のデータ処理部でバッファを共有するデータ制御装置、制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015130617A JP6548483B2 (ja) | 2015-06-30 | 2015-06-30 | 複数のデータ処理部でバッファを共有するデータ制御装置、制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017016285A JP2017016285A (ja) | 2017-01-19 |
JP6548483B2 true JP6548483B2 (ja) | 2019-07-24 |
Family
ID=57830576
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015130617A Active JP6548483B2 (ja) | 2015-06-30 | 2015-06-30 | 複数のデータ処理部でバッファを共有するデータ制御装置、制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6548483B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7042138B2 (ja) * | 2018-03-30 | 2022-03-25 | 日立Astemo株式会社 | 処理装置 |
US11409436B2 (en) | 2018-08-08 | 2022-08-09 | Micron Technology, Inc. | Buffer management in memory systems for read and write requests |
US10782916B2 (en) | 2018-08-08 | 2020-09-22 | Micron Technology, Inc. | Proactive return of write credits in a memory system |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3378270B2 (ja) * | 1992-06-29 | 2003-02-17 | 株式会社東芝 | マルチプロセッサシステム |
US8316220B2 (en) * | 2005-09-27 | 2012-11-20 | Sony Computer Entertainment Inc. | Operating processors over a network |
-
2015
- 2015-06-30 JP JP2015130617A patent/JP6548483B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2017016285A (ja) | 2017-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105915780B (zh) | 图像信号处理器和包括图像信号处理器的装置 | |
US6384832B1 (en) | Image processing apparatus and image processing system using the apparatus | |
US8707132B2 (en) | Information processing apparatus, information processing method, and storage medium | |
JP6548483B2 (ja) | 複数のデータ処理部でバッファを共有するデータ制御装置、制御方法 | |
JP2011077837A (ja) | 画像処理装置 | |
US8838862B2 (en) | Data transfer device, method of transferring data, and image forming apparatus | |
US10225425B2 (en) | Information processing apparatus and method for controlling the same | |
JP2007199815A (ja) | メモリ制御装置およびメモリ制御方法 | |
US8982398B2 (en) | Image forming apparatus that allows for a multi-operation | |
JP7259628B2 (ja) | ネットワーク制御装置、画像形成装置、ネットワーク制御装置の制御方法およびネットワーク制御装置の制御プログラム | |
JPH08123634A (ja) | プログラム可能な裁定装置 | |
JP2014027529A (ja) | バッファ、バッファの制御方法、同期制御装置、同期制御方法、画像処理装置および画像処理方法 | |
CN102497514A (zh) | 一种三通道视频转发设备和转发方法 | |
JP2006094400A (ja) | 画像処理装置および画像処理方法 | |
JP5623150B2 (ja) | 電子機器及びその制御方法 | |
JP2020191520A (ja) | 撮像装置及び撮像装置の制御方法 | |
JP2001238019A (ja) | データ転送方法とデータ転送制御装置と画像処理装置及び画像形成装置 | |
JP3959407B2 (ja) | 画像処理装置及び画像処理システム | |
JP4316845B2 (ja) | 印刷装置 | |
JP4292218B2 (ja) | 画像処理装置及び画像処理システム | |
JP2001109706A (ja) | Dma転送方法およびそのシステム | |
JP2007323662A (ja) | データ転送方法 | |
JP2014154000A (ja) | メモリ制御装置、その制御方法、および制御プログラム | |
JP2014130425A (ja) | 画像形成装置 | |
JP2009193337A (ja) | ページメモリコントローラ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180622 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20190227 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190312 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190508 |
|
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: 20190528 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190625 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 6548483 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: R3D03 |