JP6472226B2 - Image processing apparatus, image processing method, and computer program - Google Patents
Image processing apparatus, image processing method, and computer program Download PDFInfo
- Publication number
- JP6472226B2 JP6472226B2 JP2014240363A JP2014240363A JP6472226B2 JP 6472226 B2 JP6472226 B2 JP 6472226B2 JP 2014240363 A JP2014240363 A JP 2014240363A JP 2014240363 A JP2014240363 A JP 2014240363A JP 6472226 B2 JP6472226 B2 JP 6472226B2
- Authority
- JP
- Japan
- Prior art keywords
- mesh
- color
- vertex
- candidate
- point
- 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
Links
Images
Landscapes
- Image Processing (AREA)
- Image Generation (AREA)
Description
本発明は、画像をベクトル表現するための技術に関するものである。 The present invention relates to a technique for expressing an image as a vector.
従来から、画像をベクトル表現する技術は広く知られている。ベクトル表現された画像は、拡大縮小時に画質劣化が少ない、画像編集し易い、高い圧縮率を実現できるなどの利点がある。 Conventionally, a technique for expressing an image as a vector is widely known. The vector-represented image has advantages such as little image quality degradation at the time of enlargement / reduction, easy image editing, and high compression ratio.
イラストや文字をベクトル表現する場合には、オブジェクトの輪郭をベジェ、スプライン関数などで近似する手法が用いられている。オブジェクト領域内は、単一色、線形グラデーション、放射状グラデーションなどで塗ることができるが、複雑なグラデーションの表現は困難である。 In the case of vector representation of illustrations and characters, a method of approximating the contour of an object with a Bezier, spline function or the like is used. The object area can be painted with a single color, linear gradation, radial gradation, etc., but it is difficult to express complex gradation.
複雑なグラデーションを含むオブジェクトをベクトル表現する場合には、Adobe Illustrator(登録商標)のグラディエント・メッシュ・ツールが一般に用いられている。グラディエント・メッシュでは、メッシュに色と勾配を与えて3次関数を生成することで、複雑なグラデーションを含むオブジェクトを描画できる(特許文献1)。 In the case of expressing an object including a complex gradation as a vector, an Adobe Illustrator (registered trademark) gradient mesh tool is generally used. In a gradient mesh, an object including a complex gradation can be drawn by generating a cubic function by giving a color and a gradient to the mesh (Patent Document 1).
グラディエント・メッシュは4頂点から成る曲線メッシュであるが、3頂点から成る曲線メッシュにより複雑なグラデーションをベクトル表現する技術が知られている(非特許文献1)。画像内のエッジを線分群(以下エッジ線と呼ぶ)として抽出し、エッジ線を再現する3頂点曲線メッシュ群を構成することでベクトル表現を行う。ここで3頂点曲線メッシュとは、メッシュの頂点数が3であり、頂点間を結ぶメッシュの辺が直線または曲線であるものとする。 A gradient mesh is a curved mesh composed of four vertices, and a technique for expressing a complex gradation vector by a curved mesh composed of three vertices is known (Non-Patent Document 1). Edges in the image are extracted as line segments (hereinafter referred to as edge lines), and a vector expression is performed by configuring a 3-vertex curve mesh group that reproduces the edge lines. Here, the three-vertex curve mesh is assumed that the number of vertices of the mesh is 3, and the sides of the mesh connecting the vertices are straight lines or curves.
また、各メッシュにおいて色変化の詳細度を変化させることができるよう、メッシュ内部に色を付記した分割頂点を設ける手法も開示されている(非特許文献2)。なお、上述の3頂点曲線メッシュでは、メッシュ制御が局所的にできるため、少ないメッシュ数でオブジェクトを近似できる利点がある。一方で、それまでの3頂点曲線メッシュはメッシュ単位に符号化され、メッシュ間で共有される頂点、辺、色を考慮していないため、符号化効率が低く、データ量が増大してしまっていた。そこで、本出願人は、辺を共有する、辺上のサンプリング点を共有する、エッジ線上のサンプリング点は2種類の色を有する、という3頂点曲線メッシュの特徴を利用してメッシュ表現の効率化を図ることを提案している(特許文献3)。 In addition, a method of providing divided vertices with colors added inside the mesh so that the level of detail of color change can be changed in each mesh is also disclosed (Non-Patent Document 2). Note that the above-described three-vertex curve mesh has an advantage that an object can be approximated with a small number of meshes because mesh control can be performed locally. On the other hand, the conventional three-vertex curve mesh is encoded in mesh units, and does not take into account vertices, edges, and colors shared between meshes, so the encoding efficiency is low and the amount of data increases. It was. Therefore, the present applicant uses the characteristics of a three-vertex curve mesh that shares edges, shares sampling points on the edges, and sampling points on the edge line have two colors, and improves mesh representation efficiency. (Patent Document 3).
自然画をメッシュ形式で近似する自然画ベクトル化技術において、メッシュ群を構成する各メッシュをサブメッシュに分割し、サブメッシュの頂点における色情報をも用いてメッシュデータを生成する。この際の、サブメッシュの頂点(以降、色点とも称する)についてであるが、色点数を増やすと、画質は向上するが、一方で、データ量は増える。そこで、画質とデータ量のトレードオフを鑑みて、メッシュあたり一律の色点数とするのではなく、それぞれが異なる色点数をもつメッシュの混在する、適応的なメッシュ群を生成するための簡便で高速な方法が望まれる。 In a natural image vectorization technique for approximating a natural image in a mesh format, each mesh constituting a mesh group is divided into sub-mesh, and mesh data is also generated using color information at the vertices of the sub-mesh. At this time, regarding the vertexes of the sub-mesh (hereinafter also referred to as color points), when the number of color points is increased, the image quality is improved, but the data amount is increased. Therefore, in view of the trade-off between image quality and data volume, instead of using a uniform number of color points per mesh, it is simple and fast to generate an adaptive mesh group in which meshes with different numbers of color points are mixed. Is desired.
本発明はこのような問題に鑑みてなされたものであり、メッシュ毎にサブメッシュの頂点数を適応的に制御するための技術を提供する。 The present invention has been made in view of such a problem, and provides a technique for adaptively controlling the number of vertices of a sub-mesh for each mesh.
本発明の一様態は、入力画像から検出された検出線が、3頂点から成り且つ該3頂点間を結ぶ辺が直線または曲線であるメッシュの一辺となるように、前記入力画像を該メッシュを単位に分割し、該メッシュを複数のサブメッシュに分割するために該サブメッシュの各頂点を決定する画像処理装置であって、前記メッシュを分割するサブメッシュの頂点の候補として設定されている候補頂点群の一部である部分頂点群の色情報と、該候補頂点群において該部分頂点群を除く他頂点群の色情報から求めた該部分頂点群の色情報と、の差分を求める計算手段と、前記差分が規定値よりも小さい場合には、前記候補頂点群として前記他頂点群を設定してから前記計算手段を動作させ、前記差分が規定値以上の場合には、前記候補頂点群を、前記メッシュを分割するそれぞれのサブメッシュの頂点として決定する決定手段とを備えることを特徴とする。 According to one aspect of the present invention, the input image is input to the mesh so that a detection line detected from the input image is composed of three vertices and a side connecting the three vertices is one side of a mesh that is a straight line or a curve. An image processing apparatus that divides into units and determines each vertex of the sub-mesh to divide the mesh into a plurality of sub-mesh, and is a candidate set as a candidate for a vertex of the sub-mesh that divides the mesh Calculation means for obtaining a difference between the color information of the partial vertex group which is a part of the vertex group and the color information of the partial vertex group obtained from the color information of the other vertex group excluding the partial vertex group in the candidate vertex group When the difference is smaller than a specified value, the other vertex group is set as the candidate vertex group and then the calculation unit is operated. When the difference is equal to or larger than the specified value, the candidate vertex group The message Characterized in that it comprises a determination means for determining as vertices of each sub-meshes for dividing the Interview.
本発明の構成によれば、メッシュ毎にサブメッシュの頂点数を適応的に制御するための技術を提供することができる。 According to the configuration of the present invention, it is possible to provide a technique for adaptively controlling the number of vertices of sub-mesh for each mesh.
以下、添付図面を参照し、本発明の好適な実施形態について説明する。なお、以下説明する実施形態は、本発明を具体的に実施した場合の一例を示すもので、特許請求の範囲に記載した構成の具体的な実施例の1つである。 Preferred embodiments of the present invention will be described below with reference to the accompanying drawings. The embodiment described below shows an example when the present invention is specifically implemented, and is one of the specific examples of the configurations described in the claims.
[第1の実施形態]
本実施形態では、入力画像から検出された検出線が、3頂点から成り且つ該3頂点間を結ぶ辺が直線または曲線であるメッシュの一辺となるように、入力画像を該メッシュを単位に分割し、該メッシュを複数のサブメッシュに分割するために該サブメッシュの各頂点を決定する画像処理装置の一例について説明する。すなわち、メッシュを分割するサブメッシュの頂点の候補として設定されている候補頂点群の一部である部分頂点群の色情報と、該候補頂点群において該部分頂点群を除く他頂点群の色情報から求めた該部分頂点群の色情報と、の差分を求め、該差分が規定値よりも小さい場合には、候補頂点群として他頂点群を設定してから差分を再度計算し、該差分が規定値以上の場合には、候補頂点群を、メッシュを分割するそれぞれのサブメッシュの頂点として決定する構成の一例について説明する。
[First Embodiment]
In this embodiment, the input image is divided in units of the mesh so that the detection line detected from the input image is composed of three vertices and the side connecting the three vertices is one side of a mesh that is a straight line or a curve. An example of an image processing apparatus that determines each vertex of the sub-mesh in order to divide the mesh into a plurality of sub-mesh will be described. That is, the color information of the partial vertex group that is a part of the candidate vertex group set as the candidate for the vertex of the sub-mesh that divides the mesh, and the color information of the other vertex group excluding the partial vertex group in the candidate vertex group If the difference is smaller than the specified value, the difference is calculated again after setting another vertex group as a candidate vertex group. An example of a configuration in which the candidate vertex group is determined as the vertex of each sub-mesh that divides the mesh when the value is equal to or greater than the predetermined value will be described.
先ず、本実施形態で用いる3頂点曲線メッシュについて説明する。上記の通り、3頂点曲線メッシュの各辺は曲線若しくは線分であるが、この曲線は、ベジェ曲線で構成されても良いし、B−スプラインで構成されても良い。即ち、曲線の種類は特定の種類に限るものではない。以下では説明上、3頂点曲線メッシュにパラメトリック曲面の一つである3頂点のベジェパッチを用いるものとする。ベジェパッチの中でも特に3次のベジェパッチでは、メッシュの各辺が3次のベジェ曲線となるため、3頂点曲線メッシュを生成したのちにユーザによる編集が容易であるという利点がある。P1、P2、P3を頂点とする3次のベジェパッチ内の点は以下の式で表される。 First, the three-vertex curve mesh used in this embodiment will be described. As described above, each side of the three-vertex curve mesh is a curve or a line segment, but this curve may be constituted by a Bezier curve or a B-spline. That is, the type of curve is not limited to a specific type. In the following description, a three-vertex Bezier patch that is one of parametric curved surfaces is used for the three-vertex curved mesh. Among the Bezier patches, in particular, the cubic Bezier patch has an advantage that each side of the mesh becomes a cubic Bezier curve, so that the user can easily edit after generating the three-vertex curve mesh. The points in the cubic Bezier patch having the vertices at P1, P2, and P3 are expressed by the following equations.
ここでs、t、uはパッチのパラメータ(パッチ内の重心座標)である。また、p1、p2、p3はそれぞれ、頂点P1、P2、P3の座標値である。c1、c2、c3、c4、c5、c6およびc7は曲線パッチの形状を定めるパラメータであり、特に、c1〜c6は、頂点P1,P2,P3のそれぞれに対する制御点(ベジェパッチの輪郭を決める3つのベジェ曲線の制御点)の座標値を表す。c7はベジェパッチの輪郭には関与しないパラメータであり、本実施形態ではベジェパッチの頂点の座標と、輪郭を成すベジェ曲線の制御点に対応するパラメータから以下の式によって定める。 Here, s, t, and u are patch parameters (center-of-gravity coordinates in the patch). Further, p1, p2, and p3 are coordinate values of the vertices P1, P2, and P3, respectively. c1, c2, c3, c4, c5, c6, and c7 are parameters that determine the shape of the curved patch. In particular, c1 to c6 are control points for the vertices P1, P2, and P3 (three parameters that determine the contour of the Bezier patch). This represents the coordinate value of the control point of the Bezier curve. c7 is a parameter that does not relate to the contour of the Bezier patch. In this embodiment, the parameter is determined from the coordinates of the vertex of the Bezier patch and the parameter corresponding to the control point of the Bezier curve forming the contour by the following equation.
次に、本実施形態に係る画像処理装置の機能構成例について、図1のブロック図を用いて説明する。なお、図1に示した構成は、以下に説明する処理を実現可能な構成の一例に過ぎず、同等以上の処理を実現可能な構成であれば、図1に示した構成に限らず、如何なる構成を採用しても構わない。 Next, a functional configuration example of the image processing apparatus according to the present embodiment will be described with reference to the block diagram of FIG. The configuration shown in FIG. 1 is merely an example of a configuration that can realize the processing described below, and any configuration that can realize processing equal to or higher than that is not limited to the configuration shown in FIG. A configuration may be adopted.
画像入力部101には、ラスタ表現の画像(入力画像)が入力される。入力画像はカラー画像、グレー画像、白黒画像のいずれでも構わない。また、入力画像は矩形画像でも構わないし、画像の一部をベクトル化したい場合には背景部を透過色に設定した画像等、切り出された領域が与えられても良い。そして画像入力部101は、この入力画像を後段のメッシュ生成部102に転送する。
A raster representation image (input image) is input to the
メッシュ生成部102は、入力画像中の特徴を表す曲線形状の特徴線を再現する3頂点曲線メッシュ群を生成することで、該入力画像を該3頂点曲線メッシュ群に分割する処理を行うものであり、特徴線検出部1021、特徴点抽出部1022、曲線メッシュ生成部1023を有する。
The mesh generation unit 102 performs a process of dividing the input image into the three-vertex curve mesh group by generating a three-vertex curve mesh group that reproduces a feature line having a curved shape representing the feature in the input image. A feature
特徴線検出部1021は、入力画像中に、特徴を表す曲線形状の特徴線を構成する。本実施形態では、特徴線としてエッジ線を用いる。特徴線を構成するための処理は大きく分けて、エッジ検出処理と、エッジ線構成処理と、に分けられる。
The feature
先ず、エッジ線検出処理について説明する。エッジ線検出処理では先ず、入力画像からエッジを構成する画素(エッジ画素)を検出する。本実施形態では、キャニー法という既知の方法を用いてエッジ画素を検出するが、他の手法を用いてエッジ画素を検出するようにしても良い。また、キャニー法が効果的に機能するように、入力画像に対して明るさ調整、エッジ強調などの前処理を施しても構わない。 First, the edge line detection process will be described. In the edge line detection process, first, pixels (edge pixels) constituting an edge are detected from the input image. In the present embodiment, the edge pixel is detected using a known method called the Canny method, but the edge pixel may be detected using another method. In addition, preprocessing such as brightness adjustment and edge enhancement may be performed on the input image so that the Canny method functions effectively.
そして次に、エッジ線構成処理を行う。エッジ線構成処理では先ず、隣接するエッジ画素間を結ぶ線分を構成することで、エッジ線を再現する線分群を構成する。隣接するエッジ画素間を結んで線分群を構成する際に、注目エッジ画素の上、下、左、右にある4つのエッジ画素が隣接しているとみなす4連結接続がある。また、この4方向に加えて右上、右下、左上、左下にある4つのエッジ画素も隣接していると見なす8連結接続もある。本実施形態では8連結接続を用いるが、これは一例に過ぎない。 Then, an edge line configuration process is performed. In the edge line configuration process, first, a line segment that reproduces an edge line is configured by configuring a line segment that connects adjacent edge pixels. When a line segment group is formed by connecting adjacent edge pixels, there is a four-connection connection in which four edge pixels located above, below, left, and right of the target edge pixel are considered to be adjacent. Further, in addition to these four directions, there are eight connected connections in which four edge pixels on the upper right, lower right, upper left, and lower left are considered to be adjacent. In the present embodiment, eight linked connections are used, but this is only an example.
ここで、キャニー法を用いて検出したエッジ画素に対して8連結接続で隣接しているとみなせるエッジ画素間を結ぶと、エッジ線として望ましくない結果が得られる場合がある。このケースについて図2を用いて説明する。 Here, when edge pixels that can be considered to be adjacent to each other by 8-connection are connected to edge pixels detected using the Canny method, an undesirable result may be obtained as an edge line. This case will be described with reference to FIG.
図2(a)〜(d)には画像中のある領域を構成する画素群を示しており、1つの四角形が1つの画素を表している。また、斜線で示している四角形がエッジ画素を表しており、斜線がない四角形がエッジ画素以外の画素(非エッジ画素)を表している。 FIGS. 2A to 2D show a pixel group constituting a certain area in the image, and one square represents one pixel. In addition, a rectangle indicated by hatching represents an edge pixel, and a rectangle without hatching represents a pixel other than the edge pixel (non-edge pixel).
図2(a)に示したエッジ画素群について、8連結接続で隣接したエッジ画素を結ぶと、図2(b)に示すように、エッジ画素201、202、203を結ぶようなループが発生してしまう。図2(a)に示すようなエッジ画素が検出された場合、このようなループの発生を抑制する必要がある。そこで本実施形態では、8連結接続を行う前に、Hilditch細線化法という既知の手法を用いることで、この問題を解決する。図2(a)に示したエッジ画素群に対してHilditch細線化を行うと、図2(b)に示したエッジ画素201は非エッジ画素となる。その結果、図2(c)に示すように、エッジ画素(204〜207)がループのない1つのエッジ線によって結ばれることになる。
As shown in FIG. 2B, when the edge pixel group shown in FIG. 2A is connected to adjacent edge pixels by 8-connection, a loop that connects the
このとき、図2(d)のエッジ画素208に示すように、複数のエッジ線が一か所に会合するようなパターンが発生することがある。このような場合は、会合するエッジ線を分断し、それぞれ独立したエッジ線として扱うこととする。図2(d)の例でいえばエッジ線は3本となる。
At this time, as shown by the
なお、特徴線にはエッジ線以外にも、例えば入力画像中のオブジェクトの領域の輪郭などが考えられる。ここでオブジェクトとは、文字や物体像等を指している。既に述べたように、入力画像の一部をベクトル化するという目的で、入力画像の一部が透過色に設定されている場合は、透過色と非透過色の境界に有る画素がオブジェクトの輪郭画素となる。オブジェクトの輪郭画素を1つの線分群にまとめる処理は、エッジ線構成処理と同様の処理に従って隣接する画素同士をつなぎ合わせることで実現できる。これは、入力画像内の異なる属性の領域の間の境界線にある画素についても同様である。 In addition to the edge line, for example, the contour of an object region in the input image can be considered as the feature line. Here, the object refers to a character, an object image, or the like. As already mentioned, for the purpose of vectorizing a part of the input image, if a part of the input image is set to transparent color, the pixel at the boundary between the transparent color and the non-transparent color is the outline of the object. It becomes a pixel. The process of combining the contour pixels of the object into one line segment group can be realized by connecting adjacent pixels according to the same process as the edge line configuration process. The same applies to pixels on the boundary line between regions having different attributes in the input image.
また、特徴線検出部1021は、入力画像を領域分割し、その境界線を特徴線としても良い。領域分割は最近傍法を用いたもの、EMアルゴリズムを利用したものなど、多くの手法が知られている。本実施形態では、濃度変化の基準として閾値を定めたうえでキャニー法を適用してエッジ画素を検出し、このエッジ画素を用いて特徴線を構成する。
The feature
図1に戻って、次に、特徴点抽出部1022は、特徴線上のサンプル点のうち、最終的に用いるサンプル点を特徴点として決定する。特徴点抽出部1022の動作について、図3,4を用いて説明する。
Returning to FIG. 1, next, the feature
図3(a)には、入力画像中のある領域で構成された特徴線を示している。特徴点抽出部1022は、この特徴線上に複数のサンプル点を設定する。このサンプル点は上記のエッジ画素であっても良い。
FIG. 3A shows a characteristic line configured by a certain area in the input image. The feature
ある区間における特徴線上のサンプル点群を図4(a)に示す。図4(a)において401〜405はサンプル点を示している。特徴線の端点を起点として隣接するサンプル点を順番に削除して近似関数を生成していく。
A sample point group on a characteristic line in a certain section is shown in FIG. In FIG. 4A,
先ず、図4(b)に示す如く、特徴線の端点であるサンプル点401を起点として、まずサンプル点402が削除され、サンプル点401とサンプル点403とを近似曲線の端点として、サンプル点402を近似するように近似曲線406を生成する。ここで近似関数は、3次のベジェ関数を最小自乗近似により生成しているが、B−スプライン関数など他の関数を用いても構わない。生成した近似曲線406と削除したサンプル点402との距離から誤差を計算し、誤差が閾値以内であれば次のサンプル点を削除する。本実施形態では、誤差の閾値は1画素としている。図4(b)では誤差が閾値以内であるとして、次の処理を説明する。
First, as shown in FIG. 4B, starting from the
図4(c)に示す如く、次に隣接したサンプル点403を削除して、サンプル点401とサンプル点404を近似曲線の端点として、サンプル点402とサンプル点403を近似するように近似曲線407を生成する。近似曲線407とサンプル点402、403との誤差を計算する。図4(c)では誤差が閾値以内であるとして、次の処理を説明する。
As shown in FIG. 4C, the next
図4(d)に示す如く、次に隣接したサンプル点404を削除して、サンプル点401とサンプル点405を近似曲線の端点としてサンプル点402、403、404を近似するように近似曲線408を生成する。近似曲線408とサンプル点402、403、404との誤差を計算する。ここで近似曲線408とサンプル点402、404との誤差が閾値を超えたとする。このとき近似曲線408は採用せず、前に生成された近似曲線407が有効な近似関数として採用される。
As shown in FIG. 4D, next, the
そしてこの場合は、図4(e)に示す如く、特徴線の端点であるサンプル点401を起点とし、サンプル点402、403は削除され、近似曲線407の端点であるサンプル点404を特徴点としてサンプリングする。すなわち、特徴線の端点であるサンプル点401とサンプル点405、特徴点としてサンプリングされたサンプル点404が第1の特徴点として採用される。ここで、サンプル点がより多いとき、サンプル点404を起点として同様の処理を繰り返して、特徴点を決定していく。以上の処理により、図2(c)のエッジ画素204、207のような特徴線の端点と図2(d)のエッジ画素208のような特徴線の交点に加え、特徴点が抽出される。図3(a)の特徴線に対し、最終的にサンプリングされた特徴点は、図3(b)の白丸301と星印302で示される通りである。もちろん画像の特徴を再現できるのであれば、特徴線の端点間を均等にサンプリングして特徴点とするなど他の方法を用いても構わない。
In this case, as shown in FIG. 4E, the
図1に戻って、曲線メッシュ生成部1023は、特徴線を再現可能に、入力画像を3頂点曲線メッシュ群に分割する。曲線メッシュ生成部1023が行う処理について、同処理のフローチャートを示す図5を用いて説明する。もちろん、図5のフローチャートに示した各ステップにおける処理の主体は何れも曲線メッシュ生成部1023である。
Returning to FIG. 1, the curved
先ず、ステップS501では、曲線化対象とする辺を設定する。ここでは、特徴点抽出部1022によって決定された特徴点において、特徴線上で隣接している特徴点間を結ぶ線分を曲線化対象とする辺として設定する。
First, in step S501, a side to be curved is set. Here, in the feature point determined by the feature
次に、ステップS502では、ステップS501で設定した辺を制約条件として制約付きドロネー三角形分割を利用することで、設定した辺がメッシュの辺となる3頂点直線メッシュ群を生成する。制約付きドロネー三角形分割は、点群と制約条件を与えると、与えられた点群を頂点とし、かつ制約条件を満たす直線メッシュを生成するアルゴリズムである。ここで制約条件とは点群の一部を結ぶ線分である。もちろん、設定した辺を再現する3頂点直線メッシュを生成することができるのであれば、他の方法を用いても良い。 Next, in step S502, by using the Delaunay triangulation with constraints using the side set in step S501 as a constraint condition, a three-vertex line mesh group in which the set side becomes a side of the mesh is generated. The constrained Delaunay triangulation is an algorithm that, when given a point group and a constraint condition, generates a straight line mesh with the given point group as a vertex and satisfying the constraint condition. Here, the constraint condition is a line segment connecting a part of the point group. Of course, other methods may be used as long as a three-vertex straight line mesh that reproduces the set side can be generated.
ステップS503では、曲線化対象となる全ての辺を曲線化したか否かを判断する。この判断の結果、曲線化対象となる全ての辺を曲線化したのであれば、図5のフローチャートに従った処理は完了し、曲線化対象となる辺のうちまだ曲線化していない辺が残っているのであれば、処理はステップS504に進む。 In step S503, it is determined whether or not all sides to be curved have been curved. As a result of the determination, if all the sides to be curved have been curved, the processing according to the flowchart of FIG. 5 is completed, and the sides that have not yet been curved remain among the sides to be curved. If yes, the process proceeds to step S504.
ステップS504では、曲線化対象となる辺のうちまだ曲線化してない辺を1つ選択する。そしてステップS505では、ステップS504で選択した辺を曲線化する。この曲線化では、特徴線を近似するようにメッシュの辺を曲線化する。本実施形態では特徴点抽出部1022で生成した3次のベジェ関数をそのままメッシュの辺として利用しているため、曲線を再計算する必要はない。図3(a)の特徴線に対してこのような3頂点曲線メッシュ群生成処理を行った結果を図6に示す。
In step S504, one side that has not yet been curved is selected from the sides to be curved. In step S505, the side selected in step S504 is curved. In this curving, the sides of the mesh are curved so as to approximate the feature line. In the present embodiment, the cubic Bezier function generated by the feature
ここまでの動作(処理)により、入力画像を、特徴線を表す3頂点曲線メッシュ群に分割することができる。なお、同様の目的を達成することができるのであれば、他の方法でもって「入力画像を、特徴線を表す3頂点曲線メッシュ群に分割」しても構わない。 Through the operation (processing) so far, the input image can be divided into a three-vertex curve mesh group representing a feature line. If the same purpose can be achieved, “the input image may be divided into three vertex curve mesh groups representing feature lines” by other methods.
図1に戻って、次に、最大色点数決定部103の動作について説明する。ここで、最大色点数決定部103の動作の説明を行うために、先に、3頂点曲線メッシュにおける形状情報と色情報とについて説明する。本実施形態では、それぞれの3頂点曲線メッシュを更に微小な3頂点からなるメッシュ(サブメッシュ)に分割し、分割したサブメッシュの頂点の画素の色を決定して、該頂点に割り当てる。レンダリングの際はそれらサブメッシュ内の色を双線形補間で補うことで、各メッシュの色を塗ることができる。
Returning to FIG. 1, the operation of the maximum color point
ここで、各メッシュを構成するために必要な形状情報と色情報について説明する。図7(a)は、3頂点から成り且つ3頂点間が曲線で結ばれている(何れの辺も曲線で表現されている)メッシュ(3頂点曲線メッシュ)に係る形状情報を示す。701、702、703は3頂点曲線メッシュの頂点、704〜709は3頂点曲線メッシュの制御点である。この形状情報は、曲線メッシュ生成部1023が3頂点曲線メッシュを生成する際に生成する。
Here, shape information and color information necessary for configuring each mesh will be described. FIG. 7A shows shape information relating to a mesh (three-vertex curve mesh) composed of three vertices and connected between three vertices by a curve (all sides are expressed by a curve).
図7(b)は、図7(a)に示した3頂点曲線メッシュに係る色情報を示す。710〜724は3頂点曲線メッシュ内におけるサブメッシュの頂点(色点)であり、それぞれの色点は色情報を有する。ここでは色点はRGB値を色情報として有しているものとして説明するが、CMYKなど他の色空間における色情報を有するものとしても良い。また、入力画像がグレー画像である場合、色点は、対応する画素の輝度情報を色情報として保持することになる。色点は、ベジェパッチを規則的に分割することで導出される。ここでは色点として15点を用いているが、ベジェパッチの分割数を変更し、色点数を変更しても構わない。例えば、図8(a)では分割数が1であり、色点の数は3となる。また図8(b)、(c)、(d)ではそれぞれ、分割数が2、4、8であり、色点の数は6、15、45点となる。
FIG. 7B shows color information relating to the three-vertex curve mesh shown in FIG.
なお、分割数は2の冪乗となっており、この冪数を分割指数と呼称したとすると、分割数が1、2、4、8、16、32、64と増えるのにつれて、分割指数はそれぞれ0、1、2、3、4、5、6と対応している。この分割指数と分割数、さらには、色点数の対応を図11に示す。図11において、分割指数を非負整数kとすると、分割数nはn=2k、色点数NはN=(n+1)(n+2)/2となっている。 The number of divisions is a power of 2. If this number is called a division index, the division index increases as the number of divisions increases to 1, 2, 4, 8, 16, 32, 64. Corresponding to 0, 1, 2, 3, 4, 5, 6 respectively. FIG. 11 shows the correspondence between the division index, the number of divisions, and the number of color points. In FIG. 11, when the division index is a non-negative integer k, the division number n is n = 2 k and the color point number N is N = (n + 1) (n + 2) / 2.
ここで、1つの3頂点曲線メッシュにおける色点の数は、入力画像において該3頂点曲線メッシュ内に含まれている部分画像における色変化の複雑さに応じて変化させるのが望ましい。すなわち、色変化がより複雑な3頂点曲線メッシュに対しては、より多くの色点を設定し、色変化が比較的複雑でない(単純な)部分画像に対応する3頂点曲線メッシュに対しては、最低限の数の色点を設定することが望ましい。このような3頂点曲線メッシュ毎の適応的な色点数の制御は、画質上、そしてデータ容量上望ましい。以下では、このような、3頂点曲線メッシュごとの色点数を適応的に決定しながら色点を設定する構成及び方法について説明する。 Here, it is desirable that the number of color points in one three-vertex curve mesh is changed according to the complexity of color change in the partial image included in the three-vertex curve mesh in the input image. That is, for a three-vertex curve mesh that has a more complex color change, set more color points, and for a three-vertex curve mesh that corresponds to a partial image whose color change is relatively complex (simple). It is desirable to set a minimum number of color points. Such adaptive control of the number of color points for each three-vertex curve mesh is desirable in terms of image quality and data capacity. Hereinafter, a configuration and a method for setting color points while adaptively determining the number of color points for each three-vertex curve mesh will be described.
最大色点数決定部103は、それぞれの3頂点曲線メッシュに対して、該3頂点曲線メッシュ内の色を表現する色点の最大数である最大色点数N(初期値)を設定する。最大色点数Nの設定方法には様々な方法が考え得る。本実施形態では、それぞれの3頂点曲線メッシュに共通の最大色点数Nとして予め定められた数を設定する。以下では具体的な説明を行うためにN=45とするが、Nが他の数であっても、以下の説明は同様に適用可能である。なお、最大色点数N=45とした場合、図8(d)に示す如く、分割数n=8、分割指数k=3となる(図11参照)。図7(c)は、色点数が45の場合の3頂点曲線メッシュの色情報を示す。図7(b)と同様に、図中の色点730〜774について、それぞれ色情報を持つ。ただし、図7(c)中の45点全てに番号を付与すると図が煩雑になるため、図7(b)に比し大きな図として表現し、かつ、そのうちの27点のみに参照番号を付与してある。
The maximum color point
次に、色点候補位置設定部104は、それぞれの3頂点曲線メッシュについて、該3頂点曲線メッシュ内のそれぞれの色点(45個)の位置(座標)を求める。この処理のために、先に述べた、P1、P2、P3を頂点とする3頂点曲線メッシュ(3次のベジェパッチ)内の点の位置を規定するための式である上記の式1、式2を用いる。図7(a)を例にとると、3頂点曲線メッシュの頂点701、702、703がそれぞれP1、P2、P3であり、それらの座標が、それぞれp1、p2、p3である。また、3頂点曲線メッシュの制御点704〜709の座標が、それぞれ順にc1、c2、c3、c4、c5、c6である。式1におけるパッチのパラメータs、t、uを、これらのパラメータの値が取り得る範囲を制限している条件内で、それぞれ変化させた組み合わせに応じて求まるB(s,t,u)を各色点の位置の座標とする。
Next, the color point candidate
例えば、図7(b)の場合、即ち、分割数が4の場合であれば、s、t、uの値をそれぞれ、それらのとりうる範囲である0〜1を4等分した値である1/4ずつ変化させて、かつ、s+t+u=1の制限をみたす組み合わせに応じてB(s,t,u)を求める。
For example, in the case of FIG. 7B, that is, when the number of divisions is 4, the values of s, t, and u are values obtained by equally dividing the
B(1,0,0)が色点710の位置(座標)となり、B(3/4,1/4,0)とB(3/4,0,1/4)がそれぞれ色点711と712の位置(座標)となる。また、B(1/2,1/2,0)、B(1/2、1/4、1/4)、B(1/2,0,1/2)がそれぞれ色点713、714、715の位置(座標)となる。以下、同様に、色点716、717、718、719の位置(座標)は、B(1/4,3/4,0)、B(1/4,1/2,1/4)、B(1/4,1/4,1/2)、B(1/4,0,3/4)となる。また、色点720、721、722、723、724の位置(座標)は、B(0,1,0)、B(0,3/4,1/4)、B(0,1/2,1/2)、B(0,1/4,3/4)、B(0,0,1)となる。
B (1, 0, 0) is the position (coordinate) of the
ところで、最大色点数N=45の場合は、図7(c)に対応しており、分割数n=8であるから、s、t、uの値は1/8ずつ変化させることになる。色点730、731、733、736、740、745、751、758、766のそれぞれの位置(座標)は、u=0、s=1−(i/8)、t=i/8、但し、i=0,1,2,・・・,8でのB(s,t,0)として求まる。色点730、732、735、739、744、750、757、765、774のそれぞれの位置(座標)なら、t=0、s=1−(i/8)、u=i/8、但し、i=0,1,2,・・・,8でのB(s、0、u)となる。色点766、767、768、769、770、771、772、773、774の位置(座標)なら、s=0、t=1−(i/8)、u=i/8、但し、i=0,1,2,・・・,8でのB(0,t,u)である。また、色点733、734,735の3点であれば、いずれの位置(座標)も、s=3/4であって、それぞれ、B(3/4,1/4,0)、B(3/4,1/8,1/8)、B(3/4,0,1/4)である。色点753の位置(座標)であれば、色点751の位置(座標)がB(1/4,3/4,0)、色点757の位置(座標)がB(1/4,0,3/4)であるのに対し、B(1/4,1/2,1/4)となる。色点763の位置(座標)であれば、色点758の位置(座標)がB(1/8,7/8,0)、色点765の位置(座標)がB(1/8,0,7/8)であるのに対し、B(1/8,1/4,5/8)となる。
Incidentally, when the maximum number of color points N = 45 corresponds to FIG. 7C and the number of divisions n = 8, the values of s, t, and u are changed by 1/8. The respective positions (coordinates) of the color points 730, 731, 733, 736, 740, 745, 751, 758, 766 are u = 0, s = 1- (i / 8), t = i / 8, It is obtained as B (s, t, 0) at i = 0, 1, 2,. If the positions (coordinates) of the color points 730, 732, 735, 739, 744, 750, 757, 765, 774 are t = 0, s = 1- (i / 8), u = i / 8, B (s, 0, u) at i = 0, 1, 2,. For the positions (coordinates) of the color points 766, 767, 768, 769, 770, 771, 772, 773, 774, s = 0, t = 1- (i / 8), u = i / 8, where i = B (0, t, u) at 0, 1, 2,. In addition, if there are three
かくの如く、一般に分割数がnである場合、s、t、uの値をそれぞれ0から1まで1/nずつ変化させ、s+t+u=1の制限をみたす、N=(n+1)(n+2)/2通りの組み合わせに応じてB(s,t,u)を求めることで、(n+1)(n+2)/2個のそれぞれの色点の位置(座標)を求めることができる。s=1−(j/n)、但し、j=0,1,2,・・・,n、のそれぞれのjに対し、t+u=j/nをみたすtとuの組み合わせは、1+(n−j)通りある。即ち、B(1−(j/n),t,u)は1+(n−j)個ある。結局、分割数nのときは、s+t+u=1を満たすs,t,uの組み合わせは、(n+1)+n+(n−1)+(n−2)+・・・+2+1=(n+1)(n+2)/2=N通り存在する。これら(n+1)(n+2)/2=N個のB(s,t,u)が、最大色点数N=(n+1)(n+2)/2個の各色点の座標を与える。 Thus, in general, when the number of divisions is n, the values of s, t, and u are each changed by 1 / n from 0 to 1, and the limit of s + t + u = 1 is satisfied. N = (n + 1) (n + 2) / By obtaining B (s, t, u) according to two combinations, the positions (coordinates) of (n + 1) (n + 2) / 2 color points can be obtained. s = 1− (j / n), where for j = 0, 1, 2,..., n, the combination of t and u satisfying t + u = j / n is 1+ (n -J) There are streets. That is, there are 1+ (n−j) B (1− (j / n), t, u). After all, when the number of divisions is n, the combination of s, t, u satisfying s + t + u = 1 is (n + 1) + n + (n−1) + (n−2) +... + 2 + 1 = (n + 1) (n + 2) / 2 = N ways exist. These (n + 1) (n + 2) / 2 = N B (s, t, u) give the coordinates of the maximum number of color points N = (n + 1) (n + 2) / 2.
なお、3頂点曲線メッシュは必ずしも、全ての頂点間が曲線であるわけではなく、一般的には、直線となる頂点間が存在する。例えば、頂点P1と頂点P2との間が直線の場合には、上記の図7(a)において、頂点701(P1)と頂点702(P2)とを結ぶ辺が直線となる。この場合には制御点704と制御点705がこの直線上にあり、それらの座標c1、c2がそれぞれ
c1=(2p1+p2)/3 (式3)
c2=(p1+2p2)/3 (式4)
であるとして、上述の(式1)、(式2)により求めれば良い。
It should be noted that the three-vertex curve mesh does not necessarily have a curve between all vertices, and generally there exists a vertex that is a straight line. For example, if the vertex P1 and the vertex P2 are a straight line, the side connecting the vertex 701 (P1) and the vertex 702 (P2) in FIG. 7A is a straight line. In this case, the
c2 = (p1 + 2p2) / 3 (Formula 4)
As described above, the above-described (Expression 1) and (Expression 2) may be used.
加えて、頂点P3と頂点P1との間も直線の場合、即ち、頂点P2と頂点P3との間のみが曲線である場合には、さらに制御点708と制御点709がこの頂点P3と頂点P1との間の直線上にあり、それらの座標c5、c6がそれぞれ
c5=(2p3+p1)/3 (式5)
c6=(p3+2p1)/3 (式6)
であるとして、上述の(式1)、(式2)により求めれば良い。
In addition, when the vertex P3 and the vertex P1 are also straight lines, that is, when only the vertex P2 and the vertex P3 are curved, the
c6 = (p3 + 2p1) / 3 (Formula 6)
As described above, the above-described (Expression 1) and (Expression 2) may be used.
さらに、頂点P2と頂点P3との間もまた直線の場合、即ち、全ての頂点間が直線である場合には、制御点706と制御点707が、頂点P2と頂点P3との間の直線上にあり、それらの座標c3、c4がそれぞれ
c3=(2p2+p3)/3 (式7)
c4=(p2+2p3)/3 (式8)
であるとして、上述の(式1)、(式2)により求めれば良い。しかし、上述の(式1)、(式2)に、(式3)〜(式8)の条件を加え、かつ、s+t+u=1であること等を基に(式1)、(式2)を簡素化すると、
B(s,t,u)=s・p1+t・p2+u・p3 (式9)
が得られるので、3頂点曲線メッシュの全ての頂点間が直線である場合には、上記(式9)に基づいて各色点の位置(座標)を求めても良い。この場合には、上記(式1)、(式2)を用いるよりも、はるかに少ない演算量で各色点の位置(座標)を求めることができる。
Further, when the vertex P2 and the vertex P3 are also straight lines, that is, when all the vertices are straight lines, the
c4 = (p2 + 2p3) / 3 (Formula 8)
As described above, the above-described (Expression 1) and (Expression 2) may be used. However, (Formula 1) and (Formula 2) are added based on the conditions of (Formula 3) to (Formula 8) to the above (Formula 1) and (Formula 2) and s + t + u = 1. Simplify
B (s, t, u) = s.p1 + t.p2 + u.p3 (Formula 9)
Therefore, when all the vertices of the three-vertex curve mesh are straight lines, the position (coordinate) of each color point may be obtained based on the above (Equation 9). In this case, the position (coordinates) of each color point can be obtained with a much smaller calculation amount than when using the above (Expression 1) and (Expression 2).
図1に戻って、次に色情報抽出部105は、それぞれの3頂点曲線メッシュについて、該3頂点曲線メッシュ内のそれぞれの色点の色情報を取得する。3頂点曲線メッシュにおける45個の色点のそれぞれの座標は色点候補位置設定部104が求めたのであるから、色情報抽出部105は、入力画像において該色点の座標における画素値を該色点の色情報として取得する。なお、色点候補位置設定部104が求めた座標は必ずしも整数値とはならずに、一般には入力画像中の画素の中心位置からずれる。この画素の中心位置からのずれに対しては、いわゆる最近傍(nearest neighbor)法と称される補間法、即ち、座標の小数部を四捨五入して整数化し、該当する位置の入力画像の画素の画素値をもって、該色点の色情報とすることで対処する。なお、補間法は、最近傍法に限らない。座標の小数部の示す入力画像上の位置を取り囲む周囲4画素の画素値を用いて、公知の双線形(bi-linear)補間法により求めた補間値をもって該色点の色情報としてもよい。また近傍16画素を用いた公知のbi-cubic補間法による補間値を用いてももちろん良い。最近傍法よりは、双線形補間法、双線形補間法よりはbi-cubic補間法の方が、より高画質であるとされているが、一方で、計算量はこの順で増加し、画質と演算量の間にはトレードオフがある。
Returning to FIG. 1, the color
次に、許容値設定部106の動作を説明する。上述のように、3頂点曲線メッシュにおける色点は、その数が少なければデータ容量は少なくて済むが、一方で3頂点曲線メッシュ内に含まれている画像の色変化の複雑さをなるべく忠実に再現できるようにするには多数の色点をもって表現する必要がある。このため、色点数を必要以上に削減すると、再現画像は元の画像に比して画質劣化が大きくなる。許容値設定部106は、色点数の削減を図る上で、必要以上の削減を抑えるための基準とする値としての誤差許容値を定める。本実施形態では、許容値設定部106は、最大色点数における色点一点当たりの誤差値の許容閾値を固定値Thとして設定する。例えば、Th=1.0とする。この値は、以降の許容色点情報生成部107内の判定部1074で用いられることになる。
Next, the operation of the allowable
許容色点情報生成部107は、3頂点曲線メッシュごとに、該3頂点曲線メッシュに設定すべき色点を確定するものであり、色点候補削減部1071、色情報補間部1072、誤差生成部1073、判定部1074、色点情報確定部1075、を有する。以下では、1つの3頂点曲線メッシュに対する許容色点情報生成部107の動作について説明する。然るに、実際には、許容色点情報生成部107は、以下に説明する処理をそれぞれの3頂点曲線メッシュについて行うことになる。
The permissible color point information generation unit 107 determines a color point to be set for the three-vertex curve mesh for each three-vertex curve mesh, and includes a color point
色点候補削減部1071は、最大色点数決定部103が設定した最大色点数Nに対応する分割指数をkとすると、分割指数(k−1)に対応する数の色点の3頂点曲線メッシュ内の位置を、色点候補位置設定部104と同様にして求める。例えばN=45の場合、上記の通りk=3であるから、k=2に対応する15個の色点(図7(b)に示した色点710〜724)のそれぞれの位置を求める。そして、色点候補削減部1071は、分割指数kに対応する数(最大色点数)の色点のうち、分割指数(k−1)に対応する数の色点と、その位置が異なる色点を、削減候補色点として決定する。なお、「色点間で位置が同じ」とは、「全く同じ」、ということに限るものではなく、位置の差が許容範囲内であれば「同じ」として構わない。色点候補削減部1071の動作を、図10を例にとり説明する。図10では説明を簡単にするために頂点間の辺を直線としているが、頂点間の辺が曲線であっても、以下の説明は同様に適用することができる。
The color point
図10(a)は、分割数=1である場合、すなわち分割指数が0である場合における色点を示しており、この場合、色点の数は3となる。図10(b)は、分割数=2である場合、すなわち分割指数が1である場合における色点を示しており、この場合、色点の数は6となる。図10(c)は、分割数=4である場合、すなわち分割指数が2である場合における色点を示しており、この場合、色点の数は15となる。図10(d)は、分割数=8である場合、すなわち分割指数が3である場合における色点を示しており、この場合、色点の数は45となる。なお、図10(d)は、図10(a)〜(c)に比して大きく表現してある。これは、図7(c)の場合と同様に、45点もの色点を図中に表記すると、図10(a)〜(c)の色点の表現に比し、図が込み入ったものとなり、見づらくなってしまわないようにするためである。 FIG. 10A shows color points when the number of divisions = 1, that is, when the division index is 0. In this case, the number of color points is three. FIG. 10B shows color points when the number of divisions = 2, that is, when the division index is 1. In this case, the number of color points is six. FIG. 10C shows color points when the number of divisions = 4, that is, when the division index is 2. In this case, the number of color points is 15. FIG. 10D shows the color points when the number of divisions is 8, that is, when the division index is 3, and in this case, the number of color points is 45. In addition, FIG.10 (d) is expressed large compared with Fig.10 (a)-(c). As in the case of FIG. 7C, when 45 color points are shown in the figure, the figure is more complicated than the expression of the color points in FIGS. 10A to 10C. This is to prevent it from becoming difficult to see.
ここで、図10(a)に示す如く、分割数=1の場合における3個の色点は白丸で示している。図10(b)では、分割数=2の場合における6個の色点を示しているが、図10(a)に示した色点と同じ色点は白丸で示しており、図10(a)に示した色点と異なる色点は二重丸で示している。図10(c)では、分割数=4の場合における15個の色点を示しているが、図10(a)に示した色点と同じ色点は白丸、図10(b)に示した色点と同じ色点は二重丸で示しており、図10(a)、(b)に示した色点と異なる色点は黒丸で示している。図10(d)では、分割数=8である場合における45個の色点を示しているが、図10(a)に示した色点と同じ色点は白丸、図10(b)に示した色点と同じ色点は二重丸、図10(c)に示した色点と同じ色点は黒丸で示しており、図10(a)、(b)、(c)に示した色点と異なる色点は星形で示している。 Here, as shown in FIG. 10A, the three color points when the number of divisions = 1 are indicated by white circles. FIG. 10B shows six color points in the case where the number of divisions = 2, but the same color points as those shown in FIG. 10A are indicated by white circles, and FIG. Color points different from the color points shown in FIG. FIG. 10 (c) shows 15 color points when the number of divisions = 4. The same color points as those shown in FIG. 10 (a) are shown as white circles, and FIG. 10 (b). The same color point as the color point is indicated by a double circle, and the color point different from the color point shown in FIGS. 10A and 10B is indicated by a black circle. FIG. 10D shows 45 color points when the number of divisions is 8, but the same color points as those shown in FIG. 10A are indicated by white circles and FIG. 10B. The same color point as that shown in FIG. 10C is indicated by a double circle, and the same color point as that shown in FIG. 10C is indicated by a black circle. The colors shown in FIG. 10A, FIG. 10B, and FIG. Color points that are different from the dots are shown as stars.
上記の通り、色点候補削減部1071は、最大色点数決定部103が設定した最大色点数Nに対応する分割指数をkとすると、分割指数kに対応する数(最大色点数)の色点のうち、分割指数(k−1)に対応する数の色点と、その位置が異なる色点を、削減候補色点として決定する。最大色点数N=45の場合、3頂点曲線メッシュにおける45個の色点の配置は図10(d)のようになり、分割指数=2に対応する15個の色点の3頂点曲線メッシュ内における配置は図10(c)のようになり、図10(d)に示した色点のうち図10(c)に示した色点と位置が異なる色点は、色点1005や色点1006など、星形で示した色点であるから、この場合、色点候補削減部1071は、星形の色点を削減候補色点として決定することになる。
As described above, the color point
なお、詳しくは後述するが、本実施形態では、削減候補色点として決定した色点を削除しても3頂点曲線メッシュの画質が基準以上であると判定部1074が判断した場合には、色点候補削減部1071は、削減候補色点として決定しなかった色点から更に削減候補色点を決定する。例えば、図10(d)に示す如く、3頂点曲線メッシュに45個の色点を設定した状態で色点候補削減部1071が処理を開始し、その結果、星形の色点を削除しても3頂点曲線メッシュの画質が基準以上であると判定部1074が判断した場合には、この星形の色点を削除し、その結果、3頂点曲線メッシュ上の色点は図10(c)に示す如く、15個となる。そして色点候補削減部1071は、同様の処理を行うことで、この15個の色点のうち、図10(b)の6個の色点と位置が異なる色点(黒丸の色点)を削減候補色点として決定する。そして、黒丸の色点を削除しても3頂点曲線メッシュの画質が基準以上であると判定部1074が判断した場合には、この黒丸の色点を削除し、その結果、3頂点曲線メッシュ上の色点は図10(b)に示す如く、6個となる。
Although details will be described later, in this embodiment, if the
図1に戻って、色情報補間部1072は、3頂点曲線メッシュにおいて色点候補削減部1071が削減候補色点として決定した色点の色情報を、該3頂点曲線メッシュにおいて削減候補色点として決定されなかった色点の色情報から補間により求める。例えば、図10(d)において星形の色点を削減候補色点として決定した場合、星形の色点の色情報を、白丸の色点、二重丸の色点、黒丸の色点等の色情報を用いて補間により求める(例えば、それぞれの星型の色点に対し、白丸の色点、二重丸の色点、黒丸の色点の中の最も近い2つの色点の色情報の平均値を、該星形の色点の色情報とする)。より具体的には、図10(d)の場合、色点1005の色情報は、色点1001の色情報と色点1004の色情報との平均値とし、色点1006の色情報は、色点1004の色情報と色点1003の色情報との平均値とする。これは、色点1005は、色点1001と色点1004との間の辺上の中間にあり、色点1006は、色点1004と色点1003との間の辺の中間にあることから、容易に理解できる。
Returning to FIG. 1, the color
また、星型の色点に加えて、黒丸の色点も削減候補色点と決定した場合には、黒丸の色点の色情報を、削減候補色点とはなっていない白丸の色点の色情報、二重丸の色点の色情報から補間して求める(例えば、それぞれの黒丸の色点に対し、白丸の色点、二重丸の色点の中の最も近い2つの色点の色情報の平均値を、該黒丸の色点の色情報とする)。図10(c)に着目すると、例えば、色点1004の色情報は、色点1001の色情報と色点1003の色情報との平均値とする。これは、色点1004は、色点1001と色点1003との間の辺上の中間にあることから、容易に理解できる。黒丸の色点の色情報を求めた後は、白丸の色点、二重丸の色点に加え、補間により色情報を求めた黒丸の色点をも用いて、上述の方法と同様に星形の色点の色情報を補間により求める。
In addition to the star-shaped color point, when the black circle color point is also determined as the reduction candidate color point, the color information of the black circle color point is used for the white circle color point that is not the reduction candidate color point. It is obtained by interpolation from the color information and the color information of the double-circle color point (for example, for each black-circle color point, the two round-point color points of the white-circle and double-circle color points The average value of the color information is set as the color information of the color point of the black circle). Focusing on FIG. 10C, for example, the color information of the
以下同様に、星型の色点、黒丸の色点に加えて、二重丸の色点も削減候補色点である場合には、まず、二重丸の色点の色情報を、削減候補色点とはなっていない白丸の色点の色情報から補間して求める。図10(b)に着目すると、例えば、色点1003の色情報は、色点1001の色情報と色点1002の色情報の平均値とする。これは、色点1003は、色点1001と色点1002との間の辺上の中間にあることから、容易に理解できる。
Similarly, in the case where the double-circle color point is also a reduction candidate color point in addition to the star-shaped color point and the black circle color point, the color information of the double-circle color point is first displayed as the reduction candidate. It is obtained by interpolation from the color information of the white circle color point that is not the color point. Focusing on FIG. 10B, for example, the color information of the
ここで、ある分割指数kw(0<kw<k、但し、kは最大色点数に対応する分割指数で、以下、最大分割指数とも称する)における数の色点のうち削減候補色点として決定した色点に着目する。削減候補色点の位置B(l1,m1,q1)における色情報を、その最近傍にある削減候補色点ではない色点のうちの2つの色情報(B(l0,m0,q0)における位置の色情報、B(l2,m2,q2)における位置の色情報)の平均値とする。ただし、l1、m1、q1において、l0=l1=l2、m0=m1=m2、q0=q1=q2、のいずれか一つ、かつ、そのひとつのみが成立している。また、成立しなかった2つも含めて、l1=(l0+l2)/2、m1=(m0+m2)/2、q1=(q0+q2)/2が成立している。 Here, the number of color points in a certain division index kw (0 <kw <k, where k is a division index corresponding to the maximum number of color points, hereinafter also referred to as the maximum division index) is determined as a reduction candidate color point. Focus on color points. The color information at the position B (l1, m1, q1) of the reduction candidate color point is the position in the color information (B (l0, m0, q0) of two color points that are not the reduction candidate color points in the nearest vicinity. Color information, color information of position in B (l2, m2, q2)). However, in l1, m1, and q1, only one of l0 = l1 = l2, m0 = m1 = m2, and q0 = q1 = q2 is established. Further, including the two not established, l1 = (l0 + l2) / 2, m1 = (m0 + m2) / 2, and q1 = (q0 + q2) / 2 are established.
次に、誤差生成部1073は、色点候補削減部1071が削減候補色点として決定したそれぞれの色点について、色情報補間部1072が該色点について補間により求めた色情報と、色情報抽出部105が該色点について入力画像から取得した色情報と、の差分(誤差)を求める。差分を求める方法には様々な方法が考え得るが、ここでは一例として、削減候補色点として決定した色点ごとに、色情報補間部1072が該色点について補間により求めた色情報と、色情報抽出部105が該色点について入力画像から取得した色情報と、の差の二乗を上記の「差分」として求める。そして、誤差生成部1073は、削減候補色点として決定したそれぞれの色点について求めた差分の総和を最大色点数で割り、最大色点数に基づく、色点一点当たりの誤差値θk−1(差分二乗値)を求める。なお、削減候補点ではない色点に関しては、差分は0となるため、前述の最大色点数に基づく、色点一点当たりの誤差値θk−1に影響を与えない。
Next, for each color point determined by the color point
次に、判定部1074は、誤差生成部1073が求めた「色点一点当たりの誤差値θk−1」と、許容値設定部106が設定した誤差許容値(固定値Th)と、の大小比較を行い、誤差値θk−1が誤差許容値よりも小さいか否かを判断する。この判断の結果、誤差値θk−1が誤差許容値よりも小さい場合には、削減候補色点数をさらに増やすことができると判断し、最大色点数Nの色点から更に削減候補色点を決定させるべく、色点候補削減部1071以降に動作を行わせる。
Next, the
これにより、色点候補削減部1071は、最大色点数決定部103が設定した最大色点数Nに対応する分割指数をkとすると、分割指数(k−2)に対応する数の色点の3頂点曲線メッシュ内の位置を、色点候補位置設定部104と同様にして求める。そして、色点候補削減部1071は、分割指数kに対応する数(最大色点数)の色点のうち非削減候補色点(すなわち、分割指数(k−1)に対応する数の色点)を対象とし、該対象とする非削減候補色点のうち、分割指数(k−2)に対応する数の色点と、その位置が異なる色点を、削減候補色点として決定する。そして、色情報補間部1072は、3頂点曲線メッシュにおいて色点候補削減部1071が削減候補色点として決定した色点の色情報を、該3頂点曲線メッシュにおいて削減候補色点として決定されなかった色点の色情報から補間により求める。そして誤差生成部1073は、色点候補削減部1071が削減候補色点として決定した色点一点当たりの誤差値θk−2(差分二乗値)を求める。判定部1074は、誤差値θk−2と誤差許容値(固定値Th)との大小比較を行い、誤差値θk−2が誤差許容値よりも小さい場合には、削減候補色点数をさらに増やすことができると判断し、色点候補削減部1071に対して、最大色点数Nの色点から更に削減候補色点を決定させるべく、色点候補削減部1071以降に動作を行わせる。
Accordingly, the color point
このように、色点候補削減部1071、色情報補間部1072、誤差生成部1073による「誤差値θk−m(mは1以上の整数)を求める」処理を、m=1,2,…について行い、誤差値θk−l(1≦l≦k)が誤差許容値以上となった時点で、判定部1074は、削減候補色点数をさらに増やすことは適切ではないと判断し、その旨を色点情報確定部1075に通知する。
In this way, the process of “determining the error value θ k−m (m is an integer equal to or greater than 1)” by the color point
色点情報確定部1075は、直前に吟味した分割指数(上記の例の場合、(k−m))では、適切な条件が維持できなくなることが判明したために動作がここに移されてきたことを考慮する。即ち、直前に吟味した分割指数より1だけ大きな分割指数を、3頂点曲線メッシュにおける適切な分割数(以下、最終分割数と称する)として扱う。この最終分割数に対応する色点数での色点の位置とそれら位置での色情報をもって、該3頂点曲線メッシュにおける色点情報とする。そして、メッシュ生成部102で生成した全ての3頂点曲線メッシュについて色点情報の生成を完了していれば、色点情報確定部1075は、その旨をメッシュ情報出力部108に通知する。一方、未だ色点情報を生成していない3頂点曲線メッシュが残っている場合には、色点情報確定部1075は、色点情報が未確定の3頂点曲線メッシュを対象として、最大色点数決定部103以降の動作を行わせる。
The color point
メッシュ情報出力部108では、以上説明した動作で求められた3頂点曲線メッシュの数と各3頂点曲線メッシュの頂点に関する情報や、各3頂点曲線メッシュにおける色点数や色点の位置、それらの位置における色情報等を含むメッシュ情報を出力する。即ち、これまでの処理で得られた3頂点曲線メッシュの情報をベクトル情報として出力する。
In the mesh
図1の最大色点数決定部103以降の各機能部による処理について、図9のフローチャートを用いて説明する。なお、図9のフローチャートに従った処理は、1つの3頂点曲線メッシュに対する処理であるから、実際には、図9のフローチャートに従った処理は、メッシュ生成部102が生成したそれぞれの3頂点曲線メッシュに対して行われることになる。また、図9のフローチャートに従った処理は、以上説明した処理と異なる部分があるが、何れも実質的には同じ処理である。
Processing by each functional unit after the maximum color point
<ステップS9010>
最大色点数決定部103は、3頂点曲線メッシュの最大分割指数を設定する。ここでは最大分割指数=3とする。
<Step S9010>
The maximum color point
<ステップS9020>
最大色点数決定部103は、ステップS9010で設定した最大分割指数に対応する最大色点数Nを設定する。最大分割指数=3の場合、図11からN=45となる。次に、色点候補位置設定部104は、3頂点曲線メッシュ内における45個の色点のそれぞれの位置(座標)を求め、色情報抽出部105は、45個の色点のそれぞれの位置における色情報を、入力画像から取得する。
<Step S9020>
The maximum color point
<ステップS9030>
許容値設定部106は、色点数の削減を図る上で、必要以上の削減を抑えるための基準とする値としての誤差許容値Thを定める。ここではTh=1.0とする。
<Step S9030>
The allowable
<ステップS9040>
色点候補削減部1071は、現在分割数を示す変数Aに、ステップS9010で設定した最大分割指数=3を設定する。
<Step S9040>
The color point
<ステップS9050>
色点候補削減部1071は、直前分割数を示す変数Bに、変数Aの値を設定する。
<Step S9050>
The color point
<ステップS9060>
色点候補削減部1071は、変数Aの値を1つデクリメントする。
<Step S9060>
The color point
<ステップS9070>
色点候補削減部1071は、変数Aの値が0以上であるか否かを判断する。この判断の結果、変数Aの値が0以上である場合には、処理はステップS9080に進み、変数Aの値が0未満である場合には、処理はステップS9120に進む。
<Step S9070>
The color point
<ステップS9080>
色点候補削減部1071は、分割指数Aに対応する数の色点の3頂点曲線メッシュ内の位置を、色点候補位置設定部104と同様にして求める。そして、色点候補削減部1071は、分割指数Bに対応する数の色点のうち、分割指数Aに対応する数の色点と、その位置が異なる色点を、削減候補色点として決定する。
<Step S9080>
The color point
<ステップS9090>
色情報補間部1072は、3頂点曲線メッシュにおいて色点候補削減部1071が削減候補色点として決定した色点の色情報を、該3頂点曲線メッシュにおいて削減候補色点として決定されなかった色点の色情報から補間により求める。
<Step S9090>
The color
<ステップS9100>
誤差生成部1073は、色点候補削減部1071が削減候補色点として決定したそれぞれの色点について、色情報補間部1072が該色点について補間により求めた色情報と、色情報抽出部105が該色点について入力画像から取得した色情報と、の差分を求める。そして、誤差生成部1073は、削減候補色点として決定したそれぞれの色点について求めた差分の総和を最大色点数で割り、最大色点数に基づく、色点一点当たりの誤差値θk−1(差分二乗値)を求める。
<Step S9100>
For each color point determined by the color point
<ステップS9110>
判定部1074は、誤差値θk−1が誤差許容値よりも小さいか否かを判断する。この判断の結果、誤差値θk−1が誤差許容値よりも小さい場合には、処理はステップS9050に進み、誤差値θk−1が誤差許容値以上である場合には、処理はステップS9120に進む。
<Step S9110>
The
<ステップS9120>
色点情報確定部1075は、最終分割数Bに対応する色点数での色点の位置とそれら位置での色情報をもって、該3頂点曲線メッシュにおける色点情報とする。もちろん、色点情報には、色点に係る他の情報を含めても良い。
<Step S9120>
The color point
<第1の実施形態の変形例>
図1に示した各部はハードウェアで構成しても良いが、ソフトウェア(コンピュータプログラム)として実装しても良い。この場合、このソフトウェアは、PC(パーソナルコンピュータ)等、一般のコンピュータのメモリにインストールされることになる。そしてこのコンピュータのCPUがこのインストールされたソフトウェアを実行することで、このコンピュータは、上述の画像処理装置の機能(図1に示した各部の機能)を実現することになる。即ち、このコンピュータは、上述の画像処理装置に適用することができる。図12を用いて、第1の実施形態に係る画像処理装置として適用可能なコンピュータのハードウェア構成例について説明する。
<Modification of First Embodiment>
Each unit shown in FIG. 1 may be configured by hardware, but may be implemented as software (computer program). In this case, the software is installed in a memory of a general computer such as a PC (personal computer). When the CPU of the computer executes the installed software, the computer realizes the functions of the above-described image processing apparatus (functions of each unit illustrated in FIG. 1). That is, this computer can be applied to the above-described image processing apparatus. A hardware configuration example of a computer applicable as the image processing apparatus according to the first embodiment will be described with reference to FIG.
CPU1501は、RAM1502やROM1503に格納されているコンピュータプログラムやデータを用いて処理を実行することで、コンピュータ全体の動作制御を行うと共に、画像処理装置が行うものとして説明した上述の各処理を実行若しくは制御する。即ち、図1に示した各部が行うものとして上述した各処理を実行若しくは制御する。
The
RAM1502は、外部記憶装置1507や記憶媒体ドライブ1508からロードされたコンピュータプログラムやデータ、I/F(インターフェース)1509を介して外部装置から受信したデータなどを一時的に記憶するためのエリアを有する。更に、RAM1502は、CPU1501が各種の処理を実行する際に用いるワークエリアを有する。即ち、RAM1502は、各種のエリアを適宜提供することができる。ROM1503には、コンピュータの設定データや、ブートプログラムなどが格納されている。
The
キーボード1504、マウス1505は、コンピュータの操作者が操作することで、各種の指示をCPU1501に対して入力することができるユーザインターフェースの一例である。例えば、上記の最大分割指数等、設定するものとして説明した各種の情報は、ユーザがキーボード1504やマウス1505を操作することで入力しても構わない。
A
表示装置1506は、CRTや液晶画面などにより構成されており、CPU1501による処理結果を画像や文字などをもって表示することができる。例えば、上記入力画像を表示したり、3頂点曲線メッシュ群などを表示したりすることができる。
The
外部記憶装置1507は、ハードディスクドライブ装置に代表される大容量情報記憶装置である。外部記憶装置1507には、OS(オペレーティングシステム)や、図1に示した各部の機能をCPU1501に実現させるためのコンピュータプログラムやデータ、上記入力画像のデータ、既知の情報として説明した情報等が保存されている。外部記憶装置1507に保存されているコンピュータプログラムやデータは、CPU1501による制御に従って適宜RAM1502にロードされ、CPU1501による処理対象となる。
The
記憶媒体ドライブ1508は、CD−ROMやDVD−ROMなどの記憶媒体に記録されているコンピュータプログラムやデータを読み出し、該読み出したコンピュータプログラムやデータを外部記憶装置1507やRAM1502に出力する。なお、外部記憶装置1507に保存されているものとして説明した情報の一部若しくは全部をこの記憶媒体に記録させておき、この記憶媒体ドライブ1508に読み取らせても良い。
The
I/F1509は、外部装置をコンピュータに接続する為のものである。例えば、ディジタルカメラなど、上記入力画像を取得するための装置を、このI/F1509に接続し、この装置から入力画像をI/F1509を介してRAM1502や外部記憶装置1507に取得するようにしても良い。1510は、上述の各部を繋ぐバスである。
The I /
上述構成において、本コンピュータの電源がONになると、CPU1501はROM1503に格納されている上記ブートプログラムに従って、外部記憶装置1507からOSをRAM1502にロードする。この結果、キーボード1504、マウス1505を介した情報入力操作が可能となり、表示装置1506にGUIを表示することが可能となる。ユーザが、キーボード1504やマウス1505を操作し、外部記憶装置1507に格納された画像処理用アプリケーションプログラムの起動指示を入力すると、CPU1501はこのプログラムをRAM1502にロードし、実行する。これにより、本コンピュータが上記の画像処理装置として機能することになる。
In the above configuration, when the computer is turned on, the
CPU1501が実行する画像処理用のアプリケーションプログラムは、基本的に図1の各処理部、及び、図9の各ステップに示す各構成要素に相当する関数を備えることになる。
The application program for image processing executed by the
[第2の実施形態]
第1の実施形態でも述べたが、第1の実施形態では、最大色点数N=45としたが、これは説明を具体的に行うためであって、第1の実施形態はN=45に特化した実施形態ではなく、Nは他の値であっても構わない。
[Second Embodiment]
As described in the first embodiment, in the first embodiment, the maximum number of color points is set to N = 45. However, this is for specific description, and in the first embodiment, N = 45. N is not a specialized embodiment, and N may be another value.
また、第1の実施形態では、最大色点数Nは全ての3頂点曲線メッシュで同じとしたが、3頂点曲線メッシュごとに、3頂点曲線メッシュの面積などに応じた適当な最大色点数Nを設定しても構わない。例えば、3頂点曲線メッシュの面積(若しくは面積の大小に応じて大小となる値)より少ない値や、3頂点曲線メッシュを構成する三頂点間を繋ぐ3本の線の中で最も長い線の線長より小さな値を分割数としたときに、対応する色点数としても良い。3頂点曲線メッシュの面積とは、3頂点曲線メッシュ内に含まれる画素数のことであるが、該3頂点曲線メッシュを構成する三頂点のそれぞれの座標値から求まる、該三頂点で構成される三角形の面積をもって、該3頂点曲線メッシュの面積としてみなしてもよい。 In the first embodiment, the maximum number of color points N is the same for all three vertex curve meshes. However, for each three vertex curve mesh, an appropriate maximum number of color points N corresponding to the area of the three vertex curve mesh is set. You can set it. For example, a value that is smaller than the area of the three-vertex curve mesh (or a value that becomes larger or smaller depending on the size of the area) or the longest line among the three lines that connect the three vertices of the three-vertex curve mesh When a value smaller than the length is used as the division number, the corresponding number of color points may be used. The area of the three-vertex curve mesh is the number of pixels included in the three-vertex curve mesh, and is composed of the three vertices obtained from the coordinate values of the three vertices constituting the three-vertex curve mesh. A triangular area may be regarded as the area of the three-vertex curve mesh.
例えば、ある3頂点曲線メッシュの面積(若しくは面積の大小に応じて大小となる値)が42である場合には、最大色点数はそれより小さな15とする等の決め方でもよい。また、3頂点曲線メッシュの三頂点間を繋ぐ3本の線の中で最長の線長が7のときには分割数4に対応する色点数15とする等の決め方であってもよい。面積に着目すると、広い3頂点曲線メッシュには多めの、狭い3頂点曲線メッシュには少なめの最大色点数を取ることとなり、最大色点数を固定値とするときに比して、3頂点曲線メッシュで表現しなければならない画素数に見合った適応的な値とすることができる。3頂点曲線メッシュの三頂点間を繋ぐ3本の線の中で最長の線長に着目すると、固定的な分割数に対応した色点数とする場合に比し、各線上を冗長に分割することなく、適応的な分割数で分割して得られる色点数を最大色点数とすることができる。
For example, when the area of a certain three-vertex curve mesh (or a value that becomes larger or smaller depending on the size of the area) is 42, the maximum number of color points may be set to 15, for example. Further, when the longest line length among the three lines connecting the three vertices of the three-vertex curve mesh is 7, the number of color points corresponding to the
[第3の実施形態]
第1の実施形態では、誤差許容値Thの値を1.0として説明したが、これは説明を具体的に行うためであって、第1の実施形態はTh=1.0に特化した実施形態ではなく、Thは他の値であっても構わない。
[Third Embodiment]
In the first embodiment, the error tolerance value Th has been described as 1.0, but this is for specific description, and the first embodiment specializes in Th = 1.0. Instead of the embodiment, Th may be another value.
また、このThの値は、全ての3頂点曲線メッシュで共通であることに限るものではなく、3頂点曲線メッシュごとに、3頂点曲線メッシュの面積などに応じて適応的に定めてもよい。例えば、3頂点曲線メッシュに依らないある固定値を3頂点曲線メッシュの面積で除算した値の様に、3頂点曲線メッシュの面積にほぼ反比例した値として定めても良い。この場合には、最大色点数における色点一点当たりでどの程度の広さを持つ領域を表現するために用いるかといった観点も考慮した値として許容値を適応的に定めていると考えることができる。あるいは、誤差許容値自体は第1の実施形態と同様であっても、判定部1074(ステップS9110)で、色点一点当たりの誤差と誤差許容値(固定値Th)との単順な比較とはせず、3頂点曲線メッシュの面積を考慮した判定をする様に構成してもよい。即ち、誤差値に面積を乗算する等により、誤差値を3頂点曲線メッシュの面積にほぼ比例した値に換算した上で、換算済みの誤差値とThとの大小比較を行うようにしても構わない。さらに、誤差生成部1073(ステップS9100)で誤差値自体を3頂点曲線メッシュの面積にほぼ比例した値に換算した値とするように構成しても良い。 The value of Th is not limited to being common to all three vertex curve meshes, and may be determined adaptively for each three vertex curve mesh according to the area of the three vertex curve mesh. For example, a fixed value that does not depend on the three-vertex curve mesh may be determined as a value that is substantially inversely proportional to the area of the three-vertex curve mesh, such as a value obtained by dividing the fixed value by the area of the three-vertex curve mesh. In this case, it can be considered that the allowable value is adaptively determined as a value that also considers the viewpoint of how much area is used to represent the area per color point in the maximum number of color points. . Alternatively, even if the error allowable value itself is the same as that of the first embodiment, the determination unit 1074 (step S9110) performs a simple comparison between the error per color point and the error allowable value (fixed value Th). Instead, the determination may be made in consideration of the area of the three-vertex curve mesh. That is, the error value may be converted to a value substantially proportional to the area of the three-vertex curve mesh by multiplying the error value by the area, and the magnitude comparison between the converted error value and Th may be performed. Absent. Further, the error generation unit 1073 (step S9100) may be configured so that the error value itself is converted to a value substantially proportional to the area of the three-vertex curve mesh.
(その他の実施例)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
(Other examples)
The present invention supplies a program that realizes one or more functions of the above-described embodiments to a system or apparatus via a network or a storage medium, and one or more processors in a computer of the system or apparatus read and execute the program This process can be realized. It can also be realized by a circuit (for example, ASIC) that realizes one or more functions.
102:メッシュ生成部 104:色点候補位置設定部 105:色情報抽出部 107:許容色点情報生成部 102: Mesh generation unit 104: Color point candidate position setting unit 105: Color information extraction unit 107: Allowable color point information generation unit
Claims (8)
前記メッシュを分割するサブメッシュの頂点の候補として設定されている候補頂点群の一部である部分頂点群の色情報と、該候補頂点群において該部分頂点群を除く他頂点群の色情報から求めた該部分頂点群の色情報と、の差分を求める計算手段と、
前記差分が規定値よりも小さい場合には、前記候補頂点群として前記他頂点群を設定してから前記計算手段を動作させ、前記差分が規定値以上の場合には、前記候補頂点群を、前記メッシュを分割するそれぞれのサブメッシュの頂点として決定する決定手段と
を備えることを特徴とする画像処理装置。 The input image is divided into units of the mesh so that the detection line detected from the input image is composed of three vertices and the side connecting the three vertices is one side of a mesh that is a straight line or a curve. An image processing device for determining each vertex of the sub-mesh for dividing the sub-mesh into a plurality of sub-mesh,
From the color information of the partial vertex group that is a part of the candidate vertex group set as a candidate for the vertex of the sub-mesh that divides the mesh, and the color information of the other vertex group excluding the partial vertex group in the candidate vertex group A calculation means for obtaining a difference between the obtained color information of the partial vertex group,
When the difference is smaller than a specified value, the other vertex group is set as the candidate vertex group and then the calculation means is operated.When the difference is equal to or larger than a specified value, the candidate vertex group is An image processing apparatus comprising: determining means for determining the vertex of each sub-mesh that divides the mesh.
前記決定手段が、前記メッシュを分割するそれぞれのサブメッシュの頂点として決定した前記候補頂点群に係る情報を出力する手段を備えることを特徴とする請求項1又は2に記載の画像処理装置。 Furthermore,
The image processing apparatus according to claim 1, wherein the determination unit includes a unit that outputs information on the candidate vertex group determined as the vertexes of each sub-mesh that divides the mesh.
前記画像処理装置の計算手段が、前記メッシュを分割するサブメッシュの頂点の候補として設定されている候補頂点群の一部である部分頂点群の色情報と、該候補頂点群において該部分頂点群を除く他頂点群の色情報から求めた該部分頂点群の色情報と、の差分を求める計算工程と、
前記画像処理装置の決定手段が、前記差分が規定値よりも小さい場合には、前記候補頂点群として前記他頂点群を設定してから前記計算工程を動作させ、前記差分が規定値以上の場合には、前記候補頂点群を、前記メッシュを分割するそれぞれのサブメッシュの頂点として決定する決定工程と
を備えることを特徴とする画像処理方法。 The input image is divided into units of the mesh so that the detection line detected from the input image is composed of three vertices and the side connecting the three vertices is one side of a mesh that is a straight line or a curve. An image processing method performed by an image processing apparatus that determines each vertex of the sub-mesh to divide the sub-mesh into a plurality of sub-mesh,
The calculation means of the image processing apparatus includes color information of a partial vertex group that is a part of a candidate vertex group set as a candidate for a vertex of a sub-mesh that divides the mesh, and the partial vertex group in the candidate vertex group A calculation step for obtaining a difference between the color information of the partial vertex group obtained from the color information of the other vertex group excluding
When the determination unit of the image processing apparatus has the difference smaller than a predetermined value, the calculation step is operated after setting the other vertex group as the candidate vertex group, and the difference is equal to or larger than a predetermined value. Comprises determining a candidate vertex group as a vertex of each sub-mesh that divides the mesh.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014240363A JP6472226B2 (en) | 2014-11-27 | 2014-11-27 | Image processing apparatus, image processing method, and computer program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014240363A JP6472226B2 (en) | 2014-11-27 | 2014-11-27 | Image processing apparatus, image processing method, and computer program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016103106A JP2016103106A (en) | 2016-06-02 |
JP6472226B2 true JP6472226B2 (en) | 2019-02-20 |
Family
ID=56088972
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014240363A Active JP6472226B2 (en) | 2014-11-27 | 2014-11-27 | Image processing apparatus, image processing method, and computer program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6472226B2 (en) |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05300378A (en) * | 1992-04-22 | 1993-11-12 | Photo Composing Mach Mfg Co Ltd | Dot threshold level generating method |
US6313840B1 (en) * | 1997-04-18 | 2001-11-06 | Adobe Systems Incorporated | Smooth shading of objects on display devices |
US6064771A (en) * | 1997-06-23 | 2000-05-16 | Real-Time Geometry Corp. | System and method for asynchronous, adaptive moving picture compression, and decompression |
JP2002260005A (en) * | 2001-02-28 | 2002-09-13 | Konami Computer Entertainment Japan Inc | Image plotting method and program used therefor |
JP2006350576A (en) * | 2005-06-14 | 2006-12-28 | Fuji Xerox Co Ltd | Image processor, image processing method and image processing program |
JP5798357B2 (en) * | 2011-04-11 | 2015-10-21 | キヤノン株式会社 | Image processing apparatus and image processing method |
JP5956875B2 (en) * | 2012-08-30 | 2016-07-27 | キヤノン株式会社 | Image processing apparatus and image processing method |
-
2014
- 2014-11-27 JP JP2014240363A patent/JP6472226B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2016103106A (en) | 2016-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3989451B2 (en) | Color gradient path | |
US9886792B2 (en) | Adaptive mesh refinement | |
US8044955B1 (en) | Dynamic tessellation spreading for resolution-independent GPU anti-aliasing and rendering | |
JP5451285B2 (en) | Image processing apparatus and image processing method | |
KR102666054B1 (en) | Graphics processing systems | |
US11087511B1 (en) | Automated vectorization of a raster image using a gradient mesh with arbitrary topology | |
CN109697748B (en) | Model compression processing method, model mapping processing method, model compression processing device, and storage medium | |
JP2006053887A (en) | Interpolation method for resolution conversion, image processor, image display device, program, and recording medium | |
CN107123086B (en) | Image scaling method, image scaling device and electronic equipment | |
JP2014527244A (en) | Exposure enhancement method and apparatus for defogging image | |
CN111489322A (en) | Method and device for adding sky filter to static picture | |
US7948489B1 (en) | Minimizing tessellation of surfaces | |
JP6294700B2 (en) | Image processing apparatus and image processing method | |
JP5888989B2 (en) | Image processing apparatus and image processing method | |
JP5798357B2 (en) | Image processing apparatus and image processing method | |
JP6472226B2 (en) | Image processing apparatus, image processing method, and computer program | |
JP5956875B2 (en) | Image processing apparatus and image processing method | |
JP2012230668A (en) | Image processor, image processing method, and program | |
JP5587132B2 (en) | Image processing apparatus and image processing method | |
US11200708B1 (en) | Real-time color vector preview generation | |
JPH07334648A (en) | Method and device for processing image | |
JP2004101937A (en) | Method, device and processing program for optimizing font | |
JP2015090613A (en) | Image processor and image processing method | |
JP6686122B1 (en) | Image processing apparatus, image processing method and program | |
JP2012039331A (en) | Parallax image creation device, parallax image creation method, program, and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20171122 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20181217 |
|
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: 20181225 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190122 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 6472226 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |