説明

画像処理装置

【課題】メモリへのアクセスを多数必要とする処理を行う場合にも、メモリアクセス時間が全体の処理時間に影響しない画像処理装置を提供する。
【解決手段】メモリと、前記メモリに対してリード/ライトアクセスを行う外部メモリアクセス装置と、前記外部メモリアクセス装置に対してデータ伝達を行なうポートを有するSIMD型マイクロプロセッサとを備える画像処理装置において、前記SIMD型マイクロプロセッサを構成する複数のプロセッサエレメントの、各々に含まれるレジスタに格納されるデータにおける、隣接するプロセッサエレメント間での連続関係に基づいて生成されるコントロールコードによって、前記外部メモリアクセス装置の前記メモリへのアクセスを削減する制御が為されることを特徴とする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置に関する。
【背景技術】
【0002】
SIMD型マイクロプロセッサでは、複数のデータに対して1つの命令で同時に同一の演算処理が実行可能である。この構造により、演算は同一であるがデータ量が非常に多い処理(特に、画像処理)に係る用途において、頻用される。SIMD型マイクロプロセッサにおける通常の画像処理では、複数の演算ユニット(Processor Element[PE];プロセッサエレメント)を主走査方向に対応する方向に並べ、同一の演算を同時に複数のデータに対して実行する。このことにより高速な演算処理が可能となっている。
【0003】
ところで、SIMD型マイクロプロセッサ及びメモリ装置を含む画像処理装置は、メモリ装置へのアクセスが全体の処理サイクル時間に大きな影響を与えるシステムである。このようなメモリアクセスが全体の処理時間に大きく影響するシステム(装置)では、ヒストグラム処理等のメモリからのリードアクセス、メモリへのライトアクセスが頻繁に必要となる処理を行った場合、処理時間が長くなる、という問題がある。
【0004】
なお、本願発明の先行技術文献として、後述の特許文献1〜6が挙げられる。
【発明の概要】
【発明が解決しようとする課題】
【0005】
本発明は、ヒストグラム処理等のメモリからのリードアクセス、メモリへのライトアクセスを多数必要とする処理を行う場合にも、メモリアクセス時間が全体の処理時間を増大させないような画像処理装置を提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明は、上記の目的を達成するために為されたものである。本発明に係る請求項1に記載の画像処理装置は、
メモリと、前記メモリに対してリード/ライトアクセスを行う外部メモリアクセス装置と、前記外部メモリアクセス装置に対してデータ伝達を行なうポートを有するSIMD型マイクロプロセッサとを備える画像処理装置において、
前記SIMD型マイクロプロセッサを構成する複数のプロセッサエレメントの、各々に含まれるレジスタに格納されるデータにおける、隣接するプロセッサエレメント間での連続関係に基づいて生成されるコントロールコードによって、前記外部メモリアクセス装置の前記メモリへのアクセスを削減する制御が為されることを特徴とする画像処理装置である。
【0007】
本発明に係る請求項2に記載の画像処理装置は、
前記コントロールコードは、
注目プロセッサエレメントに含まれるレジスタに格納されるデータと、前記注目プロセッサエレメントに隣接する、前記注目プロセッサエレメントの1つ前のプロセッサエレメントに含まれるレジスタに格納されるデータとの、一致又は不一致を示す第1のコントロールコードであることを特徴とする請求項1に記載の画像処理装置である。
【0008】
本発明に係る請求項3に記載の画像処理装置は、
前記コントロールコードは、
注目プロセッサエレメントに含まれるレジスタに格納されるデータと、前記注目プロセッサエレメントに隣接する、前記注目プロセッサエレメントの1つ後のプロセッサエレメントに含まれるレジスタに格納されるデータとの、一致又は不一致を示す第2のコントロールコードであることを特徴とする請求項1に記載の画像処理装置である。
【0009】
本発明に係る請求項4に記載の画像処理装置は、
更に、前記外部メモリアクセス装置は、前記第2のコントロールコードを、一時記憶して遅延を与える一時記憶素子を備えることを特徴とする請求項3に記載の画像処理装置である。
【0010】
本発明に係る請求項5に記載の画像処理装置は、
前記コントロールコードは、
注目プロセッサエレメントに含まれるレジスタに格納されるデータと、前記注目プロセッサエレメントに隣接する、前記注目プロセッサエレメントの1つ前のプロセッサエレメントに含まれるレジスタに格納されるデータとが一致する場合に、前記注目プロセッサエレメントに含まれるレジスタに格納されるデータに、上書きされる特定コードであり、
更に、前記外部メモリアクセス装置は、前記特定コードの検出回路を備えることを特徴とする請求項1に記載の画像処理装置である。
【発明の効果】
【0011】
本発明に係る画像処理装置では、SIMD型マイクロプロセッサと外部メモリと間のアクセスを制御する外部メモリアクセス装置において、メモリリードアクセス及びメモリライトアクセスを一部省略することができ、これによりメモリアクセスサイクル数を削減でき処理時間を短くできる。更に外部メモリアクセス装置内の制御回路規模を削減できる。
【図面の簡単な説明】
【0012】
【図1】本発明の第1の実施形態に係る画像処理装置のブロック図(図1(1))と、第1の実施形態に係る画像処理装置において、ヒストグラム処理を行うときのデータの入出力の様子を示す図である(図1(2))。
【図2】SIMD型マイクロプロセッサの概略の構成図である。
【図3】第1の実施形態に係る画像処理装置における外部メモリアクセス装置の構成図である。
【図4】コントロールコード(A、B)の生成を説明するための図である。
【図5】注目PEのデータが前後のPEのデータと不一致又は一致するときの、外部メモリアクセス装置の読出しデータ(Read Data)及び書込みデータ(Write Data)の時間的変遷を示す図である。
【図6】本発明の第2の実施形態に係る画像処理装置における外部メモリアクセス装置の構成図である。
【図7】第2の実施形態におけるコントロールコードの生成を説明するための図である。
【図8】第2の実施形態におけるコントロールコードの生成を説明するための図である。
【図9】第3の実施形態に係る画像処理装置において、ルックアップテーブル変換処理を行うときのデータの入出力の様子を示す図である。
【図10】SIMD型マイクロプロセッサからの入力データに基づいて、メモリからテーブルデータを読み出す際の、メモリアクセス制御について示す図である。
【発明を実施するための形態】
【0013】
以下、図面を参照して、本発明に係る好適な実施形態を説明する。
【0014】
[第1の実施形態]
図1(1)は、本発明の第1の実施形態に係る画像処理装置のブロック図である。図1(1)に示す画像処理装置は、SIMD型マイクロプロセッサ2、メモリ6、及び外部メモリアクセス装置4を含む。
【0015】
図2は、SIMD型マイクロプロセッサ2の概略の構成図である。SIMD型マイクロプロセッサ2は、複数のPE(プロセッサエレメント)を備え、各PE8は複数のレジスタ18を備える。具体的にSIMD型マイクロプロセッサ2には、PE0、PE1、PE2・・・PE(n−1)、PEnと番号が付されたn個のPEが備わる。n個のPEは、画像の主走査方向に対応する方向に並べられる。各PE8は、レジスタ部12と演算部14とを含み、各レジスタ部12には複数のレジスタ18が含まれる。各PE8における複数のレジスタ18はバス16を経由して演算部14と接続する。演算部14は、レジスタ部12のレジスタ18に格納されるデータを用いて演算を行なう。また、各PE8における複数のレジスタ18の各々は、他の全てのPEの各々にて、対応するレジスタ18を有しており、対応するレジスタ18同士は、共通のポート10に接続する。SIMD型マイクロプロセッサ2は、これらポート10を介して外部とデータ通信を行なう。
【0016】
図1(1)に示す画像処理装置のブロック図に戻り、SIMD型マイクロプロセッサ2の外部には、RAM等で構成されるメモリ6が設けられる。SIMD型マイクロプロセッサ2からメモリ6へのリード(読み出し)/ライト(書き込み)アクセスは、外部メモリアクセス装置4により制御される。上述のように、外部メモリアクセス装置4は、SIMD型マイクロプロセッサ2とポート10で接続される。
【0017】
次に、図1(2)は、第1の実施形態に係る画像処理装置において、ヒストグラム処理を行うときのデータの入出力の様子を示す図である。ここでヒストグラム処理とは、同値のデータの出現回数を求める処理である。図1(2)に示すヒストグラム処理を行うときの第1の実施形態に係る画像処理装置のデータ入出力は、図1(1)に示すものと略同一であるが、外部メモリアクセス装置4aからSIMD型プロセッサ2への出力データが無いことが異なる点である。
【0018】
図3は、第1の実施形態に係る画像処理装置における外部メモリアクセス装置4aの構成図である。図3に示す外部メモリアクセス装置4aは、選択器20、加算器(ADDR)22、及び書き込みデータ制御回路24を含む。
【0019】
外部メモリアクセス装置4aに入力するコントロールコードAは、SIMD型マイクロプロセッサ2に配置される複数のPE8において、注目PE(例えば、PE(k)とする)のレジスタのデータ値と、その1つ後のPE(即ち、PE(k+1))のレジスタのデータ値とが、一致していればその注目PE(PE(k))について“1”と表され、一致していなければその注目PE(PE(k))について“0”と表されるコードである。
【0020】
また、外部メモリアクセス装置4aに入力するコントロールコードBは、SIMD型マイクロプロセッサ2に配置される複数のPE8において、注目PE(例えば、PE(k)とする)のレジスタのデータ値と、その1つ前のPE(即ち、PE(k−1))のレジスタのデータ値とが、一致していればその注目PE(PE(k))について“1”と表され、一致していなければその注目PE(PE(k))について“0”と表されるコードである。このように、コントロールコード(A、B)は、SIMD型マイクロプロセッサ2を構成する複数のPEの、各々に含まれるレジスタに格納されるデータにおける、隣接するプロセッサエレメント間での連続関係に基づいて、生成されているコードである。
【0021】
選択器20は、SIMD型マイクロプロセッサ2からの入力データの値に対応する、その値の出現数を足し込んでいくメモリ(領域)から読み出されたデータと、1つ前の入力データの出現数であって直前に加算器22が出力したデータの内から、コントロールコードBによって、選択を行なう。つまり、コントロールコードBが“1”であるならば、注目PEのレジスタのデータ値と、その1つ前のPEのレジスタのデータ値とが、一致しているということだから、選択器20は、1つ前の入力データの出現数(即ち、1つ前のPEのレジスタのデータ値の出現数)であって直前に加算器22が出力したデータを選択するように、設定されている。また、コントロールコードBが“0”であるならば、注目PEのレジスタのデータ値と、その1つ前のPEのレジスタのデータ値とが、不一致であるということだから、選択器20は、SIMD型マイクロプロセッサ2の注目PEからの入力データの値に対応する、その値の出現数を足し込んでいくメモリ(領域)から読み出されたデータを選択するように設定されている。
【0022】
加算器22は、出現数の加算を行なう。書き込みデータ制御回路24にはコントロールコードAの反転と加算器22の出力とが入力される。コントロールコードAが“1”であれば、注目PEのレジスタのデータ値と、その1つ後のPEのレジスタのデータ値とが、一致している、即ち、同じデータ値のレジスタを含むPEが続きこの時点でデータ値を出力する必要が無い、ということだから、書き込みデータ制御回路24は、コントロールコードAの反転(ここでは、“0”)により、加算器22の出力をメモリ6aの対応アドレスにこの時点では書き込まないように制御する。また、コントロールコードAが“0”であれば、注目PEのレジスタのデータ値と、その1つ後のPEのレジスタのデータ値とが、不一致である、即ち、同じデータ値のレジスタを含むPEがこの後に続かずこの時点で一旦データ値を出力する必要がある、ということだから、書き込みデータ制御回路24は、コントロールコードAの反転(ここでは、“1”)により、加算器22の出力をメモリ6aの対応アドレスに書き込むように制御する。
【0023】
従って、図3に示す外部メモリアクセス装置では、加算器22の出力と選択器20の入力とを繋ぐことにより、連続するPEにおいてレジスタのデータ値が同一値で連続すれば加算を積み重ねるが、連続が途切れたことがコントロールコードBの値により示されれば(即ち、コントロールコードBの値が“0”であれば)、選択器20により、注目PEからの入力データの値に対応する、その値の出現数を足し込んでいくメモリ(領域)から読み出されたデータに切り替えられて、選択される。更に、連続が途切れることがコントロールコードAの値により示されれば(即ち、コントロールコードAの値が“0”であれば)、書き込みデータ制御回路24により、加算器22の出力をメモリ6aの対応アドレスに書き込むように制御される。
【0024】
コントロールコードA、及びコントロールコードBの具体的内容は、SIMD型マイクロプロセッサにて生成される。つまり、注目PEとそのPEに隣接する(前後の)PEにおいて、レジスタのデータの一致/不一致情報に基づいて、コントロールコードが生成される。図4を用いて、コントロールコード(A、B)の生成を説明する。
【0025】
図2で示したように、SIMD型マイクロプロセッサ2は複数のPEを備え、各PEはデータを保持するレジスタ16を備えている。図4(1)では、PE0からPE6までを示す。また、各PEのレジスタには00h、01h、01h、02h、02h、02h、03h(“h”は16進表記であることを示す。)のデータが保持されているとする(図中の「PEデータ」は、PEのレジスタに保持されるデータの意味である。)。このとき、SIMD型マイクロプロセッサの命令により、コントロールコードAを、注目PEとその1つ後のPEとのデータの一致/不一致につき一致していれば“1”とし、一致していなければ“0”として設定すると、ここでのコントロールコードAは0、1、0、1、1、0、0となる。次に、SIMD型マイクロプロセッサの命令により、コントロールコードBを、注目PEとその1つ前のPEとのデータの一致/不一致につき一致していれば“1”とし、一致していなければ“0”として設定すると、ここでのコントロールコードBは0、0、1、0、1、1、0となる。
【0026】
上記のコントロールコード(A、B)は、SIMD型マイクロプロセッサ2から外部メモリアクセス装置4aに伝達される。コントロールコード(A、B)は、各PEにおけるレジスタの1つに格納されてもよい。また、図4(2)に示すように、各PEにおいてレジスタがデータを格納する際に、レジスタの一部のビットにコントロールコードを割り付けるようにしてもよい。
【0027】
図4(2)に示す「コントロールコードbit割付データ」では、PEのレジスタの1〜7bit(ビット)にデータが格納され、上述のコントロールコードAが0bit(ビット)に割り付けられている。ここで、上述のコントロールコードBが割り付けられてもよい。また、PEのレジスタの2〜7bitにデータが格納され、上述のコントロールコードAとコントロールコードBが、0〜1bitに割り付けられてもよい。
【0028】
図5は、注目PEのデータが前後のPEのデータと不一致又は一致するときの、外部メモリアクセス装置4aの読出しデータ(Read Data)及び書込みデータ(Write Data)の時間的変遷を示す図である。つまり、メモリからデータ値の出現回数の値を読み出して、適宜インクリメントを行い、メモリへ再び書き戻す、メモリアクセス制御について示す図である。図5において、「RCLK」は、「レジスタクロック」であり、読出し動作及び書込み動作のクロックを示す。図5では、1サイクル目から9サイクル目までの変遷を示している。
【0029】
また、「ADD」には、PEのレジスタに格納されるデータ値が示される。「ctlcodeA」「ctlcodeB」は夫々、コントロールコードAとコントロールコードBを示す。「RWEB」は、「レジスタライトイネーブル」であり、メモリへの書込み動作のイネーブル信号を示す。「Read Data」及び「Write Data」は、読出しデータ及び書込みデータの内容である。
【0030】
図5におけるメモリアクセス制御は、コントロールコード(A、B)に依存するのであり、コントロールコードAとコントロールBとの組み合わせから、4パターンのメモリアクセス制御が考えられる。
【0031】
まず、パターン1は、注目PEの(レジスタの)データと前後いずれものPEの(レジスタの)データとが一致しない場合である。この場合、注目PEのデータにおいてコントロールコード(A、B)のいずれもがアサートされていない(即ち、“1”となっていない)ので、前PE、注目PE、及び後PEのどのPEに係る動作時にも、メモリからのデータリードアクセスの後、出現数が1だけ加算され、メモリへデータのライトアクセスが行われる。
【0032】
次に、パターン2は、注目PEの(レジスタの)データと1つ後のPEの(レジスタの)データとが一致している場合である。このとき、注目PEのデータにおいてコントロールコードAがアサートされている(4〜6サイクル)ので、注目PEのデータ(の出現回数値)に関しては、メモリからのデータリードアクセスのみが行われ、データライトアクセスが行なわれなくてもよい。更に、1つ後のPEのデータ(の出現回数値)に関しては、メモリからのデータリードアクセスが行なわれなくてもよく、加えて、1つ後のPEに関するサイクル時において一括でメモリライトアクセスされればよい。よって、5サイクル目から7サイクル目までを省略することができる。
【0033】
次に、パターン3は、注目PEの(レジスタの)データと1つ前のPEの(レジスタの)データとが一致している場合である。このとき、注目PEのデータにおいてコントロールコードBがアサートされている(4〜6サイクル)ので、注目PEのデータ(の出現回数値)に関しては、1つ前のPEに関するアクセス時にメモリから読み出したデータが用いられるため、メモリからのリードアクセスが行なわれなくてもよい。また、注目PEのデータの出現回数値に関しては、1つ前のPEのデータの出現回数値として1つ前のPEに関するサイクル時に読み出されたデータに対して、注目PEに関するサイクル時に出現回数が加算されてメモリへのライトアクセスが行なわれればよい。更に、1つ前のPEのデータの出現回数値に関しては、1つ前のPEに関するサイクル時においてメモリへのデータライトアクセスが行なわれなくてもよい。よって、2サイクル目から4サイクル目までを省略することができる。
【0034】
最後に、パターン4は、注目PEの(レジスタの)データが1つ前のPEの(レジスタの)データ及び1つ後のPEの(レジスタの)データと一致している場合である。このとき、注目PEのデータにおいてコントロールコードAとコントロールコードBがアサートされている(4〜6サイクル)。従って、注目PEに関するサイクル時には、メモリとのリードアクセスもライトアクセスも行なわれなくてよい。また、1つ前のPEに関するサイクル時には、メモリとのライトアクセスが行なわれなくてよく、1つ後のPEに関するサイクル時には、メモリとのリードアクセスが行なわれなくてよい。よって、2サイクル目から7サイクル目までを省略することができる。
【0035】
以上のように、コントロールコード(A、B)を伴う、SIMD型マイクロプロセッサを構成するPEのレジスタに格納されるデータについて、本実施形態に係る外部メモリアクセス装置を利用してヒストグラム処理を行うことによって、画像処理装置における処理サイクルを削減することができる。
【0036】
[第2の実施形態]
図6は、本発明の第2の実施形態に係る画像処理装置における外部メモリアクセス装置4の構成図である。図6に示す第2の実施形態に係る画像処理装置は、図3に示す第1の実施形態に係る画像処理装置と、略同一のものである。従って、同一部位には同一符号を付して説明を省略し、両者の差異を中心に説明する。
【0037】
図6に示す外部メモリアクセス装置は、選択器20、加算器(ADDR)22、及び書き込みデータ制御回路24に加えて、コントロールコードA用の一時記憶素子28、及び、PEのレジスタ格納データに対してコントロールコードが割り付けられてなる特殊コードを判定する特殊データ判定回路25を含む。
【0038】
更に、図6に示す外部メモリアクセス装置には、一時記憶素子28の出力、コントロールコードB、及び特殊データ判定回路25の出力の夫々を入力とし、選択器20へ出力を与える第1の論理和回路30が含まれる。コントロールコードA及び特殊データ判定回路25の出力の夫々を入力とし、書き込みデータ制御回路24へ出力を与える第2の論理和回路26も含む。ただし、後述するように、PEのレジスタに格納される特殊コードが、コントロールコードBに対応するものであれば、第2の論理和回路26は設けられず図3に示す回路と同様にコントロールコードAが書き込みデータ制御回路24に直接入力するように構成される。また、PEのレジスタに格納される特殊コードが、コントロールコードAに対応するものであれば、第1の論理和回路30には、特殊データ判定回路25の出力が入力しないように構成される。
【0039】
図6に示す外部メモリアクセス装置に含まれる一時記憶素子28の動作について、図7を用いて説明する。PE0〜PE6のレジスタにおいて、図7の1段目に示すように、00h、01h、01h、02h、02h、02h、03h・・・のデータが保持されているとする。ここで、上述したようにSIMD型マイクロプロセッサの命令により、コントロールコードAを生成すると0、1、0、1、1、0、0となる(図7の2段目参照)。このコードに対して一時記憶素子28を用いて遅延を与えると、図7の3段目と4段目に示すように、コントロールコードBと等しいコードが得られる。従って、一時記憶素子28の出力を、第1の論理和回路30に入力することができることになる。
【0040】
次に、図6に示す外部メモリアクセス装置に含まれる特殊データ判定回路25の機能について、図8を用いて説明する。PE0〜PE7のレジスタにおいて、図8の1段目に示すように、00h、01h、01h、02h、02h、02h、03h・・・のデータが保持されているとする。ここで、上述したようにSIMD型マイクロプロセッサの命令により、レジスタのデータ値が1つ前のPEと同じであるPEについては、データを特殊コード“FFh”に書き換える(上書きする)ような処理を行う。こうすることで、データ自体にコントロールコード(図8の場合は、コントロールコードB)を割り付けることができる。この書き換えられたコントロールコード割付けデータについては、図6で示される特殊コード判定回路25によりコントロールコードが取り出される。従って、図8のようなコントロールコード割付けデータの場合には、特殊コード判定回路25の出力を第1の論理和回路30の入力とすることができる。ただし、第2の論理和回路26の入力とはならない。
【0041】
なお、SIMD型マイクロプロセッサの命令により、レジスタのデータ値が1つ後のPEと同じであるPEについて、データを特殊コード“FFh”に書き換えるような処理が為されて、コントロールコード割付けデータが生成されてもよい。この場合、データ自体にコントロールコードAが割り付けられることになる。このコントロールコード割付けデータに対しては、特殊コード判定回路25によりコントロールコードAが取り出される。従って、この場合、特殊コード判定回路25の出力は第2の論理和回路26の入力とされることになる。ただし、第1の論理和回路30の入力とはならない。
【0042】
[第3の実施形態]
図9を用いて、ルックアップテーブル変換処理を行う本発明の第3の実施形態に係る画像処理装置について説明する。図9は、第3の実施形態に係る画像処理装置において、ルックアップテーブル変換処理を行うときのデータの入出力の様子を示す図である。ここでルックアップテーブル処理とは、入力データをアドレスとし、そのアドレスに対応するメモリ内のデータをテーブルデータとして、変換を行う処理である。図9に示すルックアップテーブル変換処理を行うときの第3の実施形態に係る画像処理装置のデータ入出力は、図1(1)に示す第1の実施形態に係る画像処理装置のものと略同一であるが、外部メモリアクセス装置4bからメモリ6への書込みが無いことが異なる点である。なお、変換により得られたテーブルデータは、後続の処理に利用されたり、外部へ出力されたり、SIMD型マイクロプロセッサ2へ戻されたり等、することとなる。
【0043】
第3の実施形態に係る画像処理装置における、SIMD型マイクロプロセッサ2でコントロールコード(A、B)を生成するための構成、及びSIMD型マイクロプロセッサ2から外部メモリアクセス装置4へ伝達するための構成は、第1の実施形態に係る画像処理装置と同様である。
【0044】
図10は、SIMD型マイクロプロセッサからの入力データに基づいて、メモリ6からテーブルデータを読み出す際の、メモリアクセス制御について示す図である。図10において、「CLK」は「クロック」であり、読出し動作のクロックを示す。図10では、1サイクル目から3サイクル目までを示している。
【0045】
「ADD」には、PEのレジスタに格納されるデータ値が示されており、その内容はルックアップされるテーブルのアドレスである。「ctlcodeB」は、コントロールコードBを示す。第3の実施形態に係る画像処理装置におけるルックアップテーブル変換処理では、コントロールコードBのみが必要とされる。「Read Data」は、読出しデータ、即ち、読み出されたテーブルデータの内容である。「1つ前の保持Read Data」は、1つ前のPEのレジスタのデータからの入力データに基づいて読み出されたテーブルデータを、注目PEに関するサイクル時に保持しているものである。
【0046】
なお、図5におけるメモリアクセス制御では、メモリへの読出しアクセス及び書込みアクセスを行なっていたため、各PEに関するサイクル数は3サイクルであった。これに対し、図10におけるメモリアクセス制御では、メモリへの読出しアクセスのみ行なわれるので、各PEに関するサイクル数は1サイクルである。
【0047】
図10におけるメモリアクセス制御は、コントロールコードBに依存するのであり、2パターンのメモリアクセス制御(図10に示すパターン5、パターン6)が考えられる。
【0048】
まず、パターン5は、注目PEのデータと1つ前のPEのデータとが一致しない場合である。この場合、注目PEのデータにおいてコントロールコードBがアサートされていないので、メモリ6へのリードアクセスが行なわれテーブルデータの読み出しが行われる。
【0049】
次に、パターン6は、注目PEのデータと1つ前のPEのデータとが一致している場合である。この場合、注目PEのデータにおいてコントロールコードBがアサートされているので、注目PEのデータによるテーブルのルックアップにおいては、1つ前のPEに関するアクセス時にメモリから読み出されたテーブルデータが流用され得るため、メモリへのリードアクセスが行なわれなくてもよい。よって、結果として2サイクル目を省略することができる。
【0050】
以上のように、コントロールコードBを伴う、SIMD型マイクロプロセッサを構成するPEのレジスタに格納されるデータについて、本実施形態に係る外部メモリアクセス装置を利用してルックアップテーブル変換処理を行うことによって、画像処理装置における処理サイクルを削減することができる。
【産業上の利用可能性】
【0051】
本発明は、画像処理を利用するシステム全般(例えば、デジタルカメラ、デジタルテレビジョン、プリンタ、デジタル複合機等)に利用することができる。
【符号の説明】
【0052】
2・・・SIMD型マイクロプロセッサ、4、4a、4b・・・外部メモリアクセス装置、6・・・メモリ、8・・・PE(プロセッサエレメント)、10・・・ポート、18・・・レジスタ。
【先行技術文献】
【特許文献】
【0053】
【特許文献1】特開2003‐216950公報
【特許文献2】特開2002‐108604公報
【特許文献3】特許第3969580号公報
【特許文献4】国際公開番号WO06/123822
【特許文献5】特開平5‐67203
【特許文献6】特許第3834869号

【特許請求の範囲】
【請求項1】
メモリと、前記メモリに対してリード/ライトアクセスを行う外部メモリアクセス装置と、前記外部メモリアクセス装置に対してデータ伝達を行なうポートを有するSIMD型マイクロプロセッサとを備える画像処理装置において、
前記SIMD型マイクロプロセッサを構成する複数のプロセッサエレメントの、各々に含まれるレジスタに格納されるデータにおける、隣接するプロセッサエレメント間での連続関係に基づいて生成されるコントロールコードによって、前記外部メモリアクセス装置の前記メモリへのアクセスを削減する制御が為されることを特徴とする画像処理装置。
【請求項2】
前記コントロールコードは、
注目プロセッサエレメントに含まれるレジスタに格納されるデータと、前記注目プロセッサエレメントに隣接する、前記注目プロセッサエレメントの1つ前のプロセッサエレメントに含まれるレジスタに格納されるデータとの、一致又は不一致を示す第1のコントロールコードであることを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記コントロールコードは、
注目プロセッサエレメントに含まれるレジスタに格納されるデータと、前記注目プロセッサエレメントに隣接する、前記注目プロセッサエレメントの1つ後のプロセッサエレメントに含まれるレジスタに格納されるデータとの、一致又は不一致を示す第2のコントロールコードであることを特徴とする請求項1に記載の画像処理装置。
【請求項4】
更に、前記外部メモリアクセス装置は、前記第2のコントロールコードを、一時記憶して遅延を与える一時記憶素子を備えることを特徴とする請求項3に記載の画像処理装置。
【請求項5】
前記コントロールコードは、
注目プロセッサエレメントに含まれるレジスタに格納されるデータと、前記注目プロセッサエレメントに隣接する、前記注目プロセッサエレメントの1つ前のプロセッサエレメントに含まれるレジスタに格納されるデータとが一致する場合に、前記注目プロセッサエレメントに含まれるレジスタに格納されるデータに、上書きされる特定コードであり、
更に、前記外部メモリアクセス装置は、前記特定コードの検出回路を備えることを特徴とする請求項1に記載の画像処理装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2011−192058(P2011−192058A)
【公開日】平成23年9月29日(2011.9.29)
【国際特許分類】
【出願番号】特願2010−58110(P2010−58110)
【出願日】平成22年3月15日(2010.3.15)
【出願人】(000006747)株式会社リコー (37,907)
【Fターム(参考)】