JP2007304886A - データ処理装置及びそのプログラム - Google Patents

データ処理装置及びそのプログラム Download PDF

Info

Publication number
JP2007304886A
JP2007304886A JP2006133020A JP2006133020A JP2007304886A JP 2007304886 A JP2007304886 A JP 2007304886A JP 2006133020 A JP2006133020 A JP 2006133020A JP 2006133020 A JP2006133020 A JP 2006133020A JP 2007304886 A JP2007304886 A JP 2007304886A
Authority
JP
Japan
Prior art keywords
data
processing
image data
configuration
cell
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
Application number
JP2006133020A
Other languages
English (en)
Other versions
JP4821427B2 (ja
Inventor
Mitsuyuki Tamaya
光之 玉谷
Junichi Okuyama
潤一 奥山
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP2006133020A priority Critical patent/JP4821427B2/ja
Publication of JP2007304886A publication Critical patent/JP2007304886A/ja
Application granted granted Critical
Publication of JP4821427B2 publication Critical patent/JP4821427B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Processing (AREA)
  • Microcomputers (AREA)

Abstract

【課題】利用者にプログラムの設計の過度の負担を強いることなく、各種画像処理を行うべく複合機に搭載されるダイナミックリコンフィギュラブルプロセッサを高速に動作させること。
【解決手段】データ処理装置1のコントローラプロセッサ14は、ある連携状態のセルアレイによる画像処理の処理対象となっているバンド画像データの上、下、上下に隣接するバンド画像データについて前段の画像処理の実行結果が得られているか否か判断し、得られていない場合はその隣接するバンド画像データを先に実行してその実行結果が得られてから連携状態を遷移させる。
【選択図】図1

Description

本発明は、データ処理装置に関し、特に、各種画像処理を行わせるべく複合機内に搭載されるデータ処理装置に関する。
複合機が原稿をスキャンして得た画像データは、地肌処理、色変換、文字/イメージ分離、平滑化、エッジ強調などといった各種画像処理を施した上で後段のデバイスへ出力される。これらの処理はある程度高速であることが要求されるため、これまでの複合機は各種画像処理に特化した回路構成を持つASIC(Application Specific Integrated Circuit)を搭載するのが一般的であったが、最近では、このASICをダイナミックリコンフィギュラブルプロセッサで代用する試みが見られる。
リコンフィギュラブルプロセッサは、アレイ状に配置されたALU(Arithmetic Logic Unit)などの演算回路と演算回路間を接続するスイッチとから構成される。リコンフィギュラブルプロセッサの演算回路は、加減算、NAND、NORなどといった各種演算が可能であり、それらのうちどの演算を選択するかはコンフィギュレーションレジスタと呼ばれるメモリの記憶内容により決定される。また、演算の入力信号をどこから得るか、あるいは演算の出力をどこに出力するかなどはスイッチの接続により決まり、スイッチの接続もコンフィギュレーションレジスタの記憶内容により決定される。よって、コンフィギュレーションレジスタの記憶内容を順次書き換えていくことにより、各演算回路の連携を目的の処理に応じて遷移させていくことが可能である。そして、各種リコンフィギュラブルプロセッサの中でも処理の実行中でのコンフィギュレーションレジスタの書き換えを可能としたものを特に「ダイナミックリコンフィギュラブルプロセッサ」と呼ぶ(特許文献1乃至3)。
複合機に搭載されたリコンフィギュラブルプロセッサの利用者は、コンフィギュレーションレジスタの記憶内容の書き換えの手順を画像データに施す一連の各処理の流れにあわせて記述したプログラムを自ら作成し、そのプログラムをリコンフィギュラブルプロセッサに読み込ませることによりカスタマイズを行う。
特開2004−334429号公報 特開2005−27767号公報 特開2005−44329号公報
ところで、画像処理を施す際は、原稿をスキャンして得た1ページ分のビットマップを、バンドと呼ばれる副走査方向の所定幅をもつ短冊状の画素の纏まりに分割し、このバンド毎に一連の画像処理を順次行っていくのが一般的である。よって、例えば、複合機に搭載させたリコンフィギュラブルプロセッサによって、地肌処理、色変換、文字/イメージ分離、平滑化、エッジ強調という一連の画像処理を行わせる場合は、処理対象となるページバッファが変わるたびに、地肌処理、色変換、文字/イメージ分離、平滑化、エッジ強調というローテーションでリコンフィギュラブルプロセッサの各回路素子の連携状態を遷移させていく必要がある。
しかしながら、画像データに施す各種画像処理の中には、処理対象となっているバンドだけでなくその上下に隣接するバンドの参照をも要するものがある。リコンフィギュラブルプロセッサに実行させる処理の中にこの種のものが含まれている場合、各回路素子の連携状態とその遷移の基本的な順序だけを記述したプログラムを読み込ませただけでは、ある連携状態のデータ処理で参照すべき前段の連携状態のデータ処理の処理結果の一部が揃わずにその後の処理が止まってしまう恐れがあるため、利用者は、そのような不具合の発生を回避するための順序の組み換えのロジックをも組み込んだ複雑なプログラムの作成を強いられていた。
本発明は、このような背景の下に案出されたものであり、利用者にプログラムの設計の過度の負担を強いることなく、各種画像処理を行うべく複合機に搭載されるダイナミックリコンフィギュラブルプロセッサを高速に動作させ得る仕組みを提供することを目的とする。
本発明の好適な態様であるデータ処理装置は、ある1つの画像データを分割して得た各分割画像データを記憶する第1の記憶手段と、自身の外部にある各素子のうちいずれかと結線され得る入力端子と出力端子、前記入力端子から入力されるデータに各種演算のうちいずれかを行って前記出力端子から出力させる演算器、入出端子と出力端子の各々と結線させる素子と前記演算器の演算内容とを指定するデータであるコンフィギュレーションデータを記憶するためのメモリ、及び前記メモリに記憶されるコンフィギュレーションデータを読み出し、読み出したコンフィギュレーションデータが指定する素子と前記両端子の各々を結線させると共にそのコンフィギュレーションデータが指定する演算内容の演算を前記演算器に行わせるデータ読出器をそれぞれ有する素子であるセルを集めたセル群と、処理対象となった分割画像データにその上、下、又は上下に隣接する別の分割画像データを作用させてデータ内容を改変する各種データ処理を前記セル群が実行できるようにその各セルを連携させるためのコンフィギュレーションデータのセットを、データ処理の種別毎に記憶した第2の記憶手段と、前記セル群に実行させるデータ処理の順序を示すローテーションデータを記憶した第3の記憶手段と、前記第1の記憶手段に記憶された各分割画像データの各々を順次特定する特定手段と、前記特定手段によって分割画像データが特定されるたびに、前記第2の記憶手段に記憶されたコンフィギュレーションデータのセットを前記第3の記憶手段に記憶されたローテーションデータが示す順序に従って選択し、選択したセットを基に前記セル群の各セルのメモリの記憶内容を書き換えてそれら各セルの連携状態を遷移させながら当該特定されている分割画像データを処理対象とする各種データ処理を順次実行させる手段であって、前記特定手段に特定されている分割画像データを処理対象とする第1の連携状態のセル群によるデータ処理の処理結果を得て当該セル群をその次の第2の連携状態へ遷移させる前に、特定されている分割画像データの上、下、又は上下に隣接する別の分割画像データを処理対象とした第1の連携状態でのデータ処理の処理結果が得られているか否か判断し、処理結果が得られていないと判断したときはその分割画像データを処理対象とするデータ処理を第1の連携状態のセル群に先に実行させ、処理結果が得られてからセル群を第2の連携状態へと遷移させるコンフィギュレーション制御手段とを備える。
この態様において、前記セル群は、隣接する複数のセル毎にグループ化されたセルアレイを形成していてもよい。
前記セル群を成す各セルが有する演算器は、加減算回路、乗算回路、否定論理積回路、排他的論理和回路、定数出力回路、及びそれらのうちいずれかを選択する選択回路を有し、前記コンフィギュレーションデータは、前記選択回路に選択させる回路を指定してもよい。
本発明の別の好適な態様であるプログラムは、ある1つの画像データを分割して得た各分割画像データを記憶する第1の記憶手段と、自身の外部にある各素子のうちいずれかと結線され得る入力端子と出力端子、前記入力端子から入力されるデータに各種演算のうちいずれかを行って前記出力端子から出力させる演算器、入出端子と出力端子の各々と結線させる素子と前記演算器の演算内容とを指定するデータであるコンフィギュレーションデータを記憶するためのメモリ、及び前記メモリに記憶されるコンフィギュレーションデータを読み出し、読み出したコンフィギュレーションデータが指定する素子と前記両端子の各々を結線させると共にそのコンフィギュレーションデータが指定する演算内容の演算を前記演算器に行わせるデータ読出器をそれぞれ有する素子であるセルを集めたセル群と、処理対象となった分割画像データにその上、下、又は上下に隣接する別の分割画像データを作用させてデータ内容を改変する各種データ処理を前記セル群が実行できるようにその各セルを連携させるためのコンフィギュレーションデータのセットを、データ処理の種別毎に記憶した第2の記憶手段と、前記セル群に実行させるデータ処理の順序を示すローテーションデータを記憶した第3の記憶手段とを備えたコンピュータ装置に、前記第1の記憶手段に記憶された各分割画像データの各々を順次特定する特定機能と、前記特定機能によって分割画像データが特定されるたびに、前記第2の記憶手段に記憶されたコンフィギュレーションデータのセットを前記第3の記憶手段に記憶されたローテーションデータが示す順序に従って選択し、選択したセットを基に前記セル群の各セルのメモリの記憶内容を書き換えてそれら各セルの連携状態を遷移させながら当該特定されている分割画像データを処理対象とする各種データ処理を順次実行させる機能であって、前記特定機能に特定されている分割画像データを処理対象とする第1の連携状態のセル群によるデータ処理の処理結果を得て当該セル群をその次の第2の連携状態へ遷移させる前に、特定されている分割画像データの上、下、又は上下に隣接する別の分割画像データを処理対象とした第1の連携状態でのデータ処理の処理結果が得られているか否か判断し、処理結果が得られていないと判断したときはその分割画像データを処理対象とするデータ処理を第1の連携状態のセル群に先に実行させ、処理結果が得られてからセル群を第2の連携状態へと遷移させるコンフィギュレーション制御機能を実現させる。
本発明によると、各種画像処理を行うべく複合機に搭載されるダイナミックリコンフィギュラブルプロセッサを高速に動作させることができる。
(発明の実施の形態)
本願発明の実施形態について説明する。
図1は、本実施形態にかかるデータ処理装置1のハードウェア概略構成を示す図である。このデータ処理装置1は、複合機などの画像形成装置に内蔵され、光学系デバイスに原稿を走査させて得た画像データに各種画像処理を順次施してから印字エンジンなどの画像形成デバイスへ出力する。
このデータ処理装置1は、外部インターフェース11、データパスプロセッサ12、コンフィギュレーションメモリ13、コントローラプロセッサ14、DRAM(Dynamic Random Access Memory)インターフェース15、PCIインターフェース16、及びDMAC(Direct Memory Access Controller)17を備える。これら各部はバスを介して接続され、DMAC17による調停の下に各種データの遣り取りを行う。
各部の機能を説明すると、まず、PCIインターフェース16は、図示しない制御部との間の各種データの遣り取りを司る。外部インターフェース11は、原稿を光学系デバイスに走査させて得た1ページ分のラスタデータを副走査方向の所定画素幅(この画素幅を「バンド」と呼ぶ)毎に分割して得たバンド画像データをラスタデータの上方を描画しているものから順次入力する。また、この外部インターフェース11は、各種画像処理を施したバンド画像データを自装置から印刷エンジンへ順次出力する。
データパスプロセッサ12は、「セル」と呼ばれる回路素子をマトリクス状に並べた集積回路である。
図2、図3は、データパスプロセッサ12の構成の詳細を示す図である。データパスプロセッサ12は、図2に示すように、連携して動作する64個のセル30を縦横に8列ずつ並べてなるセルアレイと、そのセルアレイより出力されるデータをバッファリングしておくためのバッファ40とを有する。各セル30の各々は、図示しないコンフィギュレーションバスを介してコンフィギュレーションメモリ13と繋がっており、また、各セル同士及び各セルとバッファは、図示しないデータバスを介して繋がっている。
図3に示すように、セル30の各々は、演算器31、選択器32、入力端子33、出力端子34、コンフィギュレーションレジスタ35、読出器36を備えてなる。演算器31は、加減算回路、乗算回路、否定論理積回路、排他的論理和回路、マルチプレクサなどの各種演算回路を含んでおり、選択器32はこれらのうち1つの演算回路を選択する。入力端子33は、自身の他のセル30及びバッファ40へとそれぞれ繋がるデータバスのうち1つを選択して演算器31の入力側と接続するスイッチを有している。また、出力端子34は、自身の他のセル30及びバッファ40へとそれぞれ繋がるデータバスのうち1つを選択して演算器31の出力側と接続するスイッチを有している。コンフィギュレーションレジスタ35は、コンフィギュレーションバスが接続されており、コンフィギュレーションメモリ13からこのコンフィギュレーションバスを介して伝送されてくるコンフィギュレーションデータを記憶する。
コンフィギュレーションデータは、演算器31の演算内容と両端子33、34のスイッチの接続内容とを指定するデータである。演算器31の演算内容を指定するデータには、選択器32に選択させる演算回路を指定するデータのほか、選択された回路が入力データに定数を作用させるもの(例えば、乗算回路)であった場合におけるその定数を指定するデータも含まれる。また、両端子33、34のスイッチの接続内容を指定するデータには、入力端子33へのデータの入力先となるセル又はバッファを指定するデータと、出力端子34からのデータの出力先となるセル又はバッファを指定するデータとが含まれる。
読出器36は、コンフィギュレーションレジスタ35に新たなコンフィギュレーションデータが書き込まれるたびにそのコンフィギュレーションデータを読み出し、読み出したコンフィギュレーションデータを基に演算器31の演算内容と両端子33、34のスイッチの接続内容を切り替える。
図1の説明に戻り、DRAMインターフェース15にはDRAM20が装着される。図に示すように、このDRAMインターフェース15に装着されるDRAM20は、コンフィギュレーションカスタマイズプログラムをコンパイルして得られるコンフィギュレーションデータの各セットを記憶するデータセット記憶領域のほか、外部インターフェース11から順次入力されるバンド画像データとそれらの各々についてデータパスプロセッサ12のセルアレイが各種画像処理を実行した段階で得られる各画像処理済みのバンド画像データをそれぞれ記憶する処理別バッファ領域が確保される。
コンフィギュレーションカスタマイズプログラムは、セルアレイの各連携状態とその遷移の基本的順序のローテーションとをC言語などの高級言語により記したプログラムである。
図4、図5は、コンフィギュレーションカスタマイズプログラムの構造を示す図である。コンフィギュレーションカスタマイズプログラムは、図4に示すように、複数のセルアレイ連携状態制御プログラムを並べたものである。セルアレイ連携状態制御プログラムの各々は、図5に示すように、各セル30の演算器31の演算内容と両端子33、34のスイッチの接続内容とを各セル毎に個別に定義したセル別制御プログラム群からなる。
コンフィギュレーションカスタマイズプログラムの作成は、以下の手順で行なわれる。まず、データパスプロセッサ12に実行させる各種画像処理とその処理の基本的な順序のローテーションとを確定する。次に、確定した各画像処理を実現するために必要なセルアレイの連携状態、つまり、各セル30の各々の演算器31の演算内容と両端子33、34のスイッチの接続内容とを特定する。更に、その特定結果を基に連携状態毎のセル別制御プログラム群を個別に作成し、処理の基本的な順序に合わせた並びでそれらのセル別制御プログラム群を記述していくのである。例えば、画像処理A、画像処理B、画像処理C、画像処理Dをこの順序で実行させる場合は、それらの4つの処理を実現するために必要なセルアレイの連携状態をそれぞれ定義したセル別制御プログラム群を個別に作成し、得られた4つのセル別制御プログラム群を、画像処理A、画像処理B、画像処理C、画像処理Dの順序で並べて記述していく。
このようにして得られたコンフィギュレーションカスタマイズプログラムをその冒頭から順次コンパイルしていくと、画像処理Aが実行されるような連携状態へとセルアレイを導くコンフィギュレーションデータの第1のセット、画像処理Bが実行されるような連携状態へとセルアレイを導くコンフィギュレーションデータの第2のセット、画像処理Cが実行されるような連携状態へとセルアレイを導くコンフィギュレーションデータの第3のセット、画像処理Dが実行されるような連携状態へとセルアレイを導くコンフィギュレーションデータの第4のセットの合計4セットのコンフィギュレーションデータが得られる。当然ながら、データパスプロセッサ12のセルアレイに実行させる画像処理の種類が多くなればセル別制御プログラム群の数もそれだけ多くなり、図1のDRAM20に記憶されるコンフィギュレーションデータのセット数も多くなる。
DRAM20に記憶されたコンフィギュレーションデータのセットは、コントローラプロセッサ14による制御の下にコンフィギュレーションメモリ13を経由して各セル30のコンフィギュレーションレジスタ35へ書き込まれるようになっている。上述したように、各セルの演算器31の演算内容と両端子33、34のスイッチの接続内容はコンフィギュレーションレジスタ35に書き込まれたコンフィギュレーションデータに応じて直ちに設定される。このため、各セットのコンフィギュレーションデータによって各セル30のコンフィギュレーションレジスタ35の記憶内容が書き換えられる都度、セルアレイの連携状態も遷移する。よって、遷移前のセルアレイの末端のセル30から出力されてくる画像処理結果を内部のバッファ又は外部の他の記憶素子に一旦記憶し、遷移後のセルアレイの先頭のセル30へ入力させる、というルーチンを繰り返してくことにより、セルアレイの連携状態を遷移させながら、各種画像処理を時分割制御で順次実行していくことが可能である。
コンフィギュレーションメモリ13は、DRAM20のデータセット記憶領域に記憶されるコンフィギュレーションデータの各セットのうち任意の1セットを記憶しておけるようになっている。このコンフィギュレーションメモリ13に記憶されたコンフィギュレーションデータは、各セル30のコンフィギュレーションレジスタ35へ直ちに書き込まれるようになっている。
コントローラプロセッサ14は、図示しない自身のメモリに記憶されたコントローラ制御プログラムに従って動作する。このコントローラ制御プログラムは、以下の3つの機能をコントローラプロセッサ14に付与する。
a処理対象特定機能
これは、DRAM20に記憶された各バンド画像データを処理対象として順次特定していく機能である。
b基本ローテーション制御機能
これは、バンド画像データが処理対象して特定されるたびに、DRAM20に記憶されているコンフィギュレーションデータの各セットを画像処理の基本的な順序のローテーションに従って選択し、選択したセットを基に各セル30のコンフィギュレーションレジスタ35の記憶内容を書き換えていく機能である。
cローテーション組替え機能
これは、処理対象となっているバンド画像データへある連携状態のセルアレイに画像処理を実行させてその次の連携状態へと遷移させる前に、処理対象となっているバンド画像データの上、下、又は上下に隣接するバンド画像データを処理対象としたその画像処理の実行結果が得られているか否か判断し、実行結果が得られていないときはその実行結果が先に得られるようにコンフィギュレーションデータのセットの選択のローテーションを組み換える機能である。
次に、これら3つの機能によりDRAM20の各バンド画像データに各種画像処理が実行されていく様子について具体例を挙げながら説明する。
図6、図7は、画像処理A、B、C、Dを基本的な順序のローテーションとするコンフィギュレーションカスタマイズプログラムが作成されている場合におけるセルアレイの連携状態の遷移を示す図である。図の右側には、画像処理A、B、C、Dの各画像処理を実行した段階で得られる各画像処理済みのバンド画像データをそれぞれ記憶する処理別バッファ領域の記憶内容が記されている。一方、図の左側には、各連携状態へ遷移した時点における各処理別バッファ領域の書込数と読出数を管理すべくコントローラプロセッサ14のメモリに形成されるテーブルが記されている。
このテーブルを構成するレコードの各々は、「バッファ」、「リード(R)」、及び「ライト(W)」の3つのフィールドを有する。このテーブルのレコード数はそのDRAM20に確保されるバッファ領域の数に依存して決定される。
例えば、図6の例では、4つのレコードを集めてテーブルが形成されており、1番目のレコードの「バッファ」のフィールドに「画像処理A」、2番目のレコードの同フィールドに「画像処理B」、3番目のレコードの同フィールドに「画像処理C」、4番目のレコードの同フィールドに「画像処理D」の各バッファ識別子が記憶されている。これは、画像処理A、B、C、Dが基本的な順序のローテーションとなるコンフィギュレーションカスタマイズプログラムをコンパイルして得た4セットのコンフィギュレーションデータがDRAM20のデータセット記憶領域に記憶されたため、バンド画像データに画像処理Aを実行した結果である画像処理A済みバンド画像データを記憶する処理別バッファ領域、画像処理A済みバンド画像データに画像処理Bを実行した結果である画像処理B済みバンド画像データを記憶する処理別バッファ領域、画像処理B済みバンド画像データに画像処理Cを実行した結果である画像処理C済みバンド画像データを記憶する処理別バッファ領域、画像処理C済みバンド画像データに画像処理Dを実行した結果である画像処理D済みバンド画像データを記憶する処理別バッファ領域の計4つの処理別バッファ領域がDRAM20に確保されたためである。
また、「リード(R)」のフィールドは各処理別バッファ領域からのバンド画像データの読出回数を示すカウント値を記憶し、「ライト(W)」のフィールドは各バッファ領域へのバンド画像データの書込回数を示すカウント値を記憶する。これら両フィールドのカウント値はコントローラプロセッサ14が各セル30のコンフィギュレーションレジスタ35の記憶内容を書き換えてセルアレイの連携状態を遷移させるたびに適宜カウントアップされる。図6の例を用いてこのカウントアップ制御について具体的に説明すると、各セルのコンフィギュレーションレジスタ35の記憶内容を画像処理Aのコンフィギュレーションデータから画像処理Bのコンフィギュレーションデータへと書き換えた際は、書き換え後の連携状態のセルアレイに対して画像処理Aの処理別バッファ領域から読み出した画像処理A済み画像データが入力され、その処理結果として得られる画像処理B済み画像データは画像処理Bの処理別バッファ領域に書き込まれることになるため、「画像処理A」の「リード(R)」のカウント値と「画像処理B」の「ライト(W)」のカウント値が1つずつカウントアップされる。
図6に示す連携状態1では、各セルアレイのコンフィギュレーションレジスタ35へのコンフィギュレーションデータの書き込みがないため画像処理が実行されておらず、テーブルの全レコードのカウント数は初期値である「0」になっている。
連携状態2では、処理対象特定機能が働いてバンド画像データ1が処理対象として特定される。そして、基本ローテーション制御機能が働いて画像処理Aを実行するような連携状態に遷移したセルアレイへバンド画像データ1が入力され、画像処理A済みバンド画像データ1が画像処理Aの処理別バッファ領域に記憶される。この結果を受けてテーブルの画像処理Aの「ライト(W)」のカウント値が1つインクリメントされる。
連携状態3では、ローテーション組み換え機能が働いて処理対象特定機能と基本ローテーション制御機能が制約されている。これら両機能を働かせた場合の本来の手順から言えば画像処理A済みバンド画像データ1を処理対象として画像処理Bが実行されるところであるが、バンド画像データ1の下に隣接するバンド画像データ2について画像処理Aの実行結果が得られていないため、バンド画像データ2を処理対象とする画像処理Aを先に実行するのである。よって、連携状態3では、セルアレイの連携状態を遷移させずにバンド画像データ2が入力され、画像処理A済みバンド画像データ2が画像処理Aの処理別バッファ領域に記憶される。この結果を受けてテーブルの画像処理Bの「ライト(W)」のカウント値が1つインクリメントされる。
連携状態4では、処理対象特定機能が働いてバンド画像データ1が処理対象として特定される。そして、基本ローテーション制御機能が働いて画像処理Bを実行するような連携状態に遷移したセルアレイへバンド画像データ1が入力され、隣接するバンド画像データ2を作用させる画像処理Bの実行結果である画像処理B済みバンド画像データ1が画像処理Bの処理別バッファ領域に記憶される。この結果を受けてテーブルの画像処理Aの「リード(R)」のカウント値と画像処理Bの「ライト(W)」のカウント値が1つインクリメントされる。
連携状態5では、ローテーション組み換え機能が再び働いて処理対象特定機能と基本ローテーション制御機能が制約されている。これら両機能を働かせた場合の本来の手順から言えば画像処理B済みバンド画像データ1を処理対象として画像処理Cが実行されるところであるが、バンド画像データ1の下に隣接するバンド画像データ2について画像処理Bの実行結果が得られていない。また、バンド画像データ2について画像処理Bを実行しようにもその下に隣接するバンド画像データ3について画像処理Aの実行結果が得られていなければこれもできない。このため、バンド画像データ3を処理対象とする画像処理Aを先に実行するのである。よって、連携状態5では、セルアレイの連携状態をAに遷移させてからバンド画像データ2を入力し、画像処理A済みバンド画像データ3が画像処理Aの処理別バッファ領域に記憶される。この結果を受けてテーブルの画像処理Aの「ライト(W)」のカウント値が1つインクリメントされる。
図7に示す連携状態6では、処理対象特定機能が働いてバンド画像データ2が処理対象として特定される。そして、基本ローテーション制御機能が働いて画像処理Bを実行するような連携状態に遷移したセルアレイへバンド画像データ2が入力され、隣接するバンド画像データ1と3を作用させる画像処理Bの実行結果である画像処理B済みバンド画像データ2が画像処理Bの処理別バッファ領域に記憶される。この結果を受けてテーブルの画像処理Aの「リード(R)」のカウント値と画像処理Bの「ライト(W)」のカウント値が1つインクリメントされる。
連携状態7では、処理対象特定機能が働いてバンド画像データ1が処理対象として特定される。そして、基本ローテーション制御機能が働いて画像処理Cを実行するような連携状態に遷移したセルアレイへバンド画像データ1が入力され、隣接するバンド画像データ2を作用させる画像処理Cの実行結果である画像処理C済みバンド画像データ1が画像処理Cの処理別バッファ領域に記憶される。この結果を受けてテーブルの画像処理Bの「リード(R)」と画像処理Cの「ライト(W)」のカウント値が1つインクリメントされる。
連携状態8では、ローテーション組み換え機能が再び働いて処理対象特定機能と基本ローテーション制御機能が制約されている。これら両機能を働かせた場合の本来の手順から言えば画像処理C済みバンド画像データ1を処理対象として画像処理Dが実行されるところであるが、バンド画像データ1の下に隣接するバンド画像データ2について画像処理Cの実行結果が得られていない。また、バンド画像データ2について画像処理Cを実行しようにもその下に隣接するバンド画像データ3について画像処理Bの実行結果が得られていなければこれもできない。更に、バンド画像データ3について画像処理Bを実行しようにもその下に隣接するバンド画像データ4について画像処理Aの実行結果が得られていなければこれもできない。このため、バンド画像データ4を処理対象とする画像処理Aを先に実行するのである。よって、連携状態8では、セルアレイの連携状態をAに遷移させてからバンド画像データ4を入力し、画像処理A済みバンド画像データ4が画像処理Aの処理別バッファ領域に記憶される。この結果を受けてテーブルの画像処理Aの「ライト(W)」のカウント値が1つインクリメントされる。
連携状態9では、処理対象特定機能が働いてバンド画像データ3が処理対象として特定される。そして、基本ローテーション制御機能が働いて画像処理Bを実行するような連携状態に遷移したセルアレイへバンド画像データ3が入力され、隣接するバンド画像データ2及び4を作用させる画像処理Bの実行結果である画像処理B済みバンド画像データ3が画像処理Bの処理別バッファ領域に記憶される。この結果を受けてテーブルの画像処理Bの「ライト(W)」のカウント値が1つインクリメントされる。
連携状態10では、処理対象特定機能が働いてバンド画像データ2が処理対象として特定される。そして、基本ローテーション制御機能が働いて画像処理Cを実行するような連携状態に遷移したセルアレイへバンド画像データ2が入力され、隣接するバンド画像データ1及び3を作用させる画像処理Cの実行結果である画像処理C済みバンド画像データ3が画像処理Cの処理別バッファ領域に記憶される。この結果を受けてテーブルの画像処理Bの「リード(R)」と画像処理Cの「ライト(W)」のカウント値が1つインクリメントされる。
連携状態9以降は、ローテーション組み換え機能を働かせる必要なく、基本的な順番のローテーションに従ってセルアレイの連携状態が遷移していく。
以上説明した各連携状態のうち、連携状態3、5、8では、ローテーション組み替え機能が働き、隣接するバンド画像データを処理対象とする前段の画像処理が先に実行されるようになっている。つまり、本実施形態におけるコントローラプロセッサ14には、ある連携状態のセルアレイによる画像処理の処理対象となっているバンド画像データの上、下、上下に隣接するバンド画像データについて前段の画像処理の実行結果が得られているか否か判断し、得られていない場合はその隣接するバンド画像データを先に実行するアルゴリズムが予め組み込まれている。よって、利用者は、セルアレイに実行させる各画像処理とその基本的な順序のローテーションを記したコンフィギュレーションカスタマイズプログラムを作成しさえすれば、隣接画像データの画像処理の進捗に応じたローテーションの組み替えが自動的に成されるため、プログラムの設計負担を軽減することができる。
(他の実施形態)
本願発明は、種々の変形実施が可能である。
上記実施形態におけるデータパスプロセッサ12のセルアレイは64個のセル30を縦横にそれぞれ8個ずつ並べてなるものであったが、セルの個数及びその配列はこれに限定されるものでない。
また、上記実施形態においては、セルアレイを成す各セル30の演算器31は、加減算回路、乗算回路、否定論理積回路、排他的論理和回路、マルチプレクサなどの各種演算回路を含んで構成されていたが、加算と減算を別回路として構成してもよい。要するに、各種画像処理で用いられる主要な演算機能を有してさえいれば、その回路構成の如何は問わない。
上記実施形態においては、各連携状態のセルアレイが画像処理を1つずつ実行するようになっていたが、セルアレイを形成するセルの規模の如何によっては、1つの連携状態のセルアレイに複数の画像処理を実行させるようにしてもよい。
図8は、かかる変形例における連携状態の遷移手順を示す図である。図に示す例は、セルアレイが画像処理AとB、及び画像処理CとDを一度に処理可能な連携状態をとり得る場合の遷移手順を示したものである。
図に示す連携状態1では、セルアレイの各セル30のコンフィギュレーションレジスタ35へのコンフィギュレーションデータの書き込みがないため画像処理が実行されておらず、テーブルの全レコードのカウント数は初期値である「0」になっている。
連携状態2では、セルアレイが画像処理Aと画像処理Bを実行可能な連携状態に遷移する。そして、バンド画像データ1を処理対象として画像処理Aを実行し、画像処理A済みバンド画像データ1を画像処理Aの処理別バッファ領域に記憶した後、バンド画像データ2を処理対象として画像処理Aを実行し、画像処理A済みバンド画像データ2を画像処理Aの処理別バッファ領域に記憶する。更に、画像処理A済みバンド画像データ1を処理対象としてバンド画像データ2を作用させる画像処理Bを実行し、画像処理B済みバンド画像データ1を画像処理Bの処理別バッファ領域に記憶する。但し、バンド画像データ2の下に隣接するバンド画像データ3について画像処理Aの処理結果が得られないため、バンド画像データ2を処理対象とする画像処理Bまではこの段階では実行されない。
連携状態3では、セルアレイを画像処理Aと画像処理Bを実行可能な連携状態としたまま、バンド画像データ3を処理対象とする画像処理Aを実行し、画像処理A済みバンド画像データ3を画像処理Aの処理別バッファ領域に記憶する。更に、バンド画像データ2を処理対象としてバンド画像データ1と3を作用させる画像処理Bを実行し、画像処理B済みバンド画像データ2を処理対象Bの処理別バッファ領域に記憶する。
連携状態4では、セルアレイが画像処理Cと画像処理Dを実行可能な連携状態に遷移する。そして、バンド画像データ1を処理対象としてバンド画像データ2を作用させる画像処理Cを実行し、画像処C済みバンド画像データ1を画像処理Cの処理別バッファ領域に記憶する。但し、バンド画像データ2の下に隣接するバンド画像データ3について画像処理Bの処理結果が得られていないため、バンド画像データ2を処理対象とする画像処理Cまではこの段階では実行されない。
連携状態5では、セルアレイが画像処理Aと画像処理Bを実行可能な連携状態に遷移する。つまり、セルアレイの連携状態を基本的順序のローテーションに対して逆戻りさせるのである。そして、バンド画像データ4を処理対象とする画像処理Aを実行し、画像処理A済みバンド画像データ4を画像処理Aの処理別バッファ領域に記憶する。更に、画像処理A済みバンド画像データ3を処理対象としてバンド画像データ2と4を作用させる画像処理Bを実行し、画像処理B済みバンド画像データ3を処理別バッファ領域に記憶する。
本変形例のように1つの連携状態のセルアレイに複数の画像処理を実行させ得る場合であっても、図に示したような手順でセルアレイの連携状態の遷移の手順を好適に組み替えていくことが可能である。
データ処理装置のハードウェア概略構成図である。 データパスプロセッサの構成図である。 セルアレイの構成図である。 コンフィギュレーションカスタマイズプログラムの構造図である。 コンフィギュレーションカスタマイズプログラムの構造図である。 セルアレイの連携状態の遷移手順を示す図である。 セルアレイの連携状態の遷移手順を示す図である。 変形例における連携状態の遷移手順を示す図である。
符号の説明
11…外部インターフェース、12…データパスプロセッサ、13…コンフィギュレーションメモリ、14…コントローラプロセッサ、15…DRAMインターフェース、16…PCIインターフェース、17…DMAC、20…DRAM、30…セル、30…各セル、31…演算器、32…選択器、33…入力端子、33…両端子、34…出力端子、35…コンフィギュレーションレジスタ、36…読出器

Claims (4)

  1. ある1つの画像データを分割して得た各分割画像データを記憶する第1の記憶手段と、
    自身の外部にある各素子のうちいずれかと結線され得る入力端子と出力端子、前記入力端子から入力されるデータに各種演算のうちいずれかを行って前記出力端子から出力させる演算器、入出端子と出力端子の各々と結線させる素子と前記演算器の演算内容とを指定するデータであるコンフィギュレーションデータを記憶するためのメモリ、及び前記メモリに記憶されるコンフィギュレーションデータを読み出し、読み出したコンフィギュレーションデータが指定する素子と前記両端子の各々を結線させると共にそのコンフィギュレーションデータが指定する演算内容の演算を前記演算器に行わせるデータ読出器をそれぞれ有する素子であるセルを集めたセル群と、
    処理対象となった分割画像データにその上、下、又は上下に隣接する別の分割画像データを作用させてデータ内容を改変する各種データ処理を前記セル群が実行できるようにその各セルを連携させるためのコンフィギュレーションデータのセットを、データ処理の種別毎に記憶した第2の記憶手段と、
    前記セル群に実行させるデータ処理の順序を示すローテーションデータを記憶した第3の記憶手段と、
    前記第1の記憶手段に記憶された各分割画像データの各々を順次特定する特定手段と、
    前記特定手段によって分割画像データが特定されるたびに、前記第2の記憶手段に記憶されたコンフィギュレーションデータのセットを前記第3の記憶手段に記憶されたローテーションデータが示す順序に従って選択し、選択したセットを基に前記セル群の各セルのメモリの記憶内容を書き換えてそれら各セルの連携状態を遷移させながら当該特定されている分割画像データを処理対象とする各種データ処理を順次実行させる手段であって、前記特定手段に特定されている分割画像データを処理対象とする第1の連携状態のセル群によるデータ処理の処理結果を得て当該セル群をその次の第2の連携状態へ遷移させる前に、特定されている分割画像データの上、下、又は上下に隣接する別の分割画像データを処理対象とした第1の連携状態でのデータ処理の処理結果が得られているか否か判断し、処理結果が得られていないと判断したときはその分割画像データを処理対象とするデータ処理を第1の連携状態のセル群に先に実行させ、処理結果が得られてからセル群を第2の連携状態へと遷移させるコンフィギュレーション制御手段と
    を備えたデータ処理装置。
  2. 請求項1に記載のデータ処理装置において、
    前記セル群は、
    隣接する複数のセル毎にグループ化されたセルアレイを形成している
    データ処理装置。
  3. 請求項1又は2に記載のデータ処理装置において、
    前記セル群を成す各セルが有する演算器は、
    加減算回路、乗算回路、否定論理積回路、排他的論理和回路、定数出力回路、及びそれらのうちいずれかを選択する選択回路を有し、
    前記コンフィギュレーションデータは、
    前記選択回路に選択させる回路を指定する
    データ処理装置。
  4. ある1つの画像データを分割して得た各分割画像データを記憶する第1の記憶手段と、
    自身の外部にある各素子のうちいずれかと結線され得る入力端子と出力端子、前記入力端子から入力されるデータに各種演算のうちいずれかを行って前記出力端子から出力させる演算器、入出端子と出力端子の各々と結線させる素子と前記演算器の演算内容とを指定するデータであるコンフィギュレーションデータを記憶するためのメモリ、及び前記メモリに記憶されるコンフィギュレーションデータを読み出し、読み出したコンフィギュレーションデータが指定する素子と前記両端子の各々を結線させると共にそのコンフィギュレーションデータが指定する演算内容の演算を前記演算器に行わせるデータ読出器をそれぞれ有する素子であるセルを集めたセル群と、処理対象となった分割画像データにその上、下、又は上下に隣接する別の分割画像データを作用させてデータ内容を改変する各種データ処理を前記セル群が実行できるようにその各セルを連携させるためのコンフィギュレーションデータのセットを、データ処理の種別毎に記憶した第2の記憶手段と、前記セル群に実行させるデータ処理の順序を示すローテーションデータを記憶した第3の記憶手段とを備えたコンピュータ装置に、
    前記第1の記憶手段に記憶された各分割画像データの各々を順次特定する特定機能と、
    前記特定機能によって分割画像データが特定されるたびに、前記第2の記憶手段に記憶されたコンフィギュレーションデータのセットを前記第3の記憶手段に記憶されたローテーションデータが示す順序に従って選択し、選択したセットを基に前記セル群の各セルのメモリの記憶内容を書き換えてそれら各セルの連携状態を遷移させながら当該特定されている分割画像データを処理対象とする各種データ処理を順次実行させる機能であって、前記特定機能に特定されている分割画像データを処理対象とする第1の連携状態のセル群によるデータ処理の処理結果を得て当該セル群をその次の第2の連携状態へ遷移させる前に、特定されている分割画像データの上、下、又は上下に隣接する別の分割画像データを処理対象とした第1の連携状態でのデータ処理の処理結果が得られているか否か判断し、処理結果が得られていないと判断したときはその分割画像データを処理対象とするデータ処理を第1の連携状態のセル群に先に実行させ、処理結果が得られてからセル群を第2の連携状態へと遷移させるコンフィギュレーション制御機能
    を実現させるプログラム。
JP2006133020A 2006-05-11 2006-05-11 データ処理装置及びそのプログラム Expired - Fee Related JP4821427B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006133020A JP4821427B2 (ja) 2006-05-11 2006-05-11 データ処理装置及びそのプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006133020A JP4821427B2 (ja) 2006-05-11 2006-05-11 データ処理装置及びそのプログラム

Publications (2)

Publication Number Publication Date
JP2007304886A true JP2007304886A (ja) 2007-11-22
JP4821427B2 JP4821427B2 (ja) 2011-11-24

Family

ID=38838754

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006133020A Expired - Fee Related JP4821427B2 (ja) 2006-05-11 2006-05-11 データ処理装置及びそのプログラム

Country Status (1)

Country Link
JP (1) JP4821427B2 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06131155A (ja) * 1991-01-29 1994-05-13 Analogic Corp 再構成可能な順次処理装置
JPH10304184A (ja) * 1997-05-02 1998-11-13 Fuji Xerox Co Ltd 画像処理装置および画像処理方法
JP2004334429A (ja) * 2003-05-06 2004-11-25 Hitachi Ltd 論理回路及びその論理回路上で実行するプログラム
JP2005044329A (ja) * 2003-07-09 2005-02-17 Hitachi Ltd 半導体集積回路

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06131155A (ja) * 1991-01-29 1994-05-13 Analogic Corp 再構成可能な順次処理装置
JPH10304184A (ja) * 1997-05-02 1998-11-13 Fuji Xerox Co Ltd 画像処理装置および画像処理方法
JP2004334429A (ja) * 2003-05-06 2004-11-25 Hitachi Ltd 論理回路及びその論理回路上で実行するプログラム
JP2005044329A (ja) * 2003-07-09 2005-02-17 Hitachi Ltd 半導体集積回路

Also Published As

Publication number Publication date
JP4821427B2 (ja) 2011-11-24

Similar Documents

Publication Publication Date Title
CN103168289B (zh) 转置运算装置及其集成电路、以及转置处理方法
JPS62208158A (ja) マルチプロセツサシステム
WO2022206556A1 (zh) 图像数据的矩阵运算方法、装置、设备及存储介质
US20200409664A1 (en) Transpose operations using processing element array
KR102278021B1 (ko) 이미지 프로세서 런타임 효율성을 개선하기 위한 프로그램 코드 변환
US11455781B2 (en) Data reading/writing method and system in 3D image processing, storage medium and terminal
US20040162964A1 (en) Processor capable of switching/reconstituting architecture
CN111324294B (zh) 存取张量数据的方法和装置
JP3985797B2 (ja) プロセッサ
JP2008217061A (ja) Simd型マイクロプロセッサ
KR100765567B1 (ko) 산술 논리 유닛 및 스택을 가지는 데이터 프로세서, 멀티미디어 장치 및 컴퓨터 판독가능 기록 매체
US7512290B2 (en) Image processing apparatus with SIMD-type microprocessor to perform labeling
JP2012008715A (ja) データ処理装置
JP7278150B2 (ja) 画像処理装置、撮像装置、画像処理方法
JP2022518640A (ja) データ処理方法、装置、機器、記憶媒体及びプログラム製品
US20230161835A1 (en) Matrix operation method and accelerator
JP4821427B2 (ja) データ処理装置及びそのプログラム
US12106029B2 (en) High-level synthesis device and high-level synthesis method
JP4482356B2 (ja) Simdプロセッサを用いた画像処理方法及び画像処理装置
JP4735408B2 (ja) 画像処理装置及びそのプログラム
JP4997821B2 (ja) データ処理装置及びそのプログラム
CN110087088B (zh) 一种基于运动估计的数据存储方法、终端设备及存储介质
US11500632B2 (en) Processor device for executing SIMD instructions
JP2020131547A (ja) 画像処理装置、画像形成装置、及びプログラム
US7130986B2 (en) Determining if a register is ready to exchange data with a processing element

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090210

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110222

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110425

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110822

R150 Certificate of patent or registration of utility model

Ref document number: 4821427

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

Year of fee payment: 3

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees