JP2007323308A - 演算装置、画像処理装置及びデータ処理装置 - Google Patents

演算装置、画像処理装置及びデータ処理装置 Download PDF

Info

Publication number
JP2007323308A
JP2007323308A JP2006152050A JP2006152050A JP2007323308A JP 2007323308 A JP2007323308 A JP 2007323308A JP 2006152050 A JP2006152050 A JP 2006152050A JP 2006152050 A JP2006152050 A JP 2006152050A JP 2007323308 A JP2007323308 A JP 2007323308A
Authority
JP
Japan
Prior art keywords
calculation
data
arithmetic
processing
calculation means
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
JP2006152050A
Other languages
English (en)
Other versions
JP4697055B2 (ja
Inventor
Kazuo Yamada
和雄 山田
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 JP2006152050A priority Critical patent/JP4697055B2/ja
Publication of JP2007323308A publication Critical patent/JP2007323308A/ja
Application granted granted Critical
Publication of JP4697055B2 publication Critical patent/JP4697055B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Processing (AREA)

Abstract

【課題】単一命令・多データ型のマイクロプロセッサを用いた場合であっても、複数の命令に従った演算処理を従来よりも早く実行する。
【解決手段】クラスタ11−2は、クラスタ11−1から、テキスト画素を表す画素データとイメージ画素を表す画素データのいずれかを順次受け取ると共に、Valid信号を受け取る。HレベルのValid信号に対応する画素データは、テキスト画素であるので、クラスタ11−2は、この画素データに対してエッジ強調処理を施す。一方、LレベルのValid信号に対応する画素データは、イメージ画素であるので、クラスタ11−2は、この画素データに対してはエッジ強調処理を施さない。また、クラスタ11−3は、HレベルのValid信号に対応する画素データに対して階調強調処理を施す一方、LレベルのValid信号に対応する画素データに対しては階調強調処理を施さない。
【選択図】図3

Description

本発明は、命令に従って演算を実行する演算装置、及びその演算装置を有する画像処理装置及びデータ処理装置に関する。
複写機やファクシミリ装置或いはスキャナ装置などといった画像処理装置においては、画像に含まれる全ての画素に対して共通の演算処理が実行されることが多い。そこで、この種の画像処理装置には、複数のデータに対し、1つの命令に従った同一の演算処理を実行する単一命令・多データ型(SIMD:Single Instruction−stream Multiple Data−stream)のマイクロプロセッサが実装されている。例えば特許文献1には、SIMD型マイクロプロセッサにおける、命令の生成とその命令の分岐に関する技術が開示されている。
特開平8−235149号公報
SIMD型マイクロプロセッサは、上記のように同一の演算処理を複数のデータに対して実行するのには非常に適している一方、複数の命令に従ってそれぞれ異なる処理を複数のデータに行うのには適していない。後者の処理は、例えば原稿画像に含まれるテキスト画像に対してはエッジ強調処理を行う一方、その同じ原稿画像に含まれるイメージ画像に対しては階調を強調する処理を行うような場合である。このような処理をSIMD型マイクロプロセッサで行う場合、まず第1のSIMD型マイクロプロセッサが原稿画像の全ての画素に対してエッジ強調処理を行い、その次に、第2のSIMD型マイクロプロセッサが原稿画像の全ての画素に対して階調強調処理を行う。そして最後に、第3のSIMD型マイクロプロセッサが、第1のSIMD型マイクロプロセッサ及び第2のSIMD型マイクロプロセッサによって処理された画素群から、第1のSIMD型マイクロプロセッサにより「テキスト画像」に対して「エッジ強調処理」がなされた画素を抽出する一方、第2のSIMD型マイクロプロセッサにより「イメージ画像」に対して「階調強調処理」がなされた画素を抽出し、これらを結合させて1つの画像データを生成し、出力する。
即ち、SIMD型のマイクロプロセッサは、複数の命令が与えられた場合、各々の命令に従った処理を1つずつ順番に実行していくことしかできないので、上記の例で言えば「イメージ画像」に対する「エッジ強調処理」や、「テキスト画像」に対する「階調強調処理」などのように、本来は不要な処理まで一通り実行しなければならない。よって、処理時間が増大するという問題がある。
そこで、本発明の目的は、単一命令・多データ型のマイクロプロセッサを用いた場合であっても、複数の演算処理を従来よりも早く実行することが可能な仕組みを提供することにある。
上記課題を解決するため、本発明は、それぞれが複数のデータに対して同一の演算処理を実行する第1の演算手段、第2の演算手段及び第3の演算手段を備え、前記第1の演算手段は、複数のデータに対して第1の演算処理を実行し、その演算結果であるデータのうち前記第2の演算手段による演算処理の対象であるデータと、そのデータが演算処理の対象であることを示す有効情報とを対応付けて前記第2の演算手段に供給する一方、前記第1の演算処理の演算結果であるデータのうち前記第3の演算手段による演算処理の対象であるデータと、そのデータが演算処理の対象であることを示す有効情報とを対応付けて前記第3の演算手段に供給し、前記第2の演算手段は、前記第1の演算手段から供給され、演算処理の対象であることを示す有効情報と対応付けられたデータに対して、第2の演算処理を実行してその演算結果を出力し、前記第3の演算手段は、前記第1の演算手段から供給され、演算処理の対象であることを示す有効情報と対応付けられたデータに対して、第3の演算処理を実行してその演算結果を出力することを特徴とする演算装置を提供する。
本発明は、さらに、複数のデータに対して同一の演算処理を実行する第4の演算手段を備え、前記第2の演算手段は、第2の演算処理による演算結果と、前記第1の演算手段から供給された前記有効情報とを対応付けて前記第4の演算手段に出力し、前記第3の演算手段は、第3の演算処理による演算結果と、前記第1の演算手段から供給された前記有効情報とを対応付けて前記第4の演算手段に出力し、前記第4の演算手段は、第2の演算処理による演算結果のうち前記有効情報と対応付けられた演算結果と、第3の演算処理による演算結果のうち前記有効情報と対応付けられた演算結果とに対して第4の演算処理を実行して出力するようにしてもよい。
本発明の好ましい態様においては、前記第1の演算手段、前記第2の演算手段及び前記第3の演算手段のそれぞれを互いに接続し、又は、その接続を切断する結線手段と、前記第1の演算処理、前記第2の演算処理及び前記第3の演算処理の組み合わせに応じて、前記第1の演算手段、前記第2の演算手段及び前記第3の演算手段のそれぞれに対する接続とその接続の切断を前記結線手段に指示する結線制御手段とを備える。
また、本発明の別の好ましい態様においては、前記第1の演算手段、前記第2の演算手段及び前記第3の演算手段はいずれも、供給されるクロック周波数に基づいて演算処理を実行し、前記第2の演算手段及び前記第3の演算手段に対してクロック周波数を供給するクロック供給手段であって、前記第2の演算手段又は前記第3の演算手段のうち、負荷が大きい演算処理を実行する一方の演算手段に対しては、負荷が小さい処理を実行する他方の演算手段に供給するクロック周波数よりも大きいクロック周波数を供給するクロック供給手段を備える。
また、本発明の別の好ましい態様においては、前記第1の演算手段、前記第2の演算手段及び前記第3の演算手段は、複数のデータに対して同一の演算処理を実行するマイクロプロセッサに含まれるプロセッサエレメント群が、複数のプロセッサエレメント毎に分離されたクラスタの各々である。
本発明に係る演算装置は、前記演算装置によって、画像を表す画像データに対する演算処理を実行させ、その演算結果を出力させる画像処理装置や、前記演算装置によって、データに対する演算処理を実行させ、その演算結果を出力させるデータ処理装置に実装される。
本発明によれば、本発明の構成を備えていない場合と比較すると、単一命令・多データ型のマイクロプロセッサを用いた場合であっても複数の演算処理を早く実行することが可能となる。
次に、本発明を実施するための最良の形態について説明する。以下の実施形態に係るSIMD型のマイクロプロセッサは、好適には、複写機、ファクシミリ装置、スキャナ装置、これら装置のうち少なくともいずれか2つを含む複合機、又は、パーソナルコンピュータなど、画像処理を実行してその結果を出力する画像処理装置に内蔵されるものである。
(1)第1実施形態
図1は、第1実施形態に係る演算装置とその周辺装置の構成を示す図である。この演算装置は、SIMD型のマイクロプロセッサ10と、結線制御装置18とを備えている。マイクロプロセッサ10は、プロセッサエレメントと呼ばれる多数の演算器(図では1つのプロセッサエレメントのみに符号PEを付している)が直列に接続された構成となっている。マイクロプロセッサ10に含まれるプロセッサエレメント群は、幾つかのプロセッサエレメントの集合体に分離されている。以下では、これらの集合体の各々を「クラスタ」と呼び、これらの各クラスタがそれぞれに与えられた命令に従って演算を行う。即ち、各クラスタがそれぞれ、単一命令・多データ型の演算手段として機能するわけである。図1では、マイクロプロセッサ10に含まれるプロセッサエレメント群が、4つのクラスタ11−1〜11−4に分離されている例を示している。
プロセッサエレメントは、入力レジスタ12と、ALU(Arithmetic and Logic Unit)などの演算部13と、出力レジスタ14とを備えている。例えばスキャナ装置やデータ入出力インタフェースなどの入力手段によって、画像データが入力されると、この画像データは、まずバッファメモリなどの記憶手段に書き込まれる。次に、この記憶手段から入力器15によって画像データが読み出される。この入力器15は、読み出した画像データをクラスタ11−1〜11−4に供給するとともに、画像処理装置の図示せぬ主制御部や外部のコンピュータ装置から供給される命令を解釈し、各クラスタ11−1〜11−4によって実行が可能な命令列に変換してこれらの各クラスタに与える、命令デコーダとしての機能も備えている。
クラスタ11−1〜11−4に供給された画像データは、入力レジスタ12に順次書き込まれていく。入力レジスタ12は、入力される画像データを保持し、これらを演算部13に順次供給する。演算部13は、入力レジスタ12から供給される画像データに対して、入力器15から供給される命令列に従って演算処理を実行する。その演算結果は出力レジスタ14に書き込まれ、この出力レジスタ14から、記憶装置などの出力先装置16に順次出力される。
各々のクラスタ11−1〜11−4の間は結線手段によって電気的に接続される。本実施形態では結線手段としてクロスバースイッチ17を用いている。このクロスバースイッチ17は、複数の接点を備えており、各接点がクラスタ11−1〜11−4の入力レジスタの入力端及び出力レジスタの出力端に接続されている、クロスバースイッチ17は、電磁石等の駆動手段を用いて、複数の接点間に設けられているスイッチをオンオフすることで、これら接点間の接続状態を切り替える。即ち、クロスバースイッチ17は、各々のクラスタ11−1〜11−4を互いに接続し又はその接続を切断する。
結線制御装置18は、クロスバースイッチ17に対し、接続又は切断を指示するスイッチング命令を与えて、クロスバースイッチ17における接点間の接続状態を切り替えさせる。より具体的には、結線制御装置18は、複数の命令の組み合わせと、クラスタ11−1〜11−4のうち接続すべきクラスタの組み合わせとが対応付けられたテーブルを記憶している。そして、結線制御装置18は、入力器15から複数の命令が通知されると、上記テーブルを参照し、それらの命令の組み合わせに対応付けられたクラスタ間を接続するようクロスバースイッチ17に命令する。入力器15から通知される複数の命令の組み合わせは、画像処理の内容を表したものである。よって、結線制御装置18の上記スイッチング制御により、クラスタ11−1〜11−4間の接続状態が画像処理の内容に応じて変化することになる。
ここで、図2は、本実施形態で行う画像処理の内容を示した図である。
図2に示すように、まず、スキャナ装置によって読み取られた原稿画像データに対して、テキスト/イメージ分離(T/I分離)が行われ、原稿画像に含まれるテキスト画像とイメージ画像とが分離される。この第1の演算処理を、以下では処理Aという。この処理Aにおいては、上記のT/I分離の他ほか、H(ハイ)レベル又はL(ロー)レベルのいずれかの値をとるValid信号が生成される。このValid信号は、後述する処理Bと処理Cにおいて、演算処理の対象であることを示す有効情報としての役割を果たす。
処理Aの後には、第2の演算処理として処理Bが実行されると共に、第3の演算処理として処理Cが実行される。処理Bは、T/I分離を経て抽出されたテキスト画像に対してエッジ強調処理を行うものである。一方、処理Cは、T/I分離を経て抽出されたイメージ画像に対して階調性を向上させる処理を行うものである。処理Bの対象であるテキスト画像と、処理Cの対象であるイメージ画像とは、上述したValid信号のレベル値によって区別される。この後、第4の演算処理として処理Dが行われる。処理Dでは、処理Bを経たテキスト画像と、処理Cを経たイメージ画像とに対して、例えばLab形式の色空間からYMCK形式の色空間への変換がなされる。
次に、図3は、図2に示した画像処理を行う場合のクラスタ11−1〜11−4間の接続状態と、これらクラスタ11−1〜11−4間のデータの流れを示した図である。
結線制御装置18は、図2に示すような画像処理の内容を表す複数の命令が、入力器15によって通知されてくると、クラスタ11−1〜11−4が図3に示すような接続状態となるように、クロスバースイッチ17に命令する。即ち、クラスタ11−1の出力端と、クラスタ11−2の入力端及びクラスタ11−3の入力端とが接続され、クラスタ11−2の出力端及びクラスタ11−3の出力端と、クラスタ11−4の入力端とが接続された状態となるよう、クロスバースイッチ17に命令する。これらの各クラスタ間においてクロスバースイッチ17によって形成された経路には、画像に含まれる各画素を表す画素データと、上述したValid信号とが伝送される。このようにして各クラスタが接続されたマイクロプロセッサ10においては、上述した処理Aがクラスタ11−1によって実行され、処理Bがクラスタ11−2によって実行され、処理Cがクラスタ11−3によって実行され、処理Dがクラスタ11−4によって実行される。
ここで、図4は、Valid信号の例を示す図である。
クラスタ11−1は前述したように、各画素データによって表される画素に対して、テキスト画像を構成する画素か又はイメージ画像を構成する画素かを判定することでT/I分離を行い、その判定結果に応じて、クラスタ11−2に対するValid信号と、クラスタ11−3に対するValid信号とを生成する。クラスタ11−2はテキスト画像に対して処理Bを実行するので、このクラスタ11−2に対するValid信号は、テキスト画像を構成する画素(以下、テキスト画素という)に対してHレベルで、テキスト画像以外の画像(ここではイメージ画像)を構成する画素に対してLレベルの値をとる。一方、クラスタ11−3はイメージ画像に対して処理Cを実行するので、このクラスタ11−3に対するValid信号は、イメージ画像を構成する画素(以下、イメージ画素という)に対してHレベルで、イメージ画像以外の画像(ここではテキスト画像)を構成する画素に対してLレベルの値をとる。そして、Valid信号と画素データとが互いに対応付けられた(同期された)状態で、クラスタ11−1からクラスタ11−2に供給されるとともに、クラスタ11−1からクラスタ11−3に供給される。
クラスタ11−2は、クラスタ11−1から、テキスト画素を表す画素データ(図4中の「T」)と、イメージ画素を表す画素データ(図4中の「I」)のいずれかを順次受け取ると共に、図4上段に示すようなValid信号を受け取る。HレベルのValid信号に対応する(同期する)画素データは、テキスト画素であるので、クラスタ11−2は、この画素データに対してエッジ強調処理(処理B)を実行する。一方、LレベルのValid信号に対応する(同期する)画素データは、イメージ画素であるので、クラスタ11−2は、この画素データに対してはエッジ強調処理(処理B)を実行しない。図4の例で言えば、最初に受け取った画素データp1は、HレベルのValid信号に対応しているので、クラスタ11−2は、この画素データp1に対してエッジ強調処理を実行する。同様に、2番目、3番目の画素データp2,p3もHレベルのValid信号に対応しているので、クラスタ11−2は、これらの画素データp2,p3に対してエッジ強調処理を実行する。そして、4番目に受け取った画素データp4は、LレベルのValid信号に対応しているので、クラスタ11−2は、この画素データp4に対してはエッジ強調処理を実行しない。そして、クラスタ11−2は、このような処理を経た画素データ(エッジ強調処理が施されたテキスト画素及びエッジ強調処理が施されていないイメージ画素)を、上記のValid信号と対応付けて(同期させて)クラスタ11−4に供給する。
一方、クラスタ11−3は、クラスタ11−1から、テキスト画素を表す画素データとイメージ画素を表す画素データのいずれかを順次受け取ると共に、図4下段に示すようなValid信号を受け取る。HレベルのValid信号に対応する(同期する)画素データは、イメージ画素であるので、クラスタ11−3は、この画素データに対して階調強調処理を実行する。一方、LレベルのValid信号に対応する(同期する)画素データは、テキスト画素であるので、クラスタ11−3は、この画素データに対しては階調強調処理を実行しない。図4の例で言えば、最初に受け取った画素データp1は、LレベルのValid信号に対応しているので、クラスタ11−3は、この画素データp1に対して階調強調処理を実行しない。同様に−3番目、3番目の画素データp2,p3もLレベルのValid信号に対応しているので、クラスタ11−3は、これらの画素データp2,p3に対して階調強調処理を実行しない。そして、4番目に受け取った画素データp4は、HレベルのValid信号に対応しているので、クラスタ11−3は、この画素データp4に対して階調強調処理を実行する。クラスタ11−3は、このような処理を経た画素データ(階調強調処理が施されたイメージ画素及び階調強調処理が施されていないテキスト画素)を、上記のValid信号と対応付けて(同期させて)クラスタ11−4に供給する。
このように、クラスタ11−2からクラスタ11−4に供給される画素データのうち、HレベルのValid信号に対応付けられている画素データはテキスト画素を表している。また、クラスタ11−2からクラスタ11−4に供給される画素データのうち、HレベルのValid信号に対応付けられている画素データはイメージ画素を表している。よって、クラスタ11−4は、クラスタ11−2及びクラスタ11−3から供給される画素データのうち、HレベルのValid信号に対応付けられている画素データのみを抽出し、抽出した画素データに対して色空間の変換処理を施す。これにより、処理Bを経たテキスト画像と、処理Cを経たイメージ画像とに対して、例えばLab形式の色空間からYMCK形式の色空間への変換処理(処理D)がなされるのである。
ここで、図5を用いて、マイクロプロセッサを用いた処理に要する時間について考察する。
図5(a)は、本実施形態に係る構成を備えていない従来のSIMD型マイクロプロセッサを用いて、2種類の画像データ(画像データ1,2)に対して処理A,B,C,Dを実行する場合のタイミングチャートを示している。一方、図5(b)は、本実施形態に係るマイクロプロセッサ10を用いて、2種類の画像データ(画像データ1,2)に対して処理A,B,C,Dを実行する場合のタイミングチャートを示している。なお、図5において横軸は時間である。また、同図においては、画像データ1に対して処理Aを実行するのに要する時間をA−1と表現し、画像データ2に対して処理Aを実行するのに要する時間をA−2と表現する。同様に、画像データ1に対して処理Bを実行するのに要する時間をB−1と表現し、画像データ2に対して処理Bを実行するのに要する時間をB−2と表現し、画像データ1に対して処理Cを実行するのに要する時間をC−1と表現し、画像データ2に対して処理Cを実行するのに要する時間をC−2と表現し、画像データ1に対して処理Dを実行するのに要する時間をD−1と表現し、画像データ2に対して処理Dを実行するのに要する時間をD−2と表現している。
以下では、説明を簡単にするため、処理A,B,C,Dにはそれぞれ同じ時間t1を要するものと仮定する。
図5(a)に示した例では、画像データ1について処理A、B,C,Dを1つずつ順番に行うので、画像データ1に対する処理A,B,C,Dが全て終了するまでには時間4t1を要する。さらに画像データ2についての処理時間まで考慮すると、全体の処理が全て終了するまでには時間6t1を要する。これに対し、図5(b)に示した例では、画像データ1について処理Aを行った後に、処理Bと処理Cとを同時に、つまり並列に実行することができるので、画像データ1に対する処理A,B,C,Dが全て終了するまでには時間3t1を要するだけで済む。さらに画像データ2についての処理時間を考慮すると、処理時間の短縮効果はより顕著となり、全体の処理が終了するのに時間4t1しか要しない。
なお、この第1実施形態では、図2に示したような処理A,B,C,Dを想定していたが、マイクロプロセッサ10によって実行される処理は上記処理だけに限定されるわけではない。画像処理の内容が図2に示したものとは異なる場合には、結線制御装置18が、その処理に適した経路となるようにクロスバースイッチ17のスイッチングを制御し、各クラスタが命令に従って処理を実行すればよい。
(2)第2実施形態
上述した第1実施形態では、処理A,B,C,Dにはそれぞれ同じ時間t1を要すること、つまり、各クラスタに対する処理の負荷が全て同じであることを前提にしていた。以下に述べる第2実施形態は、各クラスタに対する処理の負荷が同じでない場合の実施の形態である。
以下では、処理X,Yを従来のSIMD型マイクロプロセッサによって実行した場合と、第1実施形態のように各クラスタに分離されたSIMD型マイクロプロセッサによって実行した場合とを想定し、各々の場合の処理効率を比較する。前者のSIMD型マイクロプロセッサは10個のプロセッサエレメントで構成されているものと仮定し、後者のSIMD型マイクロプロセッサでは、上記の10個のプロセッサエレメントからなるマイクロプロセッサが、5個ずつのプロセッサエレメントを含むクラスタに分離されているものとする。なお、ここでは「処理効率」として、プロセッサエレメント数(同時に処理可能なピクセル数)で処理の負荷(サイクル)を除した値を用いる。
まず、処理Xと処理Yの負荷がそれぞれ「100サイクル」で同じであると仮定した場合について考察する。
図6(a)に示すように、従来のSIMD型マイクロプロセッサ100によって実行した場合には、処理X、Yを順番に実行するため、処理効率は(100サイクル+100サイクル)/10ピクセル=20サイクル/ピクセルとなる。これに対し、各クラスタに分離されたSIMD型マイクロプロセッサ100’によって実行した場合には、第1実施形態における処理Bと処理Cのように、処理Xと処理Yを同時に(並列に)実行することができる。図6(b)に示すように、処理効率は100サイクル/5ピクセル=20サイクル/ピクセルとなる。
よって、前者のSIMD型マイクロプロセッサと、後者のSIMD型マイクロプロセッサの処理効率は同じである。なお、処理X,Yの総処理時間は第1実施形態で説明したように後者が短くなる。
次に、処理Xと処理Yの負荷が同じではない場合について考察する。ここでは、処理Xを「100サイクル」とし、処理Yを「200サイクル」とする。
従来のSIMD型マイクロプロセッサ100によって実行した場合には、処理X、Yを順番に実行するため、図7(a)に示すように、処理効率は(100サイクル+200サイクル)/10ピクセル=30サイクル/ピクセルとなる。これに対し、各クラスタに分離されたSIMD型マイクロプロセッサ100’によって実行した場合には、処理X、Yを同時に(並列に)実行することができるが、処理Yの負荷が大きいため、処理効率の計算には大きい方の負荷が用いられる。よって、図7(b)に示すように、処理効率は200サイクル/5ピクセル=40サイクル/ピクセルとなる。よって、前者のSIMD型マイクロプロセッサより、後者のSIMD型マイクロプロセッサの処理効率の方が低下するという結果になる。
この問題を改善するため、第2実施形態では、図8に示すような構成とした。
SIMD型マイクロプロセッサ100’においてはクラスタ単位でプロセッサエレメントが分離されているから、それぞれのクラスタは他のクラスタとは異なるクロック周波数に従って処理を実行することができる。そこで、200サイクルの処理Yを実行するクラスタ101−2’に与えるクロック周波数を、100サイクルの処理Xを実行するクラスタ101−1’に与えるクロック周波数の2倍として、処理Yを実質的に100サイクルの処理とする。
具体的な構成としては、クロック回路101が、クラスタ101−1’にクロック周波数Cを供給し、クロック回路102が、クラスタ101−2’にクロック周波数2×Cを供給する。このようにすれば、処理効率は、100サイクル/5ピクセル=20サイクル/ピクセルとなり、従来のSIMD型マイクロプロセッサ100と同等の処理効率となる。このように、負荷が大きい処理を実行するクラスタに対し、負荷が小さい処理を実行するクラスタに供給するクロック周波数よりも大きいクロック周波数を与えることで、前者の処理の実質的な負荷を小さくする。これにより、負荷が異なる処理を複数のクラスタで並列に実行する場合であっても、処理効率を良好なレベルに維持することができる。
(3)変形例
上述した実施形態では、クロスバースイッチ17を用いてクラスタ間の接続状態を画像処理の内容に応じて動的に変化させていたが、これは必ずしも必要ではない。なぜなら、第1及び第2実施形態では、Valid信号のHレベル/Lレベルで処理対象となる画素データを指定することができるので、各クラスタの全てが相互に接続されていたとしても、処理を実行させたい画素データに対してのみHレベルのValid信号に対応付けて供給するようにすれば、その画素データを受け取ったクラスタにおいては、HレベルのValid信号に対応付けられた画素データに対してのみ処理が実行されるからである。要するに、Valid信号は各クラスタ間を論理的に結線する役割を持っているから、クロスバースイッチ17のような物理的な結線手段に頼らなくてもよい。物理的な結線手段は、データの送信側と受信側とを一対一で直結させることができるため、データの衝突や混線などの問題が起こりにくく、伝送速度を上げやすいという利点があるにすぎない。
また、プロセッサエレメントPEの入力レジスタ12や出力レジスタ14は、FIFO(First In First Out)型のバッファであってもよい。
また、上述した実施形態に係るマイクロプロセッサは、画像処理装置のほか、例えばパーソナルコンピュータやサーバ装置など、データ処理を行うデータ処理装置に実装されても良い。
第1実施形態に係るSIMD型のマイクロプロセッサ10とその周辺装置の構成を示す図である。 同実施形態で行う画像処理の処理の流れを示した図である。 図2に示した画像処理を行う場合のクラスタ間の接続状態と、これらクラスタ間のデータの流れを示した図である。 Valid信号の例を示す図である。 マイクロプロセッサを用いて、2種類の画像データに対して処理A,B,C,Dを実行する場合のタイミングチャートである。 (a)は従来のSIMD型マイクロプロセッサによって実行した場合の処理効率を説明する図であり、(b)はクラスタに分離されたSIMD型マイクロプロセッサによって実行した場合の処理効率を説明する図である。 (a)は従来のSIMD型マイクロプロセッサによって実行した場合の処理効率を説明する図であり、(b)はクラスタに分離されたSIMD型マイクロプロセッサによって実行した場合の処理効率を説明する図である。 第2実施形態において、クラスタに分離されたSIMD型マイクロプロセッサによって実行した場合の処理効率を改善する仕組みを説明する図である。
符号の説明
PE・・・プロセッサエレメント、10・・・マイクロプロセッサ、11−1〜11−4・・・クラスタ、12・・・入力レジスタ、13・・・演算部、14・・・出力レジスタ、15・・・入力器、16・・・出力先装置、17・・・クロスバースイッチ、18・・・結線制御装置。

Claims (7)

  1. 複数のデータに対して同一の演算処理をそれぞれ実行する第1の演算手段、第2の演算手段及び第3の演算手段を備え、
    前記第1の演算手段は、複数のデータに対して第1の演算処理を実行し、その演算結果であるデータのうち前記第2の演算手段による演算処理の対象であるデータと、そのデータが演算処理の対象であることを示す有効情報とを対応付けて前記第2の演算手段に供給する一方、前記第1の演算処理による演算結果であるデータのうち前記第3の演算手段による演算処理の対象であるデータと、そのデータが演算処理の対象であることを示す有効情報とを対応付けて前記第3の演算手段に供給し、
    前記第2の演算手段は、前記第1の演算手段から供給され、前記有効情報と対応付けられたデータに対して、第2の演算処理を実行してその演算結果を出力し、
    前記第3の演算手段は、前記第1の演算手段から供給され、前記有効情報と対応付けられたデータに対して、第3の演算処理を実行してその演算結果を出力する
    ことを特徴とする演算装置。
  2. 複数のデータに対して同一の演算処理を実行する第4の演算手段を備え、
    前記第2の演算手段は、第2の演算処理による演算結果と、前記第1の演算手段から供給された前記有効情報とを対応付けて前記第4の演算手段に出力し、
    前記第3の演算手段は、第3の演算処理による演算結果と、前記第1の演算手段から供給された前記有効情報とを対応付けて前記第4の演算手段に出力し、
    前記第4の演算手段は、第2の演算処理による演算結果のうち前記有効情報と対応付けられた演算結果と、第3の演算処理による演算結果のうち前記有効情報と対応付けられた演算結果とに対して第4の演算処理を実行して出力する
    ことを特徴とする請求項1記載の演算装置。
  3. 前記第1の演算手段、前記第2の演算手段及び前記第3の演算手段のそれぞれを互いに接続し、又は、その接続を切断する結線手段と、
    前記第1の演算処理、前記第2の演算処理及び前記第3の演算処理の組み合わせに応じて、前記第1の演算手段、前記第2の演算手段及び前記第3の演算手段のそれぞれに対する接続とその接続の切断を前記結線手段に指示する結線制御手段と
    を備えることを特徴とする請求項1記載の演算装置。
  4. 前記第1の演算手段、前記第2の演算手段及び前記第3の演算手段はいずれも、供給されるクロック周波数に基づいて演算処理を実行し、
    前記第2の演算手段及び前記第3の演算手段に対してクロック周波数を供給するクロック供給手段であって、前記第2の演算手段又は前記第3の演算手段のうち、負荷が大きい演算処理を実行する一方の演算手段に対しては、負荷が小さい処理を実行する他方の演算手段に供給するクロック周波数よりも大きいクロック周波数を供給するクロック供給手段を備えることを特徴とする請求項1記載の演算装置。
  5. 前記第1の演算手段、前記第2の演算手段及び前記第3の演算手段は、複数のデータに対して同一の演算処理を実行するマイクロプロセッサに含まれるプロセッサエレメント群が、複数のプロセッサエレメント毎に分離されたクラスタの各々であることを特徴とする請求項1記載の演算装置。
  6. 請求項1〜5のいずれか1項に記載の演算装置を備え、
    前記演算装置によって、画像を表す画像データに対する演算処理を実行させ、その演算結果を出力させる画像処理装置。
  7. 請求項1〜5のいずれか1項に記載の演算装置を備え、
    前記演算装置によって、データに対する演算処理を実行させ、その演算結果を出力させるデータ処理装置。
JP2006152050A 2006-05-31 2006-05-31 演算装置、画像処理装置及びデータ処理装置 Expired - Fee Related JP4697055B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006152050A JP4697055B2 (ja) 2006-05-31 2006-05-31 演算装置、画像処理装置及びデータ処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006152050A JP4697055B2 (ja) 2006-05-31 2006-05-31 演算装置、画像処理装置及びデータ処理装置

Publications (2)

Publication Number Publication Date
JP2007323308A true JP2007323308A (ja) 2007-12-13
JP4697055B2 JP4697055B2 (ja) 2011-06-08

Family

ID=38856070

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006152050A Expired - Fee Related JP4697055B2 (ja) 2006-05-31 2006-05-31 演算装置、画像処理装置及びデータ処理装置

Country Status (1)

Country Link
JP (1) JP4697055B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011086061A (ja) * 2009-10-14 2011-04-28 Mitsubishi Electric Corp 並列信号処理装置
JP2011145759A (ja) * 2010-01-12 2011-07-28 Mitsubishi Electric Corp 並列信号処理プロセッサ

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06259391A (ja) * 1993-03-05 1994-09-16 N T T Data Tsushin Kk パイプライン状処理装置構成方式
JPH09106389A (ja) * 1995-10-12 1997-04-22 Sony Corp 信号処理装置
JPH11345218A (ja) * 1998-04-03 1999-12-14 Sony Corp 画像処理装置およびその方法
JP2003330570A (ja) * 2002-05-17 2003-11-21 Mitsumi Electric Co Ltd データ処理装置、データ処理装置制御方法、データ処理装置制御プログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06259391A (ja) * 1993-03-05 1994-09-16 N T T Data Tsushin Kk パイプライン状処理装置構成方式
JPH09106389A (ja) * 1995-10-12 1997-04-22 Sony Corp 信号処理装置
JPH11345218A (ja) * 1998-04-03 1999-12-14 Sony Corp 画像処理装置およびその方法
JP2003330570A (ja) * 2002-05-17 2003-11-21 Mitsumi Electric Co Ltd データ処理装置、データ処理装置制御方法、データ処理装置制御プログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011086061A (ja) * 2009-10-14 2011-04-28 Mitsubishi Electric Corp 並列信号処理装置
JP2011145759A (ja) * 2010-01-12 2011-07-28 Mitsubishi Electric Corp 並列信号処理プロセッサ

Also Published As

Publication number Publication date
JP4697055B2 (ja) 2011-06-08

Similar Documents

Publication Publication Date Title
US7599087B2 (en) Method and apparatus for image processing, and a computer product
US20060236075A1 (en) SIMD microprocessor and data processing method
US8356163B2 (en) SIMD microprocessor and method for controlling variable sized image data processing
JP2003067734A (ja) 画像処理装置で使用するための構成可能な画像処理ロジック
JP4697055B2 (ja) 演算装置、画像処理装置及びデータ処理装置
JP2015115837A (ja) 制御装置、画像処理装置、制御方法、およびプログラム
JP4809497B2 (ja) 複数の独立したシーケンスプログラムを並列実行するプログラマブルコントローラ
JP2017038198A (ja) 情報処理装置およびデータ転送方法
CN115731111A (zh) 图像数据处理装置及方法、电子设备
JP4541605B2 (ja) 画像処理装置及び画像処理方法
JP2002305622A (ja) 画像入出力制御装置、画像処理装置、画像入出力制御装置における画像処理方法、及び画像処理装置における画像処理方法
US8024550B2 (en) SIMD processor with each processing element receiving buffered control signal from clocked register positioned in the middle of the group
US20110222121A1 (en) Information processing apparatus, image forming apparatus, and information processing method
JP2006285792A (ja) 画像処理装置、画像処理方法
JP4735408B2 (ja) 画像処理装置及びそのプログラム
JP2005096343A (ja) インタフェース装置
JP7354635B2 (ja) 画像処理装置、画像処理方法、及びプログラム
JP5369669B2 (ja) Simd型マイクロプロセッサ
JP4855345B2 (ja) 画像処理装置及び画像形成装置
JP5899860B2 (ja) 印刷装置および印刷装置の印刷方法
JP4791805B2 (ja) 画像形成装置及び画像形成プログラム
JP2012248996A (ja) 画像処理装置
JP2000322370A (ja) データ出力回路
JP2004112585A (ja) 画像処理装置及び該装置の機能を実現するプログラム及び記録媒体
JP2019175431A (ja) 情報処理装置およびその制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090210

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100906

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101124

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110117

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110214

R150 Certificate of patent or registration of utility model

Ref document number: 4697055

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees