JP4325123B2 - 演算装置、その制御方法、制御プログラム、および制御プログラムを記録したコンピュータ読み取り可能な記録媒体 - Google Patents
演算装置、その制御方法、制御プログラム、および制御プログラムを記録したコンピュータ読み取り可能な記録媒体 Download PDFInfo
- Publication number
- JP4325123B2 JP4325123B2 JP2001118313A JP2001118313A JP4325123B2 JP 4325123 B2 JP4325123 B2 JP 4325123B2 JP 2001118313 A JP2001118313 A JP 2001118313A JP 2001118313 A JP2001118313 A JP 2001118313A JP 4325123 B2 JP4325123 B2 JP 4325123B2
- Authority
- JP
- Japan
- Prior art keywords
- unit
- accelerator
- main body
- processing
- image processing
- 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 - Fee Related
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Multi Processors (AREA)
- Image Processing (AREA)
- Picture Signal Circuits (AREA)
Description
【発明の属する技術分野】
本発明は、画像処理に関する演算を実行する演算装置、演算装置の制御方法、制御プログラム、および制御プログラムを記録した記録媒体に関する。
【0002】
【従来の技術】
高速に画像処理を実行するために、アクセラレータとよばれる回路基板を本体部に取り付けて、本体部およびアクセラレータのそれぞれに設けられた演算器(プロセッサ)間で処理を分担して実行する演算装置が知られている。
【0003】
複数の演算器を使用して処理を実行する場合、処理の効率化および高速化を実現するためには、複数の演算器間で処理を適切に分担する技術が重要であり、従来から、種々の分担方法が提案されている。たとえば、特開平10−171766号公報には、複数の演算器の中で特定の演算器に負荷が集中することを回避するように処理を分担するアクセラレータが開示されている。
【0004】
一方、画像処理用の演算器自体についても種々の開発が行われている。近年では、ASIC(application specific integrated circuit)などの専用LSIを用いるかわりに、プログラム可能なデジタルシグナルプロセッサであるプログラマブルDSPによって画像処理に関する演算を実行することも可能となっている。このようなプログラマブルDSPを採用する場合、DSPにプログラムされる内容を変更することによって、特定の種類の演算についての処理能力を高めた演算装置を簡単に実現することができる。
【0005】
しかしながら、演算器としてプログラマブルDSPが設けられたアクセラレータを用いて演算装置を構成する場合、上記公報記載の技術のように、負荷の集中を回避するように処理を分担するのみでは、プログラム内容が変更されることによって特定の種類の演算についての処理能力が変化するDSPの特性を考慮して、本体部とアクセラレータとの間の処理を分担することが難しい。
【0006】
また、DSPのプログラム内容が変更される毎に、本体部とアクセラレータとの間の処理分担を最適化することを目的として本体部のハードウエア構成を変更するのでは、本体部の汎用性がなくなり、製造コストの増加を招くおそれがある。
【0007】
さらに、アクセラレータが改良されて、特定の種類の演算についてアクセラレータの処理の能力が変更された場合にも、本体部のハードウエア構成を変更することなく、アクセラレータの能力を活用することが難しい。
【0008】
【発明が解決しようとする課題】
本発明は、以上の問題点を解決するためになされたものである。
【0009】
したがって、本発明の目的は、画像処理に必要な演算についてのアクセラレータの処理能力を考慮して、本体部とアクセラレータ部との間で処理の分担を決定することができる演算装置を提供することである。
【0010】
本発明の他の目的は、アクセラレータに設けられる演算器にプログラムされる内容が変更された場合であっても、本体部のハードウエア構成を変更することなく、本体部とアクセラレータとの間の処理の分担を最適化することができる演算装置を提供することである。
【0011】
【課題を解決するための手段】
以上の課題を解決するための手段は、以下のように実現される。
【0012】
(1)本発明の演算装置は、画像処理に関する演算を実行する本体部と、前記本体部に接続され、前記本体部とともに前記演算を実行するアクセラレータ部と、を有する演算装置において、前記アクセラレータ部は、前記本体部に着脱自在な回路基板として構成されており、当該回路基板ごとに、複数種類の演算についての当該アクセラレータ部の各回路基板別かつ各演算別の処理能力を示す情報が予め記憶された記憶手段を備え、前記本体部は、前記画像処理に必要な演算の種類を認識する認識手段と、前記認識手段によって認識された種類の演算についての前記アクセラレータ部の処理能力に関する情報を、前記記憶手段から取得する取得手段と、前記取得手段によって取得された前記処理能力に関する情報に応じて前記本体部と前記アクセラレータ部との間の前記画像処理の分担を決定する決定手段と、を備えることを特徴とする。
【0014】
(2)上記のアクセラレータ部は、プログラム可能なデジタル信号プロセッサを有し、前記アクセラレータ部の処理能力は、プログラムされる内容に応じて異なる。
【0015】
(3)上記の決定手段は、前記認識手段によって認識された種類の演算についての前記本体部および前記アクセラレータ部の処理能力を比較することによって前記画像処理の分担を決定する。
【0016】
(4)上記(1)の決定手段は、前記画像処理に必要な複数種類の演算の中から前記本体部と前記アクセラレータ部のそれぞれが実行すべき演算の種類を定めることによって前記画像処理の分担を決定する。
【0017】
(5)上記(1)の決定手段は、前記本体部と前記アクセラレータ部のそれぞれが処理すべきデータ量を定めることによって前記画像処理の分担を決定する。
【0018】
(6)上記(5)の決定手段は、前記本体部および前記アクセラレータ部の処理能力の比率と等しくなるように、前記本体部と前記アクセラレータ部のそれぞれが処理すべきデータ量の比率を定める。
【0019】
(7)上記(1)の本体部は、前記画像処理の内容に応じて、前記画像処理に必要な複数種類の演算の中から前記本体部と前記アクセラレータ部のそれぞれが実行すべき演算の種類を定める第1の処理と、前記本体部と前記アクセラレータ部のそれぞれが処理すべきデータ量を定める第2の処理のいずれかを選択する選択手段を有し、前記決定手段は、前記選択手段によって選択された処理にしたがって画像処理の分担を決定する。
【0020】
(8)上記(7)の画像処理が画像データのJPEG圧縮処理である場合には、前記選択手段は、前記第1の処理を選択する。
【0021】
(9)本発明の制御方法は、画像処理に関する演算を実行する本体部と、前記本体部に接続され、前記本体部とともに前記演算を実行するアクセラレータ部とを有し、当該アクセラレータ部が、前記本体部に着脱自在な回路基板として構成されており、当該回路基板ごとに、複数種類の演算についての当該アクセラレータ部の各回路基板別かつ各演算別の処理能力を示す情報が含まれるデータテーブルを有する演算装置の制御方法において、前記画像処理に必要な演算の種類を認識するステップと、複数種類の演算についての前記アクセラレータ部の各演算別の処理能力を示す情報が含まれる前記データテーブルを参照して、前記画像処理に必要な種類の演算についての前記アクセラレータ部の処理能力に関する情報を取得するステップと、取得された前記処理能力に関する情報に応じて前記本体部と前記アクセラレータ部との間の前記画像処理の分担を決定するステップと、を有することを特徴とする。
【0022】
(10)本発明の制御プログラムは、画像処理に関する演算を実行する本体部と、前記本体部に接続され、前記本体部とともに前記演算を実行するアクセラレータ部とを有し、当該アクセラレータ部が、前記本体部に着脱自在な回路基板として構成されており、当該回路基板ごとに、複数種類の演算についての当該アクセラレータ部の各回路基板別かつ各演算別の処理能力を示す情報が含まれるデータテーブルを有する演算装置を制御するための制御プログラムにおいて、前記画像処理に必要な演算の種類を認識する手順と、複数種類の演算についての前記アクセラレータ部の各演算別の処理能力を示す情報が含まれる前記データテーブルを参照して、前記画像処理に必要な種類の演算についての前記アクセラレータ部の処理能力に関する情報を取得する手順と、取得された前記処理能力に関する情報に応じて前記本体部と前記アクセラレータ部との間の前記画像処理の分担を決定する手順と、をコンピュータに実行させる。
【0023】
(11)本発明のコンピュータ読み取り可能な記録媒体は、上記(10)に記載の制御プログラムを記録したことを特徴とする。
【0024】
【発明の実施の形態】
以下、添付した図面を参照しつつ、本発明の実施の形態を説明する。
【0025】
図1は、本発明の演算装置を適用した画像処理装置の構成を示すブロック図である。この画像処理装置は、光電変換素子であるCCDによって受信された画像データを処理する装置である。
【0026】
画像処理装置は、本体部100とアクセラレータ部200とから構成される。
【0027】
本体部100は、CPU101、ROM102、RAM103、記憶部104、操作パネル105、CCD106、主演算器107、インタフェース108を有する。
【0028】
CPU101は、各部の制御を行う。ROM102は、CPU101によって実行される制御プログラムを記憶する。RAM103は、演算用のワーキングメモリであり、画像データを一時記憶するバッファとしても使用される。記憶部104は、たとえば、不揮発性メモリとハードディスクとから構成される。記憶部104は、保存が必要な各種設定に関する情報および画像データを記憶する。ROM102または記憶部104には、複数種類の演算についての本体部200の処理能力に関する情報を含むデータテーブルが記憶されている。
【0029】
CCD106は、受像に使用される光電変換素子である。主演算器107は、本体部100に設けられたプロセッサエレメントであり、画像処理に必要な種々の演算を実行する。主演算器107は、たとえばプログラマブルDSP(digital signal processor)で構成されている。この画像処理には、画像データの補正、加工、および圧縮などの種々の処理が含まれる。インタフェース108は、アクセラレータ部200と通信するためのインタフェースである。このインタフェース108は、アクセラレータ部200を演算装置の本体部100に接続するためのコネクタであり、好適には、アクセラレータ部200が挿入されるスロットである。
【0030】
アクセラレータ部200は、画像処理装置の演算処理の性能を強化するためにインタフェース108に接続される。好適には、アクセラレータ部200は、本体部100のインタフェース108に着脱自在な回路基板として構成される。
【0031】
インタフェース201は、本体部100と通信するためのインタフェースである。アクセラレータ側演算器202は、アクセラレータ部200に設けられたプロセッサエレメントであり、たとえば、プログラマブルDSPで構成されている。このアクセラレータ側演算器202は、画像処理などの特定の分野に特化した補助演算器であり、本体部100に設けられた主演算器107とともに演算を実行する。テーブルROM203は、複数種類の演算についてアクセラレータ部200の処理能力に関する情報を含むデータテーブルを予め記憶する。
【0032】
図2は、本体部100とアクセラレータ部200との関係を模式的に示す図である。図2に示されるように、一つの本体部100に対して、複数種類のアクセラレータ部200aと200bが準備されている。アクセラレータ部200aまたは200bのどちらか一方を選択して本体部100に接続することができる。より具体的には、アクセラレータ部200aおよび200bは、相互にプログラム内容が異なるプログラマブルDSPをアクセラレータ側演算器202として有し、ハードウエア構成が共通する回路基板である。この回路基板として構成されるアクセラレータ部200aまたは200bを拡張カードとして、スロットであるインタフェース108に自由に抜き差しすることが可能である。
【0033】
アクセラレータ部200aを本体部100に接続した場合とアクセラレータ部200bを本体部100に接続した場合とでは、アクセラレータ側演算器202の特性の相違に起因して画像処理に関する演算についての処理能力が異なる。したがって、画像処理装置の使用目的または要求仕様に応じてアクセラレータ部200aまたは200bを選択することによって、最適な演算処理が実現される。
【0034】
以上のように構成される本発明の演算装置を適用した画像処理装置は、以下のように処理を行う。
【0035】
図3は、画像処理装置の処理内容を示すフローチャートである。図3のフローチャートに示されるアルゴリズムは、制御プログラムとしてROM102に記憶されており、CPU101によって実行される。
【0036】
ステップS100では、電源がONされるのを待って、種々の設定が初期化される。この結果、たとえば、操作パネル105の画面が初期化される。また、図1に示される各部101〜108および201〜203の動作チェックが実行される。
【0037】
ステップS101では、アクセラレータ部200のテーブルROM203に予め記憶されているデータテーブルが参照される。
【0038】
図4および図5は、それぞれアクセラレータ部200aおよび200bのテーブルROM203に記憶されているデータテーブルの一例を示す。また、図6は、本体部のROM102または記憶部104に記憶されているデータテーブルの一例を示す。
【0039】
図4に示されるデータテーブルには、複数種類の演算についてアクセラレータ部200aの処理能力に関する情報が含まれている。具体的には、加算演算、乗算演算、積和演算、ラプラシアンフィルタ演算、および離散コサイン変換の演算(以下「DCT演算」という)などの複数種類の演算についてアクセラレータ部200aの各演算別の処理能力に関する情報がテーブルROM203に予め記憶されている。処理能力は、1秒間あたりに実行できる演算処理の基本単位の数で定義される。図4、図5および図6の場合には、MOPS(Millions of Operations Per Second)という単位で処理能力が表されている。
【0040】
同様に、図5に示されるデータテーブルには、複数種類の演算についてアクセラレータ部200bの処理能力に関する情報が含まれている。また、図6に示されるテーブルデータには、複数種類の演算について本体部100の処理能力に関する情報が含まれている。
【0041】
積和演算とは、加算と乗算の双方を含む演算である。DCT演算は、後述されるようにJPEG圧縮処理に必要な演算である。ラプラシアンフィルタ演算は、後述されるように画像に含まれる輪郭線(エッジ)の検出処理やエッジの強調処理に必要な空間フィルタ演算である。
【0042】
アクセラレータ部200aが本体部100に接続されている場合には、図4に示されるデータテーブルが参照され、アクセラレータ部200bが本体部100に接続されている場合には、図5に示されるデータテーブルが参照される。
【0043】
図3のステップS102では、操作パネル105からの所定の信号を受信することによって、実行すべき画像処理についての指示が受信される。たとえば、操作パネル105からの信号には、受像の指示信号、画像データの編集の指示信号、および、その他の指示信号が含まれる。
【0044】
ステップS103では、実行が指示された画像処理に必要な演算の種類が認識される。また、認識された種類の演算についてのアクセラレータ部200aまたは200bの処理能力に関する情報が、テーブルROM203に予め記憶されていたデータテーブル(図4または図5参照)から取得される。また、認識された種類の演算についての本体部100の処理能力に関する情報についても、ROM102または記憶部104に予め記憶されていたデータテーブル(図6参照)から取得される。
【0045】
ステップS104では、受信した画像処理を実行するために必要な各部の入出力設定が行われる。
【0046】
ステップS105では、ステップS103において取得されたアクセラレータ部200の処理能力に関する情報に応じて本体部100とアクセラレータ部200との間で画像処理の分担が決定される。
【0047】
ステップS106では、決定された分担にしたがって、本体部200の主演算着107とアクセラレータ部200のアクセラレータ側演算器202に必要な演算を実行させる。
【0048】
ステップS107では、すべての画像処理が終了したか否かが判断される。すべての画像処理が終了するのを待って(ステップS107:NO)、一連の処理が終了する。
【0049】
図7は、図3のステップS105における本体部100とアクセラレータ部200との処理分担を決定する処理を示すフローチャートである。
【0050】
ステップS200では、指示された画像処理が、画像データのJEPG圧縮処理であるか否かが判断される。ここで、JPEG圧縮処理は、静止画像データの圧縮処理の一つであり、特に写真などの自然画の圧縮に適する。画像処理が画像データのJPEG圧縮処理である場合には(ステップS200:YES)、ステップS201の処理が実行され、JPEG圧縮処理でない場合には(ステップS200:YES)、ステップS201の処理がスキップされる。
【0051】
ステップS201では、JPEG圧縮処理に適合した処理分担が決定される。
【0052】
ステップS202では、指示された画像処理がエッジ検出処理であるか否かが判断される。エッジ検出処理は、画像中の画素値が急激に変化する部分を検出する処理である。画像処理がエッジ検出処理である場合には(ステップS202:YES)、ステップS203の処理が実行され、エッジ検出処理でない場合には(ステップS202:NO)、ステップS203の処理がスキップされる。
【0053】
ステップS203では、エッジ検出処理に適合した処理分担が決定される。
【0054】
ステップS204では、指示された画像処理が合成処理であるか否かが判断される。画像処理が合成処理である場合には(ステップS204:YES)、ステップS205の処理が実行され、合成処理でない場合には(ステップS204:NO)、ステップS205の処理がスキップされる。
【0055】
ステップS205では、合成処理に適合した処理分担が決定される。ここで、合成処理とは、オーバーレイ処理であり、複数の画像を重ね合わせる処理である。たとえば、合成処理は、対象となる画像に線画や文字を重ねて表示するために用いられる。
【0056】
ステップS206では、指示された画像処理が、その他のアクセラレータを使用する所定の処理であるか否かが判断される。画像処理が、その他のアクセラレータを使用する所定の処理である場合には(ステップS206:YES)、ステップS207の処理が実行され、所定の処理でない場合には(ステップS206:NO)、ステップS207の処理がスキップされる。
【0057】
ステップS207では、図3のステップS103で認識された種類の演算についての本体部およびアクセラレータ部の処理能力に基づき、処理分担が決定される。
【0058】
ステップS208では、アクセラレータ部200が画像処理のために使用されない場合に該当するので、本体部100とアクセラレータ部200との処理分担は決定されない。
【0059】
なおステップ200、ステップS202、ステップ204、およびステップS206の処理を実行する順序を適宜変更することもできる。
【0060】
次に各画像処理に適合した処理分担の決定処理の詳細を説明する。
【0061】
まず、指示された画像処理がエッジ検出処理である場合の処理分担の決定処理について説明する。
【0062】
指示された画像処理がエッジ検出処理である場合には、図3のステップS103において、エッジ検出処理に必要な演算として上述したラプラシアンフィルタ演算が認識されている。
【0063】
図8は、エッジ検出処理と画像データとの関係を示す図である。
【0064】
本実施形態では、5×5画素のブロックを単位とするラプラシアンフィルタ演算を用いたエッジ検出処理が実行される。具体的には、ブロックの中心にある注目画素とその近傍にある近傍画素(周辺画素)の画素値の差を用いて演算が実行される。本実施の形態では、4近傍ラブラシアンフィルタを採用するため、5×5のブロックの四隅にある合計4つの近傍画素の画素値を合計した値と注目画素の画素値を4倍した値との差分が算出される。具体的には、図8に示される「4」や「−1」という係数を対応する画素値に乗じて、その結果を合計する演算が実行される。なお、本実施形態と異なり、5×5のブロック以外のラプラシアンフィルタ演算を採用することもできる。
【0065】
図9は、図7のステップS203の処理の詳細を示すフローチャートであり、具体的には、エッジ検出処理に適合した処理分担の決定処理を示す。
【0066】
ステップS300では、図4または図5に示されるデータテーブルから取得されたアクセラレータ部200側のラプラシアンフィルタ演算の処理能力に関する情報と図6に示される本体部100側のラプラシアンフィルタ演算の処理能力に関する情報とが比較される。すなわち、アクセラレータ側演算器202および主演算器107のそれぞれのラプラシアンフィルタ演算の処理能力が比較される。
【0067】
ステップS301では、アクセラレータ部200側の処理能力と本体部100側の処理能力の能力比が算出される。算出された能力比と等しい比率になるように処理すべきデータ領域が配分される。換言すれば、算出された能力比と等しい比率になるように、本体部100とアクセラレータ部200のそれぞれが処理すべき処理すべきデータ量が定められる。
【0068】
図10は、アクセラレータ部200aが本体部100に接続された場合のデータ領域の配分を示しており、図11は、アクセラレータ部200bが本体部100に接続された場合のデータ領域の配分を示している。
【0069】
アクセラレータ部200aが接続された場合は、図6および図4に示されるデータテーブルから明らかなように、本体部100とアクセラレータ部200のラプラシアンフィルタ演算についての処理能力は、共に50MOPSである。したがって、本体部100に対するアクセラレータ部のラシアンフィルタ演算の処理能力比は1:1である。この能力比と等しい比率になるように処理すべきデータ領域が分割され、配分される。データ領域の全体のうちの半分の領域が本体部100、すなわち主演算器107に配分され、他方の領域がアクセラレータ部200a、すなわちアクセラレータ側演算器202に配分される。
【0070】
一方、アクセラレータ部200bが接続された場合には、図6および図5に示されるデータテーブルから明らかなように、本体部100とアクセラレータ部200bのラプラシアンフィルタ演算についての処理能力は、それぞれ50MOPSおよび200MOPSである。したがって、本体部100に対するアクセラレータ部のラシアンフィルタ演算についての能力比は1:4である。この能力比と等しい比率になるように処理すべきデータ領域が分割され、配分される。データ領域の全体の1/5の領域が本体部100、すなわち主演算器107に配分され、領域全体の4/5の領域がアクセラレータ部200b、すなわちアクセラレータ側演算器202に配分される。データ領域を配分することによって画像処理の負担が決定された場合、すなわち本体部100とアクセラレータ部200が処理すべきデータ量を定めることによって画像処理の負担が決定された場合には、各演算器107、202において画像処理に関する演算が実行された後に、処理された各領域のデータがマージされる。すなわち複数領域のデータが一つにまとめられる。
【0071】
次に、指示された画像処理がJPEG圧縮処理である場合の処理分担の決定の処理について説明する。
【0072】
図12は、JPEG圧縮処理の流れを概略的に示す図である。
【0073】
図12に示された例では、CCD106によって得られたRGB(赤緑青)のデータが輝度Yと二つの色差CrおよびCbとに変換される(以下「RGB→YCrCb」変換という)。そして、DCT演算が実行される。その後、量子化およびエントロピー符号化が実行される。
【0074】
したがって、図3のステップS103において、JPEG圧縮に必要な演算は、RGB→YCrCb変換、DCT演算、量子化、エントロピー符号化であることが認識される。なお、図12に示されるパーセント値は、JPEG圧縮の全処理の負荷を100%とした場合の各演算の負荷比率である。
【0075】
図13は、DCT演算と画像データとの関係を示す図である。
【0076】
8×8画素のブロックを単位としてDCT演算が実行される。このようなDCT演算を用いるJPEG圧縮処理では、図10および図11において説明されたラプラシアンフィルタ演算を用いるエッジ検出処理の場合と異なり、本体部100とアクセラレータ部200のそれぞれが処理すべきデータ領域(すなわちデータ量に対応する)を配分することによって画像処理を分担することが困難である。これは、処理すべきデータ領域を複数の領域に分割して各領域別にJPEG圧縮処理を実行し、処理後に各データをマージすることが、JPEG圧縮処理の規格上困難であることに起因する。
【0077】
したがって、JPEG圧縮処理の場合には、画像処理に必要な複数種類の演算の中から本体部100とアクセラレータ部200のそれぞれが実行すべき演算の種類を定めることによって、処理負担が決定される。
【0078】
このように、本実施の形態では、本体部100のCPU101は、画像処理に必要な複数種類の演算の中から本体部100とアクセラレータ部200のそれぞれが実行すべき演算の種類を定める処理、または、本体部100とアクセラレータ部200のそれぞれが処理すべきデータ量を定めるか処理のどちらか一方を画像処理の内容に応じて選択し、選択された処理にしたがって画像処理の分担を決定する。
【0079】
図14は、図7のステップS201の処理の詳細を示すフローチャートであり、具体的には、JPEG圧縮処理に適合した処理分担の決定処理を示す。
【0080】
ステップS400では、図4または図5に示されるデータテーブルから取得されたアクセラレータ部200側のDCT演算の処理能力に関する情報と本体部100側のDCT演算の処理能力に関する情報とが比較される。換言すれば、画像処理に必要な複数の演算のうちで、最も処理負担の高い演算であるDCT演算が選択され、この最も処理負担の高い演算について、データテーブルによって取得された本体部100およびアクセラレータ部200の処理能力が比較される。
【0081】
アクセラレータ部200が本体部100よりもDCT演算の処理能力が高い場合には(ステップS400:YES)、ステップS401の処理が実行され、高くない場合には(ステップS400:NO)、ステップS401およびステップS302の処理がスキップされる。
【0082】
ステップS401では、DCT演算をアクセラレータ部200に実行させる。換言すれば、DCT演算がアクセラレータ部200に配分される。
【0083】
ステップS402では、DCT演算以外の演算、すなわち、上述したRGB→YCrCb処理、量子化、およびエントロピー符号化を本体部に実行させる。換言すれば、これらのDCT演算以外の演算が本体部100に配分される。
【0084】
一方、ステップS403およびステップS404では、アクセラレータ部200が本体部よりもDCT演算の処理能力が高くない場合の処理として、DCT演算を本体部100に実行させ、DCT演算以外の演算をアクセラレータ部200に実行させる。
【0085】
なお、本体部100とアクセラレータ部200のDCT演算の処理能力が等しい場合には、本体部100とアクセラレータ部200との間に能力差がないため、適宜、各演算の処理負荷に応じて、処理すべき演算の種類が定められてもよい。
【0086】
図15は、アクセラレータ部200aが本体部100に接続された場合に本体部100およびアクセラレータ部200aが実行すべき演算の種類を示しており、図16は、アクセラレータ部200bが本体部100に接続された場合に本体部100およびアクセラレータ部200bが実行すべき演算の種類を示している。
【0087】
アクセラレータ部200aが接続された場合は、図6および図5に示されるデータテーブルから明らかなように、本体部100とアクセラレータ部200のDCT演算の処理能力(10MOPS)が等しい。この場合、たとえば、図15に示されるように、DCT演算が本体部100の主演算器107によって実行されるように定められ、それ以外の演算がアクセラレータ部200aのアクセラレータ側演算器202によって実行されるように定められる。
【0088】
一方、アクセラレータ部200bが接続された場合は、図5および図6に示されるデータテーブルから明らかなように、アクセラレータ部200のDCT演算の処理能力(100MOPS)が、本体部100の処理能力(10MOPS)の10倍である。したがって、この場合、図16に示されるように、DCT演算がアクセラレータ部200bのアクセラレータ側演算器202によって実行されるように定められ、それ以外の演算が本体部100の主演算器107によって実行されるように定められる。
【0089】
なお、図15および図16は本体部100およびアクセラレータ部200が実行すべき演算の種類の一例を示すものであり、本発明は、この場合に限られない。たとえば、アクセラレータ部200bのDCT演算の処理能力が高い場合に、図16に示される場合と異なり、アクセラレータ部200bにDCT演算のみならずRGB→YCrCb変換を実行させるように定めることもできる。
【0090】
次に、指示された画像処理が合成処理である場合の処理分担の決定の処理について説明する。
【0091】
指示された画像処理が合成処理である場合には、図3のステップS103において、エッジ検出処理に必要な演算として加算演算が認識されている。
【0092】
図17は、図7のステップS205の処理の詳細を示すフローチャートであり、具体的には、合成処理に適合した処理分担の決定処理を示す。
【0093】
ステップS500では、図4または図5に示されるデータテーブルから取得されたアクセラレータ部200側の加算演算の処理能力に関する情報と図6に示される本体部100側の加算演算の処理能力に関する情報とが比較される。
【0094】
ステップS301では、アクセラレータ部200側の処理能力と本体部100側の処理能力の能力比が算出される。算出された能力比と等しい比率になるように処理すべきデータ領域が配分される。換言すれば、算出された能力比と等しい比率になるように、本体部100とアクセラレータ部200のそれぞれが処理すべき処理すべきデータ量の比率を定めることによって、画像処理の分担が決定される。
【0095】
このように、本実施の形態によれば、異なるプログラミングがされた複数のDSPソリューションが準備され、これらのDSPが搭載されたアクセラレータ部を本体部に装着することによって、自動的にアクセラレータの処理能力が考慮され、本体部およびアクセラレータ部との間の画像処理の分担が最適化される。
【0096】
以上のように本発明の実施の形態を説明したが、本発明は、種々の変形が可能である。
【0097】
上記実施の形態では、画像処理として、JPEG圧縮処理、エッジ検出処理、および合成処理を例にとって説明したが、本発明は、これらの処理以外の画像処理に適用することもできる。たとえば、画像ノイズ等を除去するための平滑化処理、不鮮明な画像をシャープな画像に変換する鮮鋭化処理、および色変換処理などの画像処理に本発明を適用することができることは、もちろん可能である。
【0098】
また、上記の実施の形態では、演算として、加算演算、乗算演算、積和演算、DCT演算演算、ラプラシアンフィルタ演算、RGB→YCrCb変換、量子化、およびエントロピー符号化を例にとって説明したが、本発明は、これら以外の演算について取り扱うことも可能である。たとえば、種々の画像処理に必要なFIR(fine impulse response)フィルタ演算などのラプラシアンフィルタ演算以外の空間フィルタ演算を取り扱うことができる。
【0099】
上記の実施の形態では、本体部とアクセラレータ部にそれぞれ一つずつ演算器が設けられている場合を説明したが、本発明はこの場合に限られない。3個以上の演算器間での処理分担の決定に本発明を応用できることはもちろんである。
【0100】
また、上記の実施の形態では、本体部に一つのアクセラレータ部を接続する場合を説明したが、複数のアクセラレータ部を接続してもよい。この場合も、本体部および複数のアクセラレータ部の間の処理分担を決定することができる。また、上記の実施の形態では、CPUを各部の制御にのみ使用する場合を説明したが、CPUが各部の制御を実行するのみならず、画像処理を実行する演算器として機能してもよい。
【0101】
上記の実施の形態では、CCDを有する画像処理装置に本発明の演算装置を適用した場合を説明したが、本発明は、この場合に限られない。本発明は、コンピュータ端末、携帯端末、デジタルカメラ、プリンタ、複写機、スキャナ、およびファクシミリ装置のような画像処理に関する演算を実行するすべての機器に適用することができる。
【0102】
なお、本発明の演算装置の制御方法は、ソフトウエア(プログラム)または専用のハードウエア回路のいずれによっても実現することができる。また、プログラムによって本発明を実現する場合、機器を動作させるプログラムは、たとえば、フレキシブルディスクやCD−ROMなどのコンピュータ読み取り可能な記録媒体によって提供されてもよく、ネットワークを通じて配信されてもよい。また、プログラムは、演算装置自体に組み込まれていてもよい。
【0103】
【発明の効果】
本発明によれば、アクセラレータ部の各演算別の処理能力を考慮して、本体部とアクセラレータ部の間の処理の分担を自動的に決定することができる。また、アクセラレータ部に設けられたプロセッサがプログラマブルDSPであり、このDSPにプログラムされる内容が変更された場合であっても、アクセラレータ部に記憶されるデータテーブルの内容、つまり、複数種類の演算についての当該アクセラレータ部の各演算別の処理能力を示す情報の内容を書き換えておくだけで、本体部とアクセラレータ部との間の処理の分担を自動的に最適化することができ、本体部のハードウエア構成を変更する必要がなくなる。
い認識率を達成することができる。
【図面の簡単な説明】
【図1】 本発明の演算装置を適用した画像処理装置の構成を示すブロック図である。
【図2】 図1における本体部100とアクセラレータ部200との関係を模式的に示す図である。
【図3】 本発明の演算装置を適用した画像処理装置の処理内容を示すフローチャートである。
【図4】 アクセラレータ部のテーブルROMに記憶されているデータテーブルの一例を示す図である。
【図5】 アクセラレータ部のテーブルROMに記憶されているデータテーブルの他の例を示す図である。
【図6】 本体部のROMに記憶されているデータテーブルの一例を示す図である。
【図7】 図3のステップS105に対応する処理分担の決定処理を示すフローチャートである。
【図8】 エッジ検出処理と画像データとの関係を模式的に示す図である。
【図9】 図7のステップS203におけるエッジ検出処理に適合した処理分担の決定処理を示すフローチャートである。
【図10】 アクセラレータ部200aが本体部に接続された場合のデータ領域の配分を示す図である。
【図11】 別のアクセラレータ部200bが本体部に接続された場合のデータ領域の配分を示す図である。
【図12】 本発明におけるJPEG圧縮処理の処理の流れを概略的に示す図である。
【図13】 離散コサイン変換と画像データとの関係を示す図である。
【図14】 図7のステップS201におけるJPEG圧縮処理に適合した処理分担の決定処理を示すフローチャートである。
【図15】 アクセラレータ部200aが本体部に接続された場合に本体部およびアクセラレータ部200aが実行すべき演算の種類の一例を示す図である。
【図16】 別のアクセラレータ部200bが本体部に接続された場合に本体部およびアクセラレータ部200bが実行すべき演算の種類の一例を示す図である。
【図17】 図7のステップS205における合成処理に適合した処理分担の決定処理を示すフローチャートである。
【符号の説明】
100…本体部、
101…CPU、
102…ROM、
103…RAM、
104…記憶部、
107…主演算器
108…インタフェース、
200…アクセラレータ部、
201…インタフェース、
202…アクセラレータ側演算器、
203…テーブルROM。
Claims (11)
- 画像処理に関する演算を実行する本体部と、前記本体部に接続され、前記本体部とともに前記演算を実行するアクセラレータ部と、を有する演算装置において、
前記アクセラレータ部は、
前記本体部に着脱自在な回路基板として構成されており、当該回路基板ごとに、複数種類の演算についての当該アクセラレータ部の各回路基板別かつ各演算別の処理能力を示す情報が予め記憶された記憶手段を備え、
前記本体部は、前記画像処理に必要な演算の種類を認識する認識手段と、
前記認識手段によって認識された種類の演算についての前記アクセラレータ部の処理能力に関する情報を、前記記憶手段から取得する取得手段と、
前記取得手段によって取得された前記処理能力に関する情報に応じて前記本体部と前記アクセラレータ部との間の前記画像処理の分担を決定する決定手段と、を備えることを特徴とする演算装置。 - 前記アクセラレータ部は、プログラム可能なデジタル信号プロセッサを有し、前記アクセラレータ部の処理能力は、プログラムされる内容に応じて異なることを特徴とする請求項1に記載の演算装置。
- 前記決定手段は、前記認識手段によって認識された種類の演算についての前記本体部および前記アクセラレータ部の処理能力を比較することによって前記画像処理の分担を決定することを特徴とする請求項1に記載の演算装置。
- 前記決定手段は、前記画像処理に必要な複数種類の演算の中から前記本体部と前記アクセラレータ部のそれぞれが実行すべき演算の種類を定めることによって前記画像処理の分担を決定することを特徴とする請求項1に記載の演算装置。
- 前記決定手段は、前記本体部と前記アクセラレータ部のそれぞれが処理すべきデータ量を定めることによって前記画像処理の分担を決定することを特徴とする請求項1に記載の演算装置。
- 前記決定手段は、前記本体部および前記アクセラレータ部の処理能力の比率と等しくなるように、前記本体部と前記アクセラレータ部のそれぞれが処理すべきデータ量の比率を定めることを特徴とする請求項5に記載の演算装置。
- さらに、前記本体部は、前記画像処理の内容に応じて、前記画像処理に必要な複数種類の演算の中から前記本体部と前記アクセラレータ部のそれぞれが実行すべき演算の種類を定める第1の処理と、前記本体部と前記アクセラレータ部のそれぞれが処理すべきデータ量を定める第2の処理のいずれかを選択する選択手段を有し、前記決定手段は、前記選択手段によって選択された処理にしたがって画像処理の分担を決定することを特徴とする請求項1に記載の演算装置。
- 前記画像処理が画像データのJPEG圧縮処理である場合には、前記選択手段は、前記第1の処理を選択することを特徴とする請求項7に記載の演算装置。
- 画像処理に関する演算を実行する本体部と、前記本体部に接続され、前記本体部とともに前記演算を実行するアクセラレータ部とを有し、当該アクセラレータ部が、前記本体部に着脱自在な回路基板として構成されており、当該回路基板ごとに、複数種類の演算についての当該アクセラレータ部の各回路基板別かつ各演算別の処理能力を示す情報が含まれるデータテーブルを有する演算装置の制御方法において、
前記画像処理に必要な演算の種類を認識するステップと、
複数種類の演算についての前記アクセラレータ部の各演算別の処理能力を示す情報が含まれる前記データテーブルを参照して、前記画像処理に必要な種類の演算についての前記アクセラレータ部の処理能力に関する情報を取得するステップと、
取得された前記処理能力に関する情報に応じて前記本体部と前記アクセラレータ部との間の前記画像処理の分担を決定するステップと、を有することを特徴とする演算装置の制御方法。 - 画像処理に関する演算を実行する本体部と、前記本体部に接続され、前記本体部とともに前記演算を実行するアクセラレータ部とを有し、当該アクセラレータ部が、前記本体部に着脱自在な回路基板として構成されており、当該回路基板ごとに、複数種類の演算についての当該アクセラレータ部の各回路基板別かつ各演算別の処理能力を示す情報が含まれるデータテーブルを有する演算装置を制御するための制御プログラムにおいて、
前記画像処理に必要な演算の種類を認識する手順と、
複数種類の演算についての前記アクセラレータ部の各演算別の処理能力を示す情報が含まれる前記データテーブルを参照して、前記画像処理に必要な種類の演算についての前記アクセラレータ部の処理能力に関する情報を取得する手順と、
取得された前記処理能力に関する情報に応じて前記本体部と前記アクセラレータ部との間の前記画像処理の分担を決定する手順と、をコンピュータに実行させる制御プログラム。 - 請求項10に記載の制御プログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001118313A JP4325123B2 (ja) | 2001-04-17 | 2001-04-17 | 演算装置、その制御方法、制御プログラム、および制御プログラムを記録したコンピュータ読み取り可能な記録媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001118313A JP4325123B2 (ja) | 2001-04-17 | 2001-04-17 | 演算装置、その制御方法、制御プログラム、および制御プログラムを記録したコンピュータ読み取り可能な記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002312776A JP2002312776A (ja) | 2002-10-25 |
JP4325123B2 true JP4325123B2 (ja) | 2009-09-02 |
Family
ID=18968724
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001118313A Expired - Fee Related JP4325123B2 (ja) | 2001-04-17 | 2001-04-17 | 演算装置、その制御方法、制御プログラム、および制御プログラムを記録したコンピュータ読み取り可能な記録媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4325123B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014222473A (ja) * | 2013-05-14 | 2014-11-27 | 日本電気株式会社 | データ処理装置、データ処理方法、データ処理制御装置、プログラムおよび記録媒体 |
JP6766598B2 (ja) * | 2016-10-31 | 2020-10-14 | セイコーエプソン株式会社 | 画像処理装置、画像処理方法および制御プログラム |
JP7499998B2 (ja) | 2022-05-17 | 2024-06-14 | 三菱電機株式会社 | 画像処理支援装置、画像処理支援方法及び画像処理支援プログラム |
-
2001
- 2001-04-17 JP JP2001118313A patent/JP4325123B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2002312776A (ja) | 2002-10-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1395041B1 (en) | Colour correction of images | |
US20060192860A1 (en) | Digital photographic device for controlling compression parameter of image data and method of deciding compression parameter value of image data | |
EP2130175B1 (en) | Edge mapping incorporating panchromatic pixels | |
US6366694B1 (en) | Integrated color interpolation and color space conversion algorithm from 8-bit Bayer pattern RGB color space to 24-bit CIE XYZ color space | |
JP5395053B2 (ja) | パンクロマティック画素を使用するエッジマッピング | |
US6366692B1 (en) | Median computation-based integrated color interpolation and color space conversion methodology from 8-bit bayer pattern RGB color space to 24-bit CIE XYZ color space | |
KR101389562B1 (ko) | 이미지 처리 장치 및 방법 | |
JP6726060B2 (ja) | 画像処理装置およびその制御方法ならびにプログラム | |
US8238685B2 (en) | Image noise reduction method and image processing apparatus using the same | |
JP2008527861A (ja) | 散在カラー・ディジタル画像のノイズ除去 | |
JP2008293425A (ja) | ノイズ除去装置並びにプログラムおよび方法 | |
JP3448462B2 (ja) | 画像データ圧縮装置 | |
KR101005248B1 (ko) | 정보단말 | |
US7720293B2 (en) | Image processing apparatus, printing apparatus and image processing method | |
JP4325123B2 (ja) | 演算装置、その制御方法、制御プログラム、および制御プログラムを記録したコンピュータ読み取り可能な記録媒体 | |
Adams Jr et al. | Digital camera image processing chain design | |
US20050025382A1 (en) | Image filter method | |
JP2001292455A (ja) | 画像処理方法および装置並びに記録媒体 | |
JP2001292454A (ja) | 画像処理方法および装置並びに記録媒体 | |
US20070211956A1 (en) | Data processing device capable of executing retinex processing at high speed | |
JP2002359743A (ja) | 画像処理装置、画像処理方法およびその方法をコンピュータに実行させるプログラム、並びにそのプログラムを記録したコンピュータ読み取り可能な記録媒体 | |
WO2001054397A2 (en) | Improved digital camera device with methodology for efficient color conversion | |
JP2006163674A (ja) | 画像処理装置、印刷装置および負荷分散方法 | |
JP2006163672A (ja) | 画像処理装置、印刷装置および画像処理方法 | |
JP2003250031A (ja) | 画像処理装置および画像処理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20040423 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20051019 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20051019 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20081117 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081125 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090122 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090217 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090420 |
|
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: 20090519 |
|
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: 20090601 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120619 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130619 Year of fee payment: 4 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R360 | Written notification for declining of transfer of rights |
Free format text: JAPANESE INTERMEDIATE CODE: R360 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |