JP3593439B2 - 画像処理装置 - Google Patents
画像処理装置 Download PDFInfo
- Publication number
- JP3593439B2 JP3593439B2 JP15118597A JP15118597A JP3593439B2 JP 3593439 B2 JP3593439 B2 JP 3593439B2 JP 15118597 A JP15118597 A JP 15118597A JP 15118597 A JP15118597 A JP 15118597A JP 3593439 B2 JP3593439 B2 JP 3593439B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- image
- image processing
- processing
- line
- 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.)
- Expired - Lifetime
Links
Images
Landscapes
- Image Processing (AREA)
- Memory System (AREA)
- Picture Signal Circuits (AREA)
- Storing Facsimile Image Data (AREA)
- Facsimile Image Signal Circuits (AREA)
- Controls And Circuits For Display Device (AREA)
Description
【発明の属する技術分野】
本発明は、扱う画像データのビット幅が多様となる汎用の画像処理装置に関し、特に、画像データのビット幅に応じて処理構成を変更可能とした画像処理装置に関する。
【0002】
【従来の技術】
画像処理の一つであるフィルタ処理を高速に行なう方法に、ラインメモリ(LM)に画像データを記憶しながら処理を行なうものがある。LMを用いる方法は、フィルタ処理に必要な演算を部分的に並列処理することができる。また、画面を一通りスキャンするだけでフィルタ処理を行なうことができる。
【0003】
図2に、LMを用いる画像処理装置の概略構成を示す。同図(a)は、画像データのビット幅を8ビットとした時の3×3フィルタ処理の場合の構成を示す。3×3フィルタ処理では、ある画素の処理に、近傍の画素を含む9つの画像データが必要となる。この9つの画像データは、2本のラインメモリと処理対象メモリから読み出された画像データの組合せにより与えられる。そして、フィルタ処理に使用される9つの画像データと9つの係数を用いて、9つの乗算器を使用することにより並列に積和演算を行なうことで、フィルタ処理を高速に実行する。
【0004】
同じ3×3フィルタでも扱う画像データのビット幅が16ビットの場合には、図2(b)のように、16ビット幅のラインメモリを2本使用する。さらに、画像データのビット幅が8ビットで、5×5フィルタ処理を実現する場合は、図2(c)のように、8ビット幅のラインメモリが4本必要となる。
【0005】
従来、高分解能が要求される医療用などの画像処理では16ビット幅の画像データ、その他の分野の画像処理では8ビットや1ビット幅の画像データが用いられている。最近では、工業用の分野などでも16ビット幅の画像データによる画像処理の必要が高まっている。
【0006】
【発明が解決しようとする課題】
ラインメモリを使用する従来の画像処理装置では、処理対象の画像データにおける最大ビット幅の仕様によって、固定的に構成されていた。つまり、3×3フィルタ処理を考えた場合、最大8ビット幅の画像データを扱う画像処理装置は図2(a)の構成をとり、最大16ビット幅の画像データを扱う画像処理装置は図2(b)の構成をとっていた。したがって、1ビット幅、8ビット幅、16ビット幅の画像データを扱う画像処理装置においては、図2(b)の処理構成をとる必要があった。
【0007】
しかし、図2(b)の処理構成を用いて1ビット幅、8ビット幅の画像データを処理する場合、ラインメモリに未使用のメモリ領域が多く存在し、メモリの使用効率が悪く経済的でないという問題があった。
【0008】
また、5×5フィルタ処理を実現する図2(c)の処理構成においても、小さいビット幅の画像データを扱うときに上記と同様な問題が生じる。さらに、3×3フィルタ処理を行った場合、ラインメモリのみならず、フィルタ処理の演算装置にも未使用の回路が多く存在するという問題があった。
【0009】
上記のような使用効率の低さは、処理の高速化を考えた場合に重要な問題となる。一般に、複数のフィルタ処理を連続で行う場合の高速化についてはパイプライン処理を、単独のフィルタ処理の高速化については画面を小領域に分割して各小領域ごとに処理を行なう並列処理を挙げることができる。しかし、これらのパイプライン処理や並列処理にはラインメモリや演算装置の規模が大きくなるため、上記の問題点の解決が重要な課題となる。
【0010】
本発明の目的は、従来技術の問題点を克服し、扱う画像データのビット幅や処理機能に応じて処理構成を柔軟に変更でき、汎用性に優れリソースの使用効率が高い画像処理装置を提供することにある。また、高速処理の可能なパイプライン処理や並列処理を、画像データのビット幅に適応して任意に構成できる画像処理装置を提供することにある。
【0011】
【課題を解決するための手段】
本発明の上記目的は、処理対象の画像データを、複数ビットのライン幅をもつラインメモリを用いて画像処理回路に入力する画像処理装置において、画像データのビット幅に合わせて前記ラインメモリのライン幅を切り分けて理論上、複数の分割ラインメモリを構成し、かつ、設定される画像処理機能情報(以下、設定機能と略称)にしたがって使用する本数の分割ラインメモリを、前記画像処理回路と対応するよう、その入出力を制御する構成を備えたことにより達成される。
【0012】
上記の構成には、前記設定機能に応じて、前記画像処理回路における複数の演算回路の組合せを制御する機能を備え、3×3や5×5などの処理サイズの変更および/またはパイプラインや並列処理などの処理形態の変更を可能したことを特徴とする。
【0013】
すなわち、本発明の画像処理装置は、処理対象の画像データを格納する画像メモリと、所定の画像処理を行う画像処理回路と、前記画像メモリから読み出した画像データを処理サイズに合わせたブロックデータにして前記画像処理回路に出力するラインメモリを備える画像処理装置において、前記画像データのビット幅に合わせて前記ラインメモリのライン幅を切り分け理論上、複数の分割ラインメモリを構成し、かつ、設定機能にしたがって使用する本数の分割ラインメモリを、前記画像処理回路と対応するように、その入出力を制御する構成制御手段と、前記ラインメモリに入力する入力データを生成するラインメモリ入力データ制御手段と、前記ラインメモリの出力するデータから前記ブロックデータを生成するラインメモリ出力データ制御手段を備えることを特徴とする。
【0014】
また、前記設定機能が異なるi×iフィルター処理によるP段のパイプライン処理で、前記使用する本数Lが(i−1)×Pとなる場合、前記構成制御手段は、パイプライン処理の各段に使用する前記分割ラインメモリをL/P本のライン群とし、最前段の画像処理回路には前記画像メモリから読み出した画像データを直接入力する分割ラインメモリを含むライン群を対応させ、次段以降の画像処理回路には順次、前段の処理データを入力する分割ラインメモリを含むライン群を対応させるように、前記ラインメモリの入出力の制御を行うことを特徴とする。
【0015】
また、前記設定機能が同じi×iフィルター処理によるQ組の並列処理で、前記使用する本数Lが(i−1)×Qとなる場合、前記構成制御手段は、並列処理の各組に使用する前記分割ラインメモリをL/Q本のライン群とし、前記画像メモリに格納されている画像データの1画面分を垂直方向にQ分割し各々の領域から並列に読み出される画像データを、対応するライン群に入力するように制御することを特徴とする。
【0016】
さらに、前記構成制御手段は、前記設定機能を示すフィルタサイズ(i×i)、処理個数(1またはPまたはQ)、パイプラインなどの処理形態を設定されると、前記処理個数分の画像処理回路を前記フィルタサイズに見合った演算回路によって構成するように制御することを特徴とする。
【0017】
本発明によれば、扱う画像データのビット幅に合わせて、1ライン分のラインメモリのビット幅を可変にすることにより、理論上のラインメモリの本数を可変にすることができる。たとえば、図2(b)と同様な機能を実現する32ビット幅のラインメモリを使用した場合、ビット幅が16ビットの画像データを扱う場合には図2(b)と同様であるが、ビット幅が8ビットの画像データを扱う場合、図2(c)のようにラインメモリを制御することができる。つまり、扱う画像データのビット幅に合わせて、処理構成を変更できるので、画像処理装置の汎用性と使用効率を向上上できる。
【0018】
また、本発明によれば、画像処理の設定機能に応じてラインメモリの入出力を制御できるので、複数段のパイプライン処理や複数組の並列処理など、高速処理の可能な処理構成を簡単に構築できる。
【0019】
したがって、上記のようにラインメモリと画像回路の構成を可変制御する本発明によれば、たとえば32ビット幅のラインメモリと5×5フィルタ処理可能な積和演算回路を備える画像処理装置の場合に、画像データが16ビット幅の3×3フィルタ処理、画像データが1〜8ビット幅の5×5または3×3フィルタ処理、または、画像データが1〜8ビット幅の3×3フィルタ処理によるパイプライン処理もしくは並列処理を任意に構成制御できる汎用の画像処理装置を提供できる。
【0020】
【発明の実施の形態】
以下、本発明の一実施形態を図面を用いて詳細に説明する。図1は、一実施例による画像処理装置の全体構成を示す機能ブロック図である。図示で信号の流れを示す矢線は、後述するパイプライン処理に対応されている。
【0021】
構成制御部3は、処理対象の画像データの詳細情報を制御装置1から受取りそれを解釈する。さらに、制御装置1から伝達された画像処理機能を解釈し、その機能に必要な処理構成を行うための制御信号を発行する。構成制御部3で発行する制御信号のうち、タイミングに関する信号は、信号伝達手段4を介してメモリ制御部10に伝達される。メモリ制御部10は、画像データを記憶する処理対象メモリ部100や処理結果メモリ部700、ラインメモリ(LM)5を制御するLM制御部50を制御している。
【0022】
また、構成制御部3は、伝達された画像処理機能や画像データのビット幅の情報から、LM入力データ制御回路200やLM出力制御回路300などに、その入出力を制御する制御信号を伝達手段4を介して伝達する。LM入力データ制御回路200とLM出力データ制御回路300は、この制御信号に従ってLM5に入出力するデータを制御する。
【0023】
LM出力データ制御回路300から出力された画像データは、画像処理部90のプロセッサユニット(PU)400で演算され、データ統合回路500に入力される。本実施例の画像処理部90はフィルタ処理を実行するが、データ統合回路500に形状変換処理やラベリング処理を行なう回路を付加してもよい。
【0024】
フィルタ処理された処理結果データは、データ選択制御回路600に入力され、構成制御部3からの制御信号により処理結果データの選択を行い、処理結果メモリ部700にデータを出力する。また、このデータ選択制御回路600では、構成制御部3からの制御信号よりフィードバックの指示がある場合、フィードバック手段800を介して処理結果データをLM入力データ制御回路200にフィードバックする。本発明の一実施形態であるパイプライン処理構成では、このフィードバックされた処理結果を再びLM5に入力し、別のフィルタ処理を行うことができる。
【0025】
図3に、パイプライン処理を行う画像処理装置の概略構成を示す。本実施形態は、フィルタ処理A903の出力結果を再びLM5に戻すことにより、異なるフィルタ処理B904をパイプライン的に処理する。このパイプライン処理構成は、図2(b)または(c)から変更できる。すなわち、LM5は図2(b)、(c)の場合と同じ32ビット幅である。また、図2(c)の5×5フィルタ処理902は乗算器を25、加算器を24使用しているので、その中から乗算器を9個×2、加算器を8個×2用いて、図3のフィルタ処理903,904を構成できる。あるいは、図2(b)のシステムにおいて、乗算器を18個、加算器を16個それぞれ備えていれば、図3の処理構成への変更が可能になる。
【0026】
次に、図1の各ブロックを詳細に説明する。構成制御部3は、制御装置1から画像データに関する情報や画像処理機能の実行命令をバス2を介して受け取る。
【0027】
図4に、画像データ情報や画像処理機能情報の管理テーブルの一例を示す。これらの情報は、構成制御部3の記憶装置(図示なし)に設けられる管理テーブルに、制御装置1から設定される。同図(a)は、画面管理テーブルを示し、処理対象の画像データが記憶されているメモリを示す画像メモリチャネル番号や、処理を行なう画像画面上で開始する物理的なアドレス、画面のサイズ、さらには画像データのビット幅(w)やカラー、モノクロといった画像種別を示す画面のデータタイプなどの画像データ情報を格納している。
【0028】
同図(b)は、画像処理機能設定テーブルを示し、フィルタ処理などの処理内容と、単独、パイプラインあるいは並列などの処理形態と、処理個数及び処理サイズなどを格納している。同図(c)は、設定される処理機能の可否をチエックするための処理個数管理テーブルで、図示例はLM5が32ビット幅のとき、画像処理部90による構成可能なフィルタ処理の処理数個数を示している。すなわち、画像データのビット幅(w)と処理サイズ(フィルタ処理のカーネルサイズ)をパラメータとして、フィルタ処理の処理数個数が設定されている。例えば、画像データのビット幅がw=8で、3×3フィルタ処理を行う場合、可能な処理個数は2であり、2つの異なるフィルタ処理をパイプラインで、または2つの同じフィルタ処理を並列処理で実行できる。
【0029】
図5に構成制御部3の処理の流れを示す。構成制御部3では、画像データ情報の設定と画像処理機能の設定により(s101,s102)、LM5へのデータの入出力制御をはじめ、各ブロックを制御する信号を生成する(s103)。これらの制御信号は、たとえば図5(b)のように、画像データのビット幅(w)と設定機能に基づいて発行される。
【0030】
図5(b)のテーブルは、データ幅が8ビットの3×3フィルタ処理の各ブロックの制御信号の例を、単独、パイプライン処理、並列処理の場合について示している。
【0031】
構成制御部3からの制御信号で、メモリ制御部10に対しては、画像データの記憶場所や画面サイズを設定する。パイプライン処理の場合、図5(b)と後述する図6、図7に示すように、LM入力データ制御回路200に対しては、処理対象メモリ部100からのデータと、LM5の出力データと、画像処理結果のデータとから、LM5の入力データを作成するための制御信号を発生する。LM出力データ制御回路300に対しては、画像処理機能に応じてPU400やデータ統合回路500が3×3フィルタ処理の積和演算などを実現するように、LM5の出力(LM_out)301や、LM入力データ制御回路200から直接入力するデータ(LM_thr)302を基に、各PU400に分配するブロックデータを作成するための制御信号を発生する。
【0032】
次に、各PU400に対しては、積和演算などが所望の機能を実現するように、係数の設定や、乗算、加算などの機能の選択を行なう制御信号を発生する。データ統合回路500に対しては、たとえば図8に示す回路の構成を行う制御信号を発生し、各PU400からの演算結果から積和演算の加算処理をする。これらは、基本的には従来技術と同様に行われる。
【0033】
データ選択制御回路600については、処理結果メモリ部700に記憶する3×3フィルタ処理結果の選択や、パイプライン処理を実現するためにフィードバックする画像データを選択する信号を発生する。
【0034】
構成制御部3は、全ての制御信号を発生した後に、画像処理を開始する起動信号をメモリ制御部10に発生する(s104)。メモリ制御部10では、この起動信号により、画像データの記憶手段である各メモリにアクセスするためのアドレスや、タイミング信号を発生する。
【0035】
以上により、図3のパイプライン処理構成の場合、構成制御部3は32ビット幅のLM5を理論上、8ビット毎にLM0〜LM3に4分割し、分割した各LMに対応する入力データの取り込みを可能にする。また、使用する画像処理機能に合わせて2組の3×3フィルタ処理の構成を行う。本実施形態では、3×3フィルタ処理について説明しているが、5×5フィルタ処理構成をとることもできる。つまり、フィルタサイズを自由に選択できるように、積和演算の構成をフィルタサイズによって変更できるようにしている。
【0036】
図8に、異なる二つの3×3フィルタ処理を実現する構成、図9に、5×5フィルタ処理を実現する構成を示す。フィルタ処理における積和演算で、乗算はPU400で行なわれ、加算はデータ統合回路500で行なわれる。フィルタサイズの制御は、データ統合回路500においてデータの流れを制御することにより実現する。データの流れは、セレクタ510〜550によって制御し、フィルタサイズに応じて加算器を組み合わせることにより所望のフィルタ処理を実現する。したがって、図8と図9の構成の変更は、各セレクタ510〜550によってデータの流れを制御することにより可能となる。
【0037】
本実施形態では、処理構成と画像処理に係わる全ての制御を構成制御部3が行なっている。しかし、同様の機能を制御装置1が行なったり、構成制御部3が行なう機能の一部を別のブロックにより代替するなど、本実施形態に対する他の代案が可能である。
【0038】
次に、LM5の入出力制御について図6、図7及び図10〜図15を使用して詳細に説明する。まず、図6を用いてLM入力データ制御回路200、LM5及びLM出力データ制御回路300の関係を説明する。同図において、処理対象メモリ部100から入力されるビット幅8ビットのデータ201をM[7:0]、データ選択制御回路600からフィードバック手段800を介して入力されるデータ203をFB[7:0]、32ビット幅のLM5に入力するデータ210をLM_in[31:0]、LM5から出力されるデータ301(202)をLM_out[31:0]、LM入力データ制御回路200からLM出力データ制御回路300にLM5を介さずに入力されるデータ302をLM_thr[15:0]と記述する。なお、各データの符号は、対応する信号線の符号に読み替えることもある。
【0039】
まず、LM入力データ制御回路200とLM出力データ制御回路300の機能の概要を説明する。LM入力データ制御回路200においては、M[7:0]、FB[7:0]、LM_out[31:0]からLM5への入力データLM_in[31:0]と、LM出力データ制御回路300への入力データLM_thr[15:0]を生成する。このとき、LM_in[31:0]とLM_thr[15:0]は、画像データのビット幅に応じて制御され、そのビット幅が8ビットの場合、図9に示すように8ビットごとに切り別けて信号線を使用する。
【0040】
図10に、LM5の理論上の切り分け構成と入力データのビット幅の関係を示す。同図(a)のように、画像データのビット幅が16ビットの場合は、図2(b)の処理構成となるので、LM0にLM_in[15:0]、LM1にLM_in[31:16]が入力される。同図(b)のように、画像データのビット幅が8ビットで、図3の処理構成をとる場合、LM0にM[7:0]、LM1にLM_out[7:0]、LM2にFB[7:0]、LM3にLM_out[23:16]が入力される。
【0041】
次に、LM出力データ制御回路300においては、LM_out[31:0]とLM_thr[15:0]からフィルタ処理に必要なデータを選択制御して、PU400に出力する。ここで、3×3フィルタ処理A,Bをパイプライン処理する場合のデータの流れについて、詳細に説明する。
【0042】
図7に、LM出力データ制御回路300の構成を示す。LM出力データ制御回路300には、信号線301から垂直方向に1ラインもしくは2ライン遅延された画像データLM_outが、信号線302から垂直方向の遅延がない画像データLM_thrがそれぞれ入力される。図中、信号線上の斜線に付記した数字は、各信号線の本数を表わし、伝達するビット数に対応している。
【0043】
LM出力データ制御回路300の内部では、水平方向の遅延回路(フリップフロップ)311,312を用いて、水平方向に2段遅延したデータを生成し、3×3フィルタ処理に必要なブロックデータ、すなわち画面上の3×3領域に対応する9個の画像データの組み合わせを作成し、フィルタ処理AのPU400の各々に分配する。また、フィルタ処理Aの処理結果を用いるフィルタ処理Bに対しても、同様に遅延回路313,314を用いてブロックデータを作成する。なお、出力データの処理Aと処理Bへの切り分けは、出力データビット切り分け回路315によって行われる。
【0044】
図20に、他の実施例によるLM出力データ制御回路300の構成を示す。水平方向の遅延回路311〜314及び321〜324をそれぞれ4段とすることによって、3×3と5×5の両方のフィルタ処理に適用できるようにしている。具体的には出力データビット回路に指定された処理サイズ(カーネルサイズ)に合わせて、出力データを発生させる。
【0045】
図11に、フィルタ処理A,Bのデータ配列の関係を示す。この例は、積和演算の遅延がないときの関係を示し、図のフィルタAはAm,nの位置でのフィルタ処理の演算を示している。ここで、添え字のmは画像のx座標を、nはy座標を指している。処理に使用される9つのデータは、LM出力データ制御回路300により一組にまとめられ、9つ同時に積和演算を行なう回路であるPU400およびデータ統合回路500に入力される。
【0046】
次に、フィルタ処理Aの処理結果に対して異なるフィルタ処理Bをパイプライン処理する仕組みについて説明する。フィルタ処理AにおけるAm,nでの処理結果は、フィードバック手段800を介して、LM入力データ制御回路200に伝達され、フィルタ処理Bに使用される。このとき、Am,nでの処理結果はBm,nとなる。このとき、フィルタ処理Bの出力結果は、フィルタ処理Aの処理結果を処理しているため、フィルタ処理Aの処理結果よりも1ラインと1画素だけ遅延した位置のものになる。つまり、フィルタ処理Aは絶対座標で(m,n)の画素での結果を出力し、この時にはフィルタ処理Bは(m−1,n−1)の結果を出力する。
【0047】
以上を整理すると、フィルタ処理Aでは、処理対象メモリ部100からのデータに対しフィルタ処理を行なっているのに対し、フィルタ処理Bでは、フィルタ処理Aの処理結果に対してパイプライン的にフィルタ処理を行なっている。このとき、フィルタ処理Aとフィルタ処理Bとの構成の違いは、処理対象メモリ部100からのデータに対し処理を行なうか、フィルタ処理Aの処理結果のデータに対し処理を行なうかであり、個々には単独のフィルタ処理の場合の処理構成と変わらない。
【0048】
図11に示したフィルタ処理A,Bのパイプライン処理を実現するためのデータ制御について、さらに詳細に説明する。ここでのデータ制御の目的は、図11に斜線部で示した3つのデータを同時に、LM_outとLM_thrの2つのデータから生成できるように、データの流れのタイミングを制御することにある。上記の斜線部を同時に生成するということは、同時刻においてLM_outとLM_thrに上記斜線部のデータを発生することを意味する。
【0049】
図12に、図11の斜線部のデータのビット構成を示す。図示で、LM_in、LM_thr、LM_outから切り分けされるデータをビット幅毎に上段に示し、そのデータに対応するフィルタ処理A、Bでのデータ配列を下段に示している。
【0050】
これらのビットの切り分け制御は、LM_inに対しては図6におけるLM入力データ生成回路250で、LM_thrに対してはLM通過データ生成回路251で行なわれる。LM_outに関しては、LM5から読み出されるデータが既に、図12に示したビット構成になっている。
【0051】
図13に、フィルタ処理A、Bにおけるタイミングチャートを示す。(a)はフィルタ処理における演算の遅延がない場合で、RAはLM5のリードアドレス、WAはライトアドレスを示している。この例のLM5には、そのビット幅が32ビット、処理対象のビット幅が8ビットで、RAで指定されたアドレスのデータを1クッロク後に出力する同期型メモリを使用している。
【0052】
このとき、LM5の下位の16ビットはフィルタ処理Aに、上位の16ビットはフィルタ処理Bに使用されるよう制御される。つまり、LM5と信号線210、302をフィルタ処理A,Bで画像データのビット幅に合わせて2分割して使用できるように制御する。
【0053】
次に、LM5の動作とフィルタ処理Aおよびフィルタ処理Bとの関係を、図14と図15を用いてより具体的に説明する。図14は、処理対象の画像画面でのデータ配列とLM5のデータ配列を説明するための概念図である。LM5には、RAで指定されたアドレスのデータを1クッロク後に出力する同期型メモリを使用している。フィルタAで使用される画像データは丸数字、フィルタBで使用される画像データは二重丸数字で示している。図示のように、LA5に対しRA(=8)、WA(=7)が指示されているとき、フィルタ処理Aでは矩形内の9つの画像データを用いデータ68の処理を、同様にフィルタ処理Bでは処理Aの結果データ57(画像データ57に対応)の処理を行っている。以下、矩形で示されたフィルタ処理に注目して説明する。
【0054】
図15は、(a)〜(c)のように、LM5の動作を3クロック期間モニタリングした説明図である。以下では、フィルタAで使用するデータには添字a、フィルタBで使用するデータには添字bを付与して区別する。
【0055】
同図(a)の状態では、WA=5、RA=6を示している。画像メモリ100から画像データ59aが入力されると、LM5がそれに同期して、画像データ57a,58aを出力するように制御される。このとき、フィルタ処理Aは37a,38a,39a,47a,48a,49a,57a,58a,59aの画像データを使用してフィルタ処理を行い、その処理結果はデータ48bである。データ48bはLM5の入力として使用されると同時に、フィルタ処理Bに使用される。フィルタ処理Bは、処理Aの結果データ26b,27b,28b,36b,37b,38b,46b,47b,48bを使用して、37の位置の処理結果を出力する。
【0056】
次に、1クロック後の同図(b)の状態では、WA=6、RA=7となり、LM5からの出力は1クロック前に指定したアドレスのデータ56b,57b,67a,68aである。このとき、画像メモリ100から入力される画像データは69a、フィルタ処理Aの処理結果データは58bである。また、フィルタ処理Bの処理結果データは、47の位置のデータである。さらに、1クロック後の同図(c)の状態では、WA=7、RA=8となり、LM5からの出力はデータ66b,67b,77a,78aである。フィルタ処理Aの処理結果データは68b、フィルタ処理Bの処理結果データは、57の位置のデータである。
【0057】
このように、画像メモリ100から入力される画像データのビット幅に合わせて、毎クロックWA及びRAがカウントアップされる。そして、画像メモリ100から読み出される画像データに同調して、3×3フィルタ処理を実行できるようにLM5を制御する。
【0058】
なお、上記したLM5の動作は2段のパイプライン処理についての説明ではあるが、個々のフィルタ処理Aまたはフィルタ処理Bについてみれば、通常の3×3フィルタ処理や5×5フィルタ処理の動作と同じになる。
【0059】
また、本実施形態では、フィルタ処理における演算の遅延段数を考慮していないが、遅延段数を考慮してもよい。遅延段数を考慮した場合、図13(b)に示すように、LM_in およびLM_thr におけるフィルタ処理Aとフィルタ処理Bとのデータの組み合わせの差が1クロックになるだけで、制御方法は遅延がない場合と全く同様である。
【0060】
このように、本実施形態によれば、ラインメモリの入出力をデータの組合せによって簡単に制御できるので、フィルタサイズの異なるフィルタ処理、さらにはパイプライン処理や並列処理などを、共通のハード(リソース)を用いてその処理構成を変更することで効率的に実現できる。以下に、処理形態の異なる他の実施例について説明する。
【0061】
図16は、画像データのビット幅が16ビットの図2(b)の処理構成において、3×3フィルタ処理901に入力されるデータのビット構成を示す。図12の場合と同様に、LM_in、LM_thr、LM_outは制御されるデータを上段に、そのデータに対応するフィルタ処理A901での対象データを下段に示している。前例と同様に、これらのビットの切り分け制御は、LM_inに対してはLM入力データ生成回路250で、LM_thrに対してはLM通過データ生成回路251で行なわれる。LM_outに関しては、LM5から読み出されるデータが既に図10に示したビット構成になっている。
【0062】
図17に、画像データのビット幅が1ビットで、A〜Pの16段のパイプライン処理を行なう処理構成を示す。この場合にも、LM5を1ビット幅でLM0〜LM31に区分し、各3×3フィルタに入力するLM_in、LM_thr、LM_outのデータを、図12の場合の8ビット幅に対し1ビット幅で切り分け制御することで、同様に実現できる。
【0063】
このように、画像データのビット幅に応じてLMの入出力を制御し、LMの使用本数を実質的に最適化することにより複数段のパイプライン処理を可能とし、高速な画像処理を実現している。
【0064】
図18に、本発明の並列処理による画像処理装置の構成を示す。図示のように、n個の処理対象メモリ部100とn個の処理結果メモリ部700を用いている以外は、図1の実施形態と同じ構成となる。
【0065】
図19に、2個の並列処理の処理構成を示す。32ビット幅のLMを使用し、画像データのビット幅が8ビット、2個の3×3フィルタ処理Aを並列処理するときの処理構成を示している。同図(b)に示すように、一画面を2つに分割して並列に処理する場合、1個でフィルタ処理Aを行なう処理時間を1/2に短縮できる。
【0066】
この処理構成は、図3のパイプラインの処理構成から簡単に変更できる。たとえば、LM入力データ制御回路200において、フィードバック手段800によって伝達される処理結果データを、処理対象メモリ部100からの画像データに変更するだけでよい。したがって、パイプライン処理が必要なときには図3の処理構成を採用し、並列処理が必要なときには図14の処理構成を採用するように任意な構成が可能になる。もちろん、図2(c)の処理構成からの変更も可能である。
【0067】
【発明の効果】
本発明によれば、扱う画像データのビット幅と合わせ、一ライン分のラインメモリのビット幅を可変して理論上のラインメモリの本数を変更するので、画像データのビット幅と画像処理の設定機能に対応した処理構成を、ラインメモリや演算装置の規模の範囲内で柔軟に変更できる。
【0068】
また、本発明によれば、扱う画像データのビット幅と画像処理サイズに合わせてラインメモリの入出力を制御することにより、複数段のパイプライン処理や複数組の並列処理を自由に構成することができ、画像処理の高速化が可能になる。
【0069】
つまり、本発明によれば、扱う画像データのビット幅と画像処理の設定機能に合わせて、多様な処理構成をとることができるので、汎用性に優れリソースの使用効率が高い画像処理装置を提供できる。
【図面の簡単な説明】
【図1】本発明の一実施形態における画像処理装置の全体構成図。
【図2】ラインメモリを使用する画像処理装置の種々の処理構成を示す概念図。
【図3】本発明のパイプライン処理の画像処理装置の処理構成を示す概念図。
【図4】画像情報及び画像処理機能情報の設定内容を示すテーブル。
【図5】構成制御部による処理の流れと、発行される制御信号の一例を示す説明図。
【図6】ラインメモリの入力データを制御するLM入力データ制御回路とその周辺回路の構成を示す機能ブロック図。
【図7】LM出力データ制御回路の構成を示す機能ブロック図。
【図8】3×3フィルタ処理を実現する画像処理部の回路構成を示す機能ブロック図。
【図9】5×5フィルタ処理を実現する画像処理部の回路構成を示す機能ブロック図。
【図10】ラインメモリの理論上の分割構成を示す概念図。
【図11】3×3フィルタ処理のパイプライン処理を実現するブロックデータの推移を示す説明図。
【図12】図11の斜線部に対応し、LM入力データ、LM通過データ及びLM出力データをビット幅毎に示すデータ構成図。
【図13】図11のブロックデータのタイミングチャート。
【図14】3×3フィルタ処理のパイプライン処理でのブロックデータとラインメモリの位置を示す説明図。
【図15】ラインメモリのデータ移動を詳細に示す説明図。
【図16】本発明の他の実施形態で、画像データが15ビット幅の場合のLM入力データ、LM通過データ及びLM出力データをビット幅毎に示すデータ構成図。
【図17】本発明の他の実施形態で、画像データが1ビット幅の場合の3×3フィルタ処理を16段のパイプライン処理で行う処理構成の概念図。
【図18】本発明の他の実施形態で、n組の並列処理を行う画像処理装置の全体構成図。
【図19】3×3フィルタ処理の2並列処理を行う処理構成と対象メモリの説明図。
【図20】他の実施形態によるLM出力データ制御回路の構成を示す機能ブロック図。
【符号の説明】
1…制御装置、2…制御装置と画像処理装置とのバスインタフェース、3…構成制御部、5…ラインメモリ(LM)、90…画像処理部、100…処理対象メモリ部、200…LM入力データ制御回路、250…LM入力データ生成回路、300…LM出力データ制御回路、311〜314…遅延回路、321〜324…遅延回路、330…出力データビット切り分け回路、400…PU、500…データ統合回路、600…データ選択制御回路、700…処理結果メモリ部。
Claims (9)
- 処理対象の画像データを格納する画像メモリと、所定の画像処理を行う画像処理回路と、前記画像メモリから読み出した画像データを処理サイズに合わせたブロックデータにして前記画像処理回路に出力するラインメモリを備える画像処理装置において、
前記画像データのビット幅に合わせて前記ラインメモリのライン幅を切り分けて、理論上、複数の分割ラインメモリを構成し、かつ、設定される画像処理機能(設定機能)にしたがって使用する本数の分割ラインメモリの入出力を、前記画像処理回路と対応するように制御する構成制御手段を備えたことを特徴とする画像処理装置。 - 請求項1において、前記構成制御手段は前記画像処理機能に応じて、前記画像処理回路における複数の演算回路の組合せを制御し、
3×3や5×5などの処理サイズの変更および/またはパイプラインや並列処理などの処理形態の変更を可能したことを特徴とする画像処理装置。 - 処理対象の画像データを格納する画像メモリと、所定の画像処理を行う画像処理回路と、前記画像メモリから読み出した画像データを処理サイズに合わせたブロックデータにして前記画像処理回路に出力するラインメモリを備える画像処理装置において、
前記画像データのビット幅に合わせて前記ラインメモリのライン幅を切り分けて、理論上、複数の分割ラインメモリを構成し、かつ、設定される画像処理機能(設定機能)にしたがって使用する本数の分割ラインメモリの入出力を、前記画像処理回路と対応するように制御する構成制御手段と、
前記構成制御手段の制御により、前記ラインメモリに入力する入力データを生成するラインメモリ入力データ制御手段と、前記ラインメモリの出力するデータから前記ブロックデータを生成するラインメモリ出力データ制御手段を備え、
前記ラインメモリのライン幅の範囲内で処理構成を任意に変更できるようにしたことを特徴とする画像処理装置。 - 請求項3において、前記画像処理機能が異なるi×iフィルター処理によるP段のパイプライン処理で、前記使用する本数Lが(i−1)×Pとなる場合、
前記構成制御手段は、パイプライン処理の各段に使用する前記分割ラインメモリをL/P本のライン群とし、最前段の画像処理回路には前記画像メモリから読み出した画像データを直接入力する分割ラインメモリを含むライン群を対応させ、次段以降の画像処理回路には順次、前段の処理データを入力する分割ラインメモリを含むライン群を対応させるように、前記ラインメモリの入出力の制御を行うことを特徴とする画像処理装置。 - 請求項4において、前記ラインメモリ入力データ制御手段は、前記画像メモリから読み出した画像データと、前記ラインメモリの出力データの一部と、前記画像処理回路の各段の処理結果データとから、前記分割ラインメモリの全てに入力するための入力データを生成することを特徴とする画像処理装置。
- 請求項3において、前記画像処理機能が同じi×iフィルター処理によるQ組の並列処理で、前記使用する本数Lが(i−1)×Qとなる場合、
前記構成制御手段は、並列処理の各組に使用する前記分割ラインメモリをL/Q本のライン群とし、前記画像メモリに格納されている画像データの1画面分を垂直方向にQ分割し各々の領域から並列に読み出される画像データを、対応するライン群に入力するように制御することを特徴とする画像処理装置。 - 請求項4〜6のいずれか1項において、前記構成制御手段は、前記画像処理機能を示すフィルタサイズ(i×i)、処理個数(1またはPまたはQ)、パイプラインなどの処理形態を設定されると、前記処理個数分の画像処理回路を前記フィルタサイズに見合った演算回路によって構成するように制御し、
また、前記処理形態がパイプラインの場合に、前記画像処理回路の各々の処理結果データを前記ラインメモリ入力データ制御手段にフィードバックするように制御することを特徴とする画像処理装置。 - 処理対象の画像データを格納する画像メモリと、所定の画像処理を行う画像処理回路と、前記画像メモリから読み出した画像データを処理サイズに合わせたブロックデータにして前記画像処理回路に出力するラインメモリを備える画像処理装置において、
異なるi×iフィルター処理によるP段のパイプライン処理を行うためのP組の画像処理回路と、
前記画像データのビット幅に合わせて前記ラインメモリのライン幅を切り分けて、理論上、L(=(i−1)×P)本の分割ラインメモリを構成し、かつ、設定される画像処理機能(設定機能)にしたがって使用する分割ラインメモリをL/P本のライン群毎に各画像処理回路に対応させて、前記ラインメモリの入出力を制御する構成制御手段と、
前記画像メモリから読み出した画像データと、前記ラインメモリの出力データの一部と、前記画像処理回路の各段の処理結果データとから、前記ラインメモリを理論上で切り分けた全てのラインに入力するための入力データを生成するラインメモリ入力データ制御手段と、
前記ラインメモリから出力するデータから前記ブロックデータを生成するラインメモリ出力データ制御手段を備え、
ラインメモリのライン幅の範囲内でパイプライン処理構成を任意に変更できるようにしたことを特徴とする画像処理装置。 - 請求項8において、i=3、P=2の場合に、
前記ラインメモリ入力データ制御手段は、前記画像メモリから読み出した画像データの幅のMビットと、1クロック前に読み出した画像データで前記出力データの中から得られるMビットを前段の画像処理回路に対応する2本の分割メモリからなるライン群に、このときの前段の画像処理回路の処理結果データのMビットと、その1クロック前の処理結果データのMビットを後段の画像処理回路に対応する2本の分割メモリからなるライン群に入力するように制御し、
前記ラインメモリ出力データ制御手段は、前記画像メモリから読み出した画像データと前段のライン群から出力する2の画像データとの画面上3ラインのデータ組みと、それらデータ組の1クロック前及び2クロック前のデータ組を合わせた9つのデータブロックを生成して前段の画像処理回路に、このときの前段の処理結果データと後段のライン群から出力する2の処理結果データを、前段の場合と同様に制御してデータブロックを生成して後段の画像処理回路に出力するように制御することを特徴とする画像処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP15118597A JP3593439B2 (ja) | 1997-06-09 | 1997-06-09 | 画像処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP15118597A JP3593439B2 (ja) | 1997-06-09 | 1997-06-09 | 画像処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH10340340A JPH10340340A (ja) | 1998-12-22 |
JP3593439B2 true JP3593439B2 (ja) | 2004-11-24 |
Family
ID=15513148
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP15118597A Expired - Lifetime JP3593439B2 (ja) | 1997-06-09 | 1997-06-09 | 画像処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3593439B2 (ja) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4146654B2 (ja) | 2002-02-28 | 2008-09-10 | 株式会社リコー | 画像処理回路、複合画像処理回路、および、画像形成装置 |
JP4987364B2 (ja) | 2006-06-23 | 2012-07-25 | 株式会社東芝 | ラインメモリ実装装置とテレビジョン受信装置 |
JP2010026738A (ja) * | 2008-07-18 | 2010-02-04 | Ricoh Co Ltd | 画像処理装置、画像処理方法、画像処理プログラム及び記録媒体 |
US8754895B2 (en) * | 2008-09-09 | 2014-06-17 | Sony Corporation | Pipelined image processing engine |
JP2010086497A (ja) * | 2008-10-03 | 2010-04-15 | Renesas Technology Corp | 画像処理装置及びデータプロセッサ |
US9749548B2 (en) | 2015-01-22 | 2017-08-29 | Google Inc. | Virtual linebuffers for image signal processors |
US9756268B2 (en) | 2015-04-23 | 2017-09-05 | Google Inc. | Line buffer unit for image processor |
KR102577184B1 (ko) * | 2016-05-24 | 2023-09-11 | 삼성전자주식회사 | 전자 장치 및 그의 동작 방법 |
-
1997
- 1997-06-09 JP JP15118597A patent/JP3593439B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH10340340A (ja) | 1998-12-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5960211A (en) | Data formatting method and apparatus for a data processing array | |
EP0298658A2 (en) | Computational apparatus | |
US7849288B2 (en) | Alternately selecting memory units to store and retrieve configuration information in respective areas for a plurality of processing elements to perform pipelined processes | |
KR20060060689A (ko) | 병렬 처리 어레이 및 데이터 처리 방법 | |
JP3593439B2 (ja) | 画像処理装置 | |
US8024549B2 (en) | Two-dimensional processor array of processing elements | |
JP3971535B2 (ja) | Simd型プロセッサ | |
JP5601327B2 (ja) | データ並べ替え回路、可変遅延回路、高速フーリエ変換回路、およびデータ並べ替え方法 | |
JP3987784B2 (ja) | アレイ型プロセッサ | |
JPH02226336A (ja) | デジタル信号処理装置 | |
US11249722B2 (en) | Semiconductor device and method of controlling the semiconductor device | |
JP3726971B2 (ja) | 並列プロセツサ装置 | |
JP4295234B2 (ja) | Fir型デジタルフィルタ | |
JP4413052B2 (ja) | データフローグラフ処理装置および処理装置 | |
JPH06309349A (ja) | プログラム制御のプロセッサ | |
JP5116499B2 (ja) | 演算処理回路 | |
JP2518912B2 (ja) | 並列デ―タ処理装置 | |
JP2001160736A (ja) | デジタルフィルタ回路 | |
JP4413905B2 (ja) | Simd型プロセッサ | |
JP2003330914A (ja) | ベクトル演算処理装置、ベクトル演算方法およびベクトル演算プログラム | |
JPH08171538A (ja) | 信号処理装置 | |
JPH0743698B2 (ja) | 並列デ−タ処理装置 | |
JPH0668055A (ja) | ディジタル信号処理装置 | |
JPH09205346A (ja) | ディジタルフィルタ | |
JPH0467253A (ja) | 並列データ処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040210 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040402 |
|
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: 20040824 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040830 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080903 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080903 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090903 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090903 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100903 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100903 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110903 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120903 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130903 Year of fee payment: 9 |
|
EXPY | Cancellation because of completion of term |