WO2012124901A2 - 3차원 메쉬 부호화 방법 및 장치 - Google Patents

3차원 메쉬 부호화 방법 및 장치 Download PDF

Info

Publication number
WO2012124901A2
WO2012124901A2 PCT/KR2012/001197 KR2012001197W WO2012124901A2 WO 2012124901 A2 WO2012124901 A2 WO 2012124901A2 KR 2012001197 W KR2012001197 W KR 2012001197W WO 2012124901 A2 WO2012124901 A2 WO 2012124901A2
Authority
WO
WIPO (PCT)
Prior art keywords
mesh
gate
vertices
vertex
priority
Prior art date
Application number
PCT/KR2012/001197
Other languages
English (en)
French (fr)
Other versions
WO2012124901A3 (ko
Inventor
안민수
김도균
이태현
김창수
안재균
이대연
Original Assignee
삼성전자주식회사
고려대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from KR1020110050264A external-priority patent/KR101844297B1/ko
Application filed by 삼성전자주식회사, 고려대학교 산학협력단 filed Critical 삼성전자주식회사
Priority to US14/005,749 priority Critical patent/US9749609B2/en
Publication of WO2012124901A2 publication Critical patent/WO2012124901A2/ko
Publication of WO2012124901A3 publication Critical patent/WO2012124901A3/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/001Model-based coding, e.g. wire frame

Definitions

  • a method and apparatus for encoding a three-dimensional mesh of a three-dimensional object According to an embodiment of the present invention, a method and apparatus for encoding a three-dimensional mesh of a three-dimensional object.
  • three-dimensional objects have been used in many applications such as games, digital movies, CAD (CAD).
  • CAD CAD
  • three-dimensional objects can include millions or thousands of vertices and faces.
  • the 3D mesh for reconstructing the 3D object requires a large storage space, a large amount of computation and a wide transmission bandwidth. In order to transmit, store, and render three-dimensional objects effectively, it is necessary to code and compress a three-dimensional mesh.
  • the three-dimensional mesh coding method comprises the steps of simplifying a three-dimensional mesh using priorities of gates constituting the three-dimensional mesh, and vertices constituting the three-dimensional mesh through the simplification. Among them, the method may include encoding connectivity information of the removed vertices.
  • the simplification of the 3D mesh may include priorities of the gates using at least one of tag information and balance information of each of the vertices constituting the gate. And determining a front vertex connected to both end vertices of the gate based on the determined priority.
  • the removing of the front vertex may include retriagulating a triangle by connecting vertices connected to the front vertex, generating tag information of neighbor vertices of the front vertex, and neighboring the front vertex. And updating the balance information of the vertices.
  • the simplification of the three-dimensional mesh may include determining whether a patch to which the gate and the front vertex belong is a null patch, and patch a gate belonging to the patch determined as the null patch instead of a null patch.
  • the method may include determining a priority lower than a gate belonging to.
  • the simplification of the 3D mesh may include determining a start gate based on position information of each of the vertices constituting the 3D mesh and balance information of each of the vertices, and the start based on the start gate. Removing the front vertex of the gate to simplify the three-dimensional mesh.
  • the simplification of the three-dimensional mesh by removing the front vertex of the start gate may include forming a triangle by connecting neighboring vertices of the front vertex as the front vertex of the start gate is removed, and the start gate. Determining the remaining edges as next gates as the triangle is reshaped as the triangle is formed among the edges constituting a face adjacent a front vertex of the first vertex, and prioritizing each of the next gates. Can be.
  • the apparatus for encoding a 3D mesh includes a mesh simplification unit that simplifies a 3D mesh using priority of gates constituting the 3D mesh, and a 3D mesh through the simplification.
  • the encoding of the connectivity information of the removed vertices among the vertices may include a mesh encoder.
  • the mesh simplifier may determine priority of the gates using at least one of tag information of each vertices constituting the gate, and balance information.
  • a vertex removal unit configured to remove front vertices connected to both end vertices of the gate based on the determined priority.
  • the mesh simplifier may further include a start gate determiner configured to determine a start gate based on position information of each of the vertices constituting a 3D mesh and balance information of each of the vertices, and the start gate based on the start gate. It may include a vertex removal unit for removing the front vertex.
  • the priority of each gate may be determined, and the compression efficiency may be improved by simplifying the 3D mesh based on the determined high priority gate.
  • 1 is a flowchart provided to explain a method of encoding a 3D mesh in the 3D mesh encoding apparatus.
  • FIG. 2 is a flowchart provided to explain a detailed process of simplifying a 3D mesh in a 3D mesh encoding apparatus.
  • FIG. 3 illustrates a simplified three-dimensional mesh by removing front vertices and reshaping the triangle.
  • FIG. 4 is a diagram illustrating tag information generated by simplifying a three-dimensional mesh.
  • 5 is a flowchart provided to explain a detailed operation of determining the priority of gates in the 3D mesh encoding apparatus.
  • FIG. 6 is a block diagram showing the detailed configuration of a three-dimensional mesh encoding apparatus.
  • the 3D mesh encoding method may be performed by a 3D mesh encoding apparatus.
  • 1 is a flowchart provided to explain a method of encoding a 3D mesh in the 3D mesh encoding apparatus.
  • the 3D mesh encoding apparatus may simplify the 3D mesh according to the priority of each gate.
  • the 3D mesh encoding apparatus may gradually simplify the 3D mesh for each level.
  • the gate has a line shape in which vertices constituting the 3D mesh are connected, and means a line that is a reference for simplifying the 3D mesh.
  • the 3D mesh encoding apparatus may remove a front vertex of the gate.
  • the 3D mesh encoding apparatus may simplify the 3D mesh by reconnecting the removed front vertex and the adjacent neighbor vertices. For example, after removing a front vertex, the 3D mesh encoding apparatus may reconstruct a triangle by connecting neighboring vertices with each other.
  • the 3D mesh encoding apparatus may encode the connectivity information of the removed front vertex.
  • the connection relationship information of the removed front vertices refers to types of vertices constituting a surface formed by connecting front vertices and neighboring vertices before removing the front vertices.
  • the 3D mesh encoding apparatus may classify the 3D mesh into a simple mesh from a fine mesh according to a level.
  • the lower level since the lower level has fewer vertices constituting the 3D mesh than the upper level, the lower level 3D mesh has a simpler form than the upper level 3D mesh.
  • the higher-level three-dimensional mesh is closer to the original of the three-dimensional object than the lower-level three-dimensional mesh.
  • the dimensional mesh encoding apparatus may set the connection relation information and the position information related to the base mesh of the 3D mesh to level 0.
  • the base mesh is the lowest level three-dimensional mesh, and means the simplest form that can form a surface by connecting the vertices.
  • the 3D mesh encoding apparatus may encode connection relationship information of vertices removed among the vertices constituting the mesh of the current level and position information of the removed vertices based on the vertices constituting the mesh of the previous level.
  • the position information of the vertex may be expressed as geometry information, and means the three-dimensional position coordinates of the vertices constituting the three-dimensional mesh.
  • FIG. 2 is a flowchart provided to explain a detailed process of simplifying a 3D mesh in a 3D mesh encoding apparatus.
  • the 3D mesh encoding apparatus may determine a start gate using vertices constituting the 3D mesh.
  • the 3D mesh encoding apparatus may determine the start gate by using the position information of each vertex constituting the 3D mesh and the balance information of each vertex.
  • the balance information may include the number of vertices connected to the vertex and one edge.
  • the 3D mesh encoding apparatus may remove the front vertex of the start gate.
  • the 3D mesh encoding apparatus may simplify the patch to which the start gate belongs by removing the front vertex.
  • the patch 300 may include surfaces formed by connecting the front vertex 302 and neighboring vertices before removal.
  • the 3D mesh encoding apparatus may reconstruct a triangle by connecting neighboring vertices adjacent to the front vertex to each other.
  • the 3D mesh encoding apparatus may simplify the 3D mesh by removing the front vertices and reforming the triangle.
  • the 3D mesh encoding apparatus may simplify the 3D mesh by reducing the number of vertices constituting the 3D mesh and the number of faces formed by connecting the vertices.
  • the 3D mesh encoding apparatus may generate tag information of the vertices constituting the patch and update the balance information of the boundary vertices.
  • the tag information may include whether the number of neighboring vertices associated with the boundary vertex is reduced, increased, or equal.
  • three-dimensional mesh coding The device may generate tag information of a plus type (402). After reshaping the triangle, if the number of vertices connected to the boundary vertex is smaller than the number of vertices connected to the boundary vertex before reforming the triangle, the 3D mesh encoding apparatus may use a minus type (401). Tag information can be created. After reconstructing the triangle, the 3D mesh encoding apparatus may update the balance information with the number of vertices connected to the boundary vertices.
  • FIG. 3 illustrates a simplified three-dimensional mesh by removing front vertices and reshaping the triangle.
  • the 3D mesh encoding apparatus may remove the front vertex 302 connected to both end vertices of the start gate 301 among the vertices constituting the start gate 301. As the 3D mesh encoding apparatus removes the front vertex 302, the 3D mesh encoding apparatus may encode connection relationship information between the front vertex 302 and neighboring vertices before removal.
  • the 3D mesh encoding apparatus may reconstruct a triangle by connecting neighboring vertices of the front vertex. As such, as the front vertex is removed, the number of reshaped triangles is reduced to three, so that the three-dimensional mesh can be simplified.
  • the 3D mesh encoding apparatus may determine the remaining edge as the gate for removing the next vertex by removing the front vertex and reshaping the triangle among the edges forming the surface adjacent to the front vertex of the start gate. have.
  • the 3D mesh encoding apparatus may determine the edges 303 to 306 constituting the reshaped triangle as the next gate for simplifying the 3D mesh.
  • the edge (edge) has a line form that connects the vertices and vertices, the edge that is a reference for simplifying the three-dimensional mesh of the edges may be a gate.
  • FIG. 4 is a diagram illustrating tag information generated by simplifying a three-dimensional mesh.
  • the 3D mesh encoding apparatus may generate tag information of neighboring vertices of the front vertices removed as the triangle is reshaped. Can be.
  • the 3D mesh encoding apparatus may update the balance information of neighboring vertices of the front vertices removed as the triangle is reshaped.
  • the neighboring vertices may be vertices connected to the front vertices before removing the front vertices, and may include both end vertices of the gate.
  • the 3D mesh encoding apparatus may generate tag information through simplification of the vertices v1 and v2 constituting the gate 403.
  • the number of vertices connected to the vertices v1 is reduced to two, so the 3D mesh encoding apparatus may generate negative type tag information.
  • the 3D mesh encoding apparatus may update the balance information of the vertices v1 from 6 to 5.
  • the 3D mesh encoding apparatus may generate plus type tag information. In this case, the 3D mesh encoding apparatus may update the balance information of the vertices v2 from 6 to 8.
  • 5 is a flowchart provided to explain a detailed operation of determining the priority of gates in the 3D mesh encoding apparatus.
  • the 3D mesh encoding apparatus checks the priority of each gate using tag information of each gate, whether a patch to which the gate belongs is a null patch, and balance information of each gate. You can decide.
  • the 3D mesh encoding apparatus may determine the priority by checking tag information of each gate constituting the 3D mesh.
  • the 3D mesh encoding apparatus determines the remaining edges among the edges representing the face adjacent to the front vertex of the start gate as gates for removing the next vertex. Can be. Then, the 3D mesh encoding apparatus may check tag information of each gate for removing the next vertex.
  • the 3D mesh encoding apparatus may determine a higher priority than when the tag information of both ends constituting each gate is different from each other.
  • the tag information of v1 one of the two vertices constituting gate 1 is negative type
  • the tag information of the other v2 is plus type
  • the tag information of the vertex v3 constituting gate 2 is negative type
  • vertex If the tag information of v4 is a negative type, the 3D mesh encoding apparatus may determine the priority of the gate 1 to be higher than the gate 2.
  • the 3D mesh encoding apparatus determines higher priority than the case of the (plus, plus) type and the (minus, minus) type when the tag information of the gate is (minus, plus) type or (plus, minus) type. Can be.
  • the 3D mesh encoding apparatus may determine whether a patch to which each gate belongs is a null patch to determine priority of gates.
  • the 3D mesh encoding apparatus may determine a patch to which the gate belongs as a null patch.
  • the 3D mesh encoding apparatus may determine a patch to which the gate belongs as a null patch. As such, in the case of a null patch, the compression rate can be reduced by not removing the front vertices.
  • the 3D mesh encoding apparatus may determine a priority lower than that of the non-null patch. For example, when the patch to which the gate 1 belongs is a null patch and the patch to which the gate 2 belongs is determined to be a patch that is not a null patch, the 3D mesh encoding apparatus may determine the priority of the gate 1 to be lower than the gate 2. . As described above, the 3D mesh encoding apparatus may lower the priority of the null patch and increase the compression ratio as the simplification is performed in the order of high priority.
  • the 3D mesh encoding apparatus may determine the priority by checking balance information of each gate. In this case, the 3D mesh encoding apparatus may compare balance information of the vertices constituting each gate. As a result of comparison, the 3D mesh encoding apparatus may determine a higher priority of the corresponding gate as the balance information is smaller.
  • the vertices of the gate 1 are v1 and v2
  • the vertices of the gate 2 are v3 and v4
  • the balance information of the vertex v1 is 2
  • the balance information of the vertex v2 is 7,
  • the 3D mesh encoding apparatus may select vertex v1 having small balance information among the vertices of the gate 1.
  • the 3D mesh encoding apparatus may select a vertex v3 from both ends of the gate 2.
  • the 3D mesh encoding apparatus may compare the balance information of the vertices v1 constituting the gate 1 with the balance information of the vertices v3 constituting the gate 2. Subsequently, the 3D mesh encoding apparatus may determine the priority of the gate 1 having the small balance information higher than the gate 2.
  • the 3D mesh encoding apparatus may determine the priority by using an average of balance information of both end vertices.
  • the vertices at both ends of gate 1 are v1 and v2
  • the vertices at both ends of gate 2 are v2 and v3
  • the balance information of vertex v1 is 5
  • the balance information of vertex v2 is 3
  • the balance information of vertex v3 is 7
  • vertex v2 having small balance information among the vertices of the gate 1 also corresponds to a vertex having small balance information among the vertices of the gate 2.
  • the 3D mesh encoding apparatus may compare the average 4 of the balance information of the vertices v1 and v2 with the average 5 of the balance information of the vertices v2 and v3. As a result of the comparison, the 3D mesh encoding apparatus may determine the priority of the gate 1 having the small average of the balance information higher than the gate 2.
  • the 3D mesh encoding apparatus may simplify the 3D mesh based on each gate in the determined priority order.
  • the 3D mesh encoding apparatus may encode a simplified 3D mesh, that is, a base mesh.
  • the 3D mesh encoding apparatus may encode connection relationship information of the removed vertices while simplifying the 3D mesh.
  • the 3D mesh encoding apparatus may encode tag information and balance information generated by simplifying the 3D mesh.
  • the 3D mesh encoding apparatus may determine whether the patch to which each gate belongs is a null patch to determine the priority of each gate.
  • the 3D mesh encoding apparatus checks whether the patch to which the gate 1 belongs and the patch to which the gate 2 belongs are the null patches, respectively, to prioritize the gate 1 and the gate 2. Can be determined.
  • the 3D mesh encoding apparatus prioritizes each gate by using the balance information of the vertices of both ends of the gate. The ranking can be determined.
  • the three-dimensional mesh encoding apparatus performs both vertices constituting the gate 1.
  • the priority of each gate may be determined using the balance information of the gates and the balance information of the two vertices constituting the gate 2.
  • FIG. 6 is a block diagram showing the detailed configuration of a three-dimensional mesh encoding apparatus.
  • the 3D mesh encoding apparatus 600 may include a mesh simplifier 602 and a mesh encoder 603.
  • the mesh simplifier 602 may simplify a 3D mesh corresponding to a 3D object.
  • the mesh simplification unit 602 may simplify the 3D mesh for each level using the priority of the gates constituting the 3D mesh.
  • the mesh simplifier 602 may include a start gate determiner 604, a vertex remover 605, and a priority determiner 606.
  • the start gate determiner 605 may determine the start gate based on the position information of each of the vertices constituting the 3D mesh and the balance information of each of the vertices.
  • the position information of the vertex may be represented as geometry information, and means the three-dimensional position coordinates of the vertices constituting the three-dimensional mesh.
  • the balance information of the vertices may include the number of vertices connected to the vertices.
  • the vertex removal unit 605 may remove the front vertex of the start gate based on the start gate.
  • the triangle may be reformed by connecting neighboring vertices connected to the front vertex.
  • the vertex removing unit 605 may determine the remaining edges among the edges constituting the surface adjacent to the front vertex of the start gate as the next gates.
  • the priority determiner 606 may determine the priority of each of the following gates.
  • the edge (edge) has a line form that connects the vertices and vertices, the edge that is a reference for simplifying the three-dimensional mesh of the edges may be a gate.
  • the vertex removing unit 605 may generate tag information of each neighbor vertex of the front vertex and the connector as the triangle is reshaped.
  • the tag information may include a plus type or a minus type indicating whether the number of neighboring vertices connected to the boundary vertex is reduced, increased, or the same.
  • the vertex removal unit 605 may update the balance information of each neighboring vertex as the triangle is reshaped.
  • the priority determiner 606 may determine the priority of the gate using at least one of tag information and balance information of each of the end vertices constituting the gate. In this case, the priority determiner 606 may determine the priority by determining whether the patch to which the gate belongs is a null patch.
  • the priority determiner 606 may determine higher priority of gates having different tag information from both end vertices than if tag information of both ends is the same.
  • the priority determiner 606 may determine a lower priority of the gate than if the patch is not a null patch. For example, if the front vertex of the gate 1 is the gate 2 of the other patch, the priority determiner 606 may determine that the patch to which the gate 1 belongs is a null patch. In addition, the priority determiner 606 may determine the priority of the gate belonging to the null patch to be lower than that of the non-null gate.
  • the priority determiner 606 may determine a higher priority as the balance information of the vertices constituting the gate is smaller. For example, the priority determiner 606 may compare the balance information of both ends of the gates. The priority determiner 606 may determine the priority of the balance information in order of decreasing balance information.
  • the vertex removal unit 605 may simplify the three-dimensional mesh by removing the front vertices of each gate based on the determined priority, and reforming the triangle. For example, the vertex removal unit 605 may remove the front vertices in the order of the gate having the highest priority.
  • the mesh encoder 603 may encode connectivity information of vertices removed through simplification among vertices constituting the 3D mesh.
  • the mesh encoder 603 may encode connection relationship information of the front vertex.
  • the connection relationship information refers to types of vertices constituting a surface formed by connecting the vertices.
  • the mesh encoder 603 may encode the simplified 3D mesh. That is, the mesh encoder 603 may encode a base mesh. In addition, the mesh encoder 603 may encode geometry information of the removed front vertex. In addition, the mesh encoder 603 may encode tag information and balance information generated through simplification.
  • Methods according to an embodiment of the present invention can be implemented in the form of program instructions that can be executed by various computer means and recorded in a computer readable medium.
  • the computer readable medium may include program instructions, data files, data structures, etc. alone or in combination.
  • Program instructions recorded on the media may be those specially designed and constructed for the purposes of the present invention, or they may be of the kind well-known and available to those having skill in the computer software arts.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)

Abstract

3차원 메쉬 부호화 방법 및 장치가 개시된다. 3차원 메쉬 부호화 방법은, 3차원 객체에 대응하는 3차원 메쉬를 구성하는 게이트의 우선 순위를 결정하고, 결정된 게이트의 우선 순위를 이용하여 3차원 메쉬를 구성하는 정점들을 제거함으로써 3차원 메쉬를 단순화할 수 있다.

Description

3차원 메쉬 부호화 방법 및 장치
본 발명의 일실시예에 따르면, 3차원 객체의 3차원 메쉬를 부호화하는 방법 및 장치에 관한 것이다.
최근 들어, 3차원 객체는 게임, 디지털 영화, 캐드(CAD) 등의 많은 응용분야에서 사용되고 있다. 특히, 실감 렌더링 기술이 발달함에 따라, 3차원 객체는 수백만 혹은 수천개 이상의 정점들과 면들을 포함할 수 있다. 그런데, 3차원 객체를 복원하기 위한 3차원 메쉬는 큰 저장 공간, 많은 계산량 및 넓은 전송 대역폭을 필요로 한다. 3차원 객체를 효과적으로 전송, 저장 및 렌더링하기 위해서는 3차원 메쉬를 부호화하여 압축하는 것이 필요하다.
3차원 객체가 복잡할수록 3차원 메쉬도 복잡한 형태로 되며, 3차원 객체를 복원하기 위해서는 3차원 메쉬를 구성하는 정보들이 전부 복호화 장치로 전송되어야 한다. 이러한 방식이 단일 비트율 압축 방식(Single Rate Coding)이라고 정의된다.
기존의 단일 비트율 압축 방식의 경우, 3차원 메쉬를 구성하는 정점 위치 정보 및 정점들 간의 연결 정보를 순차적으로 전송하기 때문에, 3차원 객체를 복원하기 위해서는 모든 정점 위치 정보와 연결 정보가 전송되기까지 기다려야 하는 문제점이 있다.
또한, 3차원 메쉬를 점진적으로 압축하여 전송하는 방식(Progressive Codec)이 존재하나, 기존의 점진적 압축 방식은 부가 정보를 포함하기 때문에 단일 비트율 압축 방식보다 압축율이 낮다.
따라서, 3차원 메쉬를 점진적으로 압축하면서 압축 효율을 높일 수 있는 기술이 필요하다.
본 3차원 메쉬 부호화 방법은, 3차원 메쉬(mesh)를 구성하는 게이트(gate)의 우선 순위를 이용하여 3차원 메쉬를 단순화(simplification)하는 단계, 및 상기 단순화를 통해 3차원 메쉬를 구성하는 정점들 중 제거된 정점의 연결 관계 정보(Connectivity Information)를 부호화는 단계를 포함할 수 있다.
또한, 상기 3차원 메쉬를 단순화하는 단계는, 상기 게이트를 구성하는 양 끝 정점들(Vertices) 각각의 태그(Tag) 정보, 및 밸런스(Valence) 정보 중 적어도 하나를 이용하여 상기 게이트의 우선 순위를 결정하는 단계, 및 상기 결정된 우선 순위에 기초하여 상기 게이트를 구성하는 양 끝 정점들과 연결된 프론트 정점(front vertex)을 제거하는 단계를 포함할 수 있다.
또한, 상기 프론트 정점을 제거하는 단계는, 상기 프론트 정점과 연결된 정점들을 연결하여 삼각형을 재형성(retriagulation)하는 단계, 상기 프론트 정점의 이웃 정점들의 태그 정보를 생성하는 단계, 및 상기 프론트 정점의 이웃 정점들의 밸런스(Valence) 정보를 업데이트하는 단계를 포함할 수 있다.
또한, 상기 3차원 메쉬를 단순화하는 단계는, 상기 게이트 및 프론트 정점이 속하는 패치가 널 패치(null patch)인지 여부를 결정하는 단계, 및 상기 널 패치로 결정된 패치에 속하는 게이트를 널 패치가 아닌 패치에 속하는 게이트보다 우선순위를 낮게 결정하는 단계를 포함할 수 있다.
또한, 상기 3차원 메쉬를 단순화하는 단계는, 3차원 메쉬를 구성하는 정점들 각각의 위치 정보 및 정점들 각각의 밸런스 정보에 기초하여 시작 게이트를 결정하는 단계, 및 상기 시작 게이트를 기준으로 상기 시작 게이트의 프론트 정점을 제거하여 상기 3차원 메쉬를 단순화하는 단계를 포함할 수 있다.
또한, 상기 시작 게이트의 프론트 정점을 제거하여 상기 3차원 메쉬를 단순화하는 단계는, 상기 시작 게이트의 프론트 정점을 제거함에 따라, 프론트 정점의 이웃 정점들을 연결하여 삼각형을 재형성하는 단계, 상기 시작 게이트의 프론트 정점에 인접한 면을 구성하는 엣지들(edges) 중 상기 삼각형을 재형성함에 따라 남아있는 엣지들을 다음 게이트들로 결정하는 단계, 및 상기 다음 게이트들 각각의 우선순위를 결정하는 단계를 포함할 수 있다.
본 3차원 메쉬 부호화 장치는, 3차원 메쉬(mesh)를 구성하는 게이트(gate)의 우선 순위를 이용하여 3차원 메쉬를 단순화(simplification)하는 메쉬 단순화부, 및 상기 단순화를 통해 3차원 메쉬를 구성하는 정점들 중 제거된 정점의 연결 관계 정보(Connectivity Information)를 부호화는 메쉬 부호화부를 포함할 수 있다.
또한, 상기 메쉬 단순화부는, 상기 게이트를 구성하는 양 끝 정점들(Vertices) 각각의 태그(Tag) 정보, 및 밸런스(Valence) 정보 중 적어도 하나를 이용하여 상기 게이트의 우선 순위를 결정하는 우선 순위 결정부, 및 상기 결정된 우선 순위에 기초하여 상기 게이트를 구성하는 양 끝 정점들과 연결된 프론트 정점(front vertex)을 제거하는 정점 제거부를 포함할 수 있다.
또한, 상기 메쉬 단순화부는, 3차원 메쉬를 구성하는 정점들 각각의 위치 정보 및 정점들 각각의 밸런스 정보에 기초하여 시작 게이트를 결정하는 시작 게이트 결정부, 및 상기 시작 게이트를 기준으로 상기 시작 게이트의 프론트 정점을 제거하는 정점 제거부를 포함할 수 있다.
본 발명의 일실시예에 따르면, 각 게이트의 우선 순위를 결정하고, 결정된 우선 순위가 높은 게이트를 기준으로 3차원 메쉬를 단순화하여 압축 효율을 높일 수 있다.
도 1은 3차원 메쉬 부호화 장치에서 3차원 메쉬를 부호화하는 방법을 설명하기 위해 제공되는 플로우 차트이다.
도 2는 3차원 메쉬 부호화 장치에서 3차원 메쉬를 단순화하는 세부 과정을 설명하기 위해 제공되는 플로우 차트이다.
도 3은 프론트 정점을 제거 및 삼각형을 재형성하여 단순화된 3차원 메쉬를 도시한 도면이다.
도 4는 3차원 메쉬를 단순화함에 따라 생성된 태그 정보를 도시한 도면이다.
도 5는 3차원 메쉬 부호화 장치에서 게이트의 우선 순위를 결정하는 세부 동작을 설명하기 위해 제공되는 플로우 차트이다.
도 6은 3차원 메쉬 부호화 장치의 세부 구성을 도시한 블록 다이어그램이다.
이하, 본 발명의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다. 본 3차원 메쉬 부호화 방법은 3차원 메쉬 부호화 장치에 의해 수행될 수 있다.
도 1은 3차원 메쉬 부호화 장치에서 3차원 메쉬를 부호화하는 방법을 설명하기 위해 제공되는 플로우 차트이다.
먼저, 101 단계에서, 3차원 메쉬 부호화 장치는 각 게이트(gate)의 우선 순위에 따라 3차원 메쉬(mesh)를 단순화할 수 있다. 이때, 3차원 메쉬 부호화 장치는, 3차원 메쉬를 레벨(level) 별로 점진적으로 단순화할 수 있다. 여기서, 게이트는 3차원 메쉬를 구성하는 정점들이 연결된 선 형태를 가지며, 3차원 메쉬를 단순화하는 기준이 되는 선을 의미한다.
일례로, 3차원 메쉬 부호화 장치는, 게이트의 프론트 정점(front vertex)을 제거할 수 있다. 그리고, 3차원 메쉬 부호화 장치는, 제거된 프론트 정점과 인접한 이웃 정점들을 재연결하여 3차원 메쉬를 단순화할 수 있다. 예를 들어, 3차원 메쉬 부호화 장치는, 프론트 정점을 제거한 이후, 이웃 정점들을 서로 연결하여 삼각형을 재형성(Retriangulation)할 수 있다.
이어, 102 단계에서, 3차원 메쉬 부호화 장치는 제거된 프론트 정점의 연결 관계 정보(Connectivity Information)를 부호화할 수 있다. 여기서, 제거된 프론트 정점의 연결 관계 정보는 프론트 정점을 제거하기 이전에, 프론트 정점과 인접하는 이웃 정점들을 연결함에 따라 형성된 면을 구성하는 정점들의 종류를 의미한다.
상세하게는, 3차원 메쉬 부호화 장치는 3차원 메쉬를 레벨에 따라 세밀한 형태의 메쉬에서 단순한 형태의 메쉬로 분류할 수 있다. 이때, 하위 레벨은 상위 레벨보다 3차원 메쉬를 구성하는 정점(vertex)의 개수가 적기 때문에, 하위 레벨의 3차원 메쉬는 상위 레벨의 3차원 메쉬보다 단순한 형태를 나타낸다. 다시 말해서, 상위 레벨의 3차원 메쉬는 하위 레벨의 3차원 메쉬보다 3차원 객체의 원본에 가까운 형태를 나타낸다.
예를 들어, 차원 메쉬 부호화 장치는 3차원 메쉬의 기저 메쉬(base mesh)와 관련된 연결 관계 정보와 위치 정보를 레벨 0으로 설정할 수 있다. 여기서, 기저 메쉬는 최하위 레벨의 3차원 메쉬로서, 정점들을 연결하여 면을 구성할 수 있는 가장 단순한 형태를 의미한다. 그러면, 3차원 메쉬 부호화 장치는 이전 레벨의 메쉬를 구성하는 정점들을 기준으로 현재 레벨의 메쉬를 구성하는 정점들 중 제거되는 정점들의 연결 관계 정보, 그리고, 제거되는 정점들의 위치 정보를 부호화할 수 있다. 여기서, 정점의 위치 정보는 기하 정보(Geometry Information)로 표현될 수 있으며, 3차원 메쉬를 구성하는 정점(vertex)의 3차원상 위치 좌표를 의미한다.
도 2는 3차원 메쉬 부호화 장치에서 3차원 메쉬를 단순화하는 세부 과정을 설명하기 위해 제공되는 플로우 차트이다.
도 2를 참고하면, 201 단계에서, 3차원 메쉬 부호화 장치는 3차원 메쉬를 구성하는 정점들을 이용하여 시작 게이트를 결정할 수 있다.
이때, 3차원 메쉬 부호화 장치는, 3차원 메쉬를 구성하는 각 정점의 위치 정보와 각 정점의 밸런스(Valence) 정보를 이용하여 시작 게이트를 결정할 수 있다. 여기서, 밸런스 정보는 정점과 하나의 엣지로 연결된 정점들의 개수를 포함할 수 있다.
이어, 202 단계에서, 3차원 메쉬 부호화 장치는 시작 게이트의 프론트 정점을 제거할 수 있다. 이처럼, 3차원 메쉬 부호화 장치는 프론트 정점을 제거하여 시작 게이트가 속하는 패치(patch)를 단순화할 수 있다. 예를 들어, 도 3을 참고하면, 패치(patch: 300)는 제거 이전의 프론트 정점(302)과 이웃 정점들이 각각 연결되어 형성된 면들을 포함할 수 있다.
그리고, 203 단계에서, 시작 게이트의 프론트 정점을 제거한 이후, 3차원 메쉬 부호화 장치는 프론트 정점에 인접한 이웃 정점들을 서로 연결하여 삼각형을 재형성(Retriangulation)할 수 있다. 이처럼, 3차원 메쉬 부호화 장치는 프론트 정점을 제거하고 삼각형을 재형성함에 따라, 3차원 메쉬를 단순화할 수 있다. 예를 들어, 3차원 메쉬 부호화 장치는 3차원 메쉬를 구성하는 정점들의 개수 및 정점들을 연결하여 형성된 면들의 개수를 감소시킴에 다라 3차원 메쉬를 단순화할 수 있다.
이때, 204 단계에서, 삼각형을 재형성한 경우, 3차원 메쉬 부호화 장치는 패치를 구성하는 정점들의 태그 정보를 생성하고, 경계 정점들의 밸런스 정보를 업데이트할 수 있다. 여기서, 태그 정보는 경계 정점과 연결된 이웃 정점들의 개수가 감소, 증가, 또는 동일한지 여부를 포함할 수 있다.
예를 들어, 도 4를 참고하면, 삼각형을 재형성한 이후, 경계 정점에 연결된 정점의 개수가 삼각형을 재형성하기 이전에 경계 정점에 연결된 정점의 개수보다 증가하거나 또는 동일한 경우, 3차원 메쉬 부호화 장치는 플러스 타입(plus type: 402)의 태그 정보를 생성할 수 있다. 그리고, 삼각형을 재형성한 이후, 경계 정점에 연결된 정점의 개수가 삼각형을 재형성하기 이전에 경계 정점에 연결된 정점의 개수보다 감소한 경우, 3차원 메쉬 부호화 장치는 마이너스 타입(minus type: 401)의 태그 정보를 생성할 수 있다. 그리고, 3차원 메쉬 부호화 장치는 삼각형을 재형성한 이후, 경계 정점에 연결된 정점의 개수로 밸런스 정보를 업데이트할 수 있다.
도 3은 프론트 정점을 제거 및 삼각형을 재형성하여 단순화된 3차원 메쉬를 도시한 도면이다.
도 3에 따르면, 3차원 메쉬 부호화 장치는 시작 게이트(301)를 구성하는 정점들 중 시작 게이트(301)의 양 끝 정점과 연결된 프론트 정점(302)을 제거할 수 있다. 그리고, 3차원 메쉬 부호화 장치는 프론트 정점(302)을 제거함에 따라, 제거 이전의 프론트 정점(302)과 이웃 정점들 간의 연결 관계 정보를 부호화할 수 있다.
그리고, 프론트 정점을 제거한 경우, 3차원 메쉬 부호화 장치는, 프론트 정점의 이웃 정점들을 연결하여 삼각형을 재형성(retriangulation)할 수 있다. 이처럼, 프론트 정점을 제거함에 따라 재형성된 삼각형의 개수가 3개로 감소하여, 3차원 메쉬가 단순화될 수 있다.
이때, 3차원 메쉬 부호화 장치는, 시작 게이트의 프론트 정점에 인접한 면을 구성하는 엣지(edge)들 중 프론트 정점을 제거 및 삼각형을 재형성함에 따라 남아있는 엣지를 다음 정점 제거를 위한 게이트로 결정할 수 있다. 다시 말해, 삼각형이 재형성된 경우, 3차원 메쉬 부호화 장치는 재형성된 삼각형을 구성하는 엣지들(303~306)을 3차원 메쉬를 단순화하기 위한 다음 게이트로 결정할 수 있다. 여기서, 엣지(edge)는 정점과 정점을 연결한 선 형태를 가지며, 엣지들 중 3차원 메쉬를 단순화하는 기준이 되는 엣지가 게이트가 될 수 있다.
도 4는 3차원 메쉬를 단순화함에 따라 생성된 태그 정보를 도시한 도면이다.
도 4를 참고하면, 3차원 메쉬(401) 중 일부 영역에 단순화(402)가 수행된 경우, 3차원 메쉬 부호화 장치는 삼각형이 재형성됨에 따라 제거된 프론트 정점의 이웃 정점들의 태그 정보를 생성할 수 있다. 그리고, 3차원 메쉬 부호화 장치는, 삼각형이 재형성됨에 따라, 삼각형이 재형성됨에 따라 제거된 프론트 정점의 이웃 정점들의 밸런스 정보를 업데이트할 수 있다. 여기서, 이웃 정점들은 프론트 정점을 제거하기 이전에, 프론트 정점과 연결된 정점들로서, 게이트를 구성하는 양 끝 정점들을 포함할 수 있다.
예를 들어, 3차원 메쉬 부호화 장치는, 게이트(403)를 구성하는 양 끝 정점들 v1 및 v2는 단순화를 통해 태그 정보를 생성할 수 있다. 이때, 단순화가 수행된 영역(402)을 참조하면, 단순화가 수행됨에 따라 정점 v1에 연결된 정점의 개수가 2개로 감소하였으므로, 3차원 메쉬 부호화 장치는 마이너스 타입의 태그 정보를 생성할 수 있다. 그리고, 3차원 메쉬 부호화 장치는 정점 v1의 밸런스 정보를 6에서 5로 업데이트할 수 있다.
마찬가지로, 단순화가 수행된 영역(402) 내에서 정점 v2에 연결된 정점의 개수가 5개에서 7개로 증가하였으므로, 3차원 메쉬 부호화 장치는 플러스 타입의 태그 정보를 생성할 수 있다. 이때, 3차원 메쉬 부호화 장치는 정점 v2의 밸런스 정보를 6에서 8로 업데이트할 수 있다.
도 5는 3차원 메쉬 부호화 장치에서 게이트의 우선 순위를 결정하는 세부 동작을 설명하기 위해 제공되는 플로우 차트이다.
도 5에 따르면, 3차원 메쉬 부호화 장치는, 각 게이트의 태그 정보, 게이트가 속하는 패치가 널 패치(null-patch)인지 여부 확인, 그리고, 각 게이트의 밸런스 정보를 이용하여 각 게이트의 우선 순위를 결정할 수 있다.
먼저, 501 단계에서, 3차원 메쉬 부호화 장치는, 3차원 메쉬를 구성하는 각 게이트의 태그 정보를 확인하여 우선 순위를 결정할 수 있다.
일례로, 시작 게이트를 기준으로 단순화를 수행한 이후, 3차원 메쉬 부호화 장치는 시작 게이트의 프론트 정점에 인접한 면을 표현하는 엣지(edge)들 중 남아 있는 엣지들을 다음 정점 제거를 위한 게이트들로 결정할 수 있다. 그러면, 3차원 메쉬 부호화 장치는, 다음 정점 제거를 위한 게이트들 각각의 태그 정보를 확인할 수 있다.
이때, 3차원 메쉬 부호화 장치는 각 게이트를 구성하는 양 끝 정점의 태그 정보가 서로 상이한 경우, 서로 동일한 경우보다 우선 순위를 높게 결정할 수 있다. 예를 들어, 게이트 1을 구성하는 양 끝 정점 중 하나인 v1의 태그 정보는 마이너스 타입, 다른 하나인 v2의 태그 정보는 플러스 타입이고, 게이트 2를 구성하는 정점 v3의 태그 정보는 마이너스 타입, 정점 v4의 태그 정보는 마이너스 타입인 경우, 3차원 메쉬 부호화 장치는 게이트 1의 우선 순위를 게이트 2보다 높게 결정할 수 있다. 이처럼, 3차원 메쉬 부호화 장치는 게이트의 태그 정보가 (마이너스, 플러스) 타입, (플러스, 마이너스) 타입인 경우에 (플러스, 플러스)타입, (마이너스, 마이너스) 타입인 경우보다 우선 순위를 높게 결정할 수 있다.
그리고, 502 단계에서, 3차원 메쉬 부호화 장치는 각 게이트가 속하는 패치가 널 패치(null-patch) 인지 여부를 결정하여 게이트의 우선 순위를 결정할 수 있다.
일례로, 게이트의 프론트 정점이 다른 패치의 게이트인 경우, 3차원 메쉬 부호화 장치는, 게이트가 속하는 패치를 널 패치로 결정할 수 있다.
다른 예로, 게이트의 프론트 정점과 인접한 이웃 정점들의 연결 관계가 비정상적인 경우, 3차원 메쉬 부호화 장치는 게이트가 속하는 패치를 널 패치로 결정할 수 있다. 이처럼, 널 패치인 경우, 프론트 정점을 제거하지 않음에 따라 압축률이 감소될 수 있다.
이에 따라, 3차원 메쉬 부호화 장치는, 게이트가 속하는 패치가 널 패치인 경우, 널 패치가 아닌 경우보다 우선 순위를 낮게 결정할 수 있다. 예를 들어, 게이트 1이 속하는 패치는 널 패치이고, 게이트가 2가 속하는 패치는 널 패치가 아닌 패치로 결정된 경우, 3차원 메쉬 부호화 장치는, 게이트 1의 우선 순위를 게이트 2보다 낮게 결정할 수 있다. 이처럼, 3차원 메쉬 부호화 장치는, 널 패치의 우선 순위를 낮게 결정하여, 우선 순위가 높은 순서로 단순화를 진행함에 따라 압축률을 높일 수 있다.
이어, 503 단계에서, 3차원 메쉬 부호화 장치는, 각 게이트의 밸런스 정보를 확인하여 우선 순위를 결정할 수 있다. 이때, 3차원 메쉬 부호화 장치는 각 게이트를 구성하는 양 끝 정점들의 밸런스 정보를 비교할 수 있다. 비교 결과, 3차원 메쉬 부호화 장치는, 밸런스 정보가 작을수록 해당 게이트의 우선 순위를 높게 결정할 수 있다.
일례로, 3차원 메쉬 부호화 장치는, 게이트 1의 양 끝 정점은 v1, v2이고, 게이트 2의 양 끝 정점은 v3, v4이고, 정점 v1의 밸런스 정보는 2, 정점 v2의 밸런스 정보는 7, 정점 v3의 밸런스 정보는 3, 정점 v4의 밸런스 정보는 7인 경우, 3차원 메쉬 부호화 장치는 게이트 1의 양 끝 정점들 중 밸런스 정보가 작은 정점 v1을 선택할 수 있다. 마찬가지로, 3차원 메쉬 부호화 장치는 게이트 2의 양 끝 정점들 중 정점 v3를 선택할 수 있다. 그리고, 3차원 메쉬 부호화 장치는 게이트1을 구성하는 정점 v1의 밸런스 정보와 게이트 2를 구성하는 정점 v3의 밸런스 정보를 비교할 수 있다. 이어, 3차원 메쉬 부호화 장치는 밸런스 정보가 작은 게이트 1의 우선 순위를 게이트 2보다 높게 결정할 수 있다.
다른 예로, 3차원 메쉬 부호화 장치는, 양 끝 정점들의 밸런스 정보의 평균을 이용하여 우선 순위를 결정할 수도 있다. 예를 들어, 게이트 1의 양 끝 정점은 v1, v2이고, 게이트 2의 양 끝 정점은 v2, v3이고, 정점 v1의 밸런스 정보는 5, 정점 v2의 밸런스 정보는 3, 정점 v3의 밸런스 정보는 7인 경우, 게이트 1의 양 끝 정점 중 밸런스 정보가 작은 정점 v2는 게이트 2의 양 끝 정점 중 밸런스 정보가 작은 정점에도 해당된다. 이에 따라, 3차원 메쉬 부호화 장치는, 정점 v1 및 v2의 밸런스 정보의 평균 4와 정점 v2 및 v3의 밸런스 정보의 평균 5을 비교할 수 있다. 비교 결과, 3차원 메쉬 부호화 장치는 밸런스 정보의 평균이 작은 게이트 1의 우선 순위를 게이트 2보다 높게 결정할 수 있다.
그리고, 504 단계에서, 3차원 메쉬 부호화 장치는, 결정된 우선 순위 순서로 각 게이트를 기준으로 3차원 메쉬를 단순화할 수 있다.
그러면, 3차원 메쉬 부호화 장치는 단순화된 3차원 메쉬, 즉, 기저 메쉬(base)를 부호화할 수 있다. 이때, 3차원 메쉬 부호화 장치는, 3차원 메쉬를 단순화하면서 제거된 정점의 연결 관계 정보를 부호화할 수 있다. 또한, 3차원 메쉬 부호화 장치는, 3차원 메쉬를 단순화함에 따라 생성된 태그 정보 및 밸런스 정보를 부호화할 수도 있다.
이상의 도 5에서, 3차원 메쉬 부호화 장치는, 각 게이트의 태그 정보만으로 우선 순위 결정이 어려운 경우, 각 게이트가 속하는 패치가 널 패치인지 여부를 확인하여 각 게이트의 우선 순위를 결정할 수 있다.
예를 들어, 게이트 1 및 게이트 2의 태그 정보가 동일한 경우, 3차원 메쉬 부호화 장치는 게이트 1이 속하는 패치와 게이트 2가 속하는 패치가 각각 널 패치인지 여부를 확인하여 게이트 1 및 게이트 2의 우선 순위를 결정할 수 있다.
또한, 각 게이트의 태그 정보 및 널 패치 여부를 확인하는 것만으로 게이트의 우선 순위를 결정하기 어려운 경우, 3차원 메쉬 부호화 장치는, 게이트를 구성하는 양 끝 정점들의 밸런스 정보를 이용하여 각 게이트의 우선 순위를 결정할 수 있다.
예를 들어, 게이트 1 및 게이트 2의 태그 정보가 동일하고, 게이트 1가 속하는 패치 및 게이트 2가 속하는 패치가 모두 널 패치가 아닌 경우, 3차원 메쉬 부호화 장치는, 게이트 1을 구성하는 양 끝 정점들의 밸런스 정보와 게이트 2를 구성하는 양 끝 정점들의 밸런스 정보를 이용하여 각 게이트의 우선 순위를 결정할 수 있다.
도 6은 3차원 메쉬 부호화 장치의 세부 구성을 도시한 블록 다이어그램이다.
도 6에 따르면, 3차원 메쉬 부호화 장치(600)는 메쉬 단순화부(602) 및 메쉬 부호화부(603)를 포함할 수 있다.
먼저, 메쉬 단순화부(602)는 3차원 객체에 대응하는 3차원 메쉬를 단순화할 수 있다. 이때, 메쉬 단순화부(602)는 3차원 메쉬를 구성하는 게이트의 우선 순위를 이용하여 3차원 메쉬를 레벨 별로 단순화할 수 있다. 여기서, 메쉬 단순화부(602)는 시작 게이트 결정부(604), 정점 제거부(605), 및 우선 순위 결정부(606)를 포함할 수 있다.
시작 게이트 결정부(605)는 3차원 메쉬를 구성하는 정점들(vertrices) 각각의 위치 정보 및 정점들 각각의 밸런스 정보에 기초하여 시작 게이트를 결정할 수 있다. 여기서, 정점의 위치 정보는 정점의 위치 정보는 기하 정보(Geometry Information)로도 표현될 수 있으며, 3차원 메쉬를 구성하는 정점(vertex)의 3차원상 위치 좌표를 의미한다. 그리고, 정점의 밸런스 정보는 정점과 연결된 정점들의 개수를 포함할 수 있다.
정점 제거부(605)는 시작 게이트를 기준으로 시작 게이트의 프론트 정점을 제거할 수 있다. 그리고, 프론트 정점과 연결된 이웃 정점들을 연결하여 삼각형을 재형성(retriangulation)할 수 있다. 이때, 정점 제거부(605)는 시작 게이트의 프론트 정점에 인접한 면을 구성하는 엣지들(edges) 중 남아있는 엣지들을 다음 게이트들로 결정할 수 있다. 그러면, 우선 순위 결정부(606)는 다음 게이트들 각각의 우선 순위를 결정할 수 있다. 여기서, 엣지(edge)는 정점과 정점을 연결한 선 형태를 가지며, 엣지들 중 3차원 메쉬를 단순화하는 기준이 되는 엣지가 게이트가 될 수 있다.
또한, 정점 제거부(605)는 삼각형을 재형성함에 따라 프론트 정점과 연결관 각 이웃 정점의 태그 정보를 생성할 수 있다. 여기서, 태그 정보는 경계 정점과 연결된 이웃 정점들의 개수가 감소, 증가, 또는 동일한지 여부를 나타내는 플러스 타입 또는 마이너스 타입을 포함할 수 있다. 그리고, 정점 제거부(605)는 삼각형을 재형성함에 따라 각 이웃 정점의 밸런스 정보를 업데이트할 수 있다.
우선 순위 결정부(606)는 게이트를 구성하는 양 끝 정점들 각각의 태그 정보와 밸런스 정보 중 적어도 하나를 이용하여 게이트의 우선 순위를 결정할 수 있다. 이때, 우선 순위 결정부(606)는 게이트가 속하는 패치가 널 패치(null-patch)인지 여부를 결정하여 우선 순위를 결정할 수도 있다.
일례로, 우선 순위 결정부(606)는 양 끝 정점의 태그 정보가 동일한 경우보다, 양 끝 정점의 태그 정보가 서로 다른 게이트의 우선 순위를 높게 결정할 수 있다.
다른 예로, 우선 순위 결정부(606)는 게이트가 속하는 패치가 널 패치인 경우, 널 패치가 아닌 경우보다 게이트의 우선 순위를 낮게 결정할 수 있다. 예를 들어, 우선 순위 결정부(606)는 게이트 1의 프론트 정점이 다른 패치의 게이트 2인 경우, 게이트 1이 속하는 패치를 널 패치로 결정할 수 있다. 그리고, 우선 순위 결정부(606)는 널 패치에 속하는 게이트의 우선 순위를 널 패치가 아닌 게이트보다 낮게 결정할 수 있다.
또 다른 예로, 우선 순위 결정부(606)는 게이트를 구성하는 정점들의 밸런스 정보가 작을수록 우선 순위를 높게 결정할 수 있다. 예를 들어, 우선 순위 결정부(606)는 각 게이트를 구성하는 양 끝 정점들의 밸런스 정보를 비교할 수 있다. 그리고, 우선 순위 결정부(606)는 비교 결과 밸런스 정보가 작은 순서로 우선 순위를 높게 결정할 수 있다.
그러면, 정점 제거부(605)는 결정된 우선 순위에 기초하여 각 게이트의 프론트 정점을 제거하고, 삼각형을 재형성하여 3차원 메쉬를 단순화할 수 있다. 예를 들어, 정점 제거부(605)는 우선 순위가 높은 게이트 순서로 프론트 정점을 제거할 수 있다.
메쉬 부호화부(603)는 3차원 메쉬를 구성하는 정점들 중 단순화를 통해 제거된 정점의 연결 관계 정보(connectivity Information)를 부호화할 수 있다. 다시 말해, 메쉬 부호화부(603)는 게이트의 프론트 정점을 제거함에 따라, 프론트 정점의 연결 관계 정보를 부호화할 수 있다. 여기서, 연결 관계 정보는 정점들을 연결함에 따라 형성된 면을 구성하는 정점들의 종류를 의미한다.
이때, 메쉬 부호화부(603)는 단순화된 3차원 메쉬를 부호화할 수 있다. 즉, 메쉬 부호화부(603)는 기저 메쉬(base mesh)를 부호화할 수 있다. 또한, 메쉬 부호화부(603)는 제거된 프론트 정점의 기하 정보(Geometry Information)를 부호화할 수 있다. 또한, 메쉬 부호화부(603)는 단순화를 통해 생성된 태그 정보 및 밸런스 정보를 부호화할 수도 있다.
본 발명의 실시 예에 따른 방법들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.

Claims (19)

  1. 3차원 메쉬(mesh)를 구성하는 게이트(gate)의 우선 순위를 이용하여 3차원 메쉬를 단순화(simplification)하는 단계; 및
    상기 단순화를 통해 3차원 메쉬를 구성하는 정점들 중 제거된 정점의 연결 관계 정보(Connectivity Information)를 부호화는 단계
    를 포함하는 3차원 메쉬 부호화 방법.
  2. 제1항에 있어서,
    상기 3차원 메쉬를 단순화하는 단계는,
    상기 게이트를 구성하는 양 끝 정점들(Vertices) 각각의 태그(Tag) 정보, 및 밸런스(Valence) 정보 중 적어도 하나를 이용하여 상기 게이트의 우선 순위를 결정하는 단계; 및
    상기 결정된 우선 순위에 기초하여 상기 게이트를 구성하는 양 끝 정점들과 연결된 프론트 정점(front vertex)을 제거하는 단계
    를 포함하는 3차원 메쉬 부호화 방법.
  3. 제2항에 있어서,
    상기 프론트 정점을 제거하는 단계는,
    상기 프론트 정점과 연결된 정점들을 연결하여 삼각형을 재형성(retriagulation)하는 단계;
    상기 프론트 정점의 이웃 정점들의 태그 정보를 생성하는 단계; 및
    상기 프론트 정점의 이웃 정점들의 밸런스(Valence) 정보를 업데이트하는 단계
    를 포함하는 3차원 메쉬 부호화 방법.
  4. 제1항에 있어서,
    상기 3차원 메쉬를 단순화하는 단계는,
    상기 게이트를 구성하는 정점들(vertices)의 밸런스 정보가 작을수록 우선 순위를 높게 결정하는 것을 특징으로 하는 3차원 메쉬 부호화 방법.
  5. 제1항에 있어서,
    상기 3차원 메쉬를 단순화하는 단계는,
    상기 게이트 및 프론트 정점이 속하는 패치가 널 패치(null patch)인지 여부를 결정하는 단계; 및
    상기 널 패치로 결정된 패치에 속하는 게이트를 널 패치가 아닌 패치에 속하는 게이트보다 우선순위를 낮게 결정하는 단계
    를 포함하는 3차원 메쉬 부호화 방법.
  6. 제5항에 있어서,
    상기 널 패치인지 여부를 결정하는 단계는,
    상기 프론트 정점이 다른 게이트를 구성하는 정점인 경우, 상기 프론트 정점이 속하는 패치를 널 패치로 결정하는 것을 특징으로 하는 3차원 메쉬 부호화 방법.
  7. 제1항에 있어서,
    상기 3차원 메쉬를 단순화하는 단계는,
    상기 게이트를 구성하는 각 정점의 태그 정보가 서로 다른 경우, 각 정점의 태그 정보가 동일한 경우보다 우선순위를 높게 결정하는 것을 특징으로 하는 3차원 메쉬 부호화 방법.
  8. 제1항에 있어서,
    상기 3차원 메쉬를 단순화하는 단계는,
    3차원 메쉬를 구성하는 정점들 각각의 위치 정보 및 정점들 각각의 밸런스 정보에 기초하여 시작 게이트를 결정하는 단계; 및
    상기 시작 게이트를 기준으로 상기 시작 게이트의 프론트 정점을 제거하여 상기 3차원 메쉬를 단순화하는 단계
    를 포함하는 3차원 메쉬 부호화 방법.
  9. 제1항에 있어서,
    상기 시작 게이트의 프론트 정점을 제거하여 상기 3차원 메쉬를 단순화하는 단계는,
    상기 시작 게이트의 프론트 정점을 제거함에 따라, 프론트 정점의 이웃 정점들을 연결하여 삼각형을 재형성하는 단계;
    상기 시작 게이트의 프론트 정점에 인접한 면을 구성하는 엣지들(edges) 중 상기 삼각형을 재형성함에 따라 남아있는 엣지들을 다음 게이트들로 결정하는 단계; 및
    상기 다음 게이트들 각각의 우선순위를 결정하는 단계
    를 포함하는 3차원 메쉬 부호화 방법.
  10. 3차원 메쉬(mesh)를 구성하는 게이트(gate)의 우선 순위를 이용하여 3차원 메쉬를 단순화(simplification)하는 메쉬 단순화부; 및
    상기 단순화를 통해 3차원 메쉬를 구성하는 정점들 중 제거된 정점의 연결 관계 정보(Connectivity Information)를 부호화는 메쉬 부호화부
    를 포함하는 3차원 메쉬 부호화 장치.
  11. 제10항에 있어서,
    상기 메쉬 단순화부는,
    상기 게이트를 구성하는 양 끝 정점들(Vertices) 각각의 태그(Tag) 정보, 및 밸런스(Valence) 정보 중 적어도 하나를 이용하여 상기 게이트의 우선 순위를 결정하는 우선 순위 결정부; 및
    상기 결정된 우선 순위에 기초하여 상기 게이트를 구성하는 양 끝 정점들과 연결된 프론트 정점(front vertex)을 제거하는 정점 제거부
    를 포함하는 3차원 메쉬 부호화 장치.
  12. 제11항에 있어서,
    상기 정점 제거부는,
    상기 프론트 정점과 연결된 정점들을 연결하여 삼각형을 재형성(retriagulation)하고, 상기 프론트 정점과 연결된 각 이웃 정점의 태그 정보를 생성 및 상기 각 이웃 정점의 밸런스 정보를 업데이트하는 것을 특징으로 하는 3차원 메쉬 부호화 장치.
  13. 제10항에 있어서,
    상기 메쉬 단순화부는,
    상기 게이트를 구성하는 정점들(vertices)의 밸런스 정보가 작을수록 우선 순위를 높게 결정하는 것을 특징으로 하는 3차원 메쉬 부호화 장치.
  14. 제10항에 있어서,
    상기 메쉬 단순화부는,
    상기 게이트 및 프론트 정점이 속하는 패치가 널 패치(null patch)인지 여부를 결정하고, 상기 널 패치로 결정된 패치에 속하는 게이트를 널 패치가 아닌 패치에 속하는 게이트보다 우선순위를 낮게 결정하는 우선 순위 결정부
    를 포함하는 3차원 메쉬 부호화 장치.
  15. 제14항에 있어서,
    상기 우선 순위 결정부는,
    상기 프론트 정점이 다른 게이트를 구성하는 정점인 경우, 상기 프론트 정점이 속하는 패치를 널 패치로 결정하는 것을 특징으로 하는 3차원 메쉬 부호화 장치.
  16. 제10항에 있어서,
    상기 메쉬 단순화부는,
    상기 게이트를 구성하는 각 정점의 태그 정보가 서로 다른 경우, 각 정점의 태그 정보가 동일한 경우보다 우선순위를 높게 결정하는 것을 특징으로 하는 3차원 메쉬 부호화 장치.
  17. 제10항에 있어서,
    상기 메쉬 단순화부는,
    3차원 메쉬를 구성하는 정점들 각각의 위치 정보 및 정점들 각각의 밸런스 정보에 기초하여 시작 게이트를 결정하는 시작 게이트 결정부; 및
    상기 시작 게이트를 기준으로 상기 시작 게이트의 프론트 정점을 제거하는 정점 제거부
    를 포함하는 3차원 메쉬 부호화 장치.
  18. 제17항에 있어서,
    상기 정점 제거부는,
    상기 시작 게이트의 프론트 정점을 제거하여, 시작 게이트의 프론트 정점의 이웃 정점들을 연결하여 삼각형을 재형성하고, 상기 시작 게이트의 프론트 정점에 인접한 면을 구성하는 엣지들(edges) 중 남아있는 엣지들을 다음 게이트들로 결정하는 것을 특징으로 하는 3차원 메쉬 부호화 장치.
  19. 제18항에 있어서,
    상기 메쉬 단순화부는,
    상기 다음 게이트들 각각의 우선순위를 결정하는 우선 순위 결정부
    를 더 포함하는 3차원 메쉬 부호화 장치.
PCT/KR2012/001197 2011-03-17 2012-02-17 3차원 메쉬 부호화 방법 및 장치 WO2012124901A2 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US14/005,749 US9749609B2 (en) 2011-03-17 2012-02-17 Method and apparatus for encoding a 3D mesh

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US201161453684P 2011-03-17 2011-03-17
US61/453,684 2011-03-17
US201161454027P 2011-03-18 2011-03-18
US61/454,027 2011-03-18
KR10-2011-0050264 2011-05-26
KR1020110050264A KR101844297B1 (ko) 2011-03-17 2011-05-26 3차원 메쉬 부호화 방법 및 장치

Publications (2)

Publication Number Publication Date
WO2012124901A2 true WO2012124901A2 (ko) 2012-09-20
WO2012124901A3 WO2012124901A3 (ko) 2012-12-13

Family

ID=46831151

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2012/001197 WO2012124901A2 (ko) 2011-03-17 2012-02-17 3차원 메쉬 부호화 방법 및 장치

Country Status (1)

Country Link
WO (1) WO2012124901A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024043750A1 (ko) * 2022-08-25 2024-02-29 엘지전자 주식회사 3d 데이터 송신 장치, 3d 데이터 송신 방법, 3d 데이터 수신 장치 및 3d 데이터 수신 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009128660A2 (en) * 2008-04-18 2009-10-22 Electronics And Telecommunications Research Institute Method and apparatus for real time 3d mesh compression, based on quanitzation
US20090263029A1 (en) * 2005-04-13 2009-10-22 Eun Young Chang Method and apparatus for encoding/decoding 3d mesh information
KR20100112848A (ko) * 2009-04-10 2010-10-20 삼성전자주식회사 3차원 메쉬정보 압축 및 복원 방법
WO2010142743A2 (en) * 2009-06-10 2010-12-16 Thomson Licensing Method for encoding/decoding a 3d mesh model that comprises one or more components

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090263029A1 (en) * 2005-04-13 2009-10-22 Eun Young Chang Method and apparatus for encoding/decoding 3d mesh information
WO2009128660A2 (en) * 2008-04-18 2009-10-22 Electronics And Telecommunications Research Institute Method and apparatus for real time 3d mesh compression, based on quanitzation
KR20100112848A (ko) * 2009-04-10 2010-10-20 삼성전자주식회사 3차원 메쉬정보 압축 및 복원 방법
WO2010142743A2 (en) * 2009-06-10 2010-12-16 Thomson Licensing Method for encoding/decoding a 3d mesh model that comprises one or more components

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ALLIEZ, P. ET AL.: 'Progressive compression for lossless transmission of triangle meshes' SIGGRAPH ''01 PROCEEDINGS OF THE 28TH ANNUAL CONFERENCE ON COMPUTER GRAPHICS AND INTERACTIVE TECHNIQUES. 2001, NEW YORK, pages 195 - 202 *
HAO, P. ET AL.: 'Mesh connectivity compression for progressive-to-lossless transmission.' QUEEN MARY June 2006, UNIVERSITY OF LONDON, DEPARTMENT OF COMPUTER SCIENCE, ISSN 1470-5559 pages 1 - 7 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024043750A1 (ko) * 2022-08-25 2024-02-29 엘지전자 주식회사 3d 데이터 송신 장치, 3d 데이터 송신 방법, 3d 데이터 수신 장치 및 3d 데이터 수신 방법

Also Published As

Publication number Publication date
WO2012124901A3 (ko) 2012-12-13

Similar Documents

Publication Publication Date Title
WO2009128660A2 (en) Method and apparatus for real time 3d mesh compression, based on quanitzation
EP2243118A2 (en) Method, medium, and system for compressing and decoding mesh data in three-dimensional mesh model
WO2011027989A2 (en) Method and apparatus for compressing and decompressing block unit data
CN1961309A (zh) 不带有桥接控制器的点对点总线桥接
WO2015119325A1 (ko) 지형 렌더링 방법
WO2012011644A1 (ko) 중앙 처리 장치, 그것의 gpu 시뮬레이션 방법 그리고 그것을 포함하는 컴퓨팅 시스템
WO2020139054A1 (en) Apparatus and method for generating a virtual avatar
WO2023040197A1 (zh) 一种跨节点通信方法、装置、设备及可读存储介质
CN112765513A (zh) 大规模建筑场景的细粒度化Web3D在线可视化方法
CN1681249A (zh) 用于同步以太网的异步数据分割/传输方法及其中使用的数据结构
EP3384397A1 (en) Increased data flow in universal serial bus (usb) cables
WO2023101401A1 (ko) Ota를 이용한 차량용 소프트웨어 관리 시스템
CN112948043A (zh) 大规模建筑场景的细粒度化Web3D在线可视化方法
WO2012124901A2 (ko) 3차원 메쉬 부호화 방법 및 장치
WO2018038316A1 (ko) 보안 카메라용 영상 코덱에서 블록 분할 정보 전송 방법 및 장치
WO2016027910A1 (ko) 레이 트레이싱 방법, 이를 수행하는 레이 트레이싱 장치 및 이를 저장하는 기록매체
WO2019112084A1 (ko) Cnn을 이용한 압축 왜곡 제거 방법
CN111654696B (zh) 一种帧内的多参考行预测方法、装置、存储介质及终端
CN104954439A (zh) 一种云服务器及其节点互联方法、云服务器系统
KR20160032281A (ko) 대용량 설계 데이터의 경량화 방법
JP2009302941A (ja) 画像処理方法、画像処理装置、および画像処理プログラム
WO2022260392A1 (ko) 단말에서 동작하는 이미지 프로세싱 인공 신경망 모델 생성 방법 및 시스템
WO2012119571A1 (zh) 一种帧内预测方法和装置
WO2014205690A1 (zh) 视频压缩编码方法及编码器
WO2013081428A1 (en) Method and apparatus for encoding binary image using adaptive template and method and apparatus for decoding the same

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 12757557

Country of ref document: EP

Kind code of ref document: A2

NENP Non-entry into the national phase in:

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 14005749

Country of ref document: US

122 Ep: pct application non-entry in european phase

Ref document number: 12757557

Country of ref document: EP

Kind code of ref document: A2