Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP7532087B2 - Apparatus, method, and program - Google Patents
[go: Go Back, main page]

JP7532087B2 - Apparatus, method, and program - Google Patents

Apparatus, method, and program Download PDF

Info

Publication number
JP7532087B2
JP7532087B2 JP2020090514A JP2020090514A JP7532087B2 JP 7532087 B2 JP7532087 B2 JP 7532087B2 JP 2020090514 A JP2020090514 A JP 2020090514A JP 2020090514 A JP2020090514 A JP 2020090514A JP 7532087 B2 JP7532087 B2 JP 7532087B2
Authority
JP
Japan
Prior art keywords
data
interpolation
reference value
value data
input
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.)
Active
Application number
JP2020090514A
Other languages
Japanese (ja)
Other versions
JP2021189458A (en
Inventor
真彦 溝口
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2020090514A priority Critical patent/JP7532087B2/en
Publication of JP2021189458A publication Critical patent/JP2021189458A/en
Application granted granted Critical
Publication of JP7532087B2 publication Critical patent/JP7532087B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Complex Calculations (AREA)
  • Image Processing (AREA)

Description

本発明は、画像等のデータを処理するデータ処理技術に関する。 The present invention relates to data processing technology for processing image data and the like.

画像の階調を補正つまり変換する階調変換関数や、画像の形状を補正つまり変形する幾何変換関数は、画像の座標位置を変数とする大域関数や局所関数によって近似することができ、その多くは多項式や射影変換のような有理多項式で表現される。但し、局所関数で近似できる場合でも、該局所関数の適用領域をきちんと定めて、該局所関数を領域境界で切り換えるのは困難である。 Tone transformation functions, which correct or transform the tone of an image, and geometric transformation functions, which correct or transform the shape of an image, can be approximated by global functions or local functions whose variables are the coordinate positions of the image, and many of these are expressed as rational polynomials such as polynomials and projective transformations. However, even when approximation is possible with local functions, it is difficult to properly define the application domain of the local function and switch the local function at the domain boundary.

そこで階調補正や形状変形等を行うデータ処理では、局所関数値をある画素間隔ごとの格子点で評価した値をLUT(ルックアップテーブル)に保持し、該LUTから読み出した格子点の関数値を補間して、補正値や変形値として用いることが一般的に行われている。 Therefore, in data processing such as tone correction and shape transformation, it is common to evaluate local function values at grid points at a certain pixel interval, store the values in an LUT (lookup table), and then use the function values of the grid points read from the LUT as interpolation values or transformation values.

LUTに保持するデータは、実時間で計算する必要がないため、複雑な演算を要する高次の多項式や各種関数を用いてなるべく高精度に計算されて生成されている。それに対し、LUTから読み出したデータの補間処理等は、実時間で行う必要があるため、特許文献1に記載されているように、1次補間、或いは3次補間を行うのが一般的である。また、特許文献2には、前述の1次補間と3次補間との中間の性能および演算規模の2次補間に関する技術も開示されている。 The data stored in the LUT does not need to be calculated in real time, so it is generated by calculation with as high precision as possible using high-order polynomials and various functions that require complex calculations. In contrast, the interpolation process of the data read from the LUT must be performed in real time, so linear or cubic interpolation is generally used, as described in Patent Document 1. Patent Document 2 also discloses a technology related to quadratic interpolation, which has intermediate performance and calculation scale between the linear and cubic interpolation described above.

しかし、高次の多項式で補間しようとすれば、乗算や加算を何回も行う必要がある上に、該多項式の係数を実時間で計算する必要があるため、回路構成は大規模になってしまう。例えば映像機器では、画素レートと演算回路の動作周波数とがほぼ同じであり、画素毎に演算を行うには、演算式に現れる乗算回数と同じだけの乗算器が必要になる。特に近年は、8K×4Kなどの高解像度映像が登場し、演算回路の動作周波数より画素レートの方が高い状況では演算回路を並列駆動する必要があり、さらに回路規模が大きくなる。 However, when trying to perform interpolation using a high-order polynomial, it is necessary to perform multiple multiplications and additions, and the coefficients of the polynomial must be calculated in real time, resulting in a large-scale circuit configuration. For example, in video equipment, the pixel rate and the operating frequency of the arithmetic circuit are roughly the same, and to perform calculations for each pixel, the same number of multipliers as the number of multiplications appearing in the arithmetic formula are required. In particular, in recent years, with the emergence of high-resolution video such as 8K x 4K, in situations where the pixel rate is higher than the operating frequency of the arithmetic circuit, it is necessary to drive the arithmetic circuit in parallel, further increasing the circuit scale.

ここで、非線形性が強い関数、言い換えると高次関数によるデータ変換を、テーブルデータと補間処理によって高精度に実現するためには、テーブルデータの格子間隔を狭くする、あるいは高次の補間処理が必要になってくる。しかしながら、格子間隔が狭いほどメモリ量は増大し、また、補間処理次数が高次になるほど演算規模は増大してしまう。よって、補間精度を上げるための回路規模が大きくなり、コストが高くなるという課題がある。 To achieve high-precision data conversion using highly nonlinear functions, in other words high-order functions, using table data and interpolation processing, it becomes necessary to narrow the grid spacing of the table data or to use high-order interpolation processing. However, the narrower the grid spacing, the larger the memory requirement, and the higher the order of the interpolation processing, the larger the calculation scale. This poses the problem that the circuit scale required to increase the interpolation precision becomes larger, resulting in higher costs.

そこで出願人は、特許文献3において、高次関数によるデータ処理を高精度かつ少ない演算量で実現可能とし、回路規模の小型化とコストの低減を可能にした、不均等格子間隔の2次補間に関する技術を開示した。 Therefore, in Patent Document 3, the applicant disclosed a technology related to quadratic interpolation with non-uniform grid spacing, which enables data processing using high-order functions to be realized with high accuracy and a small amount of calculation, thereby enabling miniaturization of circuit scale and reduction in cost.

特開2011-81477号公報JP 2011-81477 A 特表平9-511079号公報Special Publication No. 9-511079 特願2019-026495Patent application No. 2019-026495

しかしながら、特許文献3において採用する2次補間処理では、出力する補間曲線が設定点を通らないため、設定値の算出が複雑となってしまうという課題があった。 However, the quadratic interpolation process used in Patent Document 3 has the problem that the output interpolation curve does not pass through the set points, making calculation of the set values complicated.

そこで本発明の一実施形態は、上記の課題に鑑み、設定値を容易に算出可能な高次関数によるデータ変換を、簡便な構成で実現することを目的とする。 In view of the above problems, one embodiment of the present invention aims to realize data conversion using higher-order functions that can easily calculate setting values with a simple configuration.

本発明の一実施形態は、入力データに基づいて、補間範囲を決定する決定手段と、前記入力データと出力データとの関係が複数の格子間隔で離散的に表された複数の設定値データを保持する第1テーブル内の第1テーブルデータに基づいて、第1補間範囲に対応する第1参照値データを生成する第1参照データ生成手段と、前記第1テーブルデータと、前記第1参照値データとに基づいて、前記第1補間範囲と隣接する第2補間範囲に対応する、第2参照値データを生成する第2参照データ生成手段と、各補間範囲に対応する3つの参照値データのうち、近傍2つの参照値データごとに得られる2つの中点を通り、かつ該近傍2つの参照値データごとに得られる2つの線分に接する2次近似曲線を描くための2次関数係数を求める第1演算手段と、前記2次関数係数を用いた2次補間演算により、前記入力データに対応する出力データを求める第2演算手段と、を有することを特徴とする装置である。
One embodiment of the present invention is an apparatus characterized by comprising: a determination means for determining an interpolation range based on input data; a first reference data generation means for generating first reference value data corresponding to a first interpolation range based on first table data in a first table holding a plurality of setting value data in which the relationship between the input data and output data is discretely expressed at a plurality of grid intervals; a second reference data generation means for generating second reference value data corresponding to a second interpolation range adjacent to the first interpolation range based on the first table data and the first reference value data; a first calculation means for calculating quadratic function coefficients for drawing a quadratic approximation curve that passes through two midpoints obtained for each of two neighboring reference value data out of three reference value data corresponding to each interpolation range and is tangent to two line segments obtained for the two neighboring reference value data; and a second calculation means for calculating output data corresponding to the input data by a quadratic interpolation calculation using the quadratic function coefficients.

本発明の一実施形態によれば、設定値を容易に算出可能な高次関数によるデータ変換を、簡便な構成で実現することが可能になる。 According to one embodiment of the present invention, it is possible to realize data conversion using a high-order function that allows the setting value to be easily calculated with a simple configuration.

第1の実施形態における装置の構成を示すブロック図FIG. 1 is a block diagram showing a configuration of an apparatus according to a first embodiment. 格子間隔DISが一定である場合の2次補間処理の説明図FIG. 1 is an explanatory diagram of a quadratic interpolation process when the grid interval DIS is constant; 格子間隔DISが一定でない場合の2次補間処理の説明図FIG. 1 is an explanatory diagram of a quadratic interpolation process when the grid interval DIS is not constant. 第1の実施形態における係数演算部の詳細な構成を示すブロック図FIG. 1 is a block diagram showing a detailed configuration of a coefficient calculation unit according to a first embodiment. 第1の実施形態における参照データ生成部が実行する処理のフローチャート1 is a flowchart of a process executed by a reference data generating unit according to the first embodiment; 第2の実施形態におけるデータ変換装置の構成を示すブロック図FIG. 13 is a block diagram showing a configuration of a data conversion device according to a second embodiment. 第1の実施形態における2次補間処理の別の例の説明図FIG. 11 is an explanatory diagram of another example of the quadratic interpolation process in the first embodiment; 第1の実施形態における参照データ生成部が実行する処理の説明図FIG. 1 is an explanatory diagram of a process executed by a reference data generating unit in the first embodiment; 第2の実施形態におけるデータ処理装置が実行する処理のフローチャート11 is a flowchart of a process executed by a data processing device according to a second embodiment.

以下、添付の図面を参照して、本発明をその好適な実施形態に基づいて詳細に説明する。尚、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。 The present invention will now be described in detail based on preferred embodiments thereof with reference to the accompanying drawings. Note that the configurations shown in the following embodiments are merely examples, and the present invention is not limited to the configurations shown in the drawings.

[第1の実施形態]
<データ処理装置の構成>
図1(a)及び図1(b)は、本実施形態における装置の一構成例を示す図である。図1(a)は、本実施形態におけるデータ変換装置100で行われる各処理に応じた各機能部を示す機能ブロック図である。図1(b)は、図1(a)に示したデータ変換装置100を実現するデータ処理装置110のハードウェア構成を示すブロック図である。
[First embodiment]
<Configuration of Data Processing Device>
1(a) and 1(b) are diagrams showing an example of the configuration of an apparatus in this embodiment. Fig. 1(a) is a functional block diagram showing each functional unit corresponding to each process performed in a data conversion apparatus 100 in this embodiment. Fig. 1(b) is a block diagram showing the hardware configuration of a data processing apparatus 110 that realizes the data conversion apparatus 100 shown in Fig. 1(a).

データ処理装置110は、具体的にはパーソナルコンピュータ等であり、図1(b)に示すように、CPU111と、RAM112と、ROM113と、通信インタフェース(以下I/Fと略記する)114と、記憶I/F115と、表示I/F116と、を有する。また、データ処理装置110は、記憶I/F115を介してハードディスクや半導体メモリ等の記憶媒体120と接続され、表示I/F116を介して液晶ディスプレイ等の表示装置121に接続されている。また、データ処理装置110は、通信I/F114を介して、例えばカメラ等の撮像装置130や各種のネットワーク(NWと略記する)131にも接続されている。尚、データ処理装置は、情報処理装置とも呼ばれる。 The data processing device 110 is specifically a personal computer or the like, and as shown in FIG. 1(b), has a CPU 111, a RAM 112, a ROM 113, a communication interface (hereinafter abbreviated as I/F) 114, a storage I/F 115, and a display I/F 116. The data processing device 110 is also connected to a storage medium 120 such as a hard disk or semiconductor memory via the storage I/F 115, and to a display device 121 such as a liquid crystal display via the display I/F 116. The data processing device 110 is also connected to an imaging device 130 such as a camera and various networks (hereinafter abbreviated as NW) 131 via the communication I/F 114. The data processing device is also called an information processing device.

ROM113には、本実施形態に係るデータ処理プログラムを含む各種プログラム等が記憶されている。ROM113に記憶されているプログラムは、RAM112に展開されてCPU111により実行される。RAM112は、プログラムが展開される他、CPU111の作業領域として使用され、入力された画像データや処理途中の画像データ等が一時的に記憶される。 ROM 113 stores various programs including the data processing program according to this embodiment. The programs stored in ROM 113 are deployed in RAM 112 and executed by CPU 111. In addition to being used to deploy programs, RAM 112 is also used as a working area for CPU 111, and temporarily stores input image data, image data in the middle of processing, etc.

通信I/F114は、例えば撮像装置130やネットワーク131との間で通信を行う。例えば、撮像装置130やネットワーク131から送られてきた画像データ等を、通信I/F114が受信した場合、それら画像データは、CPU111による制御の下で、RAM112に一時的に記憶される。そして、それら画像データは、CPU111により必要に応じて各種画像処理等が施される。その後、画像データに基づいて、表示I/F116を介して表示装置121の画面上に画像が表示されたり、画像データが、記憶I/F115を介して記憶媒体120に記憶されたりする。 The communication I/F 114 communicates with, for example, the imaging device 130 or the network 131. For example, when the communication I/F 114 receives image data or the like sent from the imaging device 130 or the network 131, the image data is temporarily stored in the RAM 112 under the control of the CPU 111. The image data is then subjected to various image processing and the like as necessary by the CPU 111. Thereafter, based on the image data, an image is displayed on the screen of the display device 121 via the display I/F 116, or the image data is stored in the storage medium 120 via the storage I/F 115.

CPU111は、データ処理装置110における各種処理や制御を行い、また、本実施形態に係るデータ処理プログラム等を実行して、後述するようなデータ変換処理を含む各種の画像処理を行う。尚、本実施形態では、図1(a)に示したデータ変換装置100の各機能部の処理は、CPU111がプログラムを実行するソフトウェア処理で実現するものとして説明する。但し、勿論、それら各機能部の処理を、それぞれに対応した回路等のハードウェア構成で実現してもよい。 The CPU 111 performs various processes and controls in the data processing device 110, and also executes the data processing program according to this embodiment to perform various image processes including the data conversion process described below. In this embodiment, the processing of each functional unit of the data conversion device 100 shown in FIG. 1(a) is described as being realized by software processing in which the CPU 111 executes a program. However, of course, the processing of each functional unit may also be realized by a hardware configuration such as a corresponding circuit.

<2次補間処理の概要>
以下、図1(a)及び図2~図4を参照しながら、データ変換装置100の機能構成と、データ変換装置100において行われるデータ補間処理の基本となる2次補間処理の理論とについて説明する。図2は、2次補間処理の概念を説明するための図である。図3は、本実施形態で採用する不均等な格子間隔の2次補間処理の概念を説明するための図である。図4は、本実施形態における係数演算部の機能構成の一例を示すブロック図である。
<Overview of secondary interpolation processing>
The functional configuration of the data conversion device 100 and the theory of secondary interpolation processing, which is the basis of the data interpolation processing performed in the data conversion device 100, will be described below with reference to Fig. 1(a) and Fig. 2 to Fig. 4. Fig. 2 is a diagram for explaining the concept of secondary interpolation processing. Fig. 3 is a diagram for explaining the concept of secondary interpolation processing with uneven grid intervals employed in this embodiment. Fig. 4 is a block diagram showing an example of the functional configuration of a coefficient calculation unit in this embodiment.

データ変換装置100は、データ補間処理を実行するために、入力データ10に応じた補間範囲情報を範囲決定部102において決定し、参照アドレス12として出力する。係数演算部103は、参照アドレス12に応じたLUTつまりは参照データ保存部101に保存される参照値テーブル内に保持されるデータ(参照値テーブルデータとする)13に基づいて、2次関数係数14を算出する。係数演算部103ではまず、参照値テーブルデータ13に基づいて、新たな参照データである更新参照データ21を、参照データ更新部201(図4参照)で生成する。更新参照データ21は、ある画素間隔ごとの格子点での離散データである。参照データ生成については後述する。この更新参照データ21に基づいて、係数データ演算部204にて2次関数係数14を算出する。 In order to execute data interpolation processing, the data conversion device 100 determines interpolation range information corresponding to the input data 10 in the range determination unit 102 and outputs it as a reference address 12. The coefficient calculation unit 103 calculates quadratic function coefficients 14 based on the LUT corresponding to the reference address 12, that is, data (referred to as reference value table data) 13 held in the reference value table stored in the reference data storage unit 101. In the coefficient calculation unit 103, first, based on the reference value table data 13, the reference data update unit 201 (see FIG. 4) generates updated reference data 21, which is new reference data. The updated reference data 21 is discrete data at lattice points at every pixel interval. The generation of reference data will be described later. Based on this updated reference data 21, the coefficient data calculation unit 204 calculates quadratic function coefficients 14.

入力データ10は、画像データ、画像の輝度や座標等のデータである。2次関数係数14は、画像の階調を補正(具体的には変換)する階調変換関数や、画像の形状を補正(具体的には変形)する幾何変換関数によって決定されるデータである。2次関数係数14と入力データ10とに基づいて、補間演算部104は、2次近似曲線である出力データ15を算出し、出力する。 The input data 10 is image data, data such as the brightness and coordinates of the image. The quadratic function coefficients 14 are data determined by a tone conversion function that corrects (specifically converts) the tone of the image, and a geometric conversion function that corrects (specifically deforms) the shape of the image. Based on the quadratic function coefficients 14 and the input data 10, the interpolation calculation unit 104 calculates and outputs output data 15, which is a quadratic approximation curve.

これ以降、更新参照データ21の離散的な格子点ごとの間隔を格子間隔DISと呼ぶ。格子間隔DISの詳細については後述するが、例えば、格子間隔が狭いほど、補間処理におけるデータ変換精度は高精度になるが、保持しておかなければならないテーブルデータ量は多量になる。一方、格子間隔が広いほど、データ変換精度は低精度になるが、保持しておかなければならないテーブルデータ量は少量で済む。 Hereinafter, the spacing between discrete grid points in the update reference data 21 will be referred to as the grid spacing DIS. Details of the grid spacing DIS will be described later, but for example, the narrower the grid spacing, the higher the accuracy of data conversion in the interpolation process, but the larger the amount of table data that must be stored. On the other hand, the wider the grid spacing, the lower the accuracy of data conversion, but the smaller the amount of table data that must be stored.

図2は、2次補間処理の概念図であり、格子間隔DISが一定である場合の例を示している。図2中のY1、Y2、Y3、Y4はそれぞれ、更新参照データ21における離散データであり、これらY1、Y2、Y3、Y4の間隔である格子間隔DISは一定の間隔となっている。また、補間範囲A及び補間範囲Bはそれぞれ、隣接する参照データ間の中点から次の中点までの範囲であるため、補間範囲Aと補間範囲Bとの各幅は格子間隔DISと一致している。 Fig. 2 is a conceptual diagram of the secondary interpolation process, showing an example in which the grid interval DIS is constant. Y1 , Y2 , Y3 , and Y4 in Fig. 2 are discrete data in the updated reference data 21, and the grid interval DIS, which is the interval between these Y1 , Y2 , Y3 , and Y4 , is a constant interval. In addition, since the interpolation range A and the interpolation range B are each a range from the midpoint between adjacent reference data to the next midpoint, the widths of the interpolation range A and the interpolation range B are the same as the grid interval DIS.

ここで、例えば入力データ10がXIである場合、このデータXIに対応する最近傍の更新参照データ21はY2であり、またこのY2を中心とした近傍2つの(前後の)更新参照データ21はY1とY3である。補間範囲は範囲決定部102により求められ、図2の例では、Y1とY2との間の中点M1から、Y2とY3との間の中点M2までが、補間範囲Aとして算出される。この補間範囲Aを求める際に用いられる3つの更新参照データ21は、順にY(-1)=Y1、Y(0)=Y2、Y(1)=Y3である。 Here, for example, when the input data 10 is X1 , the nearest update reference data 21 corresponding to this data X1 is Y2 , and the two neighboring (before and after) update reference data 21 with Y2 as the center are Y1 and Y3 . The interpolation range is determined by the range determination unit 102, and in the example of Fig. 2, the range from the midpoint M1 between Y1 and Y2 to the midpoint M2 between Y2 and Y3 is calculated as the interpolation range A. The three update reference data 21 used in determining this interpolation range A are Y(-1) = Y1 , Y(0) = Y2 , and Y(1) = Y3 , respectively.

また、補間演算部104は、後述する線分を算出して、当該線分と中点M1、M2とに基づき2次近似曲線を求め、その2次近似曲線を用いた補間処理を実行することにより、出力データ15として補間出力データY0を生成する。 In addition, the interpolation calculation unit 104 calculates a line segment, which will be described later, obtains a quadratic approximation curve based on the line segment and midpoints M1 and M2 , and performs an interpolation process using the quadratic approximation curve to generate interpolated output data Y0 as output data 15.

補間演算部104で実行される補間処理の理論式は、式(1)~(4)で表される。尚、式(1)中のxは、補間範囲内における入力データ10の相対位置を格子間隔DISで規格化したものであり、0~1の値をとる。また、式(1)~(4)中のYは、出力データ15である。 The theoretical formula for the interpolation process executed by the interpolation calculation unit 104 is expressed by formulas (1) to (4). Note that x in formula (1) is the relative position of the input data 10 within the interpolation range normalized by the grid interval DIS, and takes a value between 0 and 1. Also, Y in formulas (1) to (4) is the output data 15.

Figure 0007532087000001
Figure 0007532087000001

Figure 0007532087000002
Figure 0007532087000002

Figure 0007532087000003
Figure 0007532087000003

Figure 0007532087000004
Figure 0007532087000004

補間演算部104は、式(1)によって表現される2次近似曲線に基づく補間処理を行う。2次近似曲線は、図2中の補間範囲AではY1とY2との間の中点M1及びY2とY3との間の中点M2を通り、且つ、Y1とY2とを結ぶ線分(Y1-Y2)及びY2とY3とを結ぶ線分(Y2-Y3)に接する曲線となる。尚、図2中の補間範囲Bの2次近似曲線についても、前述した補間範囲Aの場合と同様に求められる。補間範囲Bにおける2次近似曲線は、Y2とY3との間の中点M2及びY3とY4との間の中点M3を通り、且つ、Y2とY3とを結ぶ線分(Y2-Y3)及びY3とY4とを結ぶ線分(Y3-Y4)に接する曲線となる。 The interpolation calculation unit 104 performs an interpolation process based on the quadratic approximation curve expressed by the formula (1). In the interpolation range A in FIG. 2, the quadratic approximation curve passes through the midpoint M1 between Y1 and Y2 and the midpoint M2 between Y2 and Y3 , and is tangent to the line segment ( Y1 - Y2 ) connecting Y1 and Y2 and the line segment ( Y2 - Y3 ) connecting Y2 and Y3 . The quadratic approximation curve in the interpolation range B in FIG. 2 is obtained in the same manner as in the case of the interpolation range A described above. The quadratic approximation curve in the interpolation range B passes through the midpoint M2 between Y2 and Y3 and the midpoint M3 between Y3 and Y4 , and is tangent to the line segment ( Y2 - Y3 ) connecting Y2 and Y3 and the line segment ( Y3 - Y4 ) connecting Y3 and Y4 .

つまり、隣接する補間範囲Aと補間範囲Bとの境界部において中点M2は同一の点であり、また線分(Y2-Y3)は同一の線分である。言い換えると、隣接する補間範囲Aと補間範囲Bとの境界部では、中点M2と線分(Y2-Y3)とが共に共通して使用されるため、それら両補間範囲の境界部における2次近似曲線は必ず滑らかに繋がる。尚、この2次近似曲線は、参照データ生成部を通らずに、テーブルデータとして保持されている一連の参照データによって、入力データから出力データの変換特性が定まるものである。従って、データ変換装置100では、予め決められた変換特性を実現したいガンマ変換等に好適なデータ補間を実現することができる。 That is, the midpoint M2 is the same point at the boundary between the adjacent interpolation range A and the interpolation range B, and the line segment ( Y2 - Y3 ) is the same line segment. In other words, since the midpoint M2 and the line segment ( Y2 - Y3 ) are both commonly used at the boundary between the adjacent interpolation range A and the interpolation range B, the quadratic approximation curve at the boundary between the two interpolation ranges is always smoothly connected. Note that this quadratic approximation curve is determined by a series of reference data stored as table data, without passing through a reference data generation unit, in terms of the conversion characteristics from input data to output data. Therefore, the data conversion device 100 can realize data interpolation suitable for gamma conversion or the like that requires a predetermined conversion characteristic.

<格子間隔DISが一定でない場合の2次補間処理の概要>
本実施形態の特徴の一つは、テーブルデータにおける格子間隔の各値が一定でない場合、つまりは格子間隔が不均等な場合を考慮することである。以下、入力データに応じて適用する格子間隔が変わる場合について説明する。
<Outline of secondary interpolation process when grid interval DIS is not constant>
One of the features of this embodiment is that it takes into consideration the case where the lattice intervals in the table data are not constant, that is, the lattice intervals are uneven. Below, we will explain the case where the lattice interval to be applied changes depending on the input data.

このような不均等な格子間隔は、非線形性が強い階調変換関数などに好適である。例えば、非線形性が強い低階調領域では狭い格子間隔を適用し、線形性が強い高階調領域では広い格子間隔を適用することで、低階調から高階調までの全域の階調変換精度を高く維持したまま、保持しなければならないテーブルデータ量を低減可能となる。但しこの場合、隣接する補間範囲の境界部において、格子間隔と補間間隔とが異なる状態になることがあるため、それら両補間範囲の2次近似曲線を滑らかに繋げるための施策が必要となる。本実施形態における格子間隔が不均等な場合の2次補間では、このように隣接する補間範囲の境界部において格子間隔と補間間隔とが異なる場合に、それら両補間範囲の2次近似曲線を滑らかに繋げることを実現可能とする。 Such uneven grid spacing is suitable for tone conversion functions with strong nonlinearity. For example, by applying a narrow grid spacing in low tone regions with strong nonlinearity and a wide grid spacing in high tone regions with strong linearity, it is possible to reduce the amount of table data that must be stored while maintaining high tone conversion accuracy throughout the entire range from low to high tones. However, in this case, the grid spacing and the interpolation spacing may differ at the boundary between adjacent interpolation ranges, so measures are required to smoothly connect the quadratic approximation curves of both interpolation ranges. In the quadratic interpolation in this embodiment when the grid spacing is uneven, it is possible to smoothly connect the quadratic approximation curves of both interpolation ranges when the grid spacing and the interpolation spacing differ at the boundary between adjacent interpolation ranges.

<参照データ生成>
参照データ保存部101には、必要な更新参照データ21の一部のみがテーブルデータとして保存されているため、不足している参照データを参照データ更新部201にて生成する。具体的には、本実施形態において採用する2次補間の特性から、異なる補間範囲の境界部、つまりは図3の中点M2において2次近似曲線を滑らかに繋ぐために、下記の式(5)~(9)を満たすような、参照データの2データであるY1’とY2’を生成する。
<Reference data generation>
Since only a portion of the necessary updated reference data 21 is stored as table data in the reference data storage unit 101, the missing reference data is generated by the reference data update unit 201. Specifically, due to the characteristics of the quadratic interpolation employed in this embodiment, in order to smoothly connect the quadratic approximation curves at the boundary between different interpolation ranges, that is, at the midpoint M2 in Figure 3, two pieces of reference data, Y1 ' and Y2 ', are generated so as to satisfy the following expressions (5) to (9).

Figure 0007532087000005
Figure 0007532087000005

Figure 0007532087000006
Figure 0007532087000006

式(5)は各々の入力データの中点が一致することを意味し、式(6)は各々の出力データの中点が一致することを意味する。従って、式(5)及び式(6)を満たすことで、補間範囲A及び補間範囲Bの境界部となる中点M2の座標が一致するため、両補間範囲を跨いだ場合であっても2次近似曲線は連続的に滑らかに繋がることになる。 Formula (5) means that the midpoints of the input data coincide with each other, and formula (6) means that the midpoints of the output data coincide with each other. Therefore, by satisfying formulas (5) and (6), the coordinates of the midpoint M2 , which is the boundary between the interpolation range A and the interpolation range B, coincide with each other, so that the quadratic approximation curve is continuously and smoothly connected even when the two interpolation ranges are straddled.

Figure 0007532087000007
Figure 0007532087000007

Figure 0007532087000008
Figure 0007532087000008

Figure 0007532087000009
Figure 0007532087000009

式(7)は隣接する参照データ間を結ぶ線分の傾きが同じであることを意味している。従って、式(7)を満たすことで、補間範囲A及び補間範囲Bの境界部となる中点M2の座標における、2次近似曲線の傾きを一致させることができる。 Equation (7) means that the slopes of the line segments connecting adjacent reference data are the same. Therefore, by satisfying equation (7), the slopes of the quadratic approximation curves at the coordinates of midpoint M2 , which is the boundary between interpolation range A and interpolation range B, can be made to match.

図3は、本実施形態における参照データ更新部201による処理の概念を説明する図である。図3に示している参照データのうち、□で表しているデータY1、Y2、Y3及び△で表しているデータY3’はテーブルデータとして参照データ保存部101に保持されている。一方で、図中に〇で表しているデータY1’、Y2’は、式(5)~(9)から導出される、式(10)及び式(11)に従って、参照データ更新部201で生成される。 Fig. 3 is a diagram for explaining the concept of processing by the reference data update unit 201 in this embodiment. Of the reference data shown in Fig. 3, data Y1 , Y2 , and Y3 represented by squares and data Y3 ' represented by triangles are stored as table data in the reference data storage unit 101. On the other hand, data Y1 ' and Y2 ' represented by circles in the figure are generated by the reference data update unit 201 according to equations (10) and (11), which are derived from equations (5) to (9).

Figure 0007532087000010
Figure 0007532087000010

Figure 0007532087000011
Figure 0007532087000011

本実施形態では、式(10)及び式(11)を満たすことで、補間範囲A及び補間範囲Bの境界部となる中点M2の座標における、2次近似曲線の傾きを一致させることができる。 In this embodiment, by satisfying formulas (10) and (11), the slopes of the quadratic approximation curves at the coordinates of the midpoint M2 that is the boundary between the interpolation range A and the interpolation range B can be made to match.

尚、前述の説明における各格子間隔の値は、テーブルデータを選択する際及び相対位置xを算出する際、並びに、式(10)及び式(11)の関係式の演算負荷を軽減するために2のべき乗であることが望ましいが、これに限定されるものではない。さらに、図3で示している格子間隔DIS_BはDIS_Aの2倍としているが、格子間隔の関係はこれに限定されるものではなく、例えば3倍、4倍、または0.5倍、0.25倍などでもよく、正の実数倍であればよい。また、式(10)及び式(11)を用いて、Y2とY3とに基づいて、Y1’とY2’を生成する例を示しているが、これに限ったものではなく、Y1’とY2’とに基づいて、Y2とY3を生成してもよい。その際は、式(5)~(9)に基づいて、Y2とY3とについて解いた算出式を用いればよい。 In addition, the value of each lattice interval in the above description is preferably a power of 2 in order to reduce the computation load when selecting table data and when calculating the relative position x, as well as the relational equations of formula (10) and formula (11), but is not limited to this. Furthermore, the lattice interval DIS_B shown in FIG. 3 is twice as large as DIS_A, but the relationship between the lattice intervals is not limited to this, and may be, for example, 3 times, 4 times, 0.5 times, 0.25 times, or the like, as long as it is a positive real number multiple. In addition, an example is shown in which Y 1 ' and Y 2 ' are generated based on Y 2 and Y 3 using formula (10) and formula (11), but this is not limited to this, and Y 2 and Y 3 may be generated based on Y 1 ' and Y 2 '. In this case, a calculation formula solved for Y 2 and Y 3 based on formulas ( 5 ) to (9) may be used.

さらには、テーブルデータの持ち方に関しても前述したものに限定されない。例えば、図7は、本実施形態に係る参照データ更新部201における処理の概念の別の例を説明する図である。図7に示している参照データのうち、図中に□で表しているデータY1、Y2、及び、図中に△で表しているデータY2’、Y3’は、テーブルデータとして参照データ保存部101に保持されている。一方で、図中に〇で表しているデータY3及びY1’は、式(5)~(9)に基づいて導出される式(12)及び式(13)の算出式に従って、参照データ更新部201で生成される。 Furthermore, the way of holding the table data is not limited to the above. For example, FIG. 7 is a diagram for explaining another example of the concept of processing in the reference data update unit 201 according to this embodiment. Of the reference data shown in FIG. 7, data Y 1 and Y 2 represented by squares in the figure, and data Y 2 ' and Y 3 ' represented by triangles in the figure are stored in the reference data storage unit 101 as table data. On the other hand, data Y 3 and Y 1 ' represented by circles in the figure are generated by the reference data update unit 201 according to the calculation formulas of formulas (12) and (13) derived based on formulas (5) to (9).

Figure 0007532087000012
Figure 0007532087000012

Figure 0007532087000013
Figure 0007532087000013

本実施形態の特徴は、係数演算部103が必要とする参照データ保存部101に保存される参照値テーブルデータ13を、設定値データ保存部105に保存されている設定値テーブルデータ16に基づいて、参照データ生成部106で生成することである。 The feature of this embodiment is that the reference value table data 13 required by the coefficient calculation unit 103 and stored in the reference data storage unit 101 is generated by the reference data generation unit 106 based on the setting value table data 16 stored in the setting value data storage unit 105.

設定値データ保存部105には、上位の制御手段から与えられる設定値であり、本実施形態におけるデータ変換装置100の2次補間の演算結果の出力データ15において実際に通したいデータが保存される。 The set value data storage unit 105 stores the set value provided by the higher-level control means, which is the data that is actually to be passed through in the output data 15 resulting from the quadratic interpolation calculation of the data conversion device 100 in this embodiment.

図8は、本実施形態における参照データ生成処理の概念を説明するための図である。これはある特定の格子間隔に対して4つの補間範囲を持つ例であり、格子間隔DIS_Aと格子間隔DIS_Bとの2つの格子間隔の領域を図示している。尚、格子間隔DIS_Bの部分については補間範囲B1、補間範囲B2、補間範囲B3、補間範囲B4が記載されているが、格子間隔DIS_Aの部分については補間範囲A4のみ記載している。(補間範囲A1、補間範囲A2、補間範囲A3は省略している。) Figure 8 is a diagram for explaining the concept of the reference data generation process in this embodiment. This is an example of having four interpolation ranges for a certain grid interval, and illustrates two grid interval regions, grid interval DIS_A and grid interval DIS_B. Note that for the grid interval DIS_B, the interpolation ranges B1, B2, B3, and B4 are shown, but for the grid interval DIS_A, only the interpolation range A4 is shown. (The interpolation ranges A1, A2, and A3 are omitted.)

設定値データ保存部105には、図8に記載しているM1~M5の設定値データが設定値テーブルデータ16の一部として保存されており、これらM1~M5はデータ変換装置100の出力、つまりは2次近似曲線のカーブが実際に通るポイントとなる。また、図8中のY4、Y5、Y6、Y3’、Y4’、Y5’、Y6’が、参照データ保存部101に保存しなければならない参照値テーブルデータ13の一部である。設定値テーブルデータ16の位置(横軸)は、参照値テーブルデータ13の各点の位置(横軸)の中点に配置される。これは、本実施形態で採用する2次補間演算の結果出力される2次近似曲線(つまり出力データ15)が、前述の参照値テーブルデータ13に収められている各データの中点を通ることを考慮している。即ち、新たな設定値テーブルデータ16のポイントをその中点に配置し、かつ、該ポイントを通るように参照値テーブルデータを生成することで、本実施形態の目的である設定点を通る2次近似曲線を実現する。 The set value data storage unit 105 stores the set value data M1 to M5 shown in FIG. 8 as part of the set value table data 16, and these M1 to M5 are the points through which the output of the data conversion device 100, that is, the curve of the quadratic approximation curve, actually passes. Also, Y 4 , Y 5 , Y 6 , Y 3 ', Y 4 ', Y 5 ', and Y 6 ' in FIG. 8 are parts of the reference value table data 13 that must be stored in the reference data storage unit 101. The position (horizontal axis) of the set value table data 16 is placed at the midpoint of the positions (horizontal axis) of each point of the reference value table data 13. This is because the quadratic approximation curve (that is, the output data 15) output as a result of the quadratic interpolation calculation employed in this embodiment passes through the midpoints of each data stored in the above-mentioned reference value table data 13. That is, a point of the new set value table data 16 is placed at the midpoint, and reference value table data is generated so as to pass through the point, thereby realizing the quadratic approximation curve that passes through the set point, which is the object of this embodiment.

<参照データ生成部106が実行する処理>
図5は、参照データ生成部106が実行する一連の処理のフローチャートである。まず処理開始時、つまりは参照データ生成の1回目では、ステップS501にて、設定値テーブルデータ16の1つと所定の基準点とに基づいて、参照データを生成する。具体的には、図8中の設定値データM5と基準点Pとに対する外挿演算あるいは内挿演算である式(14)~(16)の演算によって、参照値データY4’、Y5’、Y6’を生成する。尚、この基準点とは例えば、入力データ10の最大階調のポイントである。
<Processing Executed by Reference Data Generator 106>
5 is a flowchart of a series of processes executed by the reference data generating unit 106. First, at the start of the process, that is, the first time reference data is generated, in step S501, reference data is generated based on one of the setting value table data 16 and a predetermined reference point. Specifically, reference value data Y4 ', Y5 ', and Y6 ' are generated by the calculations of equations (14) to (16), which are extrapolation or interpolation calculations of the setting value data M5 and the reference point P in FIG. 8. Note that this reference point is, for example, the maximum gradation point of the input data 10.

Figure 0007532087000014
Figure 0007532087000014

Figure 0007532087000015
Figure 0007532087000015

Figure 0007532087000016
Figure 0007532087000016

ここでDIS_Bは求める参照値データの格子間隔であり、Y4’、Y5’、Y6’の場合はDIS_Bであるが、別の格子間隔の場合はその値となる。以上の通り、Y4’とY6’は設定値データM5と基準点Pの外挿点であり、Y5’は設定値データM5と基準点Pの内挿点であるため、Y4’~ Y6’は直線に乗ることになる。つまり、この3つの参照点を使う補間範囲である補間範囲B4は、2次近似曲線ではなく直線の出力特性となる。 Here, DIS_B is the grid interval of the desired reference value data, and in the cases of Y4 ', Y5 ', and Y6 ', it is DIS_B, but in the case of another grid interval, that value is used. As described above, Y4 ' and Y6 ' are extrapolated points of the set value data M5 and the reference point P, and Y5 ' is an interpolated point of the set value data M5 and the reference point P, so Y4 ' to Y6 ' lie on a straight line. In other words, the interpolation range B4, which is the interpolation range that uses these three reference points, has output characteristics that are linear rather than a quadratic approximation curve.

次にステップS502にて、格子間隔の境界面かを判定する。本ステップの判定結果が真の場合、ステップS503に移る一方、該判定結果が偽の場合、S504に移る。具体的に説明すると、例えば図8のケースでは、Y1’のデータまでを参照したか判定する。1回目のステップS502では、Y4’のデータまでしか参照していないため、ステップS504に移る。 Next, in step S502, it is determined whether or not it is a boundary surface of the lattice interval. If the result of this determination is true, the process proceeds to step S503, whereas if the result of this determination is false, the process proceeds to step S504. To explain in more detail, for example, in the case of Fig. 8, it is determined whether or not the data up to Y1 ' has been referenced. In the first iteration of step S502, only the data up to Y4 ' has been referenced, so the process proceeds to step S504.

ステップS504にて、全ての補間範囲の参照値データを生成したかを判定する。本ステップの判定結果が真の場合、ステップS506に移る一方、該判定結果が偽の場合、S505に移る。1回目のステップS504では、まだ全ての補間範囲の参照値データを生成していないので、ステップS505に移る。 In step S504, it is determined whether reference value data has been generated for all of the interpolation ranges. If the result of the determination in this step is true, the process proceeds to step S506, whereas if the result of the determination is false, the process proceeds to step S505. In the first iteration of step S504, reference value data has not yet been generated for all of the interpolation ranges, so the process proceeds to step S505.

ステップS505では、ステップS501で算出した参照値データY4’と新たな設定値データM4とに対する外挿演算である式(17)の演算によって、参照値データY3’を生成する。 In step S505, the reference value data Y 3 ' is generated by calculating equation (17), which is an extrapolation calculation of the reference value data Y 4 ' calculated in step S501 and the new set value data M 4 .

Figure 0007532087000017
Figure 0007532087000017

図8に示すように、Y3’を算出する式(17)は、Y4’とM4とを用いた、同一の格子間隔DIS_Bの外挿演算となっている。 As shown in FIG. 8, equation (17) for calculating Y 3 ' is an extrapolation calculation using Y 4 ' and M 4 with the same lattice spacing DIS_B.

以上の処理ステップを繰り返し、Y1’まで算出されたときステップS502の条件分岐によってステップS503に移る。ステップS503では、格子間隔が異なる境界面での処理を行う。具体的に本ステップで生成する参照値データは、格子間隔がDIS_AであるY6、Y5であり、これらを算出するために仮参照データとしたY2’とY1’とに対する内挿演算である式(18)及び式(19)の演算によって、参照値データY5、Y6を生成する。 The above processing steps are repeated, and when calculations have been completed up to Y1 ', the process proceeds to step S503 due to the conditional branch in step S502. In step S503, processing is performed on the boundary surface with different lattice spacing. Specifically, the reference value data generated in this step are Y6 and Y5 with a lattice spacing of DIS_A, and the reference value data Y5 and Y6 are generated by the calculation of equations (18) and (19), which are interpolation calculations for Y2 ' and Y1 ', which are used as temporary reference data to calculate these data.

Figure 0007532087000018
Figure 0007532087000018

Figure 0007532087000019
Figure 0007532087000019

図8に示すように、Y2’とY1’との格子間隔はDIS_B、Y5とY6との格子間隔はDIS_Aとなっており、式(18)及び式(19)は、異格子間隔の内挿演算となっている。尚、次回以降の格子間隔がDIS_Aと変わるのでその値を保存する。そして再び、同一格子間隔の処理であるステップS506に移る。 As shown in Fig. 8, the lattice spacing between Y2 ' and Y1 ' is DIS_B, and the lattice spacing between Y5 and Y6 is DIS_A, and equations (18) and (19) are interpolation calculations for different lattice spacings. Note that the lattice spacing will change to DIS_A from the next time onwards, so this value is saved. Then, the process moves to step S506 again, which is the processing for the same lattice spacing.

以上の処理を全ての補間範囲の参照値データが生成されるまで繰り返し、処理が完了したらステップS504の条件分岐を抜けてステップS506によって生成した参照値データを参照データ保存部101に保存する。 The above process is repeated until reference value data for all interpolation ranges is generated, and when the process is completed, the conditional branch of step S504 is exited and the reference value data generated by step S506 is stored in the reference data storage unit 101.

以上のようにして本実施形態では、出力データ15を、外部から設定される設定値テーブルデータ16を通る2次近似曲線とすることができる。これにより、外部からの設定者が余計な演算を実行する必要がなくなり、設定にかかる手間を省略することが可能となる。 In this manner, in this embodiment, the output data 15 can be a quadratic approximation curve passing through the setting value table data 16 set from the outside. This eliminates the need for an external setter to perform extra calculations, making it possible to reduce the effort required for setting.

第1の実施形態では基準点、つまりは入力階調の最大ポイントが補間範囲B4にある場合について説明したが、基準点の位置は補間範囲B2、補間範囲B3にあってもよい。その場合は、入力階調の最大ポイントが補間範囲B4にある場合と同様の手順によって処理が実行される。さらに基準点の位置が格子間隔の境界面となる補間範囲B1にある場合も同様の手順でよく、まず該境界面の処理から実行されることになる。 In the first embodiment, the reference point, i.e., the maximum point of the input gradation, is in the interpolation range B4, but the position of the reference point may be in the interpolation range B2 or B3. In that case, processing is performed using the same procedure as when the maximum point of the input gradation is in the interpolation range B4. Furthermore, the same procedure can be used when the position of the reference point is in the interpolation range B1, which is the boundary surface of the lattice spacing, and processing of that boundary surface is performed first.

尚、基準点は入力階調の最大ポイントに限られず、それ以外のポイントを採用してよい。例えば、入力階調の最小ポイントを基準点として採用してもよく、その場合は、すでに述べた手順が低階調側から実行されることになる。また、基準点が入力階調の任意の1ポイントであった場合、そのポイントから低階調側に決定していく工程と高階調側に決定していく工程との2工程を実行すればよい。さらには、基準点は入力階調の範囲外の点であってもよく、例えば基準点が入力階調の最大ポイントを超えるポイントの場合は、前述の手順と同様の手順で高階調側から決めていけばよい。一方、基準点が入力階調の最小ポイントより小さいポイントの場合は、前述の手順と同様の手順で低階調側から決めていけばよい。 The reference point is not limited to the maximum point of the input gradation, and other points may be used. For example, the minimum point of the input gradation may be used as the reference point, in which case the procedure already described is performed starting from the low gradation side. If the reference point is any one point of the input gradation, two steps may be performed: a step of determining the low gradation side from that point, and a step of determining the high gradation side. Furthermore, the reference point may be a point outside the range of the input gradation. For example, if the reference point is a point that exceeds the maximum point of the input gradation, it may be determined starting from the high gradation side using the same procedure as described above. On the other hand, if the reference point is a point that is smaller than the minimum point of the input gradation, it may be determined starting from the low gradation side using the same procedure as described above.

また、前述の形態では、全ての補間範囲の参照値データの生成が完了した後に、参照値データを保存するフローを例示したが、参照値データを保存するタイミングはこれに限られず、保存すべき参照値データを参照データ保存部101に適宜保存してよい。さらに、本実施形態で述べた初期参照値データのY4’、Y5’、Y6’のうち、Y4’のみが次回の処理過程で使用される。従って、Y4’のみ参照データ生成部106で生成してもよい。但しその場合、Y5’、Y6’を生成するための演算を係数演算部103で実行する必要がある。 In the above embodiment, the flow is exemplified in which the reference value data is stored after the generation of the reference value data for all the interpolation ranges is completed, but the timing for storing the reference value data is not limited to this, and the reference value data to be stored may be stored in the reference data storage unit 101 as appropriate. Furthermore, of the initial reference value data Y4 ', Y5 ', and Y6 ' described in this embodiment, only Y4 ' is used in the next processing step. Therefore, only Y4 ' may be generated by the reference data generation unit 106. In that case, however, the calculation for generating Y5 ' and Y6 ' needs to be executed by the coefficient calculation unit 103.

[第2の実施形態]
本実施形態の特徴は、参照データ生成部106と参照データ保存部101とが演算開始信号が入力された場合にのみ動作することである。尚、以降では、既述の実施形態との差分について主に説明し、既述の実施形態と同様の内容については説明を適宜省略する。
Second Embodiment
A feature of this embodiment is that the reference data generating unit 106 and the reference data saving unit 101 operate only when a calculation start signal is input. In the following, differences from the previously described embodiment will be mainly described, and descriptions of contents similar to the previously described embodiment will be omitted as appropriate.

図6は、本実施形態におけるデータ変換装置100で行われる各処理に応じた各機能部を示す機能ブロック図である。図9は、本実施形態におけるデータ変換装置100が実行する一連の処理のフローチャートである。 Figure 6 is a functional block diagram showing the functional units corresponding to the processes performed by the data conversion device 100 in this embodiment. Figure 9 is a flowchart of a series of processes executed by the data conversion device 100 in this embodiment.

第1の実施形態に対して、本実施形態におけるデータ変換装置100では、演算開始信号11が追加されている。参照データ生成部106と参照データ保存部101とは、この演算開始信号11が入力された際に動作する。つまり、ステップS901において、CPU111は、演算開始信号11を受け取ったかの判定を行う。 Computation start signal 11 is added to the data conversion device 100 in this embodiment compared to the first embodiment. The reference data generation unit 106 and the reference data storage unit 101 operate when this computation start signal 11 is input. That is, in step S901, the CPU 111 determines whether or not the computation start signal 11 has been received.

演算開始信号11を受け取った場合、ステップS902にて、参照データ生成部106による処理が実行される。尚、ステップS902の処理内容は、第1の実施形態と同様の処理、具体的にはステップS500の処理である(図5参照)。 When the calculation start signal 11 is received, in step S902, the reference data generating unit 106 executes processing. Note that the processing content of step S902 is the same as that of the first embodiment, specifically, the processing content of step S500 (see FIG. 5).

尚、演算開始信号11を受け取らなかった場合は、参照データ生成部106は動作せず、参照データ保存部101に保存される参照値テーブルデータ13は更新されない。 If the calculation start signal 11 is not received, the reference data generation unit 106 does not operate, and the reference value table data 13 stored in the reference data storage unit 101 is not updated.

次に、入力データ10の入力に基づいて実行される処理を説明する。ステップS903において、CPU111は、入力データ10が入力されたかの判定を行う。 Next, the process executed based on the input of input data 10 will be described. In step S903, the CPU 111 determines whether input data 10 has been input.

入力データ10が入力された場合(S903でYESの場合)、ステップS904にて、範囲決定部102による処理が実行され、ステップS905にて、係数演算部103による処理が実行され、ステップS906にて、補間演算部104による処理が実行される。それぞれの処理内容は、第1の実施形態で述べた処理内容と同じである。特に、係数演算部103が読み出す参照値テーブルデータ13は、前述のステップS902において生成された参照値テーブルデータ13となる。 When input data 10 is input (YES in S903), processing is performed by the range determination unit 102 in step S904, processing is performed by the coefficient calculation unit 103 in step S905, and processing is performed by the interpolation calculation unit 104 in step S906. The respective processing contents are the same as the processing contents described in the first embodiment. In particular, the reference value table data 13 read by the coefficient calculation unit 103 is the reference value table data 13 generated in the above-mentioned step S902.

尚、入力データ10が入力されない場合(S903でNOの場合)は、範囲決定部102、係数演算部103、及び補間演算部104は動作しない。 If the input data 10 is not input (NO in S903), the range determination unit 102, the coefficient calculation unit 103, and the interpolation calculation unit 104 do not operate.

このように、本実施形態におけるデータ変換装置100では、主に参照データ生成部106と参照データ保存部101とが演算開始信号11が入力された場合にのみ動作するため、その消費電力を低減することができる。 In this way, in the data conversion device 100 of this embodiment, the reference data generation unit 106 and the reference data storage unit 101 mainly operate only when the calculation start signal 11 is input, so that the power consumption can be reduced.

尚、演算開始信号11は、入力データ10が入力されている期間以外であればいつ入力されてもよい。例えば画像処理装置の場合、演算開始信号11の入力タイミングは画像入力期間以外であればいつでもよい。参照データ保存部101のデータが更新された場合や、入力データ10が一時的に入力されていない期間であるフレーム間の非画像入力期間(Vブランキング)や水平走査間の非画像入力期間(Hブランキング)が例として考えられる。これにより、参照値テーブルデータ13は入力データ10が入力される以前に決定されており、入力データ10の入力中は参照データ保存部101から読み出されるのみとなる結果、データ変換装置100の処理速度を向上できる。 The calculation start signal 11 may be input at any time other than the period during which the input data 10 is being input. For example, in the case of an image processing device, the calculation start signal 11 may be input at any time other than the image input period. Examples of such a period include when the data in the reference data storage unit 101 is updated, or during a non-image input period (V blanking) between frames or a non-image input period (H blanking) between horizontal scans during which the input data 10 is temporarily not being input. As a result, the reference value table data 13 is determined before the input data 10 is input, and is only read from the reference data storage unit 101 while the input data 10 is being input, thereby improving the processing speed of the data conversion device 100.

[その他の実施形態]
本発明は、前述の各実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
[Other embodiments]
The present invention can also be realized by a process in which a program for realizing one or more functions of each of the above-described embodiments is supplied to a system or device via a network or a storage medium, and one or more processors in a computer of the system or device read and execute the program. The present invention can also be realized by a circuit (e.g., ASIC) that realizes one or more functions.

前述の実施形態は、何れも本発明を実施するにあたっての具体例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならない。 The above-mentioned embodiments are merely illustrative examples of how the present invention may be implemented, and should not be construed as limiting the technical scope of the present invention.

即ち、本発明は、その技術的思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。各実施形態では入力データが1つの場合を記載したが、例えばRGBなど3つの入力データに対して補間処理を実施する場合にも適用可能である。このとき、第2実施形態においてRGBの補間カーブが同一である場合、3つの入力データに対して設定値データ保存部と参照データ生成部と参照データ保存部の全てあるいはいずれかを共有することで回路規模を削減することが可能である。さらには、前述の共有する回路は、非画像入力期間に演算を完了させればよいため、マルチサイクルでの演算を実施することでさらに回路規模を削減することが可能である。 In other words, the present invention can be implemented in various forms without departing from its technical concept or main features. Although each embodiment describes a case where there is only one input data, it can also be applied to a case where interpolation processing is performed on three input data such as RGB. In this case, if the RGB interpolation curve is the same in the second embodiment, it is possible to reduce the circuit size by sharing all or any of the set value data storage unit, reference data generation unit, and reference data storage unit for the three input data. Furthermore, since the shared circuit only needs to complete the calculation during the non-image input period, it is possible to further reduce the circuit size by performing calculations in multiple cycles.

尚、前述の実施形態では、複数の格子間隔を持つ例、つまり不均等な格子間隔の例について述べたが、単一の格子間隔のみの場合においても、前述の実施形態を適用可能である。その場合は、異なる格子間隔の境界部での処理が省略される。 In the above embodiment, an example with multiple lattice intervals, i.e., an example with unequal lattice intervals, was described, but the above embodiment can also be applied to cases with only a single lattice interval. In that case, processing at the boundary between different lattice intervals is omitted.

10 入力データ
13 参照値テーブルデータ
14 2次関数係数
15 出力データ
100 データ変換装置
101 参照データ保存部
102 範囲決定部
103 係数演算部
104 補間演算部
105 設定値データ保存部
106 参照データ生成部
10 Input data 13 Reference value table data 14 Quadratic function coefficient 15 Output data 100 Data conversion device 101 Reference data storage unit 102 Range determination unit 103 Coefficient calculation unit 104 Interpolation calculation unit 105 Set value data storage unit 106 Reference data generation unit

Claims (13)

入力データに基づいて、補間範囲を決定する決定手段と、
前記入力データと出力データとの関係が複数の格子間隔で離散的に表された複数の設定値データを保持する第1テーブル内の第1テーブルデータに基づいて、第1補間範囲に対応する第1参照値データを生成する第1参照データ生成手段と、
前記第1テーブルデータと、前記第1参照値データとに基づいて、前記第1補間範囲と隣接する第2補間範囲に対応する、第2参照値データを生成する第2参照データ生成手段と、
各補間範囲に対応する3つの参照値データのうち、近傍2つの参照値データごとに得られる2つの中点を通り、かつ該近傍2つの参照値データごとに得られる2つの線分に接する2次近似曲線を描くための2次関数係数を求める第1演算手段と、
前記2次関数係数を用いた2次補間演算により、前記入力データに対応する出力データを求める第2演算手段と、
を有することを特徴とする装置。
A determination means for determining an interpolation range based on input data;
a first reference data generating means for generating first reference value data corresponding to a first interpolation range based on first table data in a first table holding a plurality of set value data in which the relationship between the input data and the output data is discretely expressed at a plurality of grid intervals;
a second reference data generating means for generating second reference value data corresponding to a second interpolation range adjacent to the first interpolation range, based on the first table data and the first reference value data;
a first calculation means for calculating quadratic function coefficients for drawing a quadratic approximation curve passing through two midpoints obtained for two adjacent reference value data out of three reference value data corresponding to each interpolation range and tangent to two line segments obtained for the two adjacent reference value data;
a second calculation means for calculating output data corresponding to the input data by a quadratic interpolation calculation using the quadratic function coefficients;
An apparatus comprising:
前記複数の設定値データが、前記第1テーブル内の前記第1テーブルデータとして保存される設定値データ保存手段と、
前記第1参照値データと、前記第2参照値データとを含む参照値データが、前記第1テーブルと異なる第2テーブル内の第2テーブルデータとして保存される参照データ保存手段と、
を更に有することを特徴とする請求項1に記載の装置。
a setting value data storage means for storing the plurality of setting value data as the first table data in the first table;
a reference data storage means for storing reference value data including the first reference value data and the second reference value data as second table data in a second table different from the first table;
2. The apparatus of claim 1 further comprising:
前記第2参照データ生成手段は、隣接する2つの補間範囲に対応する2つの格子間隔が異なる間隔の格子間隔である場合、該隣接する2つの補間範囲における前記中点のうち該2つの補間範囲の境界部に近い中点が、該隣接する2つの補間範囲で共通となる第2参照値データを生成する、
ことを特徴とする請求項2に記載の装置。
the second reference data generating means generates second reference value data in which, when two lattice intervals corresponding to two adjacent interpolation ranges are different, a midpoint among the midpoints in the two adjacent interpolation ranges that is close to a boundary between the two interpolation ranges is common to the two adjacent interpolation ranges;
3. The apparatus of claim 2 .
前記第2参照データ生成手段は、隣接する2つの補間範囲に対応する2つの格子間隔が異なる間隔の格子間隔である場合、該隣接する2つの補間範囲における前記線分のうち該2つの補間範囲の境界部に近い線分の傾きが、該隣接する2つの補間範囲で共通となる第2参照値データを生成する、
ことを特徴とする請求項2または3に記載の装置。
the second reference data generating means generates second reference value data in which, when two lattice intervals corresponding to two adjacent interpolation ranges are different from each other, a slope of a line segment, among the line segments in the two adjacent interpolation ranges, that is close to a boundary between the two interpolation ranges is common to the two adjacent interpolation ranges;
4. Apparatus according to claim 2 or 3.
前記第1参照データ生成手段は、所定の基準点と、前記第1テーブルデータに含まれる第1設定値データとに基づいて、前記第1参照値データを生成し、
前記第2参照データ生成手段は、前記第1テーブルデータに含まれる第2設定値データと、前記第1参照値データとに基づいて、前記第2参照値データを生成する、
ことを特徴とする請求項2乃至4の何れか1項に記載の装置。
the first reference data generating means generates the first reference value data based on a predetermined reference point and first setting value data included in the first table data;
the second reference data generating means generates the second reference value data based on second setting value data included in the first table data and the first reference value data.
5. Apparatus according to any one of claims 2 to 4.
上位の制御手段から与えられる演算開始信号が入力された場合に、前記第1参照データ生成手段は前記第1参照値データを生成し、前記第1演算手段は前記2次関数係数を求める、
ことを特徴とする請求項2乃至5の何れか1項に記載の装置。
when a calculation start signal given from a higher-level control means is input, the first reference data generating means generates the first reference value data, and the first calculation means calculates the quadratic function coefficients.
6. Apparatus according to any one of claims 2 to 5, characterized in that
前記入力データが入力されていないタイミングで、前記演算開始信号は入力される、
ことを特徴とする請求項6に記載の装置。
The operation start signal is input at a timing when the input data is not being input.
7. The apparatus according to claim 6 .
前記参照データ保存手段で保存される前記第2テーブルデータが更新されたタイミングで、前記演算開始信号は入力される、
ことを特徴とする請求項6に記載の装置。
The calculation start signal is input at a timing when the second table data stored in the reference data storage means is updated.
7. The apparatus according to claim 6 .
前記入力データが複数ある場合に、前記参照データ保存手段は、該複数の入力データに対して共有される、
ことを特徴とする請求項2乃至8の何れか1項に記載の装置。
When there are a plurality of pieces of input data, the reference data storage means is shared among the plurality of pieces of input data.
9. Apparatus according to any one of claims 2 to 8, characterized in that
前記複数の格子間隔の各値の比は、2のべき乗であることを特徴とする請求項2乃至9の何れか1項に記載の装置。 10. The apparatus according to claim 2, wherein the ratio of the values of the plurality of lattice intervals is a power of two. 前記参照データ保存手段に保存される参照値データには、格子間隔が密な参照値データと、格子間隔が疎な参照データとが含まれる、
ことを特徴とする
請求項2乃至10の何れか1項に記載の装置。
The reference value data stored in the reference data storage means includes reference value data with a fine grid interval and reference data with a sparse grid interval.
11. Apparatus according to any one of claims 2 to 10, characterized in that
入力データに基づいて、補間範囲を決定するステップと、
前記入力データと出力データとの関係が複数の格子間隔で離散的に表された複数の設定値データを保持する第1テーブル内の第1テーブルデータに基づいて、第1補間範囲に対応する第1参照値データを生成するステップと、
前記第1テーブルデータと、前記第1参照値データとに基づいて、前記第1補間範囲と隣接する第2補間範囲に対応する、第2参照値データを生成するステップと、
各補間範囲に対応する3つの参照値データのうち、近傍2つの参照値データごとに得られる2つの中点を通り、かつ該近傍2つの参照値データごとに得られる2つの線分に接する2次近似曲線を描くための2次関数係数を求めるステップと、
前記2次関数係数を用いた2次補間演算により、前記入力データに対応する出力データを求めるステップと、
を有することを特徴とする方法。
determining an interpolation range based on input data;
generating first reference value data corresponding to a first interpolation range based on first table data in a first table that holds a plurality of set value data in which the relationship between the input data and the output data is discretely expressed at a plurality of grid intervals;
generating second reference value data corresponding to a second interpolation range adjacent to the first interpolation range based on the first table data and the first reference value data;
a step of determining quadratic function coefficients for drawing a quadratic approximation curve that passes through two midpoints obtained for two adjacent reference value data out of three reference value data corresponding to each interpolation range and is tangent to two line segments obtained for the two adjacent reference value data;
obtaining output data corresponding to the input data by a quadratic interpolation calculation using the quadratic function coefficients;
The method according to claim 1, further comprising:
コンピュータに請求項12に記載の方法を実行させるためのプログラム。 A program for causing a computer to execute the method according to claim 12.
JP2020090514A 2020-05-25 2020-05-25 Apparatus, method, and program Active JP7532087B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020090514A JP7532087B2 (en) 2020-05-25 2020-05-25 Apparatus, method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020090514A JP7532087B2 (en) 2020-05-25 2020-05-25 Apparatus, method, and program

Publications (2)

Publication Number Publication Date
JP2021189458A JP2021189458A (en) 2021-12-13
JP7532087B2 true JP7532087B2 (en) 2024-08-13

Family

ID=78849456

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020090514A Active JP7532087B2 (en) 2020-05-25 2020-05-25 Apparatus, method, and program

Country Status (1)

Country Link
JP (1) JP7532087B2 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030187613A1 (en) 2002-04-01 2003-10-02 Kun-Nan Cheng Method of data interpolation using midpoint slope control scaling
JP2019016002A (en) 2017-07-03 2019-01-31 Sldj合同会社 Data interpolation apparatus and data interpolation method

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3031613B2 (en) * 1996-11-12 2000-04-10 株式会社つくばソフト研究所 Color / shade image input / output device and input / output method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030187613A1 (en) 2002-04-01 2003-10-02 Kun-Nan Cheng Method of data interpolation using midpoint slope control scaling
JP2019016002A (en) 2017-07-03 2019-01-31 Sldj合同会社 Data interpolation apparatus and data interpolation method

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
永山 忍 他,二次近似法に基づくプログラマブル数値計算回路の構成とその合成法,情報処理学会研究報告,社団法人情報処理学会,2006年01月18日,第2006巻 第4号,第25頁~第30頁

Also Published As

Publication number Publication date
JP2021189458A (en) 2021-12-13

Similar Documents

Publication Publication Date Title
JP4351394B2 (en) Non-linear and linear methods for enlarging or reducing image resolution conversion
US6496609B1 (en) Hybrid-linear-bicubic interpolation method and apparatus
JP4209599B2 (en) Two-dimensional nonlinear interpolation system and interpolation method, and two-dimensional mixed interpolation system and mixed interpolation method
JP5294313B2 (en) Bezier curve drawing device, Bezier curve drawing method and program
JP3664364B2 (en) Color conversion method
JPH10319898A (en) Resolution converting method and display control device using it
JP2013178671A (en) Image processing apparatus, image processing method and program
JPS61143879A (en) Method and apparatus for calculating pixel value
JP4317619B2 (en) Image processing device
JP2018120536A (en) Data interpolation apparatus and method therefor, and image processing apparatus
JP7346039B2 (en) Data processing device, data processing method, and program
JP4728744B2 (en) Image processing device
JP7532087B2 (en) Apparatus, method, and program
JP7500254B2 (en) Data processing device and control method thereof
JP2009004952A (en) Image processing device and program
JP3805303B2 (en) Pixel number conversion method and pixel number conversion device
JP7547046B2 (en) Data conversion device, data conversion method, and program
JP2022015743A (en) Device, method, and program
JP5997480B2 (en) Image processing apparatus, image processing method, and program
JP6974954B2 (en) Image processing device and its control method
JP4273219B2 (en) Modified curved surface display device
JP2010033406A (en) Image processing device, image device, and image processing method
JP5387288B2 (en) Image processing apparatus, image processing method and program thereof
JP2000224405A (en) Image processing method
JP3655814B2 (en) Enlarged image generation apparatus and method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230523

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20240228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240402

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240523

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240731

R150 Certificate of patent or registration of utility model

Ref document number: 7532087

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150