JP5798357B2 - Image processing apparatus and image processing method - Google Patents
Image processing apparatus and image processing method Download PDFInfo
- Publication number
- JP5798357B2 JP5798357B2 JP2011087699A JP2011087699A JP5798357B2 JP 5798357 B2 JP5798357 B2 JP 5798357B2 JP 2011087699 A JP2011087699 A JP 2011087699A JP 2011087699 A JP2011087699 A JP 2011087699A JP 5798357 B2 JP5798357 B2 JP 5798357B2
- Authority
- JP
- Japan
- Prior art keywords
- mesh
- information
- vertex
- assigned
- color
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Image Processing (AREA)
- Image Generation (AREA)
Description
本発明は、画像をベクトル表現する画像処理技術に関する。特にラスタ画像を、メッシュで表現するベクトル表現技術に関するものである。 The present invention relates to an image processing technique for expressing an image as a vector. In particular, the present invention relates to a vector expression technique for expressing a raster image with a mesh.
従来から、画像をベクトル表現する技術は広く知られている。ベクトル表現された画像は、画像の拡大縮小時に画質劣化が少ない、画像の編集がし易い、高い圧縮率が実現できるなどの利点がある。 Conventionally, a technique for expressing an image as a vector is widely known. The vector-represented image has advantages such as little image quality deterioration when the image is enlarged / reduced, 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 vector expression is performed by constructing a three-vertex curve mesh 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.
自然画像のような色が複雑に変化するオブジェクトを曲線メッシュによりベクトル表現することを考える。直線メッシュに対して曲線メッシュは、オブジェクトの形状や特徴を曲線で近似するため、より少ないメッシュ数でオブジェクトを近似できる。 Consider a vector representation of an object such as a natural image whose color changes in a complex manner using a curved mesh. Since a curved mesh approximates the shape and characteristics of an object with a curved line, the object can be approximated with a smaller number of meshes.
上述のグラディエント・メッシュを用いてオブジェクトを近似するとき、4頂点から成る曲線メッシュを規則格子状に構築する手法が知られている。この手法ではメッシュの接続関係を保持する必要がないため、データ表現として効率が良いが、メッシュ制御が局所的にできないため、複雑形状を近似するときにメッシュ数が増え、データ量が増大してしまう。 When approximating an object using the above-described gradient mesh, a method of constructing a curved mesh composed of four vertices in a regular lattice shape is known. This method does not need to maintain mesh connection relations, so it is efficient as data representation. However, since mesh control cannot be performed locally, the number of meshes increases when approximating complex shapes, and the amount of data increases. End up.
上述の3頂点曲線メッシュでは、メッシュ制御が局所的にできるため、少ないメッシュ数でオブジェクトを近似できる。従来、3頂点曲線メッシュはメッシュ単位に符号化され、メッシュ間で共有される頂点、辺、色を考慮していないため、符号化効率が低くデータ量が増大してしまう。 In the above-mentioned three-vertex curve mesh, mesh control can be performed locally, so that an object can be approximated with a small number of meshes. Conventionally, a three-vertex curve mesh is encoded in units of meshes, and vertices, sides, and colors shared between meshes are not taken into account, so that the encoding efficiency is low and the amount of data increases.
本発明は以上の問題に鑑みて成されたものであり、3頂点曲線メッシュを効率的に符号化するための技術を提供することを目的とする。 The present invention has been made in view of the above problems, and an object thereof is to provide a technique for efficiently encoding a three-vertex curve mesh.
本発明の目的を達成するために、例えば、本発明の画像処理装置は、入力画像を、3頂点から成り且つ該3頂点間を結ぶ辺が直線または曲線であるメッシュを単位に符号化するメッシュ符号化処理を実行する画像処理装置であって、
前記メッシュ符号化処理の過程で前記入力画像を前記メッシュを単位に分割し、該メッシュを複数のサブメッシュに分割し、該サブメッシュの各頂点に対して、前記入力画像中の該頂点の位置における色を割り当てる色割り当て手段と、
前記入力画像上で隣接する2つのメッシュ間で共有しているメッシュ辺、何れのメッシュとも共有していないメッシュ辺、のそれぞれに対して固有の情報を割り当てる情報割り当て手段と、
分割したメッシュ毎に、該メッシュを構成するそれぞれの辺に対して前記情報割り当て手段が割り当てた情報と、該メッシュ中の各サブメッシュの頂点毎に前記色割り当て手段が割り当てた色を示す情報と、を記述したメッシュデータを生成し、
前記情報割り当て手段が情報を割り当てた辺毎に、該辺に対して前記情報割り当て手段が割り当てた情報と、該辺の両端位置の座標と、該辺が前記入力画像中のエッジ線から生成されたものであるか否かを示すフラグ値と、該辺上の各頂点について前記色割り当て手段が割り当てた色を示す情報と、を記述した辺データを生成し、
分割したメッシュ毎に生成したメッシュデータ及び前記情報割り当て手段が情報を割り当てた辺毎に生成した辺データ、を含むデータを、前記入力画像の符号化データとして生成する生成手段と
を備えることを特徴とする。
In order to achieve the object of the present invention, for example, the image processing apparatus of the present invention encodes an input image in units of a mesh composed of three vertices and the side connecting the three vertices is a straight line or curve An image processing apparatus that executes an encoding process,
The input image is divided into units of the mesh in the course of the mesh encoding process, the mesh is divided into a plurality of sub-mesh, and the position of the vertex in the input image with respect to each vertex of the sub-mesh A color assigning means for assigning colors in
Information assigning means for assigning unique information to each of mesh sides shared between two adjacent meshes on the input image, mesh sides not shared with any mesh,
For each divided mesh, information assigned by the information assigning means to each side constituting the mesh, and information indicating the color assigned by the color assigning means for each vertex of each sub-mesh in the mesh; Generate mesh data describing,
For each side to which the information assigning unit has assigned information, the information assigned by the information assigning unit to the side, the coordinates of both end positions of the side, and the side are generated from the edge line in the input image. Generating edge data that describes a flag value indicating whether or not a color image and information indicating the color assigned by the color assigning means for each vertex on the edge,
Generating means for generating, as encoded data of the input image, data including mesh data generated for each divided mesh and edge data generated for each edge to which the information assigning means has assigned information. And
本発明の構成によれば、3頂点曲線メッシュの符号化を効率的に行うことができる。 According to the configuration of the present invention, it is possible to efficiently encode a three-vertex curve mesh.
以下、添付図面を参照し、本発明の好適な実施形態について説明する。なお、以下説明する実施形態は、本発明を具体的に実施した場合の一例を示すもので、特許請求の範囲に記載した構成の具体的な実施例の一つである。 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つの頂点間を結ぶ曲線はベジェ曲線、B−スプライン等の如何なる曲線であっても良い。本実施形態では説明上、各曲線メッシュにパラメトリック曲面の1つである3頂点のベジェパッチを用いる。ベジェパッチの中でも特に3次のベジェパッチでは、曲線メッシュの各辺は3次のベジェ曲線となるため、曲線メッシュを生成したのちに、ユーザによる編集が容易であるというメリットがある。P1、P2、P3を頂点とする3次のベジェパッチ内の点は以下の式で表される。
[First Embodiment]
Prior to the description according to the present embodiment, first, the curved mesh will be described. In the present embodiment, the curve connecting the three vertices constituting the curved mesh may be any curve such as a Bezier curve or a B-spline. In this embodiment, for explanation, a Bezier patch having three vertices, which is one of parametric curved surfaces, is used for each curved mesh. Among Bezier patches, in particular, a cubic Bezier patch has a merit that each side of a curved mesh becomes a cubic Bezier curve, so that the user can easily edit the curved mesh after generating the curved 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は、曲線パッチの形状を定めるパラメータである。 Here, s, t, and u are barycentric 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.
次に、入力画像を、3頂点から成り且つ該3頂点間を結ぶ辺が直線または曲線であるメッシュ(曲線メッシュ)を単位に符号化するメッシュ符号化処理を実行する画像処理装置の機能構成例について、図1のブロック図を用いて説明する。 Next, a functional configuration example of an image processing apparatus that executes mesh coding processing for coding an input image in units of a mesh (curved mesh) that includes three vertices and whose side connecting the three vertices is a straight line or a curve Will be described with reference to the block diagram of FIG.
画像入力部101には、ラスタ表現の入力画像が入力される。この入力画像はカラー画像、グレー画像、白黒画像のいずれでも構わない。また、入力画像は矩形画像でも構わないし、画像の一部をベクトル化したい場合には背景部を透過色に設定した画像等、切り出された領域が与えられても良い。そして画像入力部101は、この入力された入力画像を後段の特徴線構成部102に送出する。
An input image of raster expression is input to the
特徴線構成部102は、画像入力部101から受け取った入力画像中に特徴線を構成する。本実施形態ではこの特徴線には、エッジ線を用いる。この場合、特徴線構成部102は、入力画像からエッジを構成する画素(エッジ画素)を抽出するエッジ抽出部と、エッジ抽出部が抽出したエッジ画素を連結させてエッジ線を構成するエッジ構成部と、を有することになる。
The feature
エッジ抽出部は、入力画像からキャニー法という既知の方法を用いてエッジ画素を抽出する。もちろん、他の方法を用いてエッジ画素を抽出しても良い。次にエッジ構成部は、抽出されたエッジ画素のうち、隣接するもの同士を結ぶ線分を構成することで、エッジを再現する線分群(エッジ線)を構成する。隣接するエッジ画素間を結んで線分群を構成する際に、注目エッジ画素の上、下、左、右にある4つの画素が隣接しているとみなす4連結接続がある。また、この4方向に加えて右上、右下、左上、左下にある4つの画素も隣接していると見なす8連結接続もある。本実施形態では8連結接続を用いる。 The edge extraction unit extracts edge pixels from the input image using a known method called the Canny method. Of course, edge pixels may be extracted using other methods. Next, the edge forming unit forms a line segment group (edge line) that reproduces the edge by forming a line segment that connects adjacent ones of the extracted edge pixels. When a line segment group is formed by connecting adjacent edge pixels, there is a four-connection connection in which four pixels located above, below, left, and right of the target edge pixel are considered to be adjacent. In addition to these four directions, there are also eight connected connections that consider that the four pixels on the upper right, lower right, upper left, and lower left are considered to be adjacent. In this embodiment, 8-connected connection is used.
しかし、エッジ抽出部がキャニー法を用いて抽出したエッジ画素に対して、8連結接続で隣接しているとみなせる画素を結ぶと、エッジ線として望ましくない結果が得られる場合がある。このケースについて、図2を用いて説明する。 However, if an edge pixel extracted by the edge extraction unit using the Canny method is connected to a pixel that can be considered to be adjacent by 8-connected connection, an undesirable result may be obtained as an edge line. This case will be described with reference to FIG.
図2(a)〜(c)には画像中のある領域を構成する画素群を示しており、1つの四角形が1つの画素を表している。また、斜線で示している四角形がエッジ抽出部が抽出したエッジ画素を表しており、斜線がない四角形がエッジ画素以外の画素(非エッジ画素)を表している。 2A to 2C show a pixel group constituting a certain area in an image, and one square represents one pixel. In addition, a square indicated by hatching represents an edge pixel extracted by the edge extraction unit, and a square 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
なお、特徴線にはエッジ線以外にも、例えば入力画像中のオブジェクトの領域の輪郭などが考えられる。ここでオブジェクトとは、文字や物体像等を指している。 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.
既に述べたように、入力画像の一部をベクトル化するという目的で、入力画像の一部が透過色に設定されている場合は、透過色と非透過色の境界に有る画素がオブジェクトの輪郭画素となる。オブジェクトの輪郭画素を1つの線分群にまとめる処理は、エッジ構成部が行う処理と同様の処理に従って隣接する画素同士をつなぎ合わせることで実現できる。これは、入力画像内の異なる属性の領域の間の境界線にある画素についても同様である。 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 process performed by the edge configuration unit. The same applies to pixels on the boundary line between regions having different attributes in the input image.
また、特徴線構成部102は、入力画像を領域分割し、その境界線を特徴線としても良い。領域分割は最近傍法を用いたもの、EMアルゴリズムを利用したものなど、多くの手法が知られている。
Also, the feature
図1に戻って、曲線メッシュ生成部103は、特徴線が再現可能で且つメッシュ同士の重なりが無いように、入力画像をメッシュ群に分割する。曲線メッシュ生成部103が行う処理について、同処理のフローチャートを示す図3を用いて説明する。もちろん、図3のフローチャートに示した各ステップにおける処理の主体は何れも曲線メッシュ生成部103である。
Returning to FIG. 1, the curved
先ずステップS301では、入力画像に対して初期メッシュ群を生成する。この初期メッシュは、エッジ線を再現するようなメッシュとして生成される。さらに、初期メッシュは、エッジ線を再現するメッシュの辺を、エッジ線に沿うように曲線化してもメッシュ同士が重ならないように生成する。 First, in step S301, an initial mesh group is generated for the input image. This initial mesh is generated as a mesh that reproduces an edge line. Further, the initial mesh is generated so that the mesh sides do not overlap even if the sides of the mesh reproducing the edge line are curved along the edge line.
非特許文献1では、エッジ線を忠実に再現する十分に短い線分群をメッシュの辺とし、かつ、ラスタ画像の全画素を頂点とする直線メッシュを生成する。この生成方法について、図5(a)を用いて説明する。図5(a)において実線はエッジ線を示しており、点線はその他のメッシュの辺、黒い丸はラスタ画像中の画素を示している。エッジ線501、502、503、504は何れも、メッシュの辺として用いられている。 In Non-Patent Document 1, a straight line mesh having a sufficiently short line segment group that faithfully reproduces an edge line as a mesh side and having all pixels of a raster image as vertices is generated. This generation method will be described with reference to FIG. In FIG. 5A, solid lines indicate edge lines, dotted lines indicate other mesh sides, and black circles indicate pixels in the raster image. The edge lines 501, 502, 503, and 504 are all used as sides of the mesh.
また他の例では、特徴線を忠実に再現する直線メッシュ、つまり特徴線を構成する全ての線分がメッシュの辺となる直線メッシュを生成する。このように生成した直線メッシュは、特徴線に沿った辺を曲線化するまでもなく特徴線を忠実に再現している為、曲線化に伴ってメッュ同士が重なるという問題は起きない。このケースについて図5(b)を用いて説明する。 In another example, a straight mesh that faithfully reproduces a feature line, that is, a straight mesh in which all line segments constituting the feature line are sides of the mesh is generated. Since the straight mesh generated in this way faithfully reproduces the feature line without curving the side along the feature line, there is no problem that the meshes overlap with each other. This case will be described with reference to FIG.
図5(a)と同様、実線はエッジ線を示しており、点線はその他のメッシュの辺、黒い丸はラスタ画像中の画素を示している。エッジ線511、512、513、514は何れも、メッシュの辺として用いられているが、ラスタ画像の画素を散乱的にサンプリングして頂点としている。このときのサンプリング頂点はラスタ画像の特徴量などから決定するが、エッジ線を再現するメッシュを生成することができるのであれば、他の方法を用いても構わない。ここでは、制約付きドロネー三角形分割を利用することで、特徴線を忠実に再現する直線メッシュを生成している。制約付きドロネー三角形分割は、点群と制約条件を与えると、与えられた点群を頂点とし、かつ制約条件を満たす直線メッシュを生成するアルゴリズムである。ここでの制約条件とは、点群の一部を結ぶ線分である。もちろん、エッジ線を再現するメッシュを生成することができるのであれば、他の方法を用いても構わない。 As in FIG. 5A, the solid line indicates the edge line, the dotted line indicates the side of the other mesh, and the black circle indicates the pixel in the raster image. The edge lines 511, 512, 513, and 514 are all used as sides of the mesh, but the pixels of the raster image are sampled in a scatter manner to form vertices. The sampling vertices at this time are determined from the feature amount of the raster image, but other methods may be used as long as a mesh that reproduces the edge line can be generated. Here, a straight mesh that faithfully reproduces the feature line is generated by using the Delaunay triangulation with constraints. 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. The constraint condition here is a line segment connecting a part of the point cloud. Of course, other methods may be used as long as a mesh that reproduces the edge line can be generated.
図3に戻って、ステップS307では、簡略化された曲線メッシュを生成する。簡略化された曲線の生成は、非特許文献1に記載の方法と同様の手順を踏むことで実現できる。つまり、初期メッシュのうち優先度の低いメッシュ同士を統合して大きなメッシュにまとめる処理と、エッジ線に沿うメッシュの辺を曲線化する処理と、を繰り返す。その曲線化の際に、メッシュ同士が重なってしまうような統合は行わないという制約を設けることで、メッシュ同士の重なりを防ぐ。 Returning to FIG. 3, in step S307, a simplified curved mesh is generated. Generation of a simplified curve can be realized by following the same procedure as the method described in Non-Patent Document 1. That is, the process of integrating low-priority meshes of the initial meshes into a large mesh and the process of curving the sides of the mesh along the edge line are repeated. In the curving, the restriction that the meshes do not overlap is not provided, thereby preventing the meshes from overlapping.
図4を用いて、メッシュ同士の重なりについて説明する。図4において、実線は特徴線を表現するメッシュの辺、点線は特徴線以外のメッシュの辺を示し、図4(a)、(c)はメッシュの統合前、図4(b)、(d)は、それぞれ図4(a)、(c)のメッシュの統合後である。 The overlapping of meshes will be described with reference to FIG. In FIG. 4, the solid line indicates the sides of the mesh representing the feature line, the dotted line indicates the sides of the mesh other than the feature line, and FIGS. 4 (a) and 4 (c) are prior to the integration of the mesh, and FIGS. ) After integration of the meshes of FIGS. 4 (a) and 4 (c), respectively.
図4(a)、(b)を例に、特徴線上の頂点402を頂点401に統合する場合を考える。特徴線を表現するメッシュの辺404、405は、統合された頂点402を近似するように統合・曲線化され、特徴線を表現するメッシュの辺407となる。また、図4(b)で示されるように、特徴線以外のメッシュの辺406は、頂点402の統合により、頂点401に接続される。ここで、曲線で表現されているメッシュの辺407と直線で表現されているメッシュの辺406が交差していることが分かる。このような状態が、メッシュ同士が重なっている状態である。メッシュの重なりはベクトル表現してレンダリングした際、画質劣化の大きな原因となるため、極力避けなければならない。また図4(c)、(d)では、同様の処理を行ったとき、曲線で表現されているメッシュの辺407と直線で表現されているメッシュの辺406は交差していない。このような状態は、メッシュ同士が重なっていない良好な状態である。
Consider the case where the
以下では、簡略化された曲線生成処理(ステップS307)において、非特許文献1で述べられていない部分を補う形で説明する。曲線メッシュ生成処理(ステップS307)は基本的には、優先度の低いメッシュ同士を統合して大きなメッシュにまとめる処理(ステップS303)と、エッジ線に沿うメッシュの辺を曲線化する処理(ステップS304)と、を交互に繰り返す処理である。ステップS303及びステップS304における処理は公知であり、非特許文献1に記載の方法に従って行えば良い。なお非特許文献1ではステップS303において統合するメッシュを決定する優先度の基準にQuadric error metric法という公知の手法を用いているが、面積の小さいメッシュから優先的に統合するなど、様々な方法が考えられる。また非特許文献1ではステップS304において特徴線をベジェ曲線によって近似しているが、本実施形態で既に述べたようにB−スプライン曲線等を用いてもかまわない。特徴線に沿うように曲線のパラメータを設定するアルゴリズムの詳細は非特許文献1では述べられていないが、本実施形態では最小二乗法を用いる。 Hereinafter, the simplified curve generation process (step S307) will be described in a form that compensates for parts not described in Non-Patent Document 1. The curved mesh generation process (step S307) basically includes a process of integrating low-priority meshes into a large mesh (step S303), and a process of curving mesh edges along the edge line (step S304). ) And are alternately repeated. The processes in step S303 and step S304 are known and may be performed according to the method described in Non-Patent Document 1. Note that Non-Patent Document 1 uses a known technique called a quadratic error metric method as a priority criterion for determining meshes to be integrated in step S303, but there are various methods such as preferential integration from a mesh with a small area. Conceivable. In Non-Patent Document 1, the feature line is approximated by a Bezier curve in step S304, but a B-spline curve or the like may be used as already described in the present embodiment. Details of the algorithm for setting the parameters of the curve along the feature line are not described in Non-Patent Document 1, but the least square method is used in this embodiment.
次に、ステップS305における処理について説明する。ステップS305における処理の目的は、ステップS304でメッシュの辺を曲線化したことに伴い、メッシュ同士が重なっていないかどうかを判定することである。メッシュ同士が重なっているか否かの判定は、メッシュの辺同士が交差しているか否かを判定することで行う。メッシュの辺のうち、線分同士が重ならないことは保証できるため、重なりを判定するまでもない。重なりを判定する必要があるのは線分と曲線の組み合わせ、もしくは曲線と曲線の組み合わせである。 Next, the process in step S305 will be described. The purpose of the process in step S305 is to determine whether or not the meshes overlap each other as the sides of the mesh are curved in step S304. Whether the meshes overlap each other is determined by determining whether the sides of the mesh intersect each other. Since it can be ensured that the line segments do not overlap among the sides of the mesh, it is not necessary to determine the overlap. It is a combination of a line segment and a curve, or a combination of a curve and a curve that needs to be determined.
線分と曲線、曲線と曲線の重なりを判定する方法について詳細に述べる。曲線を十分な精度で近似する線分群に置き換えることで、線分と曲線、曲線と曲線の重なり判定はそれぞれ線分と線分群、線分群と線分群の重なり判定に置き換えることができ、それらの重なり判定は線分同士の重なり判定を繰り返すことで実現できる。2次元平面上の点(x1,y1)および(x2,y2)を結ぶ線分と、(x3,y3)および(x4,y4)を結ぶ線分が重なるかどうかは以下の(条件)を用いる。 A method for determining the overlap between a line segment and a curve or between a curve and a curve will be described in detail. By replacing a curve with a line segment that approximates with sufficient accuracy, line segment and curve, curve and curve overlap judgment can be replaced with line segment and line segment group, line segment group and line segment group overlap judgment, respectively. The overlap determination can be realized by repeating the overlap determination between the line segments. The following (condition) is used to determine whether or not the line segment connecting the points (x1, y1) and (x2, y2) on the two-dimensional plane and the line segment connecting (x3, y3) and (x4, y4) overlap. .
(条件)
{(x1−x2)×(y3−y1)+(y1−y2)×(x1−x3)}×{(x1−x2)×(y4−y1)+(y1−y2)×(x1−x4)}<0
かつ
{(x3−x4)×(y1−y3)+(y3−y4)×(x3−x1)}×{(x3−x4)×(y2−y3)+(y3−y4)×(x3−x2)}<0
この条件が満たされると、2つの線分は重なっていると判定でき、この条件が満たされていない場合は、2つの線分は重なっていないと判定することができる。以上で述べた線分同士の重なり判定を行うことで、線分と曲線および曲線と曲線の重なりを判定することができる。
(conditions)
{(X1-x2) * (y3-y1) + (y1-y2) * (x1-x3)} * {(x1-x2) * (y4-y1) + (y1-y2) * (x1-x4) } <0
And {(x3-x4) * (y1-y3) + (y3-y4) * (x3-x1)} * {(x3-x4) * (y2-y3) + (y3-y4) * (x3-x2) )} <0
If this condition is satisfied, it can be determined that the two line segments overlap, and if this condition is not satisfied, it can be determined that the two line segments do not overlap. By performing the overlap determination between the line segments described above, it is possible to determine the overlap between the line segment and the curve and between the curve and the curve.
ステップS305における判定の結果、重なりがあると判定すれば、処理はステップS306に進む。一方、重なりがないと判定した場合には、処理はステップS302に戻る。 As a result of the determination in step S305, if it is determined that there is an overlap, the process proceeds to step S306. On the other hand, if it is determined that there is no overlap, the process returns to step S302.
ステップS306では、各メッシュの状態を、最後に行ったステップS303およびステップS304の直前の状態に戻す。このように、メッシュ同士が重なるような統合を行ってしまった場合はその統合前の状態に戻すことで、常に重なりのないメッシュが作られることを保証する。ステップS306の後、再度ステップS303を実行する場合は、メッシュ同士の重なりを引き起こした統合は行わないようにしなければならない。 In step S306, the state of each mesh is returned to the state immediately before steps S303 and S304 performed last. In this way, when the integration is performed such that the meshes overlap each other, the state before the integration is restored to ensure that a mesh without overlapping is always created. When step S303 is executed again after step S306, the integration that causes the meshes to overlap each other must not be performed.
ステップS302では、ステップS307における処理を終えるか否かを判断する。終えると判断する基準には、例えばメッシュ数が初期メッシュの半分になった場合や、メッシュ数が入力画像に含まれる画素数の1/100になった場合などが考えられる。また、ステップS305において一定回数(例えば10回)以上連続で重なり有りと判定された場合などが考えられる。また、それらの条件の組み合わせても良い。 In step S302, it is determined whether or not to end the process in step S307. For example, when the number of meshes is half that of the initial mesh, or when the number of meshes is 1/100 of the number of pixels included in the input image, the criterion for determining that the processing is finished may be considered. In addition, there may be a case where it is determined in step S305 that there is an overlap for a certain number of times (for example, 10 times) or more. Moreover, you may combine those conditions.
以上の処理により、入力画像を複数個のメッシュに分割する(入力画像上に複数個のメッシュを生成する)ことができる。 Through the above processing, the input image can be divided into a plurality of meshes (a plurality of meshes are generated on the input image).
図1に戻って、色情報生成部104は、曲線メッシュ生成部103によって入力画像上に設定された各メッシュを塗るために必要な色情報を定める。色情報を生成する為には様々な方法が考えられる。その方法の1つとして考えられるのが、各メッシュを一色で塗る方法である。一色の定め方としては、メッシュの内部に含まれる画素の画素値の平均値を、このメッシュの色情報とする方法などがある。メッシュ内の色をより複雑に表現する方法としては、各メッシュに対して色を表現する関数を生成する方法が考えられる。例えば非特許文献1では、RGBの3成分に対して、メッシュ内の色を塗る薄板スプライン関数を入力画像の色を元に生成している。本実施形態では、各メッシュを更に微小な3頂点からなるメッシュ(サブメッシュ)に分割し、その微小なメッシュの頂点の画素の色を入力画像から取得し、該頂点に割り当てる(色割り当て)。レンダリングの際はそれら微小な三角形内の色を双線形補間で補うことで、各メッシュの色を塗ることができる。
Returning to FIG. 1, the color
符号化部105は、曲線メッシュ生成部103によって生成されたそれぞれのメッシュの形状情報、色情報生成部104が生成した各メッシュの色情報、を符号化し、入力画像に対する符号化データを生成する。
The
まず、各メッシュを構成するために必要な形状情報と色情報について説明する。図6(a)は、3頂点から成り且つ3頂点間が曲線で結ばれている(何れの辺も曲線で表現されている)メッシュ(曲線メッシュ)に係る形状情報を示す。601、602、603は曲線メッシュの頂点、604〜609は曲線メッシュの制御点である。
First, shape information and color information necessary for configuring each mesh will be described. FIG. 6A shows shape information related to a mesh (curved mesh) composed of three vertices and connected between the three vertices by a curve (any side is expressed by a curve).
図6(b)は、図6(a)に示した曲線メッシュに係る色情報を示す。610〜624は曲線メッシュ内におけるサブメッシュの頂点(サンプリング点)であり、それぞれのサンプリング点は色情報を有する。ここではサンプリング点はRGB値を色情報として有しているものとして説明するが、CMYKなど他の色空間における色情報を有するものとしても良い。また、入力画像がグレー画像である場合、サンプリング点は、対応する画素の輝度情報を色情報として保持することになる。サンプリング点は、ベジェパッチを規則的に分割することで導出される。ここではサンプリング点として15点を用いているが、ベジェパッチの分割数を変更し、サンプリング点数を変更しても構わない。例えば、図8(a)では分割数が1であり、サンプリング数は3となる。また図8(b)、(c)、(d)ではそれぞれ、分割数が2、3、4であり、サンプリング数は6、10、15点となる。
FIG. 6B shows color information related to the curved mesh shown in FIG.
次に、符号化部105が、曲線メッシュ生成部103によって生成されたそれぞれのメッシュの形状情報、色情報生成部104が生成した各メッシュの色情報、を符号化することで生成する、符号化データの構成例について、図7を例に取り説明する。
Next, the
図7(a)には、隣接する2つのメッシュ(曲線メッシュ)720,721を示しており、701、702、703、704は曲線メッシュの頂点、705〜709は曲線メッシュの辺、710〜719は曲線メッシュの制御点を示している。ここで、辺707は曲線メッシュ720の一辺であると共に、曲線メッシュ721の一辺でもあり、それぞれの曲線メッシュで共有されている辺(共有辺)である。
FIG. 7A shows two adjacent meshes (curved meshes) 720 and 721, where 701, 702, 703, and 704 are vertexes of the curved mesh, 705 to 709 are sides of the curved mesh, and 710 to 719. Indicates the control points of the curved mesh. Here, the
図7(b)には、上記の曲線メッシュ720に対するサンプリング点722〜736、曲線メッシュ721に対するサンプリング点737〜751、を示している。然るに曲線メッシュ720に対する色情報は、サンプリング点722〜736のそれぞれにおける色情報から成り、メッシュ721に対する色情報は、サンプリング点737〜751のそれぞれにおける色情報から成る。ここで、上記の通り、辺707は曲線メッシュ720と曲線メッシュ721とで共有している。然るに、この辺707上にあるサンプリング点722とサンプリング点747とは同じ座標値であり、曲線メッシュ720と曲線メッシュ721とで座標を共有しているサンプリング点であることが分かる。これは、サンプリング点724及び748、サンプリング点727及び749、サンプリング点731及び750、サンプリング点736及び751、のそれぞれのセットについても同様である。
FIG. 7B shows sampling points 722 to 736 for the
一方で、曲線メッシュのある一辺がエッジ線から生成された辺(エッジ線を再現可能なように生成された辺)であれば、この一辺上の各頂点は、この一辺を共有する一方の曲線メッシュの色と他方の曲線メッシュの色の2色を保持することになる。これは、エッジ線をまたぐ際に起こる急峻な色変化を表現している。 On the other hand, if one side of the curved mesh is a side generated from an edge line (a side generated so that the edge line can be reproduced), each vertex on this side is one curve that shares this side Two colors are retained: the color of the mesh and the color of the other curved mesh. This represents a steep color change that occurs when crossing an edge line.
例えば、辺707がエッジ線上の辺である場合、メッシュ720側のサンプリング点722、724、727、731、736の色情報と、メッシュ721側のサンプリング点747、748、749、750、751の色情報を保持することになる。つまり、サンプリング点722とサンプリング点747は同一座標位置にあるものの、それぞれのサンプリング点は異なる色を保持する。また、サンプリング点724とサンプリング点748、サンプリング点727とサンプリング点749、サンプリング点731とサンプリング点750、サンプリング点736とサンプリング点751、のそれぞれのセットについても同様である。
For example, when the
一方、曲線メッシュのある一辺がエッジ線から生成された辺ではない場合、この一辺上の各頂点は、1色を保持することになる。例えば、辺707がエッジ線上以外のとき、サンプリング点722とサンプリング点747は同一座標にあり、かつ同じ色を保持する。サンプリング点724とサンプリング点748、サンプリング点727とサンプリング点749、サンプリング点731とサンプリング点750、サンプリング点736とサンプリング点751、のそれぞれのセットについても同様である。
On the other hand, when one side of the curved mesh is not a side generated from the edge line, each vertex on the one side holds one color. For example, when the
本実施形態では、辺を共有する、辺上のサンプリング点を共有する、エッジ線上のサンプリング点は2種類の色を有する、という3頂点曲線メッシュの特徴を利用してメッシュ表現の効率化を図る。 In the present embodiment, the efficiency of mesh representation is improved by utilizing 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 types of colors. .
そのために符号化部105は次のようにして符号化データを生成する。先ず、入力画像上で隣接する2つのメッシュ間で共有しているメッシュ辺、何れのメッシュとも共有していないメッシュ辺、のそれぞれに対して固有の情報を割り当てる(辺情報割り当て)。即ち、隣接する2つのメッシュ間で共有している辺も1つの辺と見なし、それぞれの辺に対して固有の情報を割り当てる。図7(a)の場合、辺705〜709のそれぞれに固有の情報を割り当てる。然るにメッシュ720と曲線メッシュ721とで共有する辺707にも1つの固有の情報が割り当てられる。この割り当ては符号化部105の動作前に行うようにしても良い。
For this purpose, the
このような情報割り当て処理で各辺に割り当てる「固有の情報」(固有情報)は、辺を一意に識別することができる情報であれば、如何なる情報であっても良い。例えば、辺を保持するメモリ上のアドレスであっても良いし、それぞれの辺に重複することなく割り当てた番号であっても良い。 The “unique information” (unique information) assigned to each side in such an information assignment process may be any information as long as the information can uniquely identify the side. For example, it may be an address on a memory that holds a side, or may be a number assigned without overlapping each side.
そして符号化部105は、次の各種の情報が記述された符号化データを、メッシュ毎に生成する。即ち、1つのメッシュを構成するそれぞれの辺に割り当てた固有情報、該メッシュ中の各サブメッシュの頂点に割り当てた色を示す情報、が記述された符号化データを、該メッシュに対する符号化データとして生成する。そしてこのような符号化データを、メッシュ毎に生成する。
And the
また、本実施形態では、固有情報を割り当てた辺毎に符号化データを生成するのであるが、1つの辺(着目辺)に対する符号化データには、次に列挙する情報が記述されている。 In the present embodiment, encoded data is generated for each side to which specific information is assigned, but the encoded data for one side (side of interest) describes information to be listed next.
・ 着目辺に対して割り当てた固有情報
・ 着目辺の両端位置の座標
・ 着目辺が入力画像中のエッジ線から生成されたものであるか否かを示すフラグ値
・ 着目辺上の各頂点(サンプリング点)について割り当てた色を示す情報
・ メッシュ符号化処理の過程で着目辺に対して割り当てた着目辺の制御点の座標
然るにこのような情報が記された符号化データを、辺毎に生成する。そして符号化部105は、メッシュ毎に生成した符号化データ、辺毎に生成した符号化データ、ヘッダ(辺の数、メッシュの数、メッシュの分割数、を含む)、をまとめて、入力画像に対する符号化データとし、出力する。
-Unique information assigned to the target side-Coordinates of the positions of both ends of the target side-Flag value indicating whether the target side is generated from the edge line in the input image-Each vertex on the target side ( Information indicating the color assigned to the sampling point)-Coordinates of the control point of the target side assigned to the target side during the mesh encoding process. Thus, encoded data with such information is generated for each side. To do. Then, the
ここで、辺に対する符号化データを、辺707を例に取り説明する。辺707の符号化データを生成する際、「辺707に対して割り当てた固有情報」として、辺707を保持するメモリのアドレスや辺707に割り当てられた番号を記述する。
Here, the encoded data for the side will be described by taking the
「辺707の両端位置の座標」として、辺707の両端の頂点701及び703のそれぞれのx座標値及びy座標値を記述する。「辺707が入力画像中のエッジ線から生成されたものであるか否かを示すフラグ値」として、辺707が入力画像中のエッジ線から生成されたものであるか否かに応じた値(例えば「生成されたものである」=1、「生成されたものではない」=0)を記述する。
As the “coordinates of both end positions of the
「辺707上の各頂点(サンプリング点)について割り当てた色を示す情報」は、辺707が入力画像中のエッジ線から生成されたものであるか否かによって変わる。辺707が入力画像中のエッジ線から生成されたものである場合、サンプリング点722、724、727、731、736の色情報(メッシュ720用)、サンプリング点747、748、749、750、751の色情報(メッシュ721用)を記述する。
“Information indicating the color assigned to each vertex (sampling point) on the
このとき、辺の両端の座標の記述順を辺の方向とし、辺の右側、左側の順番で、色情報を記述する。辺707の場合、頂点701の座標値、頂点703の座標値、の順に記述した場合、頂点701から頂点703に向かって辺の右側とし、サンプリング点722、724、727、731、736の色情報を記述する。次に左側として、サンプリング点747、748、749、750、751の色情報を記述する。もちろん辺に対して左右の判定さえできれば、他の記述方法を用いても構わない。
At this time, the description order of the coordinates at both ends of the side is the side direction, and the color information is described in the order of the right side and the left side of the side. In the case of the
一方、辺707が入力画像中のエッジ線から生成されたものではない場合、サンプリング点722、724、727、731、736の色情報のみを記述する。ここで、本実施形態では色情報はRGB値を表すものとして説明しているため、RGB置さえ導出できれば、サンプリング点間のRGB値の差分を用いるなど、他の表現を用いても構わない。
On the other hand, when the
また、「メッシュ符号化処理の過程で辺707に対して割り当てた辺707の制御点の座標」としては、制御点715及び制御点714のそれぞれのx座標値及びy座標値を記述する。ここで、頂点の座標値については、x座標値及びy座標値さえ導出することができるのであれば、如何なる情報を採用しても良い。例えば、頂点間の差分を保持するなど他の表現を用いても構わない。同様に制御点の座標値についても、x座標値及びy座標値を導出することができるのであれば、如何なる情報を用いても良い。例えば、頂点との座標値の差分や制御点間の座標値の差分を保持するなど他の表現を用いても構わない。
In addition, as the “coordinates of the control point of the
また、制御点の座標値の記述順は、例えば、頂点701、703の順に座標値が記述されている場合、頂点701に対応する制御点715、頂点703に対応する制御点714の順に記述する。
For example, when the coordinate values are described in the order of
次に、メッシュに対する符号化データを、メッシュ720を例に取り説明する。「メッシュ720を構成するそれぞれの辺に割り当てた固有情報」としては、辺705、707、706のそれぞれの辺の番号やアドレスを記述する。
Next, encoded data for the mesh will be described by taking the
このとき記述する最初の2辺、辺705と辺707が共有している頂点701を基準点とする。基準点となる頂点701から規則的にベジェパッチを分割することで、順番にサンプリング点が導出される。例えば、メッシュ720では、サンプリング点722〜736まで順番に導出される。然るに「メッシュ720中の各サブメッシュの頂点に割り当てた色を示す情報」としては、サンプリング点722〜736の色情報を、導出順(サンプリング点726、729、730、…の順)に記述する。
The first two sides described at this time, the
なお、符号化部105は、メッシュ毎に生成した符号化データ、辺毎に生成した符号化データ、ヘッダ(辺の数、メッシュの数、メッシュの分割数、を含む)、をzip符号化して管理しているが、非可逆符号化を含めた他の符号化方式を用いて管理しても良い。
Note that the
従来では、メッシュ単位に符号化した場合には、辺上のサンプリング点の座標及び色を2回符号化しなければならなかったのに対し、本実施形態では1回で符号化でき、符号化効率の向上が図れる。 Conventionally, when encoding is performed in units of meshes, the coordinates and colors of sampling points on the side had to be encoded twice, whereas in the present embodiment, encoding can be performed once and the encoding efficiency Can be improved.
上記の処理をまとめると、次のようなものとなる。先ず、メッシュ符号化処理の過程で入力画像をメッシュを単位に分割し、該メッシュを複数のサブメッシュに分割し、該サブメッシュの各頂点に対して、入力画像中の該頂点の位置における色を割り当てる(色割り当て)。 The above processing is summarized as follows. First, in the course of mesh coding processing, the input image is divided into units of mesh, the mesh is divided into a plurality of sub-mesh, and the color at the position of the vertex in the input image is divided for each vertex of the sub-mesh. Assign (color assignment).
次に、入力画像上で隣接する2つのメッシュ間で共有しているメッシュ辺、何れのメッシュとも共有していないメッシュ辺、のそれぞれに対して固有の情報を割り当てる(情報割り当て)。 Next, unique information is assigned to each of mesh sides shared between two adjacent meshes on the input image and mesh sides not shared with any mesh (information assignment).
次に、分割したメッシュ毎に、該メッシュを構成するそれぞれの辺に対して割り当てた情報と、該メッシュ中の各サブメッシュの頂点毎に割り当てた色を示す情報と、を記述したメッシュデータを生成する。 Next, for each divided mesh, mesh data describing information assigned to each side constituting the mesh and information indicating the color assigned to each vertex of each sub-mesh in the mesh Generate.
次に、情報を割り当てた辺毎に、以下の情報を記述した辺データを生成する。即ち、該辺に割り当てた情報、該辺の両端位置の座標、該辺が入力画像中のエッジ線から生成されたものか否かを示すフラグ値、該辺上の各頂点に割り当てた色を示す情報、メッシュ符号化処理の過程で該辺に割り当てられた該辺の制御点の座標、である。 Next, side data describing the following information is generated for each side to which information is assigned. That is, information assigned to the side, coordinates of both end positions of the side, a flag value indicating whether or not the side is generated from an edge line in the input image, and a color assigned to each vertex on the side Information indicating the coordinates of the control points of the side assigned to the side in the course of the mesh encoding process.
そして最後に、分割したメッシュ毎に生成したメッシュデータ及び情報を割り当てた辺毎に生成した辺データ、を含むデータを、入力画像の符号化データとして生成する。 Finally, data including mesh data generated for each divided mesh and side data generated for each side to which information is assigned is generated as encoded data of the input image.
次に、符号化部105によって出力された、入力画像のメッシュ符号化結果を復号する画像処理装置について説明する。先ず、この復号処理を行う画像処理装置について、機能構成例を示す図10のブロック図を用いて説明する。なお、図10の構成を有する画像処理装置は、図1の構成を有する画像処理装置と別個の装置であっても良いし、同じ装置であっても良い。後者の場合、この画像処理装置は、図1に示した構成と図10に示した構成とを有する装置であり、以下に説明する復号処理は、自身が符号化して生成した符号化データを一旦メモリに保持しておき、その後、この符号化データを復号することになる。
Next, an image processing apparatus that decodes the mesh coding result of the input image output by the
符号化データ入力部1001は、符号化部105によって生成された入力画像の符号化結果である入力画像符号化データを取得し、取得した入力画像符号化データを後段の形状情報復元部1002に送出する。
The encoded
形状情報復元部1002は、入力画像符号化データから3頂点曲線メッシュの形状情報を復元する。先ず形状情報復元部1002は入力画像符号化データを取得すると、これを画像処理装置内の不図示のメモリに一旦格納する。そしてメッシュ毎の符号化データを参照する。着目メッシュの符号化データを参照すると、この符号化データ中に記述されている「着目メッシュを構成するそれぞれの辺に割り当てた固有情報」を参照する。そして「着目メッシュを構成するそれぞれの辺に割り当てた固有情報」で特定される辺の符号化データを入力画像符号化データから読み出す。そして読み出した辺の符号化データから基準点を復元し、復元した基準点から着目メッシュを復元する。
The shape
ここまでの処理を図7のメッシュ720を例に取り説明すると、メッシュ720の符号化データ中の「メッシュ720を構成するそれぞれの辺に割り当てた固有情報」を参照する。ここでは辺705、辺707、辺706の順に記述されている固有情報を参照する。そして記述順において最初の2辺である辺705と辺707のそれぞれの両端の座標位置を参照すると、辺705の何れか一端の座標位置と辺707の何れか一端の座標位置とは同じである。然るにこの同じ座標位置に対する頂点である頂点701を基準点とする。そして、基準点となる頂点701から反時計周りに辺を接続していく。まず辺705と辺707の位置関係(それぞれの両端の座標値から導出可能)から、辺705を選択する。そして、辺705の符号化データから頂点701、制御点710、頂点702、制御点711の座標位置を読み出すことで、これらを復元する。次に辺706の符号化データから制御点712、頂点703、制御点713の座標位置を読み出すことで、これらを復元する。最後に、辺707の符号化データから制御点714、制御点715の座標位置を読み出すことで、これらを復元する。
The processing up to this point will be described using the
これらの復元処理により、メッシュ720の形状を一意に特定するために必要な情報(即ち形状情報)は復元されるので、結果としてメッシュ720の形状が復元されることになる。このような処理を、メッシュ毎に行うことで、それぞれの3頂点曲線メッシュの形状が復元される。
By these restoration processes, information (ie, shape information) necessary for uniquely specifying the shape of the
色情報復元部1003は、形状情報復元部1002で復元された3頂点曲線メッシュの形状情報を利用して、メッシュの色情報を復元する。この処理を図7を例に取り説明すると、基準点となる頂点701から、規則的にベジェパッチを分割することで、順番にサンプリング点が導出される。メッシュ720では、サンプリング点722〜736が導出される。
The color
次にそれぞれのサンプリング点に色を割り当てる。まずメッシュ720の辺上のサンプリング点に色を割り当てる。基準点となる頂点701から反時計周りに色を復元する。先ず辺705の符号化データ中で色が並んでいる順番を確認する。例えば辺705の符号化データ中に辺705の両端の座標位置が頂点701、702の順に並んでいるとする。この場合、辺705の符号化データ中の「辺705上の各頂点(サンプリング点)について割り当てた色を示す情報」を、サンプリング点722、723、725、728、732の順に割り当てる。逆に頂点702、701の順に並んでいれば、辺705の符号化データ中の「辺705上の各頂点(サンプリング点)について割り当てた色を示す情報」を、サンプリング点732、728、725、723、722の順に割り当てる。次に、辺706の符号化データ中の「辺706上の各頂点(サンプリング点)について割り当てた色を示す情報」を、同様の処理によりサンプリング点733、734、735、736の順に割り当てる。最後に、辺707についても同様にしてサンプリング点731、727、724の順に色を割り当てる。
Next, a color is assigned to each sampling point. First, colors are assigned to sampling points on the sides of the
なお、この色割り当て処理は、辺707がエッジ線上の辺ではない場合の処理である。辺707がエッジ線上の辺である場合、辺707の左右どちらの色をメッシュ720に対して利用するか判断しなくてはならない。この判断は、色を復元している反時計周りの方向が、辺の両端(頂点)が記述されている順番と逆のとき、右側の色を使う。またその反対では、左側の色を使う。図7を例に取り説明すると、色を復元している反時計周りの方向は、頂点703から頂点701に向かう方向である。辺705の符号化データ中に座標値が頂点701、頂点703の順に並んでいるとき、メッシュ720の色として右側の色を使う。また、頂点703、頂点701の順に並んでいるとき、メッシュ720の色として左側の色を使う。以上の処理によりメッシュの辺上の色が復元される。
This color assignment process is a process when the
なお、辺707がエッジ線上の辺であるか否かは、辺707の符号化データ中の「辺707が入力画像中のエッジ線から生成されたものであるか否かを示すフラグ値」を参照すればよい。
Whether or not the
残ったメッシュ720内のサンプリング点における色は、メッシュ720の符号化データ中に記述されている「メッシュ720中の各サブメッシュの頂点に割り当てた色」を用いても良いが、辺上の各頂点の色から補間により色を求めても良い。もちろん、辺上にはないサンプリング点の色を決める方法についてはこれに限るものではない。
As the color at the sampling point in the remaining
ここまでの処理でメッシュの形状情報及び色情報が復元されたので、後はこれらの情報を用いれば入力画像が復元できる。然るに画像出力部1004は、メッシュの形状情報及び色情報を用いて入力画像を復元し、復元した入力画像を出力画像として出力する。出力先については特に限定するものではなく、適当なメモリに格納しても良いし、表示装置に出力して表示させても良いし、ネットワークを介して外部の装置に対して送信しても良い。
Since the mesh shape information and color information have been restored by the above processing, the input image can be restored by using these pieces of information. However, the
<第1の実施形態の変形例>
図1,10に示した各部はハードウェアで構成しても良いが、ソフトウェア(コンピュータプログラム)として実装しても良い。この場合、このソフトウェアは、PC(パーソナルコンピュータ)等、一般のコンピュータのメモリにインストールされることになる。そしてこのコンピュータのCPUがこのインストールされたソフトウェアを実行することで、このコンピュータは、上述の画像処理装置の機能(図1,10に示した各部の機能)を実現することになる。即ち、このコンピュータは、上述の画像処理装置に適用することができる。第1の実施形態に係る画像処理装置に適用可能なコンピュータのハードウェア構成例について、図9のブロック図を用いて説明する。
<Modification of First Embodiment>
1 and 10 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 FIGS. 1 and 10). That is, this computer can be applied to the above-described image processing apparatus. A hardware configuration example of a computer applicable to the image processing apparatus according to the first embodiment will be described with reference to the block diagram of FIG.
CPU901は、RAM902やROM903に格納されているコンピュータプログラムやデータを用いて、コンピュータ全体の制御を行うと共に、画像処理装置が行うものとして説明した上述の各処理を実行する。即ち、図1,10に示した各部が行うものとして上述した各処理を実行する。
The
RAM902は、コンピュータ読み取り可能な記憶媒体の一例である。RAM902は、外部記憶装置907や記憶媒体ドライブ908からロードされたコンピュータプログラムやデータ、I/F(インターフェース)909を介して外部装置から受信したデータなどを一時的に記憶するためのエリアを有する。更に、RAM902は、CPU901が各種の処理を実行する際に用いるワークエリアを有する。即ち、RAM902は、各種のエリアを適宜提供することができる。ROM903は、コンピュータ読み取り可能な記憶媒体の一例であり、コンピュータの設定データや、ブートプログラムなどが格納されている。
The
キーボード904、マウス905は、コンピュータの操作者が操作することで、各種の指示をCPU901に対して入力することができる。表示装置906は、CRTや液晶画面などにより構成されており、CPU901による処理結果を画像や文字などでもって表示することができる。例えば、上記入力画像を表示したり、暫定的に設定したメッシュ、最終的に決定したメッシュ、復元画像等を表示したりすることができる。
The keyboard 904 and the
外部記憶装置907は、コンピュータ読み取り可能な記憶媒体の一例であり、ハードディスクドライブ装置に代表される大容量情報記憶装置である。外部記憶装置907には、OS(オペレーティングシステム)や、図1,10に示した各部の機能をCPU901に実現させるためのコンピュータプログラムやデータ、上記入力画像のデータ、既知の情報として説明した情報等が保存されている。外部記憶装置907に保存されているコンピュータプログラムやデータは、CPU901による制御に従って適宜RAM902にロードされ、CPU901による処理対象となる。
The
記憶媒体ドライブ908は、CD−ROMやDVD−ROMなどの記憶媒体に記録されているコンピュータプログラムやデータを読み出し、読み出したコンピュータプログラムやデータを外部記憶装置907やRAM902に出力する。なお、外部記憶装置907に保存されているものとして説明した情報の一部若しくは全部をこの記憶媒体に記録させておき、この記憶媒体ドライブ908に読み取らせても良い。
The
I/F909は、外部装置をコンピュータに接続する為のものである。例えば、ディジタルカメラなど、上記入力画像を取得するための装置を、このI/F909に接続し、この外部装置から入力画像をI/F909を介してRAM902や外部記憶装置907に取得するようにしても良い。910は、上述の各部を繋ぐバスである。
The I /
上述構成において、本コンピュータの電源がONになると、CPU901はROM903に格納されている上記ブートプログラムに従って、外部記憶装置907からOSをRAM902にロードする。この結果、キーボード904、マウス905を介した情報入力操作が可能となり、表示装置906にGUIを表示することが可能となる。ユーザが、キーボード904やマウス905を操作し、外部記憶装置907に格納された画像処理用アプリケーションプログラムの起動指示を入力すると、CPU901はこのプログラムをRAM902にロードし、実行する。これにより、本コンピュータが上記の画像処理装置として機能することになる。
In the above configuration, when the computer is turned on, the
CPU901が実行する画像処理用のアプリケーションプログラムは、基本的に図1,10に示す各構成要素に相当する関数を備えることになる。ここで、符号化データは外部記憶装置907に保存することになる。なお、このコンピュータは、以降の各実施形態に係る画像処理装置にも同様に適用可能であることは、以下の説明より明らかである。
The image processing application program executed by the
[第2の実施形態]
第1の実施形態では、辺を共有する、辺上のサンプリング点を共有する、エッジ線上のサンプリング点は2種類の色を有する、という3頂点曲線メッシュの特徴を利用してメッシュ表現の効率化を図った。具体的には、辺情報とメッシュ情報を用いてデータの冗長性を削減している。本実施形態では頂点に係る情報を別個に管理し、辺情報として扱っていた頂点情報の冗長性を削減する。
[Second Embodiment]
In the first embodiment, the efficiency of mesh representation is improved by utilizing the characteristics of a three-vertex curve mesh that shares edges, shares sampling points on edges, and sampling points on edge lines have two types of colors. I planned. Specifically, data redundancy is reduced using edge information and mesh information. In the present embodiment, information related to vertices is managed separately, and the redundancy of vertex information handled as edge information is reduced.
本実施形態において入力画像を符号化する装置の構成は、図1に示した構成と同様であるが、符号化部105の動作のみが第1の実施形態と異なる。然るに以下では、本実施形態に係る符号化部105の動作について説明する。なお、メッシュ毎の符号化データの生成は第1の実施形態と同様にして行う。
The configuration of an apparatus for encoding an input image in the present embodiment is the same as the configuration shown in FIG. 1, but only the operation of the
符号化部105は、メッシュを生成するために入力画像上に設定された(実際にメッシュの頂点として使用されている)各頂点に対して、頂点毎に固有の情報を割り当てる(頂点情報割り当て)。この固有情報についても、それぞれの頂点を一意に識別することができる情報であれば、如何なる情報であっても良い。そして符号化部105は、メッシュを生成するために入力画像上に設定された(実際にメッシュの頂点として使用されている)頂点毎に、以下の情報が記述された頂点データを生成する。
The
・ 頂点の固有情報
・ 頂点の座標位置
また、符号化部105は、固有情報を割り当てた辺毎に符号化データを生成するのであるが、1つの辺(着目辺)に対する符号化データには、次に列挙する情報が記述されている。
-Vertex unique information-Vertex coordinate position The
・ 着目辺に対して割り当てた固有情報
・ 着目辺の両端位置における頂点の固有情報
・ 着目辺が入力画像中のエッジ線から生成されたものであるか否かを示すフラグ値
・ 着目辺上の各頂点(サンプリング点)について割り当てた色を示す情報
・ メッシュ符号化処理の過程で着目辺に対して割り当てた着目辺の制御点の座標
このような情報が記された符号化データを、辺毎に生成する。そして符号化部105は、メッシュ毎に生成した符号化データ、辺毎に生成した符号化データ、頂点毎に生成した頂点データ、ヘッダ(頂点の数、辺の数、メッシュの数、メッシュの分割数、を含む)、をまとめて、入力画像に対する符号化データとし、出力する。
-Unique information assigned to the target edge-Specific information of the vertices at both ends of the target edge-Flag value indicating whether the target edge is generated from the edge line in the input image-On the target edge Information indicating the color assigned to each vertex (sampling point)-Coordinates of the control point of the target side assigned to the target side in the course of the mesh encoding process. To generate. The
頂点データの記述を、図7を例に説明する。図7の場合、頂点データには、頂点701、702、703、704のそれぞれのx座標及びx座標と、頂点701、702、703、704のそれぞれの固有情報と、を記述する。頂点の座標位置は、x座標、x座標さえ導出できれば、頂点間の差分を保持するなど他の表現を用いても構わない。また、頂点に固有の情報には、頂点固有のアドレスが割り当てられてさえいれば、他の表現方法でも構わない。
The description of the vertex data will be described with reference to FIG. In the case of FIG. 7, the vertex data describes the x-coordinates and x-coordinates of the
符号化部105は、メッシュ毎に生成した符号化データ、辺毎に生成した符号化データ、頂点毎に生成した頂点データ、ヘッダ(頂点の数、辺の数、メッシュの数、メッシュの分割数、を含む)、をzip符号化して管理している。しかし、非可逆符号化を含めた他の符号化方式を用いて管理しても良い。
The
第1の実施形態では、頂点に接続されている辺の数の分だけ頂点座標を符号化しなければならなかったが、本実施形態の表現では、1回の符号化で表現でき符号化効率の向上が図れる。 In the first embodiment, the vertex coordinates have to be encoded by the number of sides connected to the vertex. However, in the expression of this embodiment, it can be expressed by one encoding and the encoding efficiency is improved. Improvement can be achieved.
次に、本実施形態に係る符号化により生成された入力画像符号化データを復号する装置について説明する。この復号する装置は第1の実施形態と同様、図10に示した構成を有するが、以下に説明する点のみが異なる。 Next, an apparatus for decoding input image encoded data generated by encoding according to the present embodiment will be described. This decoding apparatus has the configuration shown in FIG. 10 as in the first embodiment, but differs only in the points described below.
図7のメッシュ720を例に取り説明すると、形状情報復元部1002は、メッシュ720の符号化データ中の「メッシュ720を構成するそれぞれの辺に割り当てた固有情報」を参照する。ここでは辺705、辺707、辺706の順に記述されている固有情報を参照する。そして記述順において最初の2辺である辺705と辺707のそれぞれの両端の頂点の固有情報に対応する座標位置を座標情報から取得して参照して、頂点701を基準点とする。そして、辺705と辺707の位置関係(それぞれの両端の座標値から導出可能)から、辺705を選択する。
The
そして、辺705の符号化データ中の頂点701,702の固有情報から、頂点701,702の頂点データを特定し、特定した頂点データ、及び辺705の符号化データから頂点701、制御点710、頂点702、制御点711の座標位置を読み出す。これにより、これらを復元する。
Then, from the unique information of the
次に辺706の符号化データ中の頂点703の固有情報から、頂点703の頂点データを特定し、特定した頂点データ、及び辺706の符号化データから制御点712、頂点703、制御点713の座標位置を読み出す。これにより、これらを復元する。最後に、辺707の符号化データから制御点714、制御点715の座標位置を読み出すことで、これらを復元する。
Next, the vertex data of the
このような処理を、メッシュ毎に行うことで、3頂点曲線メッシュの形状が復元される。メッシュの色情報を復元する方法については第1の実施形態と同様にして行う。 By performing such processing for each mesh, the shape of the three-vertex curve mesh is restored. The method for restoring the mesh color information is performed in the same manner as in the first embodiment.
[第3の実施形態]
第1,2の実施形態では、メッシュの辺が曲線である3頂点曲線メッシュの表現を説明したが、本実施形態では、メッシュの辺が直線と曲線が混在している場合の3頂点曲線メッシュの表現について説明する。
[Third Embodiment]
In the first and second embodiments, the expression of a three-vertex curve mesh in which the sides of the mesh are curves has been described. However, in this embodiment, the three-vertex curve mesh in the case where the sides of the mesh are mixed with straight lines and curves. The expression of will be described.
入力画像符号化データを生成する画像処理装置の構成は第1の実施形態と同様、図1に示した構成を有するが、符号化部105の動作のみが第1の実施形態と異なる。然るに以下では符号化部105の動作について重点的に説明する。
The configuration of the image processing apparatus that generates the input image encoded data has the configuration shown in FIG. 1 as in the first embodiment, but only the operation of the
本実施形態で取り扱う3頂点曲線メッシュの形状情報、色情報について図11を用いて説明する。メッシュ1118を構成する頂点は頂点1101,1102,1103であり、頂点1101と頂点1102との間は曲線の辺、頂点1102と頂点1103との間は曲線の辺、頂点1101と頂点1103との間は直線の辺である。ここで、曲線の辺は制御点を伴って生成されるものであるが、直線の辺に関してはその両端さえ分かれば生成可能であるため、制御点は不要となる。
The shape information and color information of the three-vertex curve mesh handled in this embodiment will be described with reference to FIG. The vertices constituting the
本実施形態では第2の実施形態と同様に、頂点毎の頂点データ、メッシュ毎の符号化データ、辺毎の符号化データ、を生成するのであるが、辺毎の符号化データの構成のみが異なる。1つの辺(着目辺)に対する符号化データには、次に列挙する情報が記述されている。 In the present embodiment, as in the second embodiment, vertex data for each vertex, encoded data for each mesh, and encoded data for each side are generated, but only the configuration of the encoded data for each side is generated. Different. In the encoded data for one side (side of interest), the information listed below is described.
・ 着目辺に対して割り当てた固有情報
・ 着目辺の両端位置における頂点の固有情報
・ 着目辺が曲線であるか直線であるかを示すフラグ値
・ 着目辺が入力画像中のエッジ線から生成されたものであるか否かを示すフラグ値
・ 着目辺上の各頂点(サンプリング点)について割り当てた色を示す情報
・ メッシュ符号化処理の過程で着目辺に対して割り当てた着目辺の制御点の座標(着目辺が曲線である場合のみ)
このような情報が記された符号化データを、辺毎に生成する。例えば、図11を例に取ると、辺1107は直線であるため、辺1107に対する符号化データには、次に列挙する情報が記述されている。
-Unique information assigned to the target side-Specific information on the vertices at both ends of the target side-Flag value indicating whether the target side is a curve or a straight line-The target side is generated from the edge line in the input image Flag value that indicates whether or not it is a target ・ Information indicating the color assigned to each vertex (sampling point) on the target side ・ The control point of the target side assigned to the target side during the mesh encoding process Coordinates (only when the side of interest is a curve)
Encoded data in which such information is described is generated for each side. For example, taking FIG. 11 as an example, since the
・ 辺1107に対して割り当てた固有情報
・ 辺1107の両端位置における頂点1101,1103の固有情報
・ 辺1107が曲線であるか直線であるかを示すフラグ値(=直線を示すフラグ値)
・ 辺1107が入力画像中のエッジ線から生成されたものであるか否かを示すフラグ値
・ 辺1107上の各頂点(サンプリング点)1120,1122,1125,1129,1134(辺1107が入力画像中のエッジ線から生成されたものである場合はこれに加えて頂点1145〜1149)について割り当てた色を示す情報
・ メッシュ符号化処理の過程で辺1107に対して割り当てた辺1107の制御点の座標としてNULL
そして符号化部105は、メッシュ毎に生成した符号化データ、辺毎に生成した符号化データ、頂点毎に生成した頂点データ、ヘッダ(頂点の数、辺の数、メッシュの数、メッシュの分割数、を含む)をまとめて、入力画像に対する符号化データとし、出力する。
Specific information assigned to the
Flag value indicating whether the
The
符号化部105は、メッシュ毎に生成した符号化データ、辺毎に生成した符号化データ、頂点毎に生成した頂点データ、ヘッダ(頂点の数、辺の数、メッシュの数、メッシュの分割数、を含む)、をzip符号化して管理している。しかし、非可逆符号化を含めた他の符号化方式を用いて管理しても良い。
The
次に、本実施形態に係る符号化により生成された入力画像符号化データを復号する装置について説明する。この復号する装置は第1の実施形態と同様、図10に示した構成を有するが、以下に説明する点のみが異なる。 Next, an apparatus for decoding input image encoded data generated by encoding according to the present embodiment will be described. This decoding apparatus has the configuration shown in FIG. 10 as in the first embodiment, but differs only in the points described below.
図7のメッシュ720を例に取り説明すると、形状情報復元部1002は、メッシュ720の符号化データ中の「メッシュ720を構成するそれぞれの辺に割り当てた固有情報」を参照する。ここでは辺705、辺707、辺706の順に記述されている固有情報を参照する。そして記述順において最初の2辺である辺705と辺707のそれぞれの両端の頂点の固有情報に対応する座標位置を座標情報から取得して参照して、頂点701を基準点とする。そして、辺705と辺707の位置関係(それぞれの両端の座標値から導出可能)から、辺705を選択する。
The
そして、辺705の符号化データ中の「曲線か直線かを示すフラグ値」を参照する。図7の場合、このフラグ値は「曲線」を示すので、辺705の符号化データ中の頂点701,702の固有情報から、頂点701,702の頂点データを特定する。そして、特定した頂点データと辺705の符号化データから、頂点701、制御点710、頂点702、制御点711の座標位置を読み出すことで、これらを復元する。
Then, “flag value indicating curve or straight line” in the encoded data of
次に辺706の符号化データ中の「曲線か直線かを示すフラグ値」を参照する。図7の場合、このフラグ値は「曲線」を示すので、辺706の符号化データ中の頂点703の固有情報から、頂点703の頂点データを特定する。そして、特定した頂点データと辺706の符号化データから、頂点703、制御点712、制御点713の座標位置を読み出すことで、これらを復元する。
Next, “flag value indicating curve or straight line” in the encoded data of
最後に、辺707の符号化データ中の「曲線か直線かを示すフラグ値」を参照する。図7の場合、このフラグ値は「曲線」を示すので、辺707の符号化データから制御点714、制御点715を読み出すことで、これらを復元する。
Finally, the “flag value indicating a curve or a straight line” in the encoded data of the
このような処理を、メッシュ毎に行うことで、3頂点曲線メッシュの形状が復元される。メッシュの色情報を復元する方法については第1の実施形態と同様にして行う。なお、第1〜3の実施形態は適宜組み合わせて使用することも可能であり、その組み合わせ方法については当業者であれば適宜考え得ることである。 By performing such processing for each mesh, the shape of the three-vertex curve mesh is restored. The method for restoring the mesh color information is performed in the same manner as in the first embodiment. It should be noted that the first to third embodiments can be used in appropriate combinations, and the combination method can be appropriately considered by those skilled in the art.
(その他の実施例)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
(Other examples)
The present invention can also be realized by executing the following processing. That is, software (program) that realizes the functions of the above-described embodiments is supplied to a system or apparatus via a network or various storage media, and a computer (or CPU, MPU, or the like) of the system or apparatus reads the program. It is a process to be executed.
Claims (8)
前記メッシュ符号化処理の過程で前記入力画像を前記メッシュを単位に分割し、該メッシュを複数のサブメッシュに分割し、該サブメッシュの各頂点に対して、前記入力画像中の該頂点の位置における色を割り当てる色割り当て手段と、
前記入力画像上で隣接する2つのメッシュ間で共有しているメッシュ辺、何れのメッシュとも共有していないメッシュ辺、のそれぞれに対して固有の情報を割り当てる情報割り当て手段と、
分割したメッシュ毎に、該メッシュを構成するそれぞれの辺に対して前記情報割り当て手段が割り当てた情報と、該メッシュ中の各サブメッシュの頂点毎に前記色割り当て手段が割り当てた色を示す情報と、を記述したメッシュデータを生成し、
前記情報割り当て手段が情報を割り当てた辺毎に、該辺に対して前記情報割り当て手段が割り当てた情報と、該辺の両端位置の座標と、該辺が前記入力画像中のエッジ線から生成されたものであるか否かを示すフラグ値と、該辺上の各頂点について前記色割り当て手段が割り当てた色を示す情報と、を記述した辺データを生成し、
分割したメッシュ毎に生成したメッシュデータ及び前記情報割り当て手段が情報を割り当てた辺毎に生成した辺データ、を含むデータを、前記入力画像の符号化データとして生成する生成手段と
を備えることを特徴とする画像処理装置。 An image processing apparatus that executes mesh encoding processing that encodes an input image in units of a mesh that includes three vertices and a side connecting the three vertices is a straight line or a curve,
The input image is divided into units of the mesh in the course of the mesh encoding process, the mesh is divided into a plurality of sub-mesh, and the position of the vertex in the input image with respect to each vertex of the sub-mesh A color assigning means for assigning colors in
Information assigning means for assigning unique information to each of mesh sides shared between two adjacent meshes on the input image, mesh sides not shared with any mesh,
For each divided mesh, information assigned by the information assigning means to each side constituting the mesh, and information indicating the color assigned by the color assigning means for each vertex of each sub-mesh in the mesh; Generate mesh data describing,
For each side to which the information assigning unit has assigned information, the information assigned by the information assigning unit to the side, the coordinates of both end positions of the side, and the side are generated from the edge line in the input image. Generating edge data that describes a flag value indicating whether or not a color image and information indicating the color assigned by the color assigning means for each vertex on the edge,
Generating means for generating, as encoded data of the input image, data including mesh data generated for each divided mesh and edge data generated for each edge to which the information assigning means has assigned information. An image processing apparatus.
前記メッシュ符号化処理の過程で前記入力画像を前記メッシュを単位に分割し、該メッシュを複数のサブメッシュに分割し、該サブメッシュの各頂点に対して、前記入力画像中の該頂点の位置における色を割り当てる色割り当て手段と、
前記入力画像上で隣接する2つのメッシュ間で共有しているメッシュ辺、何れのメッシュとも共有していないメッシュ辺、のそれぞれに対して固有の情報を割り当てる辺情報割り当て手段と、
前記入力画像上でメッシュを生成するために設定したそれぞれの頂点に対して固有の情報を割り当てる頂点情報割り当て手段と、
分割したメッシュ毎に、該メッシュを構成するそれぞれの辺に対して前記辺情報割り当て手段が割り当てた情報と、該メッシュ中の各サブメッシュの頂点毎に前記色割り当て手段が割り当てた色を示す情報と、を記述したメッシュデータを生成し、
前記辺情報割り当て手段が情報を割り当てた辺毎に、該辺に対して前記辺情報割り当て手段が割り当てた情報と、該辺の両端に位置する頂点に対して前記頂点情報割り当て手段が割り当てた情報と、該辺が前記入力画像中のエッジ線から生成されたものであるか否かを示すフラグ値と、該辺上の各頂点について前記色割り当て手段が割り当てた色を示す情報と、を記述した辺データを生成し、
前記入力画像上でメッシュを生成するために設定したそれぞれの頂点について、該頂点について前記頂点情報割り当て手段が割り当てた情報と、該頂点の座標位置と、を記述した頂点データを生成し、
分割したメッシュ毎に生成したメッシュデータ、前記辺情報割り当て手段が情報を割り当てた辺毎に生成した辺データ、前記入力画像上でメッシュを生成するために設定したそれぞれの頂点について生成した頂点データ、を含むデータを、前記入力画像の符号化データとして生成する生成手段と
を備えることを特徴とする画像処理装置。 An image processing apparatus that executes mesh encoding processing that encodes an input image in units of a mesh that includes three vertices and a side connecting the three vertices is a straight line or a curve,
The input image is divided into units of the mesh in the course of the mesh encoding process, the mesh is divided into a plurality of sub-mesh, and the position of the vertex in the input image with respect to each vertex of the sub-mesh A color assigning means for assigning colors in
Side information assigning means for assigning unique information to each of mesh sides shared between two adjacent meshes on the input image, mesh sides not shared with any mesh,
Vertex information assigning means for assigning unique information to each vertex set to generate a mesh on the input image;
For each divided mesh, information assigned by the side information assigning unit to each side constituting the mesh, and information indicating the color assigned by the color assigning unit for each vertex of each sub-mesh in the mesh And generate mesh data describing
For each side to which the side information assigning unit has assigned information, information assigned by the side information assigning unit to the side and information assigned by the vertex information assigning unit to vertices located at both ends of the side And a flag value indicating whether or not the side is generated from an edge line in the input image, and information indicating the color assigned by the color assigning unit for each vertex on the side Generated edge data,
For each vertex set to generate a mesh on the input image, generate vertex data describing the information assigned by the vertex information assigning means for the vertex and the coordinate position of the vertex,
Mesh data generated for each divided mesh, side data generated for each side to which the side information assigning unit has assigned information, vertex data generated for each vertex set to generate a mesh on the input image, An image processing apparatus comprising: generating means for generating data including the data as encoded data of the input image.
着目辺が前記入力画像中のエッジ線から生成されたものである場合、該着目辺を共有する一方のメッシュの該着目辺上の頂点について前記色割り当て手段が割り当てた色を示す情報及び該着目辺を共有する他方のメッシュの該着目辺上の頂点について前記色割り当て手段が割り当てた色を示す情報を、前記着目辺の辺データに記述し、
前記着目辺が前記入力画像中のエッジ線から生成されたものではない場合、前記着目辺を共有する一方のメッシュの前記着目辺上の頂点について前記色割り当て手段が割り当てた色を示す情報を、前記着目辺の辺データに記述する
ことを特徴とする請求項1又は2に記載の画像処理装置。 The generating means includes
When the target side is generated from an edge line in the input image, information indicating the color assigned by the color assigning unit for the vertex on the target side of one mesh sharing the target side and the target Information indicating the color assigned by the color assigning unit for the vertex on the target side of the other mesh sharing the side is described in the side data of the target side,
If the target side is not generated from an edge line in the input image, information indicating the color assigned by the color assigning unit for the vertex on the target side of one mesh that shares the target side, The image processing apparatus according to claim 1, wherein the image processing apparatus is described in edge data of the edge of interest.
前記画像処理装置の色割り当て手段が、前記メッシュ符号化処理の過程で前記入力画像を前記メッシュを単位に分割し、該メッシュを複数のサブメッシュに分割し、該サブメッシュの各頂点に対して、前記入力画像中の該頂点の位置における色を割り当てる色割り当て工程と、
前記画像処理装置の情報割り当て手段が、前記入力画像上で隣接する2つのメッシュ間で共有しているメッシュ辺、何れのメッシュとも共有していないメッシュ辺、のそれぞれに対して固有の情報を割り当てる情報割り当て工程と、
前記画像処理装置の生成手段が、分割したメッシュ毎に、該メッシュを構成するそれぞれの辺に対して前記情報割り当て工程で割り当てた情報と、該メッシュ中の各サブメッシュの頂点毎に前記色割り当て工程で割り当てた色を示す情報と、を記述したメッシュデータを生成し、
前記情報割り当て工程で情報を割り当てた辺毎に、該辺に対して前記情報割り当て工程で割り当てた情報と、該辺の両端位置の座標と、該辺が前記入力画像中のエッジ線から生成されたものであるか否かを示すフラグ値と、該辺上の各頂点について前記色割り当て工程で割り当てた色を示す情報と、を記述した辺データを生成し、
分割したメッシュ毎に生成したメッシュデータ及び前記情報割り当て工程で情報を割り当てた辺毎に生成した辺データ、を含むデータを、前記入力画像の符号化データとして生成する生成工程と
を備えることを特徴とする画像処理方法。 An image processing method performed by an image processing apparatus that executes mesh coding processing for coding an input image in units of a mesh composed of three vertices and whose side connecting the three vertices is a straight line or a curve,
The color allocation means of the image processing device divides the input image into units of the mesh in the course of the mesh encoding process, divides the mesh into a plurality of sub-mesh, and for each vertex of the sub-mesh Assigning a color at the position of the vertex in the input image; and
The information allocation unit of the image processing apparatus allocates unique information to each of mesh sides shared between two adjacent meshes on the input image and mesh sides not shared with any mesh. Information allocation process;
The generation means of the image processing apparatus assigns the information assigned in the information assigning step to each side constituting the mesh for each divided mesh, and the color assignment for each vertex of each sub-mesh in the mesh Generate mesh data describing information indicating the color assigned in the process,
For each side to which information is assigned in the information assignment step, the information assigned to the side in the information assignment step, the coordinates of both end positions of the side, and the side are generated from the edge line in the input image. Generating edge data that describes a flag value indicating whether or not a color image and information indicating the color assigned in the color assignment step for each vertex on the edge,
A generation step of generating data including mesh data generated for each divided mesh and side data generated for each side to which information is assigned in the information allocation step, as encoded data of the input image. An image processing method.
前記画像処理装置の色割り当て手段が、前記メッシュ符号化処理の過程で前記入力画像を前記メッシュを単位に分割し、該メッシュを複数のサブメッシュに分割し、該サブメッシュの各頂点に対して、前記入力画像中の該頂点の位置における色を割り当てる色割り当て工程と、
前記画像処理装置の辺情報割り当て手段が、前記入力画像上で隣接する2つのメッシュ間で共有しているメッシュ辺、何れのメッシュとも共有していないメッシュ辺、のそれぞれに対して固有の情報を割り当てる辺情報割り当て工程と、
前記画像処理装置の頂点情報割り当て手段が、前記入力画像上でメッシュを生成するために設定したそれぞれの頂点に対して固有の情報を割り当てる頂点情報割り当て工程と、
前記画像処理装置の生成手段が、分割したメッシュ毎に、該メッシュを構成するそれぞれの辺に対して前記辺情報割り当て工程で割り当てた情報と、該メッシュ中の各サブメッシュの頂点毎に前記色割り当て工程で割り当てた色を示す情報と、を記述したメッシュデータを生成し、
前記辺情報割り当て工程で情報を割り当てた辺毎に、該辺に対して前記辺情報割り当て工程で割り当てた情報と、該辺の両端に位置する頂点に対して前記頂点情報割り当て工程で割り当てた情報と、該辺が前記入力画像中のエッジ線から生成されたものであるか否かを示すフラグ値と、該辺上の各頂点について前記色割り当て工程で割り当てた色を示す情報と、を記述した辺データを生成し、
前記入力画像上でメッシュを生成するために設定したそれぞれの頂点について、該頂点について前記頂点情報割り当て工程で割り当てた情報と、該頂点の座標位置と、を記述した頂点データを生成し、
分割したメッシュ毎に生成したメッシュデータ、前記辺情報割り当て工程で情報を割り当てた辺毎に生成した辺データ、前記入力画像上でメッシュを生成するために設定したそれぞれの頂点について生成した頂点データ、を含むデータを、前記入力画像の符号化データとして生成する生成工程と
を備えることを特徴とする画像処理方法。 An image processing method performed by an image processing apparatus that executes mesh coding processing for coding an input image in units of a mesh composed of three vertices and whose side connecting the three vertices is a straight line or a curve,
The color allocation means of the image processing device divides the input image into units of the mesh in the course of the mesh encoding process, divides the mesh into a plurality of sub-mesh, and for each vertex of the sub-mesh Assigning a color at the position of the vertex in the input image; and
The edge information allocating means of the image processing device provides unique information for each of the mesh edges shared between two adjacent meshes on the input image and mesh edges not shared with any mesh. Side information assignment step to be assigned;
Vertex information assigning means of the image processing device assigns unique information to each vertex set to generate a mesh on the input image, and vertex information assigning step,
The generation means of the image processing apparatus assigns the information assigned in the side information assigning step to each side constituting the mesh for each divided mesh, and the color for each vertex of each sub-mesh in the mesh. Generate mesh data describing information indicating the color assigned in the assignment process,
For each side to which information is assigned in the side information assignment step, information assigned in the side information assignment step to the side, and information assigned in the vertex information assignment step to vertices located at both ends of the side And a flag value indicating whether or not the side is generated from an edge line in the input image, and information indicating the color assigned in the color assignment step for each vertex on the side Generated edge data,
For each vertex set to generate a mesh on the input image, generate vertex data describing the information assigned in the vertex information assignment step for the vertex and the coordinate position of the vertex,
Mesh data generated for each divided mesh, edge data generated for each edge assigned information in the edge information assigning step, vertex data generated for each vertex set to generate a mesh on the input image, An image processing method comprising: a generation step of generating data including the data as encoded data of the input image.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011087699A JP5798357B2 (en) | 2011-04-11 | 2011-04-11 | Image processing apparatus and image processing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011087699A JP5798357B2 (en) | 2011-04-11 | 2011-04-11 | Image processing apparatus and image processing method |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2012221319A JP2012221319A (en) | 2012-11-12 |
JP2012221319A5 JP2012221319A5 (en) | 2014-04-17 |
JP5798357B2 true JP5798357B2 (en) | 2015-10-21 |
Family
ID=47272725
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011087699A Expired - Fee Related JP5798357B2 (en) | 2011-04-11 | 2011-04-11 | Image processing apparatus and image processing method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5798357B2 (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6294700B2 (en) * | 2014-02-21 | 2018-03-14 | キヤノン株式会社 | Image processing apparatus and image processing method |
JP6351299B2 (en) * | 2014-02-25 | 2018-07-04 | キヤノン株式会社 | Image processing apparatus and image processing method |
JP6472226B2 (en) * | 2014-11-27 | 2019-02-20 | キヤノン株式会社 | Image processing apparatus, image processing method, and computer program |
JP2024095240A (en) * | 2022-12-28 | 2024-07-10 | Kddi株式会社 | Mesh decoding device, mesh decoding method, and program |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0993612A (en) * | 1995-09-22 | 1997-04-04 | Sanyo Electric Co Ltd | Image coding method using contour information |
US6313840B1 (en) * | 1997-04-18 | 2001-11-06 | Adobe Systems Incorporated | Smooth shading of objects on display devices |
US6668091B1 (en) * | 1998-10-02 | 2003-12-23 | Samsung Electronics Co., Ltd. | 3D mesh coding/decoding method |
KR100294926B1 (en) * | 1998-08-29 | 2001-07-12 | 윤종용 | A progressive 3-D mesh coding/decoding method and apparatus thereof |
US7038697B2 (en) * | 2003-02-25 | 2006-05-02 | Microsoft Corporation | Color gradient paths |
-
2011
- 2011-04-11 JP JP2011087699A patent/JP5798357B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2012221319A (en) | 2012-11-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10679408B2 (en) | Generating a three-dimensional model from a scanned object | |
US8704830B2 (en) | System and method for path rendering with multiple stencil samples per color sample | |
JP5451285B2 (en) | Image processing apparatus and image processing method | |
US8044955B1 (en) | Dynamic tessellation spreading for resolution-independent GPU anti-aliasing and rendering | |
CN107256573B (en) | Tile-based computer graphics | |
CN108352082B (en) | Techniques to crowd 3D objects into a plane | |
JP2013527526A (en) | Surface patch tessellation in tile-based rendering systems | |
JP2006209223A (en) | Drawing method, image generation device and electronic information apparatus | |
US11087511B1 (en) | Automated vectorization of a raster image using a gradient mesh with arbitrary topology | |
US20180232915A1 (en) | Line stylization through graphics processor unit (gpu) textures | |
US11481974B2 (en) | Mesh optimization for computer graphics | |
JP5798357B2 (en) | Image processing apparatus and image processing method | |
US8068106B1 (en) | Rendering cubic Bézier curves as quadratic curves using a GPU | |
WO2014087572A1 (en) | Area dividing and rendering device and area dividing and rendering method | |
KR101552827B1 (en) | Method Of Dividing Three-dimensional Object Model | |
KR20160003223A (en) | Tessellation of two-dimensional curves using a graphics pipeline | |
JP6294700B2 (en) | Image processing apparatus and image processing method | |
JP2019159904A (en) | Texture mapping device and program for texture mapping | |
JP5587132B2 (en) | Image processing apparatus and image processing method | |
JP5888989B2 (en) | Image processing apparatus and image processing method | |
CN114170368B (en) | Rendering method and system of quadrilateral wireframe of model and model rendering device | |
JP5956875B2 (en) | Image processing apparatus and image processing method | |
US20230377265A1 (en) | Systems for Efficiently Rendering Vector Objects | |
US11869123B2 (en) | Anti-aliasing two-dimensional vector graphics using a compressed vertex buffer | |
JP2012230668A (en) | Image processor, image processing method, and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140305 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140305 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150115 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150119 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150319 |
|
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: 20150724 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150821 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 5798357 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
LAPS | Cancellation because of no payment of annual fees |