(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024139721
(43)【公開日】2024-10-09
(54)【発明の名称】データ処理装置、データ処理方法、画像処理システム及び画像処理方法
(51)【国際特許分類】
G06F 1/03 20060101AFI20241002BHJP
G06T 1/20 20060101ALI20241002BHJP
【FI】
G06F1/03
G06T1/20 A
【審査請求】未請求
【請求項の数】11
【出願形態】OL
(21)【出願番号】P 2024036311
(22)【出願日】2024-03-08
(31)【優先権主張番号】P 2023050602
(32)【優先日】2023-03-27
(33)【優先権主張国・地域又は機関】JP
(71)【出願人】
【識別番号】320012037
【氏名又は名称】ラピステクノロジー株式会社
(74)【代理人】
【識別番号】110001519
【氏名又は名称】弁理士法人太陽国際特許事務所
(72)【発明者】
【氏名】安田 晃輔
【テーマコード(参考)】
5B057
【Fターム(参考)】
5B057CD06
5B057CH08
5B057CH11
(57)【要約】
【課題】複数の演算回路を備える場合と比べて、演算処理の負荷を低減する。
【解決手段】データ処理装置(10)は、予め定めた非線形関数における入力値と出力値とを対応させた情報セットを複数記憶するメモリ(16)から、指示された指示値に最も近い入力値に対応する出力値、及び最も近い入力値の前の入力値に対応する出力値、または最も近い入力値に対応する出力値、及び最も近い入力値の後の入力値に対応する出力値、若しくは最も近い入力値の前の入力値に対応する出力値、及び最も近い入力値の後の入力値に対応する出力値を含む複数の出力値から少なくとも2つの出力値を出力値セットとして取得する取得部(14)と、取得部で取得された出力値セットに基づいて、指示値に対応する出力値を予め定めた補間により演算する演算部(12)と、を備える。
【選択図】
図1
【特許請求の範囲】
【請求項1】
予め定めた非線形関数における入力値と出力値とを対応させた情報セットを複数記憶するメモリから、指示された指示値に最も近い入力値に対応する出力値、及び前記最も近い入力値の前の入力値に対応する出力値、または前記最も近い入力値に対応する出力値、及び前記最も近い入力値の後の入力値に対応する出力値、若しくは前記最も近い入力値の前の入力値に対応する出力値、及び前記最も近い入力値の後の入力値に対応する出力値を含む複数の出力値から少なくとも2つの出力値を出力値セットとして取得する取得部と、
前記取得部で取得された前記出力値セットに基づいて、前記指示値に対応する出力値を予め定めた補間により演算する演算部と、
を備えたデータ処理装置。
【請求項2】
前記取得部は、前記指示値に最も近い入力値に対応する出力値、及び前記最も近い入力値の前の入力値に対応する出力値、または前記最も近い入力値に対応する出力値、及び前記最も近い入力値の後の入力値に対応する出力値、若しくは前記最も近い入力値の前の入力値に対応する出力値、及び前記最も近い入力値の後の入力値に対応する出力値のうちの何れか2つの出力値を出力値セットとして取得し、
前記演算部は、前記指示値に対応する出力値を前記何れか2つの出力値を用いた線形補間により演算する、
請求項1に記載のデータ処理装置。
【請求項3】
前記取得部は、前記指示値に最も近い入力値に対応する出力値、前記最も近い入力値の前の入力値に対応する出力値、及び前記最も近い入力値の後の入力値に対応する出力値の何れかに対応する異なる3つ以上の出力値を前記出力値セットとして取得し、
前記演算部は、前記指示値に対応する出力値を前記取得部で取得した出力値の個数に応じた補間により演算する、
請求項1に記載のデータ処理装置。
【請求項4】
前記メモリは、複数の情報セットを複数の異なる非線形関数毎に記憶しており、
前記取得部は、前記指示された指示値を適用する非線形関数を示す情報を取得し、取得した前記非線形関数を示す情報に対応する複数の情報セットの中から前記出力値セットを取得する、
請求項1に記載のデータ処理装置。
【請求項5】
前記メモリは、外部装置が備えており、
前記取得部は、前記外部装置のメモリから複数の情報セットの中から前記出力値セットを取得する、
請求項1に記載のデータ処理装置。
【請求項6】
前記取得部及び演算部は、1チップの半導体装置に組み込まれている
請求項1に記載のデータ処理装置。
【請求項7】
前記取得部は、前記非線形関数を画像処理に用いられる予め定めた画像処理関数とし、前記画像処理関数における入力値と出力値とを対応させた情報セットを複数記憶するメモリから前記出力値セットを取得し、
前記演算部は、前記補間により演算された前記指示値に対応する出力値を前記画像処理関数の演算結果として演算する、
請求項1に記載のデータ処理装置。
【請求項8】
前記取得部は、異なる複数の画像処理関数毎に、入力値と出力値とを対応させた情報セットを複数記憶するメモリから、前記異なる複数の画像処理関数のうちの指示された画像処理関数の前記出力値セットを取得し、
前記演算部は、前記補間により演算された前記指示値に対応する出力値を前記指示された画像処理関数の演算結果として演算する、
請求項7に記載のデータ処理装置。
【請求項9】
コンピュータが、
予め定めた非線形関数における入力値と出力値とを対応させた情報セットを複数記憶するメモリから、指示された指示値に最も近い入力値に対応する出力値、及び前記最も近い入力値の前の入力値に対応する出力値、または前記最も近い入力値に対応する出力値、及び前記最も近い入力値の後の入力値に対応する出力値、若しくは前記最も近い入力値の前の入力値に対応する出力値、及び前記最も近い入力値の後の入力値に対応する出力値を含む複数の出力値から少なくとも2つの出力値を出力値セットとして取得し、
前記取得された前記出力値セットに基づいて、前記指示値に対応する出力値を予め定めた補間により演算する、
ことを含む処理を実行するデータ処理方法。
【請求項10】
請求項7に記載のデータ処理装置と、
予め定めた画像処理関数を用いて入力された画像を画像処理する画像処理部と、
前記画像処理を実行する際に、前記予め定めた画像処理関数の演算を前記補間により演算することを命令する命令部であって、前記画像処理に用いられる予め定めた画像処理関数および前記画像処理関数に適用する指示値を含む指示情報を出力すること、および前記補間による演算結果を前記予め定めた画像処理関数の演算結果として受け付けること、を含む前記命令部と、
を含む画像処理システム。
【請求項11】
コンピュータが、
予め定めた画像処理関数を用いて入力された画像の画像処理を実行する際に、前記予め定めた画像処理関数の演算を補間により演算することを命令し、
前記画像処理関数における入力値と出力値とを対応させた情報セットを複数記憶するメモリから、指示された指示値に最も近い入力値に対応する出力値、及び前記最も近い入力値の前の入力値に対応する出力値、または前記最も近い入力値に対応する出力値、及び前記最も近い入力値の後の入力値に対応する出力値、若しくは前記最も近い入力値の前の入力値に対応する出力値、及び前記最も近い入力値の後の入力値に対応する出力値を含む複数の出力値から少なくとも2つの出力値を出力値セットとして取得し、
前記取得された前記出力値セットに基づいて、前記指示値に対応する出力値を予め定めた補間により演算した結果を前記画像処理関数の演算結果として演算する、
ことを含む処理を実行する画像処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、データ処理装置、データ処理方法、画像処理システム及び画像処理方法に関するものである。
【背景技術】
【0002】
CPUを含む半導体を用いた各種の装置では、数値演算を実行することが可能であり、数値演算の実行することによって、膨大なデータ処理が可能になってきている。例えば、拡大縮小の画像処理を行い画像をリアルタイムに作成してディスプレイに表示するデータ処理を行う技術が知られている(特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、数値演算等の演算回路を備えたアクセラレータを用いて、CPUの演算負荷を低減することが可能になってきている。複雑な演算処理を行うには、複雑な処理を実行するための機能ごとに当該機能に対応する複数の演算回路を備えればよい。しかしながら、アクセラレータに複数の数値演算を実行する演算回路を備えることは可能であるものの、複雑な処理を実行する場合は複雑な処理を実行するための機能ごとに演算回路を備えることが要求される。また、アクセラレータが複数の演算回路を備える場合、演算回路の規模が大きくなる。また、演算回路の規模が大きくなることで高コストを招くことになる。従って、CPUを含む半導体を用いた各種の装置で、複雑な数値演算を実行する場合に、演算回路の規模及び演算負荷を低減することには改善の余地がある。
【0005】
本開示は、複数の演算回路を備える場合と比べて、演算処理の負荷を低減することができるデータ処理装置、データ処理方法、画像処理システム及び画像処理方法を提供する。
【課題を解決するための手段】
【0006】
本開示のデータ処理装置は、予め定めた非線形関数における入力値と出力値とを対応させた情報セットを複数記憶するメモリから、指示された指示値に最も近い入力値に対応する出力値、及び前記最も近い入力値の前の入力値に対応する出力値、または前記最も近い入力値に対応する出力値、及び前記最も近い入力値の後の入力値に対応する出力値、若しくは前記最も近い入力値の前の入力値に対応する出力値、及び前記最も近い入力値の後の入力値に対応する出力値を含む複数の出力値から少なくとも2つの出力値を出力値セットとして取得する取得部と、前記取得部で取得された前記出力値セットに基づいて、前記指示値に対応する出力値を予め定めた補間により演算する演算部と、を備える。
【0007】
また、本開示のデータ処理方法は、コンピュータが、予め定めた非線形関数における入力値と出力値とを対応させた情報セットを複数記憶するメモリから、指示された指示値に最も近い入力値に対応する出力値、及び前記最も近い入力値の前の入力値に対応する出力値、または前記最も近い入力値に対応する出力値、及び前記最も近い入力値の後の入力値に対応する出力値、若しくは前記最も近い入力値の前の入力値に対応する出力値、及び前記最も近い入力値の後の入力値に対応する出力値を含む複数の出力値から少なくとも2つの出力値を出力値セットとして取得し、前記取得された前記出力値セットに基づいて、前記指示値に対応する出力値を予め定めた補間により演算する、ことを含む処理を実行する。
【0008】
また、本開示の画像処理システムは、前記データ処理装置と、予め定めた画像処理関数を用いて入力された画像を画像処理する画像処理部と、前記画像処理を実行する際に、前記予め定めた画像処理関数の演算を前記補間により演算することを命令する命令部であって、前記画像処理に用いられる予め定めた画像処理関数および前記画像処理関数に適用する指示値を含む指示情報を出力すること、および前記補間による演算結果を前記予め定めた画像処理関数の演算結果として受け付けること、を含む前記命令部と、を含む。
【0009】
また、本開示の画像処理方法は、コンピュータが、予め定めた画像処理関数を用いて入力された画像の画像処理を実行する際に、前記予め定めた画像処理関数の演算を補間により演算することを命令し、前記画像処理関数における入力値と出力値とを対応させた情報セットを複数記憶するメモリから、指示された指示値に最も近い入力値に対応する出力値、及び前記最も近い入力値の前の入力値に対応する出力値、または前記最も近い入力値に対応する出力値、及び前記最も近い入力値の後の入力値に対応する出力値、若しくは前記最も近い入力値の前の入力値に対応する出力値、及び前記最も近い入力値の後の入力値に対応する出力値を含む複数の出力値から少なくとも2つの出力値を出力値セットとして取得し、前記取得された前記出力値セットに基づいて、前記指示値に対応する出力値を予め定めた補間により演算した結果を前記画像処理関数の演算結果として演算する、ことを含む処理を実行する。
【0010】
本開示によれば、複数の演算回路を備える場合と比べて、演算処理の負荷を低減することができる。
【図面の簡単な説明】
【0011】
【
図1】第1実施形態に係るアクセラレータの構成の一例を示す図である。
【
図2】第1実施形態に係る補間処理を説明するための図である。
【
図3】第1実施形態に係るアクセラレータにおける処理の流れを示すフローチャートである。
【
図4】第2実施形態に係るアクセラレータの構成の一例を示す図である。
【
図5】第2実施形態に係る補間処理を説明するための図である。
【
図6】第2実施形態に係るアクセラレータにおける処理の流れを示すフローチャートである。
【
図7】第3実施形態に係るアクセラレータの構成の一例を示す図である。
【
図8】第3実施形態に係るアクセラレータにおける処理の流れを示すフローチャートである。
【
図9】第4実施形態に係る画像処理システムの構成の一例を示す図である。
【
図10】第4実施形態に係る画像処理の流れを示すフローチャートである。
【
図11】第4実施形態に係る補間処理の流れを示すフローチャートである。
【
図12】第4実施形態に係る変形例の構成の一例を示す図である。
【発明を実施するための形態】
【0012】
以下、図面を参照して本開示の技術を実現する実施形態を詳細に説明する。
なお、実施形態では、作用、機能が同じ働きを担う構成要素及び処理には、全図面を通して同じ符合を付与し、重複する説明を適宜省略する場合がある。各図面は、本開示の技術を十分に理解できる程度に、概略的に示してあるに過ぎない。よって、本開示の技術は、図示例のみに限定されるものではない。また、実施形態では、本発明と直接的に関連しない構成や周知な構成については、説明を省略する場合がある。
【0013】
<第1実施形態>
第1実施形態は、CPUの処理の負荷を低減するアクセラレータに本開示のデータ処理装置を適用したものである。
【0014】
図1は、第1実施形態に係るデータ処理装置として、CPU100における処理の負荷を低減するアクセラレータ10の構成の一例を示す図である。
図1に示すように、CPU100における処理の負荷を低減するアクセラレータ10は、線形補間回路12、コントローラ14、及びメモリ16を備えている。
【0015】
メモリ16は、予め定めた関数における入力値と出力値とを対応付けた複数の情報セットを格納したルックアップテーブルLUTを記憶している。ルックアップテーブルLUT(以下、テーブルLUTという。)は、異なる複数のテーブルLUT0-LUTnを含んでいる。以降では、複数のテーブルLUT0-LUTnの各々を区別して説明する場合は個別の符号を付す。一方、区別不要の場合は、テーブルLUTと称する。なお、複数の情報セットの出力値のセットは出力値セットである。
【0016】
テーブルLUTには、予め定めた関数において離散している入力値の各々に対する出力値の各々を予め算出しておき、当該入力値と出力値とを対応付けた複数の情報セットが格納される。すなわち、複数のテーブルLUT0-LUTnの各々は、非線形関数を含む予め定めた異なる複数の関数f0-fnの各々における入力値と出力値とを対応付けた情報セットが格納される。なお、異なる複数の関数f0-fnは、全て非線形関数でもよい。
【0017】
線形補間回路12は、任意の関数について、当該関数に対する入力値と出力値とにより定まる座標空間上の2点間を線形補間する回路である。
【0018】
図2は、線形補間回路12における線形補間を説明するための図である。
図2に示すように、入力と出力とを交差する座標軸とする座標空間上において、2つの情報セットにより示される関数の範囲を、線形特性の関数として扱う。すなわち、2つの情報セット(In1-Out1,In2-Out2)の入力値と出力値の各々により定まる2点D1、D2の間を結ぶ線形関数Frとして扱う。そして、少なくとも情報セットにより示される関数の範囲において任意の入力値Inx1に対して、2点間を結ぶ線形関数Frから得られる値Outy1を出力値の近似値として導出する。同様に、他の入力値Inx2でも線形関数Frから得られる値Outy2を出力値の近似値として導出できる。よって、線形補間回路12では、任意の関数(例えば、非線形関数)が線形関数Frとして近似され、情報セットに存在しない入力値であっても、線形関数Frから得られる値を、出力値の近似値として得ることが可能となる。
【0019】
この線形補間回路12は、複雑な非線形関数による数値演算に有効に機能する。具体的には、非線形関数を用いる数値演算では、入力と出力とは比例関係でないため、複雑な演算が要求されるので、その複雑な演算に演算時間が増大、すなわち、演算負荷が増大する。ところが、どのような非線形関数であっても、座標空間で表した非線形関数上において、例えば隣り合う任意の2点の間は、2点間を直線で結ぶと1次関数で近似可能となる。よって、非線形関数上に定めた2点を結ぶ直線上の座標を、非線形関数による座標として近似して計算することができ、非線形関数を用いてそのまま計算することに比べて、演算時間を低減、すなわち演算負荷を低減することが可能となる。この線形補間回路12を用いることで、複雑な非線形関数であっても線形補間して簡単な計算により演算することが可能となる。
【0020】
コントローラ14(
図1)は、メモリ16に記憶されているテーブルLUTの情報セットを用いて線形補間回路12により線形補間された、指示値に対応する出力値を出力する処理を行う回路である。このコントローラ14は、CPU100からの入力に対して、メモリ16に記憶されているテーブルLUTにより、線形補間回路12に適用させる情報セット、例えば、最も近い入力値に対する出力値と、その入力値の前、または後の出力値を取得する。そして、線形補間回路12により、テーブルLUTから2つの出力値の2点間の間にある近似値を出力する処理を行う。なお、コントローラ14は、CPU100における処理を支援するためのサブCPUを含むようにしてもよい。
【0021】
コントローラ14が利用するメモリ16には、非線形関数を少なくとも含む複数の異なる関数毎に、複数の情報セットがテーブルとして記憶されている。コントローラ14には、CPU100から予め定めた関数で演算する入力値としての指示値、及び当該予め定めた関数を識別するための情報を含む指示情報が入力される。コントローラ14は、指示情報を取得し、当該指示情報を元にして演算対象の関数を特定し、メモリ16に格納されている関数毎の情報セット群の中から対象の関数の情報セット群を定める。次に、コントローラ14は、定めた情報セット群の中から2つの情報セットを抽出し、抽出した2つの情報セットを線形補間回路12に適用する。よって、線形補間回路12はCPU100から指示された関数における指示値に対して近似値を出力することが可能となる。コントローラ14は、CPU100からの指示値を線形補間回路12に適用し、指示値に対応する出力値の近似値を得て出力する。
【0022】
コントローラ14により、線形補間回路12に適用させる情報セットには、指示された指示値に最も近い入力値に対応する出力値、及び最も近い入力値の前の入力値に対応する出力値、または最も近い入力値に対応する出力値、及び最も近い入力値の後の入力値に対応する出力値、若しくは最も近い入力値の前の入力値に対応する出力値、及び最も近い入力値の後の入力値に対応する出力値を含む複数の出力値から少なくとも2つの出力値を適
用可能である。
【0023】
本実施形態では、コントローラ14は、指示値に最も近い入力値に対応する出力値、及び前記最も近い入力値の前の入力値に対応する出力値、または前記最も近い入力値に対応する出力値、及び前記最も近い入力値の後の入力値に対応する出力値、若しくは前記最も近い入力値の前の入力値に対応する出力値、及び前記最も近い入力値の後の入力値に対応する出力値のうちの何れか2つの出力値を出力値セットとして取得する。また、コントローラ14は、指示値に対応する出力値を上述した何れか2つの出力値を用いた線形補間により演算する。
【0024】
上述した指示情報は、本開示の指示値、および指示値を適用する非線形関数を示す情報の一例である。コントローラ14は、本開示の取得部の一例である。また、コントローラ14、またはコントローラ14及び線形補間回路12は、本開示の演算部の一例である。
【0025】
なお、上述したコントローラ14による制御は、線形補間回路12で行ってもよい。すなわち、線形補間回路12が、メモリ16に記憶されているテーブルLUTを用いて情報セットにより線形補間して得られる、指示値に対応する出力値を出力してもよい。
【0026】
次に、データ処理装置としてのアクセラレータ10における動作の流れを説明する。
図3は、アクセラレータ10の動作の流れを示すフローチャートである。なお、
図3に示す処理の各々は、コントローラ14で実行することが可能である。本実施形態では、
図3に示す処理の各々は、コントローラ14が実行する場合を一例として説明する。
【0027】
アクセラレータ10は、ステップS10で、関数及び指示値を示す指示情報を受け付ける。具体的には、コントローラ14が、CPU100から出力された非線形関数等の演算対象の関数及び当該関数の出力値を得るための入力値である指示値を示す指示情報を受け付ける。
【0028】
次に、アクセラレータ10は、ステップS20で、複数のテーブルの中からCPU100からの指示に該当するテーブルを特定する。具体的には、コントローラが、メモリ16に記憶されている複数のテーブルLUTの中から指示情報に含まれている非線形関数等の演算対象の関数の複数の情報セットによるテーブルLUTを特定する。
【0029】
次のステップS30では、アクセラレータ10は、特定したテーブルLUTから指示値に対応する出力値を得るため、指示値に近い入力値を有する2つの情報セットを取得する。例えば、ステップS30では特定したテーブルLUTで指示値の前後の入力値を含む入力値と当該入力値に対応する出力値の情報セットが取得される。具体的には、コントローラ14が、指示値に近い入力値を有する2つの情報セットとして、例えば、指示値の前後の入力値を含む入力値と当該入力値に対応する出力値の2つの情報セットを上記特定したテーブルLUTから抽出することで取得する。
【0030】
次に、アクセラレータ10は、ステップS40で、演算対象の関数を、指示値の周辺について線形補間する。具体的には、コントローラ14が、ステップS30で取得した2つの情報セットを線形補間回路12へ出力する。線形補間回路12は、2つの情報セットによって、演算対象の関数について、2つの情報セットにより示される範囲を、線形補間する。すなわち、線形補間回路12は、2つの入力値と出力値とにより定まる座標空間上の2点間を当該2点の間を結ぶ線形関数として扱う線形補間を行う(
図2)。
【0031】
次のステップS50では、アクセラレータ10は、ステップS40における線形補間によって得られる指示値に対応する値(近似値)を指示値の出力値として出力する。具体的
には、コントローラ14が、線形補間回路12へ指示値を出力し、線形補間回路12から線形補間された結果の関数の近似値を取得し、当該近似値を指示値の出力値として出力する。よって、線形補間回路12を用いることで、非線形関数のように複雑な関数であっても、指示値の周辺を線形補間により近似でき、情報セットに存在しない入力値であっても、線形補間される値を、出力値の近似値として得ることが可能となる。
【0032】
なお、上記では、指示値に近い入力値を有する2つの情報セットを取得しているが、指示値に近い入力値に対応する出力値のみを用いてもよい。情報セットから出力値のみを用いる場合、線形補間回路12では出力値について線形補間するようにすればよい。
【0033】
以上説明したように、第1実施形態に係るアクセラレータ10によれば、指示値の周辺のみ線形補間された非線形関数の近似値を出力値として出力するので、複雑な演算を実行すると比べて、演算処理の負荷を低減することができる。また、複雑な演算を実行するのに代えて膨大な情報セットを記憶する場合と比べて、メモリ16の記憶容量を低減することができる。
【0034】
また、メモリ16に複数の異なる関数に対応する情報セットを選択可能に格納しているので、演算対象の関数を選択して演算することが可能となる。よって、任意の関数について選択的に近似演算することが可能となる。
【0035】
なお、第1実施形態に係るアクセラレータ10では、コントローラ14を備えた形態について説明したが、当該形態に限定されず、線形補間回路12がコントローラ14の機能を備えてもよいことは勿論である。線形補間回路12がコントローラ14の機能を備えることで、回路を集約することが可能となり、装置構成を単純化することができる。これによって、アクセラレータ10を1チップ化することを促進することが可能となる。
【0036】
<第2実施形態>
次に、第2実施形態を説明する。第2実施形態は、線形補間に代えて2次以上の関数等を用いて非線形関数を補間する補間回路に本開示のデータ処理装置を適用したものである。なお、第2実施形態は、第1実施形態と同様の構成のため、同一部分に同一符号を付して詳細な説明を省略する。
【0037】
図4は、第2実施形態に係るデータ処理装置としてのアクセラレータ10Aの構成の一例を示す図である。
【0038】
図4に示すように、第2実施形態に係るアクセラレータ10Aは、
図1に示す線形補間回路12、及びコントローラ14に代えて、補間回路12A、及びコントローラ14Aを備えている。
【0039】
補間回路12Aは、任意の関数について、当該任意の関数に対する指示値の周辺を2次以上の指数関数等の特殊な関数により補間する回路である。
【0040】
図5は、補間回路12Aにおける補間を説明するための図である。
図5に示すように、入力と出力とを交差する座標軸とする座標空間上において、少なくとも3つの情報セットにより示される関数の範囲を、予め定めた2次以上の指数関数や多項式関数として扱う。すなわち、3つの情報セット(In1-Out1、In2-Out2、In3-Out3)の入力値と出力値の各々により定まる3点D1、D2を通る近似関数Grとして扱う。そして、少なくとも3つの情報セットにより示される関数の範囲において任意の入力値Inx1に対して、3点間を結ぶ近似関数Grから得られる値Outy1を出力値の近似値として導出する。同様に、他の入力値Inx2、Inx3、Inx
4でも近似関数Grから得られる値Outy2、Outy3、Outy4を出力値の近似値として導出できる。よって、補間回路12Aでは、任意の関数(例えば、非線形関数)が近似関数Grとして近似され、情報セットに存在しない入力値であっても、近似関数Grから得られる値を、出力値の近似値として得ることが可能となる。
【0041】
コントローラ14Aは(
図4)、テーブルLUTの情報セットを用いて補間された近似関数により、指示値に対応する出力値を出力する処理を行う回路である。このコントローラ14Aは、CPU100からの入力に対して、メモリ16に記憶されているテーブルLUTにより、補間回路12Aに適用させる少なくとも3つの情報セットを取得する。そして、補間回路12Aにより、補間された3点間の間にある近似曲線の近似値を出力する処理を行う。
【0042】
コントローラ14Aにより、補間回路12Aに適用させる情報セットには、指示値に最も近い入力値に対応する出力値、最も近い入力値の前の入力値に対応する出力値、及び最も近い入力値の後の入力値に対応する出力値の何れかに対応する異なる3つ以上の出力値を出力値セットとして適用可能である。
【0043】
次に、データ処理装置としてのアクセラレータ10Aにおける動作の流れを説明する。
図6は、アクセラレータ10Aの動作の流れを示すフローチャートである。
【0044】
アクセラレータ10Aは、上述したステップS10で、関数及び指示値を示す指示情報を受け付け、ステップS20で、複数のテーブルの中からCPU100からの指示に該当するテーブルを特定する。
【0045】
次のステップS32では、アクセラレータ10Aは、特定したテーブルLUTから指示値に対応する出力値を得るため、指示値に近い、すなわち指示値の周辺の入力値を有する少なくとも3つの情報セットを取得する。具体的には、ステップS32では特定したテーブルLUTから、少なくとも3つの情報セットとして、上述した指示値の周辺の入力値を含む入力値と当該入力値に対応する出力値の情報セットが取得される。ステップS32では、コントローラ14が、指示値の周辺に入力値を有する3つの情報セットとして、例えば、指示値に最も近い入力値に対応する出力値、最も近い入力値の前の入力値に対応する出力値、及び最も近い入力値の後の入力値に対応する出力値の何れかに対応する異なる3つ以上の出力値を含む出力値セットを取得する。
【0046】
次に、アクセラレータ10は、ステップS42で、演算対象の関数を、指示値の周辺について補間する。具体的には、コントローラ14Aが、ステップS32で取得した3つの情報セットを補間回路12Aへ出力する。補間回路12Aは、3つの情報セットによって、演算対象の関数について、3つの情報セットにより示される範囲を、補間する。すなわち、補間回路12Aは、3つの情報セットにより定まる範囲について、3つの入力値と出力値とにより定まる座標空間上の3点を通る2次以上の関数または多項式関数による近似関数として扱う補間を行う(
図5)。
【0047】
次のステップS52では、アクセラレータ10は、ステップS42における2次以上の高次補間又は多項式補間によって得られる指示値に対応する値(近似値)を指示値の出力値として出力する。具体的には、コントローラ14Aが、補間回路12Aへ指示値を出力し、補間回路12Aから補間結果の関数の近似値を取得し、当該近似値を指示値の出力値として出力する。よって、補間回路12Aを用いることで、非線形関数のように複雑な関数であっても、指示値の周辺を線形補間より滑らかに補間することにより近似でき、情報セットに存在しない入力値であっても、線形補間による値より高い精度で出力値の近似値を得ることが可能となる。
【0048】
なお、上記では、指示値に近い入力値を有する3つの情報セットを取得しているが、4つ以上の情報セットを用いてもよいことは勿論である。また、補間は出力値のみを用いてもよい。
【0049】
以上説明したように、第2実施形態に係るアクセラレータ10Aによれば、指示値の周辺を2次以上の高次補間又は多項式補間によって補間された非線形関数の近似値を出力値として出力する。これによって、複雑な演算を実行すると比べて、演算処理の負荷を低減することができる。また、線形補間することと比べて、高い精度で出力値を得ることができる。
【0050】
<第3実施形態>
次に、第3実施形態を説明する。第3実施形態は、外部メモリのテーブルを参照するアクセラレータに本開示のデータ処理装置を適用したものである。なお、第3実施形態は、第1実施形態と略同様の構成のため、同一部分については同一符号を付して詳細な説明を省略する。
【0051】
図7は、第3実施形態に係るアクセラレータ10Bの構成の一例を示す図である。
第3実施形態に係るデータ処理装置は、外部メモリ17を用いるアクセラレータ10Bが適用される。
図7に示すように、アクセラレータ10Bは、外部メモリ17に接続されている。なお、外部メモリ17は、上述したメモリ16と同様の構成のため、詳細な説明を省略する。
【0052】
次に、アクセラレータ10Bにおける動作の流れを説明する。
図8は、アクセラレータ10Bの動作の流れを示すフローチャートである。
【0053】
アクセラレータ10Bは、上述したステップS10で、指示情報を受け付け、次のステップS24で、外部メモリ17に格納されている複数のテーブルLUTの中からCPU100からの指示に該当するテーブルを特定する。すなわち、コントローラ14が、外部メモリ17に記憶されている複数のテーブルLUTの中から指示情報に含まれている演算対象の関数の複数の情報セットによるテーブルLUTを特定する。
【0054】
次のステップS34では、アクセラレータ10Bは、指示値に近い入力値を有する2つの情報セットを、外部メモリ17から取得する。
【0055】
次に、アクセラレータ10は、ステップS40で、上述した演算対象の関数を、指示値の周辺について線形補間し(
図2)、次のステップS50で、線形補間によって得られる指示値に対応する値(近似値)を指示値の出力値として出力する。
【0056】
以上説明したように、第3実施形態に係るアクセラレータ10によれば、外部メモリ17を用いて補間演算を実行することができるので、アクセラレータに情報セットを保持する場合と比べて、アクセラレータのメモリの記憶容量を低減することができる。
【0057】
<第4実施形態>
次に、第4実施形態を説明する。第4実施形態は、画像処理用の関数を用いて画像処理を実行する画像処理システムに、本開示の技術を適用したものである。なお、第4実施形態は、上述した実施形態と略同様の構成のため、同一部分については同一符号を付して詳細な説明を省略する。
【0058】
図9は、第4実施形態に係る画像処理システムの構成の一例を示す図である。第4実施形態では、CPU100と、データ処理装置としてのアクセラレータ10Cとを含むMPU(マイクロプロセッシングユニット)200を、画像処理を実行する画像処理システムとして構成している。本実施形態では、CPU100は、画像処理を実行する画像処理部102および命令部110として機能する部位の構成を含む。
【0059】
また、
図9では、画像処理部102において実行される画像処理の流れを示す概念をプロセスPR1~PR3で示している。具体的には、実施形態に係る画像処理では、プロセスPR1で、画像処理を実行する対象となる画像データが画像入力される。入力された画像データは、プロセスPR2で、画像処理される。画像処理後の画像データは、プロセスPR3で、画像出力される。プロセスPR2は、各種の画像処理を実行するための画像処理プロセスを含む。各種の画像処理の一例には、画像データに含まれる画像を所定角度または指示された角度に回転する回転、画素補間、およびハフ変換などが挙げられる。
図9では、回転の画像処理を子プロセスPR21、画素補間の画像処理を子プロセスPR22、およびハフ変換の画像処理を子プロセスPR23として示している。画素補間は、倍級ビック補間等で知られるように、画像における或る画素と他の画素の間の輝度値を参照することで或る画素と他の画素の間における仮想の画素の輝度値を導出(補間)することを含む。当該画素補間は、画像の拡大や縮小、および回転などの画像処理に用いられる場合がある。ハフ変換(Hough変換)は、画像における特徴抽出法の一例であり、例えば、直線検出の場合は、画像に最も合致する直線を導出することであって、任意の点を通る任意の方向を向かう無数の直線の中で、画像の特徴点を最も多く通過する直線を決定することである。上述した回転、画素補間、およびハフ変換は、各種の画像処理の一例であり、本開示の各種の画像処理として限定するものではない。
【0060】
上述した画像処理では、例えば、三角関数等の複雑な演算処理を伴う所定関数を用いて画像の画素に対する演算処理が実行される。ところが、画像に対して画像処理を行う場合、画像に含まれる全ての画素に対して三角関数等の所定関数による演算処理を行うために、処理量は膨大になる。そこで、第4実施形態では、所定関数(画像処理関数)を用いた画像処理に対して上述した補間を用いた処理を実行することで、処理量を低減する。以下、説明を簡単にするため、補間を用いた処理の一例として、線形補間を用いた処理を実行する場合を説明する。当該線形補間を用いた処理は、補間処理の一例であり、線形補間を用いた処理を画像処理として限定するものではない。
【0061】
MCU200は、画像処理部102および命令部110を含むCPU100と、アクセラレータ10Cとを含む。アクセラレータ10Cに含まれる線形補間回路12Cは、三角関数等の所定関数(すなわち、画像処理関数)について、線形補間する回路である。線形補間回路12Cでは、任意の関数(例えば、三角関数)が線形関数として近似され、情報セットに存在しない入力値であっても、線形関数から得られる値を、出力値の近似値として得ることが可能となる。線形補間回路12Cは、三角関数等の複雑な演算処理を伴う画像処理による数値演算に有効に機能する。すなわち、画像処理に用いられる複雑な演算処理の関数であっても、例えば隣り合う任意の2点の間は、2点間を直線で結ぶと1次関数で近似可能となる。よって、上述したように画像処理における画像の位置および輝度値などに対する複雑な演算処理について、線形関数によって近似して計算することができ、画像処理時の演算時間を低減、すなわち演算負荷を低減することが可能となる。
【0062】
CPU100は、画像処理部102による画像処理の実行にあたって、画像処理に用いられる複雑な演算処理の関数(すなわち、画像処理関数)の実行に代えて、アクセラレータ10Cを用いた演算処理結果を得るための入出力命令を実行する命令部110を含んでいる。命令部110は、画像処理部102で画像処理を実行する際に当該画像処理に用いられる三角関数等の複雑な演算処理による所定関数を特定し、特定した所定関数による演算を、アクセラレータ10Cの補間処理による演算処理として実行させる入出力命令を行うための部位である。
【0063】
コントローラ14は、命令部110からの命令に応じて、メモリ16に記憶されているテーブルLUTの情報セットを用いて線形補間回路12Cにより線形補間された、指示値に対応する出力値を出力する処理を行う回路である。すなわち、コントローラ14は、CPU100の命令部110からの指示値および関数の入力に対し、メモリ16のテーブルLUTの線形補間回路12Cに適用させる情報セットを取得し、線形補間回路12により得られる指示値に対する出力値を出力する処理を行う。
【0064】
コントローラ14が利用するメモリ16には、画像処理に用いられる三角関数等の所定関数毎に、複数の情報セットがテーブルとして記憶されている。コントローラ14には、CPU100から三角関数等の所定関数で演算する入力値としての指示値、及び当該三角関数等の所定関数を識別するための情報を含む指示情報が入力される。コントローラ14は、指示情報を取得し、演算対象の三角関数等の所定関数を特定し、所定関数のテーブルLUTによる情報セット群を定める。次に、コントローラ14は、定めた情報セット群の中から2つの情報セットを抽出し、抽出した2つの情報セットを線形補間回路12に適用する。よって、コントローラ14は、線形補間回路12により演算された三角関数等の所定関数における指示値に対する近似値を出力値として出力することが可能となる。
【0065】
メモリ16のテーブルLUT(LUT0~LUTn)には、三角関数等の所定関数毎の情報セットが記憶されている。例えば、画像処理関数の一例として、関数f0=関数sin、関数f1=関数cos、・・・、関数fn=関数sincの各々の関数が対応されている。
【0066】
上述した子プロセスPR21、PR22、PR23による画像処理は、本開示の画像処理関数を用いて実行される画像処理の一例である。MCU200は、本開示の画像処理システムの一例である。また、画像処理部102は本開示の画像処理部の一例であり、命令部110は本開示の命令部の一例である。
【0067】
ここで、画像処理で用いられる演算処理の一例を説明する。
上記子プロセスPR21として実行される回転の画像処理は、画像処理対象の画像における全画素の各々に対して回転前の画素の位置を指示された角度θの回転後の画素の位置に座標変換する処理を実行することで、画像の角度θによる回転を行う。
画像処理対象の画像において、回転前の画素の位置を座標(x、y)、および角度θによる回転後の画素の位置を座標(dx、dy)とすると、回転前後の画素の位置関係は次の(1)式で表すことができる。
【0068】
dx=x・cosθ-y・sinθ
dy=x・sinθ+y・cosθ ---(1)
【0069】
画像に対する回転を伴う画像処理では、回転前の画素を、上記(1)式を用いて演算される位置の画素に複写(または移動)する。すなわち、座標(x、y)で示される回転前の画像における画素の情報(例えば、輝度値)を、上記(1)式を用いて演算される座標(dx、dy)の画素である角度θで回転後の画素を示す情報として複写(または移動)する。当該処理を画像の全座標に対して行うことにより、画像の回転を実現できる。
【0070】
上記回転を伴う画像処理では、関数sin、および関数cosを用いた複雑な演算処理を伴うが、本実施形態では、これら複雑な演算処理を伴う所定関数を線形関数によって近似して計算することができ、演算時間を低減、すなわち演算負荷を低減することが可能となる。
【0071】
上記子プロセスPR22として実行される画素補間の画像処理は、画像の縮小や拡大および回転による画像処理を行う際に適用可能であり、本実施形態では、画像における画素と画素の間の輝度値を補間する処理を実行するものである。具体的には、補間対象の位置(x、y)である画素の周囲の16点の画素の画素値g11、g12、・・・、g44を用いた輝度値の演算により、補間対象の位置(x、y)における画素の輝度値I(x,y)を、演算する。 補間対象の位置(x、y)における画素の輝度値I(x,y)の演算は、次に示す(2)式で表すことができる。
【0072】
【0073】
ただし、(2)式における関数h( )は、sinc関数を示す。また、x
1、x
2、x
3、x
4、y
1、y
2、y
3、y
4は、求める位置から参照する画素までの距離を示し、次の(3)式で表すことができる。
【数2】
【0074】
上記画素補間を伴う画像処理では、関数sincを用いた複雑な演算処理を伴うが、本実施形態では、これら複雑な演算処理を伴う所定関数を線形関数によって近似して計算することができ、演算時間を低減、すなわち演算負荷を低減することが可能となる。
【0075】
上記子プロセスPR23として実行されるハフ変換を伴う画像処理は、例えば、画像の輪郭抽出等の画像処理を行う際に適用可能であり、本実施形態では、画像の特徴点を最も多く通過する直線を求める処理を実行するものである。具体的には、原点から直線までの距離ρとすると、直線上の点の座標(x、y)は、次に示す(4)式で表すことができ、画像における全ての画素の座標に対して実施し、その結果から画像の特徴を示す直線を検出する。
【数3】
【0076】
上記ハフ変換を伴う画像処理でも、関数sin、および関数cosを用いた複雑な演算処理を線形関数によって近似して計算することができ、演算時間を低減、すなわち演算負荷を低減することが可能となる。
【0077】
次に、本実施形態に係るデータ処理装置における動作の流れを説明する。
図10は、CPU100の動作の流れを示すフローチャートである。ここでは、CPU100が画像処理を実行する場合を説明する。また、以降では、CPU100の動作のうち主として命令部110の動作部分について説明する。
【0078】
命令部110は、ステップS120で、CPU100で動作する画像処理の実行を受け付け、次のステップS122で、これから実行する画像処理に上述した三角関数等の所定関数の演算処理が含まれるか否かを判断する。ステップS122で肯定判断されると、ステップS124へ処理を移行し、否定判断されると本処理ルーチンを終了する。
【0079】
ステップS124では、命令部110は、三角関数等の所定関数の演算処理に対する補間処理の実行を命令する。具体的には、三角関数等の所定関数で演算する入力値としての指示値、及び当該三角関数等の所定関数を識別するための情報を含む指示情報を取得し、アクセラレータ10Cへ出力することで、補間処理の実行を命令する。
【0080】
ステップS126では、命令部110は、アクセラレータ10Cで演算された補間処理による演算結果を、画像処理における所定関数の演算結果として出力して本処理ルーチンを終了する。
【0081】
次に、アクセラレータ10Cにおける動作の流れを説明する。
図11は、アクセラレータ10Cの動作の流れを示すフローチャートである。
【0082】
アクセラレータ10Cは、ステップS16で、画像処理に用いる関数及び指示値を示す指示情報を受け付け、ステップS26で、複数のテーブルの中から画像処理に用いる関数に該当するテーブルを特定する。
【0083】
次のステップS36では、アクセラレータ10Cは、特定したテーブルLUTから指示値に対応する出力値を得るため、指示値に近い、例えば指示値の周辺の入力値と出力値の情報セットを取得する。具体的には、特定されているテーブルLUTから上述した指示値の周辺の入力値を含む入力値と当該入力値に対応する出力値の情報セットが取得される。
【0084】
次に、アクセラレータ10Cは、ステップS46で、上述した実施形態と同様に、演算対象の三角関数などの所定関数を、指示値の周辺について補間する。
【0085】
次のステップS56では、アクセラレータ10Cは、補間によって得られる指示値に対応する値(近似値)を指示値の出力値として出力する。よって、上述した補間回路12Cを用いることで、三角関数のように複雑な関数であっても、指示値の周辺を線形補間より滑らかに補間することにより近似でき、情報セットに存在しない入力値であっても、線形補間による値より高い精度で出力値の近似値を得ることが可能となる。
【0086】
以上説明したように、第4実施形態に係るデータ処理装置によれば、画像処理に用いられる三角関数等の複雑な関数を用いる処理に代えて、線形関数等の近似値を出力する簡単な補間処理を実行できる。これによって、三角関数等による複雑な演算を用いて画像処理を実行すると比べて、演算処理の負荷を低減することができる。
【0087】
<変形例>
次に、第4実施形態の変形例を説明する。第4実施形態では、画像処理を実行する装置に、本開示のデータ処理装置を適用する場合を説明した。変形例は、独立した画像処理装置にに本実施形態に係るデータ処理装置を適用したものである。なお、変形例は、上述した実施形態と略同様の構成のため、同一部分については同一符号を付して詳細な説明を省略する。
【0088】
図12は、変形例に係るデータ処理装置の構成の一例を示す図である。
図12に示す例では、画像処理装置300を含んでデータ処理装置を構成している。
【0089】
画像処理装置300は、画像入力部310、画像処理部320、および画像出力部330を備えている。画像入力部310は、画像処理を実行する対象となる画像データを入力する部位である。画像処理部320は、入力された画像データを画像処理する部位である。画像出力部330は、画像処理後の画像データを出力する部位である。また、画像処理装置300は、命令部340を含んでいる。命令部340は、命令部110と同様に、画像処理装置300での画像処理で用いられる三角関数等の複雑な演算処理による所定関数を特定し、特定した所定関数による演算を、アクセラレータ10Cの補間処理による演算処理として実行させる入出力に関する命令を行うための部位である。画像処理装置300は、命令部340を介してMCU200のCPU100に接続されている。
【0090】
このように構成した変形例に係るデータ処理装置によれば、第4実施形態と同様に、画像処理に用いられる三角関数等の複雑な関数を用いる処理に代えて、線形関数等の近似値を出力する簡単な補間処理を実行できる。よって、画像処理装置において三角関数等による複雑な演算を実行すると比べて、画像処理装置における演算処理の負荷を低減することができる。
【0091】
なお、変形例では、画像処理装置300が命令部340を含む場合を説明したが、画像処理装置300にMCU200と通信する通信部を備え、MCU200側に命令部340を含んで上述した処理を実行するように構成してもよい。また、命令部340は独立構成とし、画像処理装置300およびMCU200が通信部を備え、命令部340が画像処理装置300およびMCU200と通信するように構成し、上述した処理を実行するように構成してもよい。
【0092】
<その他の実施形態>
以上、実施形態としてデータ処理装置を例示して説明した。実施形態は、コンピュータを、上述したデータ処理装置が備える各部として機能させるためのプログラムの形態としてもよい。実施形態は、このプログラムを記憶したコンピュータが読み取り可能な記憶媒体の形態としてもよい。
【0093】
その他、上記実施形態で説明したデータ処理装置の構成は、一例であり、主旨を逸脱し
ない範囲内において状況に応じて変更してもよい。
【0094】
また、上記実施形態で説明したプログラムの処理の流れも、一例であり、主旨を逸脱しない範囲内において不要なステップを削除したり、新たなステップを追加したり、処理順序を入れ替えたりしてもよい。
【0095】
また、上記実施形態では、プログラムを実行することにより、実施形態に係る処理がコンピュータを利用してソフトウェア構成により実現される場合について説明したが、これに限らない。実施形態は、例えば、ハードウェア構成や、ハードウェア構成とソフトウェア構成との組み合わせによって実現してもよい。
【0096】
さらに、上記実施形態における処理は、プログラムとして光ディスク等の記憶媒体等に記憶して流通するようにしてもよい。
【0097】
上記実施形態において、CPUとは広義的なプロセッサを指し、汎用的なプロセッサや、専用のプロセッサ(例えばGPU:Graphics Processing Unit、ASIC: Application Specific Integrated Circuit、FPGA: Field Programmable Gate Array、プログラマブル論
理デバイス、等)を含むものである。
【0098】
この場合、プロセッサの動作は、1つのプロセッサによって成すのみでなく、物理的に離れた位置に存在する複数のプロセッサが協働して成すものであってもよい。また、プロセッサの各動作の順序は上記各実施形態において記載した順序のみに限定されるものではなく、適宜変更してもよい。
【0099】
本明細書に記載された全ての文献、特許出願、及び技術規格は、個々の文献、特許出願、及び技術規格が参照により取り込まれることが具体的かつ個々に記された場合と同程度に、本明細書中に参照により取り込まれる。
【0100】
(実施態様)
本開示の技術は、以下の付記に示す実施態様を構成し得る。
【0101】
[付記1]
予め定めた非線形関数における入力値と出力値とを対応させた情報セットを複数記憶するメモリから、指示された指示値に最も近い入力値に対応する出力値、及び前記最も近い入力値の前の入力値に対応する出力値、または前記最も近い入力値に対応する出力値、及び前記最も近い入力値の後の入力値に対応する出力値、若しくは前記最も近い入力値の前の入力値に対応する出力値、及び前記最も近い入力値の後の入力値に対応する出力値を含む複数の出力値から少なくとも2つの出力値を出力値セットとして取得する取得部と、
前記取得部で取得された前記出力値セットに基づいて、前記指示値に対応する出力値を予め定めた補間により演算する演算部と、
を備えたデータ処理装置。
【0102】
[付記2]
前記取得部は、前記指示値に最も近い入力値に対応する出力値、及び前記最も近い入力値の前の入力値に対応する出力値、または前記最も近い入力値に対応する出力値、及び前記最も近い入力値の後の入力値に対応する出力値、若しくは前記最も近い入力値の前の入力値に対応する出力値、及び前記最も近い入力値の後の入力値に対応する出力値のうちの何れか2つの出力値を出力値セットとして取得し、前記演算部は、前記指示値に対応する出力値を前記何れか2つの出力値を用いた線形補間により演算する、付記1に記載のデータ処理装置。
【0103】
[付記3]
前記取得部は、前記指示値に最も近い入力値に対応する出力値、前記最も近い入力値の前の入力値に対応する出力値、及び前記最も近い入力値の後の入力値に対応する出力値の何れかに対応する異なる3つ以上の出力値を前記出力値セットとして取得し、前記演算部は、前記指示値に対応する出力値を前記取得部で取得した出力値の個数に応じた補間により演算する、付記1に記載のデータ処理装置。
【0104】
[付記4]
前記メモリは、複数の情報セットを複数の異なる非線形関数毎に記憶しており、前記取得部は、前記指示された指示値を適用する非線形関数を示す情報を取得し、取得した前記非線形関数を示す情報に対応する複数の情報セットの中から前記出力値セットを取得する、付記1から付記3の何れか1つに記載のデータ処理装置。
【0105】
[付記5]
前記メモリは、外部装置が備えており、前記取得部は、前記外部装置のメモリから複数の情報セットの中から前記出力値セットを取得する、付記1から付記4の何れか1つに記載のデータ処理装置。
【0106】
[付記6]
前記取得部及び演算部は、1チップの半導体装置に組み込まれている、付記1から付記4の何れか1つに記載のデータ処理装置。
【0107】
[付記7]
前記取得部は、前記非線形関数を画像処理に用いられる予め定めた画像処理関数とし、前記画像処理関数における入力値と出力値とを対応させた情報セットを複数記憶するメモリから前記出力値セットを取得し、前記演算部は、前記補間により演算された前記指示値に対応する出力値を前記画像処理関数の演算結果として演算する、付記1から付記6の何れか1つに記載のデータ処理装置。
【0108】
[付記8]
前記取得部は、異なる複数の画像処理関数毎に、入力値と出力値とを対応させた情報セットを複数記憶するメモリから、前記異なる複数の画像処理関数のうちの指示された画像処理関数の前記出力値セットを取得し、前記演算部は、前記補間により演算された前記指示値に対応する出力値を前記指示された画像処理関数の演算結果として演算する、付記7に記載のデータ処理装置。
【0109】
[付記9]
コンピュータが、予め定めた非線形関数における入力値と出力値とを対応させた情報セットを複数記憶するメモリから、指示された指示値に最も近い入力値に対応する出力値、及び前記最も近い入力値の前の入力値に対応する出力値、または前記最も近い入力値に対応する出力値、及び前記最も近い入力値の後の入力値に対応する出力値、若しくは前記最も近い入力値の前の入力値に対応する出力値、及び前記最も近い入力値の後の入力値に対応する出力値を含む複数の出力値から少なくとも2つの出力値を出力値セットとして取得し、前記取得された前記出力値セットに基づいて、前記指示値に対応する出力値を予め定めた補間により演算する、ことを含む処理を実行するデータ処理方法。
【0110】
[付記10]
付記7または付記8に記載のデータ処理装置と、予め定めた画像処理関数を用いて入力された画像を画像処理する画像処理部と、前記画像処理を実行する際に、前記予め定めた画像処理関数の演算を前記補間により演算することを命令する命令部であって、前記画像処理に用いられる予め定めた画像処理関数および前記画像処理関数に適用する指示値を含む指示情報を出力すること、および前記補間による演算結果を前記予め定めた画像処理関数の演算結果として受け付けること、を含む前記命令部と、を含む画像処理システム。
【0111】
[付記11]
コンピュータが、予め定めた画像処理関数を用いて入力された画像の画像処理を実行する際に、前記予め定めた画像処理関数の演算を補間により演算することを命令し、前記画像処理関数における入力値と出力値とを対応させた情報セットを複数記憶するメモリから、指示された指示値に最も近い入力値に対応する出力値、及び前記最も近い入力値の前の入力値に対応する出力値、または前記最も近い入力値に対応する出力値、及び前記最も近い入力値の後の入力値に対応する出力値、若しくは前記最も近い入力値の前の入力値に対応する出力値、及び前記最も近い入力値の後の入力値に対応する出力値を含む複数の出力値から少なくとも2つの出力値を出力値セットとして取得し、前記取得された前記出力値セットに基づいて、前記指示値に対応する出力値を予め定めた補間により演算した結果を前記画像処理関数の演算結果として演算する、ことを含む処理を実行する画像処理方法。
【符号の説明】
【0112】
10、10A、10B、10C アクセラレータ
12 線形補間回路
12A 補間回路
14、14A コントローラ
16 メモリ
17 外部メモリ
100 CPU
102画像処理部
110 命令部
200 MPU
Fr 線形関数
Gr 近似関数
LUT ルックアップテーブル