JP6238510B2 - バッファ、バッファの制御方法、同期制御装置、同期制御方法、画像処理装置および画像処理方法 - Google Patents

バッファ、バッファの制御方法、同期制御装置、同期制御方法、画像処理装置および画像処理方法 Download PDF

Info

Publication number
JP6238510B2
JP6238510B2 JP2012167044A JP2012167044A JP6238510B2 JP 6238510 B2 JP6238510 B2 JP 6238510B2 JP 2012167044 A JP2012167044 A JP 2012167044A JP 2012167044 A JP2012167044 A JP 2012167044A JP 6238510 B2 JP6238510 B2 JP 6238510B2
Authority
JP
Japan
Prior art keywords
data
storage
output
reading
storage area
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
Application number
JP2012167044A
Other languages
English (en)
Other versions
JP2014027529A (ja
Inventor
伊藤 忠幸
忠幸 伊藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2012167044A priority Critical patent/JP6238510B2/ja
Priority to US13/945,799 priority patent/US9672874B2/en
Publication of JP2014027529A publication Critical patent/JP2014027529A/ja
Application granted granted Critical
Publication of JP6238510B2 publication Critical patent/JP6238510B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management

Description

本発明はバッファ、バッファの制御方法、同期制御装置、同期制御方法、画像処理装置および画像処理方法に関する。
一般的に画像処理装置は、装置の全体制御を行うCPUや、処理対象の画像を画像データとして記憶する外部記憶装置、画像データを処理単位ずつ転送するDMACや画像処理を行う画像処理部等の多くの構成を有する。そして、これらの構成が連携して動作することで所望の画像処理を実現する。このとき画像処理装置は、処理対象の画像データを部分的な画像単位で記憶装置から逐次的に読み込み、一時的に画像処理部の入力バッファへ蓄え、入力バッファに蓄えたデータに基づいて画像処理を実行する。
また画像処理装置は、画像処理後の処理結果としてのデータを一時的に画像処理部の出力バッファへ蓄え、出力バッファから外部記憶装置へ逐次書き出す。このように構成した画像処理装置では、画像全体を一度に処理するのではなく、部分的な画像(以降、部分画像または部分画像データと称す)を順に処理することで、入力バッファまたは出力バッファの容量を削減できる。
一般的な画像処理装置は、複数の部品による連携動作の制御を簡便にするため、部分画像データを一時的に保持する中間バッファ(入力バッファ、出力バッファ)の其々を複数個(以降、複数面とも称す)備える。また、1つの部分画像データを1転送単位とし、この転送単位に対して中間バッファを2面備えることが多い。このような構成をダブル・バッファと呼ぶ。この構成では、2面の中間バッファの1面に対し、記憶装置から転送単位のデータを書き込み、並行して、他方の1面から既に格納済みのデータを読み出して様々な処理を行える。
特許文献1では、画像を主走査方向にのみ一次元的に領域分割して、分割後の画素領域について逐次的に画像処理を行っている。この技術では、この分割後の画素領域を、さらに主走査方向(行方向)のデータ長と、分割後の画素領域の高さに相当する副走査方向(列方向)のデータ長で囲まれた画素領域に再分割する。そして、この技術では、この小さな画素領域を部分画像データとして、DRAMなどの記憶装置から画像データを読み出すときの転送単位としている。
特許第4179701号公報
近年、1製品に搭載される処理装置の個数が増加傾向にあり、記憶装置にデータを要求する処理装置(マスタ)も増えている。そのような場合には、中間バッファの面数を増やすことで、画像処理が途切れないようにすることができる。さらに、中間バッファへのデータ書込み順序と中間バッファからのデータ読出し順序を、柔軟に設定できる中間バッファも必要となってきている。
しかし、特許文献1の技術を用いて、中間バッファの面数や書込み・読出し順序が異なる複数製品向けの共通回路(共通ASIC、共通基盤)を作成しようとすると、中間バッファの面数毎(又は書込み・読出し順序毎)に中間バッファ制御機構を設計する必要が生じるために製品コストが増加するおそれがある。例えば、中間バッファの構成(面数や書込み・読出し順序)を変更できるようにした場合に、構成を変更した中間バッファへの書き込みと構成を変更した中間バッファからの読出しとの同期をとる制御にも変更を加える必要がある。
本発明は、このような事情に鑑みてなされたもので、本発明の手法により、中間バッファの構成を簡単な構成によって設定できるようにすることを目的としている。
上記目的を達成するため、本発明は、複数の記憶領域を備える記憶手段と、前記複数の記憶領域のうちアクセス対象となる少なくとも1つの記憶領域への書込み順と読出し順との設定を受け付け保持する設定保持手段と、書込み対象の記憶領域を示す第1識別情報を、前記設定保持手段に保持されている前記書込み順に出力する第1出力手段と、読出し対象の記憶領域を示す第2識別情報を、前記設定保持手段に保持されている前記読出し順に出力する第2出力手段と、前記記憶手段へ書き込むデータを受信する受信手段と、前記第1出力手段から出力される第1識別情報の示す記憶領域へ、前記受信手段により受信したデータを書き込む書込み手段と、前記第2出力手段から出力される第2識別情報の示す記憶領域から出力するデータを読み出す読出し手段と、前記読出し手段で読み出したデータを出力する出力手段と、前記書込み手段による前記記憶領域へのアクセスと前記読出し手段による前記記憶領域へのアクセスとが完了したことに応じて、前記第1出力手段と前記第2出力手段のそれぞれについて前記設定保持手段に保持されている書込み順と読出し順における次の順の識別情報を出力させ、当該記憶領域を繰り返し使用して書込みと読出しとを行うように制御する制御手段とを有することを特徴とする。
本発明によれば、中間バッファの構成を簡単な構成によって設定することができる。
(a)画像処理装置の全体構成を示すブロック図である。(b)画像処理部の概略構成を示すブロック図である。 画像データの一連の入出力に関わる構成を示す概略図である。 バンド処理で用いるバンド画像を示す模式図である。 点順次形式の画像データの格納様式とデータ構造とを示す概略図である。 面順次形式の画像データの格納様式とデータ構造とを示す概略図である。 データ同期制御の構成を示す概略図である。 データ同期制御の動作を示す模式図である。 記憶領域を2つに絞った際のデータ同期制御の動作を示す模式図である。 記憶領域を1つに絞った際のデータ同期制御の動作を示す模式図である。 ページ単位でデータを保持する様式を示す模式図である。 並べ替えを含むバッファリングにおけるデータ同期制御の動作を示す模式図である。 並べ替えを含むバッファリングにおけるデータ同期制御の動作を示す模式図である。 画像処理部とNoCやクラウドとを含むシステム全体を示す概略図である。 画像処理装置の処理の概略を示すフローチャートである。
<<実施形態1>>
(画像処理装置)
まず、本発明の一実施形態である実施形態1の画像処理装置101の概略について説明する。画像処理装置101は画像データを処理する情報処理装置であればよい。
図1(a)は、本実施形態に係る画像処理装置101の全体構成の一例を示すブロック図である。画像処理装置101は、CPU回路部100、画像読み取り部120、画像処理部150を備える。
画像読み取り部120は、レンズ124、CCDセンサ126、及びアナログ信号処理部127を有する。画像読み取り部120では、レンズ124を介してCCDセンサ126に原稿110の画像情報が結像され、その画像情報をCCDセンサ126によりR(Red)、G(Green)、B(Blue)のアナログ電気信号に変換する。アナログ電気信号に変換された画像情報は、アナログ信号処理部127に入力され、R、G、Bの色毎に補正等が行われた後にアナログ/デジタル変換(A/D変換)される。こうして、デジタル化されたフルカラーのデジタル画像信号(画素値)が生成される。生成されたデジタル画像信号は、映像入力部130へ入力され、その後、DMAC(Direct Memory Access Controller)192へ入力される。
DMAC192は、CPU102により予め動作が設定されており、共有バス190を介して、入力されたデジタル画像信号をCPU回路部100のRAM106に記憶させる。なお、複数の画素についてのデジタル画像信号を1枚の画像や一部の画像領域を形成するようにまとめたものを、以降の説明では画像データと呼ぶ。本実施形態では、デジタル画像信号は画像データとしてRAM106に記憶されるものとする。画像処理を行う場合、CPU102はDMAC194を起動してRAM106に記憶された画像データをDMA転送によってDMAC194によって読み出させ、処理の対象となる画素に対応するデジタル画像信号を画像処理部150に入力させる。
画像処理部150は、入力されたデジタル画像信号に対して、例えば、スキャナなどのセンサ・デバイスの読み取り素子の個体差の補正(シェーディング)と入力ガンマ補正などの色補正とを行い、処理済みの画像データを出力する。また、画像処理部150は入力されたデジタル画像信号に対し、入力色補正処理、空間フィルタ処理、色空間変換、濃度補正処理、及び中間調処理などの画像処理を施してもよい。そして、DMAC196は、画像処理部150によって画像処理が施された画像データをRAM106に格納する。なお、DMAC196の制御は、例えばCPU102が予めDMAC196の動作を設定し、DMAC196を起動するようにして制御する。この際、DMAC196は、例えば処理後の画像データをダイレクトメモリアクセスによってRAM106や記憶装置108へ書き込むように設定されている。
DMAC198は、RAM106に格納された画像処理済みの画像データを読み出して画像印刷部170へ出力する。DMAC198の設定と起動はCPU102が行う。画像印刷部170は、たとえば、インクジェットヘッドやサーマルヘッド等を使用した印刷出力部(不図示)を備える。そして、入力された画像データのデジタル画像信号に基づいて紙などの記録媒体上に画像を記録する。上述の説明では、画像印刷部170を用いる例を説明したがこれに限られない。例えば、画像印刷部170の構成の代わりに映像入力部130や映像表示部160を用いることにより、入力された映像に対し所望の画像(映像)処理を施し、処理後の映像をディスプレイなどの表示装置(不図示)に表示するようにしてもよい。
CPU回路部100は、演算制御用のCPU102、後述の画像処理やバッファ制御処理を実現するための固定データやプログラムを格納するROM104、データの一時保存やプログラムのロードに使用されるRAM106、及び記憶装置108を備える。記憶装置108はHDD(Hard Disk Drive)やSSD(Solid State Drive)、SDRAM、フラッシュメモリなどの構成を備える。記憶装置108は、本実施形態の画像処理装置が使用するパラメータやプログラムや補正データを記憶する記憶媒体であり、RAM106のデータやプログラム等は、外部記憶装置108からロードされる構成としてもよい。
(画像処理部)
続いて、画像データに画像処理を施す画像処理部150について図1(b)を用いてより詳細に説明する。図に示すように、画像処理部150は実際に画像処理を実施する画像処理実行部153と画像処理実行部153のインターフェースとなる画像入出力部152とを備える。画像入出力部152よりCPU102側(上位側)ではDMACの転送単位やシステムバスのバス幅単位でデータを入出力する。一方で、画像入出力部152より画像処理実行部153側(下位側)では画素値(1つ以上の画素を1単位とするもの)でデータを入出力する。そこで、画像入出力部152は記憶部232を用いて、画像入出力部152から上位側と下位側の処理速度や転送速度の差を和らげる。
次に、図1(b)の構成の概略動作を説明する。まず、CPU102がDMAC194を起動し、DMAC194はRAM106から画像データを読み出す。画像データのデータ構造については後述する。読み出された画像データは、入力ポート151を介して、画像処理部150の画像入出力部152へ入力される。画像入出力部152の画像入力部1521(第1受信部)は、画像データを取得すると、中間バッファ制御部1522に含まれる記憶部232(以降、中間バッファと称す。中間バッファについての詳細は後述する)の記憶領域に取得した画像データを記憶させる。そして、画像入力部1521は、中間バッファ232に記憶されている画像データを読み出しながら画素値を抽出し、入力画素値155として画像処理実行部153へ入力する。
画像処理実行部153は、入力画素値155に対して所定の画像処理を実行し、出力画素値156を画像入出力部152へ出力する。画像処理実行部153の詳細については後述する。なお、ここでは、入力画素値155および出力画素値156のそれぞれは、1つ以上の画素値である。例えば、画像処理実行部153で3×3のフィルタ処理だけを実施する場合には複数(9つ)の画素値が入力画素値155として入力され、それに対して1つの画素値が出力画素値156として出力される。もちろん画像処理回路1531には異なる画像処理を割り当て、それらを組み合わせて実行してもよい(詳細は後述する)。
画像入出力部152では、画像出力部1523が、処理後の出力画素値156から出力画像データを生成して中間バッファ制御部1522内の中間バッファ232(記憶部)に記憶する。画像出力部1523は、中間バッファ232に一時的に記憶された出力画像データを読み出し、出力ポート154を介してDMAC196へ送出する。DMAC196は前述の通り、CPU102により既に起動されており、受け取った出力画像データをRAM106(または記憶装置108)へ書き出す。
このようにして、画像処理部150は、画像処理装置101のRAM106の画像データを読み出してデータ処理を施し、データ処理後の画像データをRAM106へ書き戻す。ここで、画像入出力部152は、画像処理実行部153に対するデータの入出力の調節を行うデータ入出力制御装置として機能する。
なお、図2(b)の構成において、画像入出力部152の画像入力部1521と画像出力部1523は、それぞれデータ同期制御装置500(詳細は後述する)が組み込まれ、データ同期制御装置500によって中間バッファ232へのデータの入出力を監視している。
(画像データの入出力)
図2は、RAM106に保持している1つの画像データについて、RAM106から画像入出力部152へ入力する系と、画像入出力部152からRAM106への出力する系とを含むデータフローの様子を示す概略図である。本説明ではまず、点順次形式の画像データを用いるものとして説明する。まず、図2に示す画像データの入出力の概略を説明すると、画像データの入力系において、画像データを画像処理実行部153へ入力する際には中間バッファ制御部1522のバッファ232の入力領域234に一旦バッファリングしてから入力している。一方で、画像データの出力系において、画像処理実行部153で処理した画像データをRAM106などに出力する際には中間バッファ制御部1522のバッファ232の出力領域236に一旦バッファリングしてから出力している。
次に、図2の詳細を説明する。画像処理装置101は、図2(a)及び図2(b)のように、画像データ300の一部分であるバンド領域301を、画像処理部150への入力画像データとしてRAM106に格納する。なお、入力画像300を複数の短冊状の画像に分割したものがバンド領域(バンド画像)であり、画像処理部150はバンド領域を順に処理する。例えば1920(高さ)×1080(長さ)の入力画像を100(高さ)×1080(長さ)のバンド領域に分割すると、20個(1つは高さ20)に分割できる。この時、バンドメモリは100(高さ)×1080(長さ)分のデータを保持できるように構成すればよい。
そして、このバンド領域の入力画像データは、RAM106で取り扱いやすくなるように32Byteを単位としたデータ構造をもつ。そのため、バンド領域の入力画像データは図2(c)の入力画像データ210に示すようなデータ構造となる。
図2(d)において、CPU102は、DMAC194に指示信号(図2(d)の221)を送信する。DMAC194は、図1の共有バス190を介して、このバンド領域の入力画像データ210をM個の小領域毎にRAM106から読み出し、画像処理部150へ入力する。M個の小領域は、入力画像データ210を、図2(c)に示すデータ構造にしたがって、「32Byte×Bdh_in」の単位で、M個(小領域1〜小領域M211)に分けたものである。DMAC194は、M個の小領域(処理単位)の其々を入力画像データとして1つずつ順に読み出して画像処理部150に入力する。
上記のCPU102からDMAC194への指示信号には、例えば、「読み出し先の先頭アドレス」、「連続読み出し量(32Byte単位のデータを連続何回読み出すか)」、「インクリメント・アドレス(アドレス増分)」および「繰り返し回数」が含まれる。
例えば、図4の点順次形式の画像データでは以下の通りとなる。
・「先頭アドレス」:S5_IMG_STR_ADDR
・「連続読み出し量」:1回(32Byte)
・「インクリメント・アドレス」:1ラインのデータ量=32Byte×M
・「繰り返し数」:バンド領域の高さ=Bdh_in回
このようにすることにより、先頭アドレスS5_IMG_STR_ADDRから、まず32Byteのデータが読みだされる。そして、次のデータを取得するため、アドレスを32Byte×Mだけ増加させることで、小領域2〜M211の1行目のデータの読み出しが飛ばされて、小領域1の第2行目の32Byteのデータを読み出すことができる。この処理を、繰返し数Bdh_in回繰り返す。すなわち、小領域1のBdh_in行分のデータを読み出すことにより、小領域1_211の全てのデータを読み出すことができる。以降、入力画像データ210の小領域2〜小領域M211の読み出しでは、「先頭アドレス」を32ByteずつずらしてDMAC194を動作させる。
画像入出力部152の画像入力部1521は、DMAC194から、入力画像データを受け取る。そして画像入力部1521に組み込まれた、後述のデータ同期制御装置を使って、その受け取った入力画像データを中間バッファ制御部1522へ転送する。中間バッファ制御部1522は、図2(e)のように中間バッファ調停回路230(第1送信部、第2送信部)と中間バッファ232とで構成される。中間バッファ232は入力画像データを格納する領域である入力領域234と出力画像データを格納する領域である出力領域236とを有する。CPU102は、中間バッファ232の入力領域の先頭アドレスを入力領域先頭アドレスとして、出力領域の先頭アドレスを出力領域先頭アドレスとして予め設定しておく。なお、画像入力部1521は受け取った入力画像データを、まず中間バッファ調停回路230へ入力する。
中間バッファ調停回路230は受け取った入力画像データを、中間バッファ232の入力領域234に格納する。通常、中間バッファ232は1つ以上の記憶領域で構成できる。例えば、1つの記憶領域を1つの内部記憶装置(SRAMの1バンク等)で実現する場合には、中間バッファ232は記憶領域の数だけ(バンクを備える)内部記憶装置(SRAM等)を備えるように構成すればよい。また、この内部記憶装置の1ワードあたりのビット長が256ビット(32Byte)長の場合、入力領域234で記憶するべきワード数はバンド領域の高さに相当し、DMA転送の繰り返し数であるBdh_inワードとなる。
一方で、この内部記憶装置の1ワードあたりのビット長が64ビット(8Byte)長の場合、32Byte長のデータを受けるのに4ワード必要となる。そのため、入力領域234で記憶すべきワード数は、バンド領域の高さ(DMA転送の繰り返し数)Bdh_inを4倍したワード数となる。つまり、入力領域の容量は、1回のDMA転送の単位である小領域(処理単位)の入力画像データが格納できる容量となる。なお、DMAC194は、DMA転送や1つのバンド領域の入力画像データの転送が完了すると、そのことを割り込み信号222を用いてCPU102へ通知してもよい。
その後、画像入力部1521は、中間バッファ調停回路230を介して、一時的に記憶された小領域の入力画像データを読み出し、1画素ずつの画素値を順次生成して、画像処理実行部153へ入力する。この時、画像入力部1521と画像処理実行部153との間でハンドシェイクを実施して、画像処理実行部153が次のデータを受け取れる状態であることを確認してもよい。
画像処理実行部153は、入力された1つ以上の画素からなる画素領域に画像処理を施す。例えば、複数の画素からなる画素領域に対して、画像処理実行部153によって所定の重み係数を乗算し、それらの値を全て加算することにより、1つの出力画素を得る。また、画像処理実行部153によってさらに画素領域をバンド領域の高さ方向にスライドさせながら上述の処理を進め、高さ方向に1列分の画素値を出力すると、次の列の画素を出力するための処理を実行させてもよい。画像処理実行部153は処理後の画素値について、1画素ずつ画像入出力部152の画像出力部1523へ出力する。
画像出力部1523(第2受信部)は処理後の画素値を受信し、組み込まれた後述のデータ同期制御装置を使って、処理後の出力画素値を変換した画像データを中間バッファ制御部1522へ転送し、記憶装置108に出力する画像データとして蓄える。
このとき、出力画像データのデータ構造は前述の図4の点順次形式のままであるが、出力画像データ250の形状(2次元の配列)は、図2(f)のように、入力時(図2(c))から変わっていてもよい。これは、画像処理実行部153で、入力画素領域のサイズと出力画素領域のサイズとが異なる様な画像処理が実行されるためである。図3(f)に示すように、出力画像データ250の出力バンド領域の高さは、Bdh_outとなり、出力画像データ250のバンド領域の長さは、8×Nとなる。
ここで、入力画像データ210と出力画像データ250では、バンド領域の高さが異なるため小領域(処理単位)251の容量が小領域211と異なる可能性が有る。これは、画像処理実行153にフィルタ処理や変倍処理などのように入出力画素が1:1にならない処理要素を含むことに起因する。そして、バンド領域の長さが異なれば、小領域(処理単位)の数も小領域211のM個からN個に変化する。しかし、入力画像データ210と出力画像データ250のデータ構造は同様であるため、中間バッファ232の出力領域236の容量は入力領域234の容量と同様の手法で設定できる。
画像出力部1523には、Bdh_out個の画素が4列分入力され、小領域(1)251の出力画像データが中間バッファ232の出力領域236に揃った時点で、画像処理実行部153からの処理後の出力画素値156の受け取りを停止する。そして、出力領域236の出力画像データを順次読み出し、DMAC196へ送出する。そしてDMAC196は、CPU102からの指示信号(図2(d)の信号225)に従って、処理後の画像データをRAM106へ書き込む。
同様の動作を小領域N251まで繰り返し、図2(g)記載の出力バンド領域の出力画像データをRAM106へ書き戻す。
次に、本実施形態の画像処理装置101の処理の概略を図14に基づいて説明する。装置の起動指示をユーザから受け付けると、ステップ1400でCPUが起動シーケンスを開始する。具体的にはROM104に保持されているプログラムローダやファームウェアをCPU102が読み込んで実行する。そして、ステップS1401でCPU102がROMから読み込んだ値をファームウェアのプログラムに従って各構成要素のレジスタにレジスタアクセスで書込む。レジスタアクセスの対象は各DMACの制御レジスタや、後述のデータ同期制御装置500の順序設定レジスタや、インターコネクト1530内の画像処理回路1531の転送順序を規定するレジスタ(不図示)、画像処理回路1531の処理内容を示すレジスタである。なお、CPUがレジスタアクセスで設定する値は、製品出荷前に工場でROMに書き込まれていてもよいし、インターネットやCDROMなどの記憶媒体からROMに書き込まれていてもよい。
ステップS1402で、CPU102は画像処理部150に処理させる画像データの転送を開始するかどうかを判定し、データの転送を開始する際にはDMAC194とDMAC196に処理対象の画像データを転送するために前述の設定をする。
ステップS1403で、画像処理部150の画像入力部1521と画像出力部1523は、中間バッファ232内の書き込み対象と読出し対象に対して入出力データをバッファリングするためのアクセスをする。ここで、中間バッファ232には複数の記憶領域が設けられることが多く、画像入力部1521と画像出力部1523は複数の記憶領域のいずれかをアクセス対象として選択する。
ステップS1404で、画像入力部1521と画像出力部1523の其々は、自身のバッファリングのための書込みと読出しが完了したかどうかを判定する。ステップS1405で、画像入力部1521と画像出力部1523の其々は、自身のデータ転送が終了したかどうかを判定する。ステップS1405でデータ転送が終わっていなければ、ステップS1406で画像入力部1521と画像出力部1523の其々は、次の書き込み対象と読出し対象に移行してステップS1403に遷移してバッファリングを継続する。一方で、ステップS1405でデータ転送が終わっていれば、処理を終了する。
(データ同期制御装置)
まず、データ同期制御装置500の概略について説明する。本実施形態に係るデータ同期制御装置500は、画像入力部1521と画像出力部1523に、1つずつ組み込まれ、中間バッファ232における入力系のバッファリング動作と出力系のバッファリング状態とをそれぞれ個別に監視している。図6に示す構成では画像入力部1521と画像出力部1523に組み込まれている2つのデータ同期制御装置は、中間バッファ制御部1522と中間バッファ232および中間バッファ調停回路230を共有している。なお、画像処理装置101に、画像データの入力と画像データの出力の各々に対して1つずつ中間バッファ制御部1522を配置し、中間バッファ232や中間バッファ制御部1522および中間バッファ調停回路230を、2つのデータ同期制御装置500で共有しない構成にしてもよい。この場合は、この2つのデータ同期制御装置は、それぞれ別の中間バッファ制御部1522と接続されることとなる。
次に、中間バッファ制御部1522の中間バッファ調停回路230の概略を説明する。
中間バッファ制御部1522に組み込まれた中間バッファ調停回路230は、画像入力部1521または画像出力部1523から受信した画像データ(buffer_in)を、中間バッファ232の1つの記憶領域に書き込む(Write)。この際に、中間バッファ調停回路230は、画像入力部1521から受信した画像データ(DMACの転送単位)は入力領域234へバッファリングし、画像出力部1523から受信した画素データ(画素単位)を出力領域236へバッファリングする。次に、中間バッファ調停回路230は、中間バッファ232の記憶領域に記憶している画像データを読み出す。画像入力部1521からの画像データについては、中間バッファ調停回路230が画素単位(1以上の画素)で画像処理実行部153へ出力(送信)する。画像出力部1523がバッファリングした画素データについては、少なくともDMACの転送単位の分だけ溜めてから画像出力部1523が画像データに変換して(DMAC196を介して)RAM106又は記憶装置108へ出力する。
ここで、画像入力部1521のデータ同期制御回路500は入力系のバッファリング動作について、中間バッファ232への書き込み動作と読出し動作を確認して同期制御を行う。一方で、画像出力部1523のデータ同期制御装置500は、出力系のバッファリング動作について中間バッファ232への書き込み動作と読出し動作を確認して同期制御を行う。
次に、図6を用いてデータ同期制御装置500の構成と動作を説明する。図6は、データ同期制御装置500の概略構成を示すブロック図である。画像入力部1521に組み込まれたデータ同期制御装置500も画像出力部1523に組み込まれたデータ同期制御装置500も同じ構成でよい(ただし、入力系と出力系で扱う記憶領域が異なるため設定は異なる)。データ同期制御装置500は、「書込み順序設定レジスタ530や読出し順序設定レジスタ540のように、中間バッファ232のどの領域に書き込むか(読み出すか)を示すバンクアドレスなどの情報を書込み(読出し)順で出力する構成」と、「同期制御部570のように読出し系と書込み系の同期制御を行う構成」によって同期制御をしている。
図6の構成では、入力系と出力系に配置される2つのデータ同期制御装置500は中間バッファ232の4つの記憶領域[0]510〜記憶領域[3]513に対して同期制御を行う。そのため、データ同期制御装置500は4つの記憶領域の記憶状態を監視した結果を記憶領域毎に保持するために、少なくとも4つの記憶状態保持レジスタ(記憶状態保持部)520を備える。例えば、同期制御部570がある記憶領域に書き込むべきデータが記憶領域にすべて書き込まれた段階で、この記憶領域に対応する記憶状態保持レジスタ520に対して有効を示すフラグを設定する。さらに、同期制御部570は、記憶領域から読み出すべきデータが記憶領域からすべて読み出された段階で、読み出した記憶領域に対応する記憶状態保持レジスタ520に対して無効を示すフラグに変更する。このように記憶状態保持レジスタ520には、すべての記憶領域のデータの格納状態を示すフラグが保持されている。なお、各記憶状態保持レジスタ520は初期値としてデータを保持していないこと(無効)を示すフラグが設定されているものとする。
データ同期制御装置500には、書き込み順序を設定する書き込み順序設定レジスタ(第1出力部または第3出力部)530と読み出し順序設定レジスタ(第2出力部または第4出力部)540を備える。これらの順序設定レジスタ(順序設定部)には前述の記憶領域の各々に対応した番号(値やIDなど、個々を識別するための情報)を、使用する順番に沿って設定する。例えば入力系のデータ同期制御装置500について、カスケード接続されている4つの書き込み順序レジスタ530には、前述のようにCPU102によって{0x0,0x1,0x0,0x1}という識別情報(第1識別情報)が設定されている。この識別情報はアクセス対象を識別するためのもので、この設定であると記憶領域[0]、記憶領域[1]、記憶領域[0]、記憶領域[1]の順序で記憶領域にアクセスすることを意味している。また、読み出し順序レジスタ540に保持されている識別情報(第2識別情報)も書込み順序設定レジスタ530と同様の設定である例について説明する。この場合は、書き込み順と同じ順で記憶領域が読出しアクセスされる。一方で、出力系のデータ同期制御装置500の書き込み順序設定レジスタ530およびお読出し順序設定レジスタ540には{0x2,0x3,0x2,0x3}という識別情報をCPU102が設定する。
また、データ同期制御装置500は、順序設定レジスタ530、540に設定されている順序に沿って記憶領域を選択させるために、書き込み記憶領域選択回路(記憶領域選択部)535と読み出し記憶領域選択回路(記憶領域選択部)545を備える。図6
の例では、記憶領域選択回路535,545はリング式のレジスタになっており、保持している値を同期信号572によってシフトする機構になっている。そのため、記憶領域選択回路535,545は記憶領域を識別するための値を設定された使用順で繰り返しながら出力する。図示している例では、斜線でマークされたレジスタ532と542に保持されている番号が、次に使用される記憶領域(アクセス対象として選択された記憶領域)の番号を示している。そして、データ同期制御装置500は、選択された記憶領域の記憶状態を確認するために、セレクタ538と548を用いて領域選択回路535,545により選択された記憶領域に対応する記憶状態保持レジスタの値を各々取得する。
同期制御部570は、選択された記憶領域への書き込みを制御する書き込み制御部550(第1書込み部、第2書込み部)と、選択された記憶領域からの読み出しを制御する読み出し制御部560(第1読出し部、第2読出し部)と、の同期をとるための構成である。書き込み制御部550と読み出し制御部560は、前述の小領域(転送単位)の画像データを、DMA転送や画像処理の走査方向などに沿って、選択された記憶領域に書き込んだり、読み出したりする。そして、書き込み制御部550と読み出し制御部560の各々は、小領域(転送単位)の画像データの書き込み,読出し処理を完了すると、同期制御部570に通知する。ここで、同期制御部570は、画像データの書き込みと読み出しの両方が完了するまで待ち合わせを行う。書き込み制御部550と読み出し制御部560の両方の処理が完了すると、同期制御部570は同期信号572を有効にして、記憶領域選択回路535,545のリング式レジスタの値をシフトさせる。これによって、記憶状態保持レジスタ530,540のうち、選択された記憶領域の状態を、無効から有効に変化させたり、有効から無効に変化させたりすることができる。データ同期制御装置500は、以上のようにして画像データの書き込みと読み出しの同期を取る。
なお、書込み順序設定レジスタ530や読出し順序設定レジスタ540はシフトレジスタでなくてもよい。例えば、順序設定レジスタが4つのレジスタで構成される場合に、4つのレジスタを順にラウンドロビンで選択するようなマルチプレクサを配置すればよい。マルチプレクサを用いる場合は、同期制御部570からの同期信号572によって次のレジスタを選択すればよい。他にも、アクセス順に記憶領域の番号を保持するテーブルを保持し、テーブルのエントリに保持されている記憶領域の番号を順に出力するように構成してもよい。
また、書込み順序設定レジスタ530や読出し順序設定レジスタ540の値は、画像処理装置101による処理の開始時に、ROM104に保持されているファームウェアをCPU102が実行し、CPU102によるレジスタ設定によって書きこまれる。書込み順序設定レジスタ530と読出し順序設定レジスタ540および各画像処理回路1531内のレジスタ(不図示)は同一のレジスタアドレス空間に配置されていてもよい。その際、これらのレジスタはCPU102によって同様に設定することができる。なお、画像処理回路1531内のレジスタ(不図示)は各画像処理回路1531の処理内容を規定するパラメータである。ここで、図1(a),図1(b)に示す構成では、DMAC194から画像処理部150内部へは単一のバス経路しか図示していないが、レジスタ設定をするコマンドと処理対象の画像データを単一のバス経路で多重化するように構成すればよい。
(「記憶領域の記憶状態」と「書き込みや読み出し」の関係)
次に、書込み制御部550や読出し制御部560による書込み,読出し処理によって記憶領域[0]〜[3]の記憶状態がどのように遷移するかを説明する。
図7〜図9は、図6の構成における書込み,読出し処理中の記憶状態の遷移を示す模式図である。図の上部には書込み,読込み対象の画像データの一部とバンド領域との関係や、書込み順序設定および読出し順序設定を示す。詳細には、1つのバンド領域に対応する画像データとしてデータ[0]〜データ[9]まで並んでいる。このデータの1つは、前述の小領域(転送単位)を示している。そしてバンド領域の左端から右端に向けて、図ではデータ[0]からデータ[9]までを順番に入力し、出力することを示している。
図8は、入力系のデータ同期制御装置500の挙動を示す。図8では、書込み順序設定と読出し順序設定とが記憶領域[2],[3]を使用しないように設定されている。
図8の下部には各記憶領域の記憶状態を示す模式図を示している。この模式図の横軸に記憶領域[0]から記憶領域[3]を図示し、縦軸にT[0]からの時間の経過を示す。また、模式図の左端に示す時間の経過の1区切りが前述の同期信号が有効になるタイミングを図示している。また模式図には、左端からデータの書き込みが行われ、右端から格納済みのデータの読み出しが行われている様を図示している。
T[0]のとき、書き込み順序設定レジスタ532に格納されている{0x0}に対応する記憶領域[0]の記憶状態は、データが格納されていないことを示す<無効>である。として、書込み制御部550は外部から記憶領域[0]に対してデータ[0]の書き込みを行う。一方、読み出し順序設定レジスタ542に格納されている{0x0}に対応する記憶領域[0]の記憶状態は<無効>であり、まだデータが格納されていないので、読み出し制御部560はデータを読み出すことができない。ここで、同期制御部570はT[0]で読み出しが行われないので読み出し完了として取り扱い、書き込みが完了した段階で同期処理する。なお、この同期処理において同期制御部570は、書き込み順序設定レジスタ530の値を1つシフトするが、読み出しは行われていないので読み出し順序設定レジスタ540の値はシフトしない。
T[1]のとき、書き込み順序設定レジスタ532に格納されている{0x1}に対応する記憶領域[1]の記憶状態は、データが格納されていないことを示す<無効>であり、書込み制御部550は記憶領域[1]に対してデータ[1]の書き込みを行う。一方、読み出し順序設定レジスタ542に格納されている{0x0}に対応する記憶領域[0]の記憶状態は<有効>であり(図にはデータ[0]を示すマークとして図示している)、読み出し制御部560によって格納されているデータを読み出すことができる。同期制御部570はデータ[1]の書き込みとデータ[0]の読み出しの両方が完了した通知を受けてから、書き込み順序設定レジスタ532と読み出し順序設定レジスタ542の値を各々1つシフトする。
T[2]以降も同様に、図8のように処理を行えば、データ[0]からデータ[9]までの画像データを入出力できる。
図8の例では、書き込み順序設定と読み出し順序設定の設定値を{0x0,0x1,0x0,0x1}とすることで、見かけ上の記憶領域の数を2つに設定している。順序設定の値に{0x2}と{0x3}がないため、記憶領域[2]と記憶領域[3]は使用されることはない。例えば、中間バッファ232の中に記憶領域を2つしか持たないASICを設計する際であっても、データ同期制御装置500の順序設定レジスタの設定を変えるだけで対応できる。なお、出力系のデータ同期制御装置500では書き込み順序設定と読み出し順序設定の設定値を{0x2,0x3,0x2,0x3}と設定することで、記憶領域[0]と記憶領域[1]を使用しない様に設定している。入力系の挙動とアクセス対象の記憶領域が異なるだけであり、出力系の挙動は図8と同様である。図8の模式図から明らかなように、入力系のデータ同期制御装置500と出力系のデータ同期制御装置500は、アクセス対象の記憶領域が変わるだけで、同期制御装置500や中間バッファ制御部1522の論理構成を変更しなくてすむ。
次に、入力系と出力系で中間バッファ232と中間バッファ調停回路230とを個別に備える形態に、図6のデータ同期制御装置500を適用した場合の挙動について、図7を用いて説明する。なお、図2に示すように中間バッファ232の各記憶領域が入力系の入力領域234と出力系の出力領域236とに分けられていれば、入力系と出力系の同期制御装置500はどちらも全ての記憶領域をアクセス対象とすることができる。
図7の例では書き込み順序設定と読み出し順序設定はどちらも{0x0,0x1,0x2,0x3}と設定しているため、記憶領域[0]、記憶領域[1]、記憶領域[2]、記憶領域[3]、記憶領域[0]・・・の順序でアクセス対象として選択される。
また、図9の例は、記憶領域の数を1つに設定したときの模式図である。この例では書き込み順序設定と読み出し順序設定の設定値を{0x0,0x0,0x0,0x0}とする。順序設定の値に{0x1}と{0x2}と{0x3}がないため、記憶領域[1],[2],[3]は使用されることはない。図9の処理についても、図6の構成について順序設定を変えるだけで実現することができる。
ただし、図9のように記憶領域の数を1つにすると、書き込み処理(buffer_in)と読み出し処理(buffer_out)とで同一の記憶領域[0]を共有するため、どちらかの1つ処理しか同時に実行することはできない。そのため、データ[0]からデータ[9]までの画像データを入出力するために所要する時間が図7,図8と比べて大きく延びている。
なお、図9や図8の例は、中間バッファ制御部1522を入力系と出力系に個別に設ける場合であっても、共有してもうける場合であっても適用できる。
(画像処理実行部)
次に、画像処理部150内の画像処理実行部153について詳細に説明する。画像処理実行部153は、画像処理回路(1)〜(P)の、P個の画像処理回路1531と、それらを繋ぐインターコネクト1530とで構成される。P個の画像処理回路1531と、インターコネクト1530とは、入力ポート1532、1535、並びに1538、および出力ポート1533、1536、並びに1539等のポートを介して互いに接続される。各ポートはデータとコマンド(画像処理回路1531での画像処理内容を決定するパラメータなど)を多重化して送信する。
画像処理回路1531は、例えば、入力色補正処理、色空間変換、濃度補正処理、中間調処理、空間フィルタ処理、解像度変換、トリミング処理、端部拡張処理、IP変換、クロマ・アップサンプリングのうち、少なくとも1つに関する処理を行う。これらの画像処理回路1531は、其々がパイプライン回路等のハードウエアロジックで実現されてもよいし、プロセッサがプログラム(ソフトウエア)を実行することで実現されてもよい。そして、例えば、入力ポート1532、1535、1538等から入力画素値155を受け取り、処理を施した後に、出力ポート1533、1536、1539から処理後の出力画素値156を出力する。
また、インターコネクト1530はクロスバーやリングバス等の接続手段で実現されており、入力ポートと出力ポートの接続先を任意に切り替えることができる。したがって、CPU102がこれらポートの接続先の指定をインターコネクト内のレジスタに設定することで、インターコネクト1530は、例えばP個の画像処理回路1531の実行順序を変更し、または一部の処理をバイパス(スキップ)することができる。このように、画像処理実行部153は、アプリケーションに応じて、各種の処理を取捨選択して組み合せ、所望の画像処理を実現する。
(領域分割)
次に、本実施形態における画像データの領域分割について説明する。本実施形態では、領域分割手法の1つであるバンド処理を用いるものとする。以下、バンド処理について、図3を用いて説明する。バンド処理では、図3(a)〜(d)に示されるように、1枚の画像データ300を帯状のバンド領域301〜304に分割し、この領域毎に各種の画像処理を行う。なお、バンド領域は、画像データを主走査方向または副走査方向のいずれかにおいて帯状に分割したものであり、バンド領域と画像データとは、主走査方向または副走査方向のいずれかにおいて長さが一致する。例えば、図3(a)〜(d)では、画像データは副走査方向において分割され、画像データとバンド領域とでは、主走査方向について同一の長さを有し、副走査方向において異なる長さを有する。以下では、この分割された細長い領域をバンド領域と呼び、バンド領域が展開されるアドレス領域をバンドメモリと呼び、画像データを分割する行為をバンド分割と呼ぶ。バンドメモリは、RAM106内に確保されてもよく、また、システム上の適切な領域に確保されてもよい。なお、ここでは説明を簡潔にするためにバンドメモリをRAM106に確保する場合を例に挙げて説明する。
また、以下では、図3(e)に示すように、画像データの座標系(主走査方向−副走査方向)を、長さ方向、高さ方向という新たな座標系(バンド領域座標系)によって定義し、バンド領域を「長さ×高さ」で表現する。バンド領域の長さ、すなわちバンド領域の長さ方向の一辺の大きさは、画像データの主走査方向の長さ、または副走査方向の長さの何れかの値とする。また、バンド領域の高さ、すなわちバンド領域の高さ方向の一辺の大きさは任意の値となる。例えば、図3(a)〜(d)では、長さ方向は主走査方向であり、高さ方向は副走査方向である。これに対し、図3(p)〜(r)のように、例えば画像データを主走査方向において分割した場合、図3(s)に示すように、長さ方向が副走査方向となり高さ方向が主走査方向となる。図3(p)〜(r)のようなバンド分割は、例えば画像データの主走査方向の大きさが副走査方向の大きさより大きい場合に行うようにしてもよい。
バンド処理では、まず、図3(a)に示す第1のバンド領域301を、RAM106上のバンドメモリに展開して画像処理を行い、処理結果はRAM106のバンドメモリ外に書き戻す。次に、図3(b)に示す第2のバンド領域302を、第1のバンド領域301が展開されたRAM106上のバンドメモリに上書き展開して、画像処理を行なう。図3(c)に示す第3のバンド領域303や、図3(d)に示す第4のバンド領域304も、同様にバンドメモリに上書き展開して画像処理を行なう。図3(a)〜(d)で明らかなように、バンド領域301〜304の長さは同じであるが、高さは同じでなくてもよい。したがって、メインメモリに確保されるバンドメモリの高さは、高さ方向の一辺の大きさが最も大きいバンド領域(図3の場合、第1〜第3のバンド領域301〜303)によって決定される。
なお、バンド処理では、各バンド領域間で隙間なく空間フィルタ処理などの局所(近傍)画像処理を行なうため、図3(f)〜(h)のように、各バンド領域が、それぞれ隣接する領域との境界で一部分が互いに重なり合うようにする。そして、各領域の高さと同一の方向に1画素ずつ画素を走査ことで、局所(近傍)画像処理に必要な処理画素を保持する遅延メモリの容量を各領域の高さで規定する。以上のように領域毎に処理することにより、局所(近傍)画像処理で必要となる遅延メモリの省メモリ化を実現できる。
(点順次形式の画像データのデータ構造)
次に、点順次形式の画像データのデータ構造の一例について詳細に説明する。本実施形態では、前述のように、画像データはRAM106に一時的に格納される。一般的にRAM106は安価なDRAMで構成されることが多い。したがって、前述のようにDMACを介して画像データをDRAM対して読み書きする場合、DRAMの性能を落とさずに読み書きできる単位(アクセス単位)で画像データを取り扱うことが望ましい。そこで、RAM106(以降の説明ではDRAMとする)の画像データの格納方法の一例と、画像データのデータ構造の一例について、図4を用いて詳しく説明する。図4は、RAM106上にデータが格納された状態を示している。図4の例では、あるデータ領域407(IMG_AREA_STR_ADDRからIMG_AREA_END_ADDRまでの領域)が予め画像処理を始める前に確保され、ここに画像処理に必要な種々の画像データが格納される。
図4は、点順次形式の画像データのRAM106への格納例であり、RAM106のデータ領域に、S5_IMG425とS6_IMG426の2種の画像データが格納されている。この例では、DRAMの性能を落とさずに画像データを読み書きできるように、格納される画像データの容量の最小単位は、図中の408に示すように、32bit×8wordの32Byteとしている。すなわち、S5_IMG425とS6_IMG426の画像データの格納容量(DRAM上での容量)は32Byteの整数倍となる。なお、画像処理装置101でのRAM106の構成のし方や、RAM106を実現する記憶部(DRAM、SDRAM、DDR等)の種類、メモリバスのバス幅、そして実行する画像処理の種類等により、画像データの読み書き単位は必ずしも32Byteでなくてもよい。例えば、読み書き単位が変われば、画像データを記憶する中間バッファの容量の算出方法を変えればよい。
次に、点順次形式の画像データのデータ構造を詳しく説明する。画像データ440は点順次形式で、R(Red)、G(Green)、B(Blue)の其々の画素値を有する(以降、RGBの画素値の組み合わせを1つの画素値と略称する)。画像データ440に含まれる1つの領域442は32Byte単位のデータであり、1つの領域442の中には、444で示すように、複数個(8つ)の画素値がパッキングされている。そして、444に含まれる8つの画素値のそれぞれには、446で示すようにそれぞれ10bitのR、G、Bの値がパッキングされている。なお、図の例では、残りの2bitは、DRAMへのアクセスを効率的にするための無効データ(予約領域)であり、データを格納しない(常に零値である)ものとする。図中太線で表される画像データ440は、8M×N画素のサイズを有する。なお、上述の例では、縦1画素、横8画素を1単位として32Byte単位のデータの領域442を定めた例を示したが、画像データ494の例のように、縦2画素、横4画素を1単位とするデータの領域492を定めてもよい。
(面順次形式の画像データのデータ構造)
次に、面順次形式の画像データのデータ構造の一例について、図5を用いて説明する。図5に図示している例では、RAM106のデータ領域に、S0_IMG420〜S3_IMG424までの4種の画像データが格納されている。この4種のデータは、画像読み取り部120で読み取った画像に色空間変換や濃度補正処理を施し、第1色K(Black)、第2色M(Magenta)、第3色C(Cyan)、第4色Y(Yellow)の色毎のモノトーンの画像に変換したものである。そしてDRAMの性能を落とさずに画像データを読み書きできるように、各々格納される画像データの容量の最小単位は、点順次形式の画像データと同様に、32Byte(32bit×8word)単位となっている。S0_IMG420〜S3_IMG426のデータの格納容量についても上述の点順次の説明と同様に32Byteの整数倍となる。
次に、面順次形式の画像データのデータ構造を詳しく説明する。画像データ430は前述のS0_IMG420の領域の第1色K(Black)の画像データを示している。画像データ430の領域432は前述32Byte単位のデータであり、その中に8個の32bit長データ434がパッキングされている。そして、1つの32bit長データ434は、K(Black)の色要素について4つの8bit長データ436を有する。図の太枠430の範囲は、8×4×M×Nの大きさの画像データを意味する。第2色〜第4色の画像データについてもそのデータ構造は同様なのでその説明は省略する。
(面順次形式の画像データの入出力方法)
上述の説明では簡便のため点順次形式の画像データを用いて説明したが、次に、図5の様な面順次形式の画像データをRAM106から画像処理部150へ入力し、処理後の画像データを画像処理部150から出力する手法について説明する。
面順次形式の入力画像データについて画像処理を実施する場合、第1色〜第4色の4つの画像データの其々について、小領域(処理単位)ごとにRAM106から読み出す必要がある。そのため、点順次形式の画像データの場合と違い、4色の画像の同じ位置の小領域について、異なる「先頭アドレス」でDMA転送を4回実行する。詳細には、小領域1に対応する画像データについて、DMAC194に、以下の4つの先頭アドレスを順に切り替えながらDMA転送を4回実行する。
・「先頭アドレス[1回目]」:図5のS0_IMG_STR_ADDR
・「先頭アドレス[2回目]」:図5のS1_IMG_STR_ADDR
・「先頭アドレス[3回目]」:図5のS2_IMG_STR_ADDR
・「先頭アドレス[4回目]」:図5のS3_IMG_STR_ADDR
そして、画像入力部1521はDMAC194によって読み出した4つの画像データを、一旦、中間バッファ232へ格納する。そして、画像入力部1521は4つの画像データの所定の位置(座標)の4つの色要素を読み出し、1つにまとめて点順次形式の画素値(C,M,Y,K)として画像処理実行部170へ入力する。また、画像処理実行部153によって処理した点順次形式の画素値(C,M,Y,K)については、画像出力部1523が中間バッファ232へ格納する際に4つの色要素を出力領域内の異なる領域に各々格納することで面順次形式の出力画像データを得る。当然ながら、入力画像データの読み出しと同様で、出力画像データのRAM106への書き出しについても同様に4回のDMA転送が必要となる。
以上のように本実施形態を用いれば、中間バッファの構成(面数や書込み・読出し順序)を変えても、中間バッファへの書込みと読出しの同期制御ができるため、簡単な構成によって中間バッファの構成を設定・変更することが可能になる。
従って、中間バッファへの画像データの書き込み順序と、中間バッファからの画像データの読み出し順序を別々に設定できる。また、中間バッファの面数を任意に変更できる。例えば、2種類の設定を用いて、データの書き込みと読み出しに使用する記憶領域の数をn個(nは2以上の整数)からm個(nより小さい自然数)に設定することができる。そのため高機能製品にはn個の記憶領域を使用し、低価格製品にはm個の記憶領域を使用するなどして中間バッファを構成するSRAM等のメモリを削減し、回路規模を削減できる。また、このとき中間バッファを制御するデータ同期制御装置は同一の装置を用いればよく、各々を区別して別々に論理設計して、異なる2種類の同期制御装置を設計する必要はない。このように書き込み順序と読み出し順序の設定を変更するだけで、データ同期制御装置に接続する中間バッファの記憶領域の数を最適に変更し、中間バッファの記憶容量を最適化できる。また本実施形態を用いることで画像データ入出力の速度と回路規模のトレードオフを実現することができる。
また中間バッファの記憶領域をn個使用する高機能製品において、動作が遅くてよいときに、一時的にデータ入出力用途の中間バッファとして使用する記憶領域をm個に変更し、残りの記憶領域を別用途の画像処理に柔軟に割り当てて、適宜、中間バッファの記憶領域を効率的に使用することができる。ここで、別用途の例としては、フィルタ処理を実施する画像処理回路について、フィルタ処理に必要な周辺画素を保持する遅延メモリや、色変換を実施する画像処理回路についてLUTを保持するLUT保持部や、データキャッシュとしての用途などがある。なお、別用途に用いる画像処理回路は、インターコネクト1530とは別の信号線によって中間バッファとして用いられるSRAMのコントローラの別ポートに接続されるように構成してもよい。
<<実施形態2>>
本実施形態では、実施形態1の構成において書込み順序設定や読出し順序設定の設定値によってバッファでのデータの並べ替えを実現する例を説明する。
図10は、画像の一部ずつを左右反転するなど、前処理や他のデバイス(画像読み取り部120のCCD126の構成など)の都合上、画像データの内部のデータが並び換えられて外部記憶装置に格納されている様を示している。外部記憶装置としてDRAMを用いており、そのDRAMのページ単位(DRAM上における同じ行アドレス単位)に画像処理に必要な画像データが記憶されている。SDRAM等のDRAMは、ページ単位でデータをバースト・アクセスしたときに効率的にデータを読み出せる。そのため、1ページ分の画像データを連続して読み出すことが効率上、望ましい。
図10の例では、DMACは小領域(転送単位)の画像データをデータ[1]、データ[0]の順序で連続して読み出すこととなる。しかしながら、画像処理はデータ[0]、データ[1]の順序で処理する必要があるため、画像入力部1521が並び替える必要がある。
本実施形態のデータ同期制御装置を用いれば、前述の書き込み順序設定の設定値を以下のように変更するだけで、柔軟に対応することができる。
・4つの記憶領域を使用するときの書き込み順序設定={0x1,0x0,0x3,0x2}
・2つの記憶領域を使用するときの書き込み順序設定={0x1,0x0,0x1,0x0}
4つの記憶領域を使用するときの動作を図11に、2つの記憶領域を使用するときの動作を図12に図示する。2つのデータを並び換えながら画像処理するには、2つ以上の記憶領域が必要であり、1つの記憶領域では並び替えることができない。つまり、N個(Nは2以上の整数)のデータを並び替える場合にはN個以上の記憶領域が必要である。図6の構成では4つまでのデータを並び換えながら画像処理することができる。なお、記憶領域の数と、対応する記憶状態保持レジスタの数と順序設定レジスタの数と記憶領域選択回路を拡張すれば、並び替えられるデータの数を容易に増やすことが可能となる。
本実施形態を用いれば、上記のデータ到着順序から画像処理部の処理順序に合わせてデータを入れ替えて処理することができる。本実施形態で実現する機構により、データ同期制御装置の設定を変更するだけで、上述の様々な並び替えのケースに柔軟に対応できる。従って、本実施形態を用いれば、外部記憶装置へのデータの要求順序と、処理装置でのデータの処理順序を同一順序にしない方が、処理速度を低下させないで済む場合に柔軟に対応できる。
<<実施形態3>>
近年、1製品に搭載される処理装置(マスタ)の増加により、処理装置の接続形態としてネットワーク・オン・チップ(以下、NoCと略称する)を採用する場合がある。このNoCでは1つの処理装置(マスタ)が複数の伝送路と接続されており、混雑していない伝送路を使用してデータ転送ができるという利点がある。しかしながら、この接続形態を用いると、データ転送がいつも同じ伝送路を経由するわけではないので、データの要求順序とデータの到着順序が異なってしまうことが起こり得る。そこで本実施形態では、NoCを採用した画像処理装置においてデータの到着順が要求順と異なっていても、バッファで対応できる構成について説明する。
図13は、本実施形態に係るNoCを採用した画像処理装置の一例を示すブロック図である。なお、実施形態1、2と変わらない構成については同一の符号を付すと共に、機能も変わらない場合にはその説明を省略する。図1(a)の構成ではシステムバス190(共有バス)を用いて各構成を接続していたが、本実施形態ではルータを備えた仮想チャネル1900によって各種の構成部品が接続されている。このNoCでは1つの処理装置(マスタ)が複数の伝送路と接続されており、混雑していない伝送路を使用してデータ転送ができるという利点がある。
例えば、画像入力部164に画像データを入力する際、DMAC194が画像データを外部メモリ1922から画像データを読み出す。基本的には最短の経路である経路1930のルータと仮想チャネルを利用して画像データを読み出すことが望ましい。
・経路1930:仮想チャネルCH[2]→ルータ2→仮想チャネルCH[1−4]→ルータ1→仮想チャネルCH[1−3]→ルータ3→メモリコントローラ1→外部メモリ1(1922)
しかしながら、例えば、CPU1とCPU2が通信部1920からインターネット経由でデータを読み出していた場合、ルータ1とルータ2に接続された仮想チャネルCH[1−2]は混雑する。そこでルータ2はこの仮想チャネルCH[1−2]を使用せずに、経路1935を用いて画像データの読み出しを迂回する。
・経路1935:仮想チャネルCH[2]→ルータ2→仮想チャネルCH[2−4]→
ルータ4→仮想チャネルCH[4−6]→ルータ6→仮想チャネルCH[5−6]→
ルータ5→仮想チャネルCH[3−5]→ルータ3→メモリコントローラ1→外部メモリ1(1922)
このような迂回により、ネットワーク・オン・チップ(NoC)を採用した画像処理装置ではバス競合を柔軟に回避することができる。
しかしながら、このようなNoCを用いると、データ転送がいつも同じ伝送路を経由するわけではないので、(DMAC194による)データの要求順序と(DMAC194への)データの到着順序が異なってしまうことがある。本実施形態ではこのような課題に対しても、前述の実施形態のデータ同期制御装置の一部を変更するだけで柔軟に対応できる。
本実施形態では中間バッファの記憶領域を画像データの待ち合わせ用に使用する。すなわち本実施形態では、中間バッファへのデータ書き込み順序は重要ではないので、データ同期制御装置500の書き込み順序設定レジスタ530と書き込み領域選択回路535の機能を停止すればよい。書き込み順序設定レジスタ530と書き込み領域選択回路535を機能させるかどうかを設定するために不図示のレジスタを設ければよい。
画像入力部1521は、読み出し順序設定レジスタ530の設定値を優先順位とし、データ同期制御装置500の記憶状態保持レジスタ520の空き状態(<無効>)を確認する。空き状態の記憶領域には外部から画像データを書き込むことができる。画像入力部1521は、空き状態の記憶領域であって、読み出し順序に従った記憶領域の番号を記憶領域番号としてDMAC194へ通知する(記憶領域番号発行部)。DMAC194は所望の画像データを外部メモリから読み出すときに、この記憶領域番号を属性情報としてリードコマンドに付加する。リードコマンドは、仮想チャネルとルータ経由でメモリコントローラへ送付され、メモリコントローラはリードコマンドのアドレスに従い、所望の画像データを読み出し、記憶領域番号と共にDMAC194に返す。DMAC194は読み出された画像データと記憶領域番号を一緒に画像入力部1521に入力する。
画像入力部1521はデータ同期制御装置500を介して記憶領域番号の記憶領域に画像データを書き込む。書き込みが完了した段階で書き込み制御部550は同期制御部570へ完了を通知する。読み出しと書き込みの両方が完了した段階で同期制御部570(第1制御手段、第2制御手段)は同期信号572を有効にし、記憶状態保持レジスタの値を更新する。具体的には、前述の記憶領域番号の記憶領域に対応する記憶状態を<無効>から<有効>に更新すればよい。
以上のように、比較的容易に仮想チャネルとルータとで構成されたネットワーク・オン・チップを採用した画像処理装置に対応することができる。
本実施形態を用いれば、データ同期制御装置の外側にあるネットワークのデータ要求順序とデータ到着順序が同じ順序を維持できないときでも、データ同期制御装置の書き込み順序をデータ到着順序に合わせられる。そしてさらに本発明のデータ同期制御装置は、上記のデータ到着順序から画像処理部の処理順序に合わせてデータを入れ替えて処理することができる。本実施形態で実現する機構により、データ要求順序とデータ到着順序とデータ処理順序が異なっていても、状況に応じて柔軟に対応できる
〔その他の実施形態〕
また、上述の説明では、主にバンド処理(帯状に分割した画像データを1単位とした処理)について説明した。しかしながら、別の領域分割手法であるブロック(タイル)処理についても本発明の画像処理方法を適用できる。ブロック(タイル)処理では、主走査方向と副走査方向に沿って画像データを2次元で領域分割する。例えば、前述までに説明した小領域(処理単位)が、この2次元で領域分割された画素領域と対応させればよく、小領域(1)から小領域(M)まで順次読み出す手法はブロック(タイル)処理そのものである。また、RAM106の記憶容量に余裕があり、局所(近傍)画像処理における遅延メモリを省容量化する必要がなければ、1ページ分の画像データ300をRAM106に格納し、1ページの単位で画像処理を行ってもよい。いずれの場合も、画像データを記憶する中間バッファを制御するために、本発明のデータ同期制御装置が適用できることは言うまでもない。
また、上述の実施形態では、DMACを複数備える構成を用いているが、DMACはそもそもCPUの代わりにデータ転送を行う構成要素であり、CPUの転送負荷が増えてもよいのであれば、任意のDMACを削除しCPUにその処理を追加してもよい。
上述の実施形態ではプリンタを例に説明をしているが、他にもラスタプロッタやビデオカメラなど種々の用途に適用できる。
上述の実施形態では画像データについて詳細に説明しているが、本発明はサブシステム(ここではCPU以外の処理系)でデータ処理を実施する情報処理装置であればよく、画像データ以外を処理するものであっても同様に適用することができる。その場合は、画像処理回路は音声データや動画像データ、文書データについて処理するように構成されていればよい。
なお、前述の各実施例の処理は、複数のハードウエアとソフトウエアの協同によって実現するようにしてもよい。この場合、ネットワーク又は各種記憶媒体を介して取得したソフトウエア(プログラム)をコンピュータ等の処理装置(CPU、プロセッサ)にて実行することで実現できる。また、本発明は前述した実施例の機能をコンピュータに実現させるプログラムを記憶した記憶媒体を、システム或いは装置に供給することによって実現してもよい。
上述の各実施形態では説明の簡便のため、実施形態毎の図面を用意して説明したが、複数の実施形態を組み合わせても本発明を実施できる。その場合、各実施形態の効果に対応する個別の課題を解決していることに相当する。

Claims (20)

  1. 複数の記憶領域を備える記憶手段と、
    前記複数の記憶領域のうちアクセス対象となる少なくとも1つの記憶領域への書込み順と読出し順との設定を受け付け保持する設定保持手段と、
    書込み対象の記憶領域を示す第1識別情報を、前記設定保持手段に保持されている前記書込み順に出力する第1出力手段と、
    読出し対象の記憶領域を示す第2識別情報を、前記設定保持手段に保持されている前記読出し順に出力する第2出力手段と、
    前記記憶手段へ書き込むデータを受信する受信手段と、
    前記第1出力手段から出力される第1識別情報の示す記憶領域へ、前記受信手段により受信したデータを書き込む書込み手段と、
    前記第2出力手段から出力される第2識別情報の示す記憶領域から送信するデータを読み出す読出し手段と、
    前記読出し手段で読み出したデータを送信する送信手段と、
    前記書込み手段による前記記憶領域へのアクセスと前記読出し手段による前記記憶領域へのアクセスとが完了したことに応じて、前記第1出力手段と前記第2出力手段のそれぞれについて前記設定保持手段に保持されている書込み順と読出し順における次の順の識別情報を出力させ、当該記憶領域を繰り返し使用して書込みと読出しとを行うように制御する制御手段と
    を有することを特徴とするバッファ。
  2. 前記複数の記憶領域の其々の記憶状態を示す状態保持手段を更に備え、前記書込み手段と前記読出し手段とは、アクセス対象の記憶領域について当該状態保持手段の保持している値に基づいてアクセスを実施することを特徴とする請求項1に記載のバッファ。
  3. バッファしたN個(Nは2以上の整数)ずつのデータを並び替えながら出力するバッファであって、前記記憶手段は少なくともN個の記憶領域を備えることを特徴とする請求項1に記載のバッファ。
  4. 前記記憶手段はSRAMを含み、前記記憶領域は当該SRAMのバンクと対応することを特徴とする請求項1に記載のバッファ。
  5. 前記第1、第2出力手段の其々はシフトレジスタであり、前記制御手段からの同期信号によって保持している値をシフトさせる請求項1に記載のバッファ。
  6. 前記第1、第2出力手段の其々は、複数のレジスタとマルチプレクサを含み、マルチプレクサによって複数のレジスタの保持している値をラウンドロビンで選択して出力する請求項1に記載のバッファ。
  7. 複数の記憶領域を備える記憶手段と、
    書込み対象の記憶領域を示す第1識別情報を、書込み順に出力する第1、第3出力手段と、
    読出し対象の記憶領域を示す第2識別情報を、読出し順に出力する第2、第4出力手段と、
    前記記憶手段へ書き込むデータを受信する第1受信手段と、
    前記第1出力手段から出力される第1識別情報の示す記憶領域へ、前記第1受信手段により受信したデータを書き込む第1書込み手段と、
    前記第2出力手段から出力される第2識別情報の示す記憶領域から送信するデータを読み出す第1読出し手段と、
    前記第1読出し手段で読み出したデータを送信する第1送信手段と、
    前記第1送信手段の送信したデータを処理する複数の画像処理回路と、
    前記画像処理回路で処理済みのデータを受信する第2受信手段と
    前記第3出力手段から出力される第1識別情報の示す記憶領域へ、前記第2受信手段により受信したデータを書き込む第2書込み手段と、
    前記第4出力手段から出力される第2識別情報の示す記憶領域から送信するデータを読み出す第2読出し手段と、前記第2読出し手段で読み出したデータを送信する第2送信手段と、
    前記第1書込み手段による前記記憶手段へのアクセスと前記第1読出し手段による前記記憶手段へのアクセスとが完了したことに応じて、前記第1出力手段と前記第2出力手段のそれぞれについて次の順の識別情報を出力させるように制御する第1制御手段と、
    前記第2書込み手段による前記記憶手段へのアクセスと前記第2読出し手段による前記記憶手段へのアクセスとが完了したことに応じて、前記第3出力手段と前記第4出力手段のそれぞれについて次の順の識別情報を出力させるように制御する第2制御手段と
    を有することを特徴とする画像処理装置。
  8. 複数の記憶領域を備える記憶手段について、当該記憶領域へのデータの入出力制御を同期させる同期制御装置であって、前記記憶領域に対する前記データの書き込み順序または読み出し順序を保持する順序設定手段と、前記記憶領域毎のデータの記憶状態を保持する保持手段と、前記順序設定手段の保持している順序に沿って前記データを書き込む、もしくは読み出すための前記記憶領域の1つを選択する記憶領域選択手段と、前記記憶領域選択手段により選択された記憶領域について前記保持手段に保持されている記憶状態に基づいて、データの入出力制御を実施する制御手段と、を有し、当該記憶領域を繰り返し使用して書込みと読出しとを行うることを特徴とする同期制御装置。
  9. 前記データを書き込む、もしくは読み出すために使用する前記記憶領域の数は、前記順序設定手段の設定により定まることを特徴とする請求項8に記載の同期制御装置。
  10. 前記順序設定手段の設定値を変更し、使用する前記記憶領域の数を変更することにより前記記憶手段の容量を変更することを特徴とする請求項8に記載の同期制御装置。
  11. 前記書き込み順序設定手段の設定と前記読み出し順序設定手段の設定とを異なる設定に定めることで前記記憶手段によってデータを並び替えることを特徴とする請求項8に記載の同期制御装置。
  12. 前記保持手段の保持している記憶状態に基づいて、外部から前記データを読み出すことを特徴とする請求項8に記載の同期制御装置。
  13. 前記書き込み順序設定手段の設定に代わり、外部から前記データを読み出すときの記憶領域番号を用いて、外部から受信したデータを前記記憶領域に書き込むことを特徴とする請求項12に記載の同期制御装置。
  14. 前記データは1つ以上の画素からなる画素領域に対応し、前記記憶領域選択手段の定める記憶領域から、画像処理の走査方向に従って前記データを書き込む、もしくは読み出すことを特徴とする請求項8に記載の同期制御装置。
  15. 前記設定保持手段は、前記記憶領域を識別する識別情報を、前記書込み順と前記読出し順とに並べて保持することを特徴とする請求項1記載のバッファ。
  16. 複数の記憶領域を備える記憶手段と、前記複数の記憶領域のうちアクセス対象となる少なくとも1つの記憶領域への書込み順と読出し順との設定を受け付け保持する設定保持手段と、書込み対象の記憶領域を示す第1識別情報を、前記設定保持手段に保持されている前記書込み順に出力する第1出力手段と、読出し対象の記憶領域を示す第2識別情報を、前記設定保持手段に保持されている前記読出し順に出力する第2出力手段と、前記記憶手段へ書き込むデータを受信する受信手段と、前記第1出力手段から出力される第1識別情報の示す記憶領域へ、前記受信手段により受信したデータを書き込む書込み手段と、前記第2出力手段から出力される第2識別情報の示す記憶領域から送信するデータを読み出す読出し手段と、前記読出し手段で読み出したデータを送信する送信手段と、を備えるバッファの制御方法であって、
    前記書込み手段による前記記憶領域へのアクセスと前記読出し手段による前記記憶領域へのアクセスとが完了したことに応じて、前記第1出力手段と前記第2出力手段のそれぞれについて前記設定保持手段に保持されている書込み順と読出し順における次の順の識別情報を出力させ、当該記憶領域を繰り返し使用して書込みと読出しとを行うように制御することを特徴とする制御方法。
  17. 前記複数の記憶領域の其々の記憶状態を示す状態保持手段を更に備え、前記書込み手段と前記読出し手段とは、アクセス対象の記憶領域について当該状態保持手段の保持している値に基づいてアクセスを実施することを特徴とする請求項16に記載の制御方法。
  18. 前記記憶手段は少なくともN個の記憶領域を備え、前記読出し手段はバッファしたN個(Nは2以上の整数)ずつのデータを並び替えながら出力することを特徴とする請求項16に記載の制御方法。
  19. 複数の記憶領域を備える記憶手段と、前記記憶領域に対するデータの書き込み順序または読み出し順序を保持する順序設定手段と、前記記憶領域毎のデータの記憶状態を保持する保持手段と、前記順序設定手段の保持している順序に沿って前記データを書き込む、もしくは読み出すための前記記憶領域の1つを選択する記憶領域選択手段と、を備える同期制御装置による同期制御方法であって、前記記憶領域選択手段により選択された記憶領域について前記保持手段に保持されている記憶状態に基づいて、データの入出力制御を実施し、当該記憶領域を繰り返し使用して書込みと読出しとをすることを特徴とする同期制御方法。
  20. 複数の記憶領域を備える記憶手段と、書込み対象の記憶領域を示す第1識別情報を、書込み順に出力する第1、第3出力手段と、読出し対象の記憶領域を示す第2識別情報を、読出し順に出力する第2、第4出力手段と、前記記憶手段へ書き込むデータを受信する第1受信手段と、前記第1出力手段から出力される第1識別情報の示す記憶領域へ、前記第1受信手段により受信したデータを書き込む第1書込み手段と、前記第2出力手段から出力される第2識別情報の示す記憶領域から送信するデータを読み出す第1読出し手段と、前記第1読出し手段で読み出したデータを送信する第1送信手段と、前記第1送信手段の送信したデータを処理する複数の画像処理回路と、前記画像処理回路で処理済みのデータを受信する第2受信手段と前記第3出力手段から出力される第1識別情報の示す記憶領域へ、前記第2受信手段により受信したデータを書き込む第2書込み手段と、前記第4出力手段から出力される第2識別情報の示す記憶領域から送信するデータを読み出す第2読出し手段と、前記第2読出し手段で読み出したデータを送信する第2送信手段と、を備える画像処理装置による画像処理方法であって、
    前記第1書込み手段による前記記憶手段へのアクセスと前記第1読出し手段による前記記憶手段へのアクセスとが完了したことに応じて、前記第1出力手段と前記第2出力手段のそれぞれについて次の順の識別情報を出力させるように制御する第1制御工程と、
    前記第2書込み手段による前記記憶手段へのアクセスと前記第2読出し手段による前記記憶手段へのアクセスとが完了したことに応じて、前記第3出力手段と前記第4出力手段のそれぞれについて次の順の識別情報を出力させるように制御する第2制御工程と
    を有することを特徴とする画像処理方法。
JP2012167044A 2012-07-27 2012-07-27 バッファ、バッファの制御方法、同期制御装置、同期制御方法、画像処理装置および画像処理方法 Active JP6238510B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012167044A JP6238510B2 (ja) 2012-07-27 2012-07-27 バッファ、バッファの制御方法、同期制御装置、同期制御方法、画像処理装置および画像処理方法
US13/945,799 US9672874B2 (en) 2012-07-27 2013-07-18 Buffer, method for controlling buffer, synchronization control device, synchronization control method, image processing apparatus, and image processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012167044A JP6238510B2 (ja) 2012-07-27 2012-07-27 バッファ、バッファの制御方法、同期制御装置、同期制御方法、画像処理装置および画像処理方法

Publications (2)

Publication Number Publication Date
JP2014027529A JP2014027529A (ja) 2014-02-06
JP6238510B2 true JP6238510B2 (ja) 2017-11-29

Family

ID=49994775

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012167044A Active JP6238510B2 (ja) 2012-07-27 2012-07-27 バッファ、バッファの制御方法、同期制御装置、同期制御方法、画像処理装置および画像処理方法

Country Status (2)

Country Link
US (1) US9672874B2 (ja)
JP (1) JP6238510B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6779263B2 (ja) * 2018-09-12 2020-11-04 キヤノン株式会社 データ処理装置及び方法及びプログラム
US10922038B2 (en) * 2018-12-31 2021-02-16 Kyocera Document Solutions Inc. Memory control method, memory control apparatus, and image forming method that uses memory control method
TWI726525B (zh) * 2019-12-09 2021-05-01 新唐科技股份有限公司 影像二值化方法與電子裝置

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60181942A (ja) * 1984-02-29 1985-09-17 Fujitsu Ltd メモリ制御装置
JP3158405B2 (ja) * 1989-07-21 2001-04-23 ブラザー工業株式会社 フアクシミリ装置の通信管理情報処理装置
JP4179701B2 (ja) 1999-04-28 2008-11-12 オリンパス株式会社 画像処理装置
US6671747B1 (en) * 2000-08-03 2003-12-30 Apple Computer, Inc. System, apparatus, method, and computer program for execution-order preserving uncached write combine operation
JP3826066B2 (ja) * 2002-04-15 2006-09-27 キヤノン株式会社 記録装置及び記録装置の制御方法
JP2005169711A (ja) * 2003-12-09 2005-06-30 Canon Inc シリアル記録装置
JP2006165843A (ja) * 2004-12-06 2006-06-22 Matsushita Electric Ind Co Ltd 画像処理装置
JP2006301105A (ja) * 2005-04-18 2006-11-02 Sony Corp 画像処理装置および方法、並びにプログラム
US7886118B2 (en) * 2007-01-04 2011-02-08 International Business Machines Corporation Detecting illegal reuse of memory with low resource impact
JP5347786B2 (ja) * 2008-11-18 2013-11-20 セイコーエプソン株式会社 画像処理コントローラー、及び、印刷装置
JP5455152B2 (ja) * 2009-09-28 2014-03-26 サクサ株式会社 画像処理装置
JP5784299B2 (ja) * 2010-11-01 2015-09-24 オリンパス株式会社 データ処理装置および画像処理装置
WO2013179099A1 (en) * 2012-06-01 2013-12-05 Freescale Semiconductor, Inc. Scheduling module and method thereof

Also Published As

Publication number Publication date
US9672874B2 (en) 2017-06-06
JP2014027529A (ja) 2014-02-06
US20140029361A1 (en) 2014-01-30

Similar Documents

Publication Publication Date Title
JP5886583B2 (ja) データ処理装置、処理方法、制御方法、及びプログラム
JP6403430B2 (ja) 画像処理装置および画像処理方法
US10313547B2 (en) Data processing apparatus, data processing method, and storage medium
JP2010282429A (ja) 画像処理装置及びその制御方法
US9786250B2 (en) Control apparatus, image processing apparatus, control method, and non-transitory computer-readable storage medium
JP6238510B2 (ja) バッファ、バッファの制御方法、同期制御装置、同期制御方法、画像処理装置および画像処理方法
JP5522890B2 (ja) 画像処理装置及び方法
JP6779263B2 (ja) データ処理装置及び方法及びプログラム
JP6463437B2 (ja) 画像処理装置及びその制御方法、並びに、プログラム
JP6902843B2 (ja) 画像処理装置および制御方法
JP5567790B2 (ja) 画像処理装置及びその制御方法、並びに、プログラム
JP4748077B2 (ja) 画素データ転送制御装置及び画素データ転送制御方法
JP6263016B2 (ja) 制御装置、処理装置、制御方法及びプログラム
JPH11168610A (ja) 画像処理装置
JP2012155604A (ja) データ転送制御装置
JPH09265367A (ja) プリンタ制御装置およびプリンタ制御方法
JP6225202B2 (ja) 画像処理装置及びその制御方法、並びに、プログラム
JP5885780B2 (ja) 画像処理装置及びその制御方法、並びに、プログラム
JP2011204025A (ja) 画像処理アクセラレータ
JP2009193337A (ja) ページメモリコントローラ
JP2009237677A (ja) データストリーム処理装置
JP2006146468A (ja) 画像処理装置、画像形成装置
JP2011041115A (ja) 画像読取装置および画像処理方法
JP2009071756A (ja) 画像処理回路、画像処理装置
JP2006014378A (ja) 画像処理装置、画像処理方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150611

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160518

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160628

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160809

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170207

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170407

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: 20171003

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171031

R151 Written notification of patent or utility model registration

Ref document number: 6238510

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151