KR102246170B1 - 3차원 모델링된 오브젝트의 압축 - Google Patents

3차원 모델링된 오브젝트의 압축 Download PDF

Info

Publication number
KR102246170B1
KR102246170B1 KR1020140096546A KR20140096546A KR102246170B1 KR 102246170 B1 KR102246170 B1 KR 102246170B1 KR 1020140096546 A KR1020140096546 A KR 1020140096546A KR 20140096546 A KR20140096546 A KR 20140096546A KR 102246170 B1 KR102246170 B1 KR 102246170B1
Authority
KR
South Korea
Prior art keywords
dimensional
modeled object
vertices
computer
mesh
Prior art date
Application number
KR1020140096546A
Other languages
English (en)
Other versions
KR20150014883A (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
Application filed by 다솔 시스템므 filed Critical 다솔 시스템므
Publication of KR20150014883A publication Critical patent/KR20150014883A/ko
Application granted granted Critical
Publication of KR102246170B1 publication Critical patent/KR102246170B1/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • G06T17/205Re-meshing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/20Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/04Indexing scheme for image data processing or generation, in general involving 3D image data

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Computer Graphics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Image Generation (AREA)
  • Processing Or Creating Images (AREA)
  • Image Processing (AREA)
  • Architecture (AREA)

Abstract

3차원 모델링된 오브젝트를 압축하는 컴퓨터 구현 방법이 제안된다. 그 방법은:
- 상기 3차원 모델링된 오브젝트의 메시를 제공하는 단계 (S10);
- 2차원 평면에서 상기 메시를 (u,v) 파라미터화하는 단계로서, 상기 메시의 파라미터화는 2차원 좌표들을 갖는 버텍스들의 세트를 생성하는, 상기 파라미터화하는 단계;
- 상기 2차원 평면 상에 그리드를 제공하는 단계; 및
- 하나의 버텍스를 상기 그리드의 하나의 교차점으로 할당함으로써 각 버텍스의 상기 2차원 좌표들을 수정하는 단계를 포함한다.
그러한 압축 방법은 손실이 없고, 완전히 가역적이고, CAD 파일의 저장 사이즈를 효율적으로 감소시키는데 적합하다.

Description

3차원 모델링된 오브젝트의 압축{COMPRESSION OF A THREE-DIMENSIONAL MODELED OBJECT}
본 발명은 컴퓨터 프로그램들 및 시스템들의 분야에 관한 것이고, 더 상세하게는, 3차원 모델링된 오브젝트의 압축/압축해제를 위한 방법, 시스템 및 프로그램에 관한 것이다.
오브젝트들의 설계, 엔지니어링 및 제조를 위해 다수의 시스템들 및 프로그램들이 시중에 제공되어 있다. CAD는 컴퓨터 지원 설계 (Computer-Aided Design) 의 두문자어 (acronym) 이며, 예컨대 오브젝트를 설계하기 위한 소프트웨어 솔루션들에 관한 것이다. CAE는 컴퓨터 지원 엔지니어링 (Computer-Aided Engineering) 의 두문자어이며, 예컨대 미래의 제품의 물리적 거동을 시뮬레이션하기 위한 소프트웨어 솔루션들에 관한 것이다. CAM은 컴퓨터 지원 제조 (Computer-Aided Manufacturing) 의 두문자어이며, 예컨대 제조 프로세스 및 동작들을 정의하기 위한 소프트웨어 솔루션들에 관한 것이다. 이러한 컴퓨터 지원 설계 시스템들에서, 그래픽 사용자 인터페이스는 기법의 효율과 관련하여 중요한 역할을 담당한다. 이들 기법들은 제품 수명주기 관리 (Product Lifecycle Management;PLM) 시스템들 내에 임베딩될 수도 있다. PLM은 회사들이 확장 기업의 개념 전체에 걸쳐서, 제품 데이터를 공유하고, 공통 프로세스들을 적용하고, 구상에서부터 제품들의 수명의 종료까지 제품들의 개발을 위한 기업의 지식에 영향력을 행사하는 것을 돕는 경영 전략을 말한다.
다솔 시스템므 (Dassault Systemes) 에 의해 (CATIA, ENOVIA 및 DELMIA라는 상표들로) 제공되는 PLM 솔루션들은, 제품 엔지니어링 지식을 조직하는 엔지니어링 허브, 제조 엔지니어링 지식을 관리하는 제조 허브, 그리고 엔지니어링 및 제조 허브들 양쪽 모두로의 기업 통합 및 연결을 가능하게 하는 기업 허브를 제공한다. 다 함께 이 시스템은 제품들, 프로세스들, 리소스들을 링크하는 개방형 오브젝트 모델을 전달하여 최적화된 제품 정의, 제조 준비, 생산 및 서비스를 추진하는 동적인 지식 기반 제품 창작 및 결정 지원을 가능하게 한다.
컴퓨터 그래픽스의 분야에서, 3D 오브젝트의 표면이 종종 3D 공간에서 삼각형들의 집합으로 (또는 보다 일반적으로 다각형들의 집합으로) 표현된다. 이들 다각형 (polygon) 들은, 상이한 속성들을 보유하는 버텍스 (vertex) 들을 연결한다. 이들 상이한 속성들 중에서 각 버텍스는 공간에서 적어도 하나의 확정된 위치 (x, y 및 z) 를 갖는다. 이 종류의 표현은 다각형 메시 (polygonal mesh) 로 칭해진다. 이것은 또한, 그 표현이 삼각형들만을 포함하는 경우, 삼각형 메시로 칭해진다. 다각형 메시는 하기의 2개 타입의 데이터들로 분할될 수 있다: (i) 지오메트리 데이터는 각 버텍스에 대한 전체 세트의 위치들 다른 속성들을 포함하고, (ii) 연결성 데이터 (connectivity data) 는 각 다각형에 의해 이어진 버텍스들의 인덱스들을 포함한다.
3D 오브젝트들 및 3D 오브젝트들의 표면 지오메트리들은, 직접 구현 (straightforward implementation) 에서, 즉 압축 없이, 지속적인 서포트 (persistent support) 상에 저장될 수 있다. 이 직접 (즉, 비압축) 저장은 특히 CATIA 에서 그리고 다른 CAD 소프트웨어에서 사용된다. 그러한 저장으로, 그 저장은 손실이 없다. 실제로, 모델을 정의하는 데이터는, 저장 전에 수정되지 않으므로, 따라서 데이터의 손실이 있을 수 없다. 그 저장은 또한 안정적이다. 실제로, 모델을 정의하는 데이터는, 그 데이터가 압축되지 않기 때문에, 모델이 다시 열릴 때, 변형되지 않는다. 하지만, 그러한 방법은 CAD 모델의 저장 사이즈를 최적화하지 못한다.
이러한 목적으로, 여러 압축 스킴 (scheme) 들이 개발되었다. 리메싱 (Remeshing) 은, 스토리지 상에 상당히 더 적은 저장 공간을 요구하면서 3D 오브젝트들을 저장하는데 사용될 수 있는 기법들 중 하나이다. 표면 지오메트리 (Surface geometry) 는 종종, 불규칙 삼각형 메시들로 모델링된다. 리메싱의 프로세스는 (반)-규칙적 연결성을 갖는 메시를 사용하여 그러한 지오메트리를 근사하는 것을 지칭한다.
Xiangfeng Gu, Steven Gortler 및 Hugues Hoppe (Geometry images. In Proceedings of the 29th annual conference on Computer graphics and interactive techniques, 페이지 355-361. ACM Press, 2002) 는 지오메트리 이미지로 칭해지는 또 다른 표현과 지오메트리 이미지로 칭해지는 이미지로 3D 모델 다각형 메시를 전환하는 프로세스를 도입한다. 지오메트리 이미지는 완전히 규칙적 구조이고 여기서 3D 오브젝트의 표면은 버텍스들의 그리드에 의해 표현된다. 각 버텍스들은 그리드 경계들에 있는 것을 제외한 4개의 이웃 (neighbor) 들에 연결된다. 그러므로, 지오메트리 이미지는, 컬러 픽셀들의 2차원 어레이인 래스터 이미지 (raster image) 와 같이, 버텍스들의 2D 어레이로서 고려될 수도 있다. 비교로 더 들어가면, 지오메트리 이미지는 2차원 이미지로서 보여질 수도 있고 여기서 각 픽셀은 그들의 컬러 채널들 (적, 녹, 청) 에서 3차원 오브젝트의 표면 상에 샘플링된 포인트의 위치들 x, y 및 z 를 보유한다. 지오메트리 이미지를 직렬화 (serialize) 하기 위해서는, 각 버텍스 (지오메트리 데이터) 의 속성들을 저장하기만 하면 되는데, 왜냐하면 연결성이 내포되기 때문이다 (버텍스가 지오메트리 이미지에 있는 그 4개의 이웃들에 연결된다).
지오메트리 이미지 표현은 때때로, 일부 온라인 가상 세계에서 조각된 프림 (sculpted prim) 들로서 지칭된다. 지오메트리 이미지는 이런 종류의 애플리케이션에, 그와의 동작 (모델링) 의 용이성 및 그를 네트워크 상에서 압축 및 전송하는 효율에 기인하여, 특히 적합하다. 이 표현은 또한 일부 모델러들에 의해 인식된다.
다각형 메시를 지오메트리 이미지로 전환하는 프로세스는 리메싱으로 칭해진다. 그것은 다각형 메시에 의해 표현되는 오브젝트 표면에 대한 편리한 2D 파라미터화를 구한 다음, 2D 파라미터화 공간에서 규칙적으로 이격된 이 표면 상의 새로운 포인트들을 샘플링하는 것으로 이루어진다. 구축 프로세스 (building process) 에 따르면, 이들 새로운 포인트들은 규칙적인 그리드를 형성하고, 이는 지오메트리 이미지 표현이다. 리메싱 프로세스들의 결과는 다음과 같다:
- 새로운 샘플링된 포인트들은 초기 다각형 매시의 그것들과 매칭된다는 보장이 없고, 그것은 거의 일어나지 않는다;
- 초기 메시의 연결성 데이터는 완전히 손실되고, 결과적인 지오메트리 이미지를 보는 것에 의해 초기 버텍스들이 어떻게 연결되었는지를 알 길이 없다;
- 2D 파라미터화 및 2개의 샘플링된 포인트들 사이의 거리에 따라, 초기 다각형 메시에서 일부 디테일 (detail) 들이 결과적인 지오메트리 이미지에서 사라질 수 있다. 달리 말하면, 규칙적으로 샘플링된 포인트들을 잇는 것에 의해 만들어지는 표면은, 구축 프로세스에 기인하여 원래 표면과는 약간 상이할 수도 있다. 이 효과는, 샘플링 포인트들의 수가 증가되는 경우 감쇠될 수 있지만, 이것은 또한 지오메트리 이미지의 사이즈를 증가시킨다.
또 다른 제한은, 매니폴드가 아니거나 또는 높은 토폴로지 속 (topology genus) 을 갖는 수밀성 (watertight) 이 아닌 모델들은 프로세스의 시작에서 편리한 2D 파라미터화를 구하기 위하여 추가 계산들을 필요로 할 수 있다는 것이다. 이것은, 동일한 표면을 정확하게 기술하기 위하여 초기 다각형 메시에서보다 지오메트리 이미지에서 훨씬 더 많은 버텍스들의 필요에 이를 수 있다. 더 나쁜 상황에서, 이것은 심지어 해 (solution) 를 구할 수 없음에 이를 수 있다.
요컨대, 리메싱의 프로세스는, 지오메트리 이미지로부터 초기 다각형 메시를 회복하기 불가능하다는 의미에서 비가역적이다. 기껏해야, 지오메트리 이미지로부터 획득된 표현은 초기 다각형 메시에 매우 유사하지만, 양자 모두의 표현들은 하우스도르프 거리의 면에서 반드시 매칭되는 것은 아니다. 또한, 지오메트리 이미지는, 초기 메시에 가깝지만 항상 적은 에러들: 작은 디테일들의 손실, 왜곡...을 갖는 표면을 나타낸다. 게다가, 비수밀성 초기 메시는, 다각형 메시보다 오브젝트를 기술하기 위한 더 많은 데이터를 필요로 하는 지오메트리 이미지에 이를 수 있다.
이러한 맥락 내에서, 손실이 없고 완전히 가역적이고, CAD 파일의 저장 사이즈를 효율적으로 감소시키는데 적합한 향상된 압축 방법이 여전히 요망된다.
일 양태에 따르면, 따라서, 본 발명은 3차원 모델링된 오브젝트를 압축하는 컴퓨터 구현 방법을 제공한다. 그 방법은 다음을 포함한다:
- 3차원 모델링된 오브젝트의 메시를 제공하는 것;
- 2차원 평면에 메시를 (u,v) 파라미터화하는 것으로서, 상기 메시의 파라미터화는 2차원 좌표들을 갖는 버텍스들 (vertices) 의 세트를 생성하는, 상기 파라미터화하는 것;
- 상기 2차원 평면 상에 그리드를 제공하는 것; 및
- 하나의 버텍스를 상기 그리드의 하나의 교차점 (intersection) 으로 할당함으로써 각 버텍스의 2차원 좌표들을 수정하는 것.
본 방법은 다음 중 하나 이상을 포함할 수도 있다:
- 3차원 모델링된 오브젝트의 메시를 제공한 후에: 3차원 모델링된 오브젝트의 메시의 연결성 데이터를 저장하는 것;
- 하나의 버텍스를 상기 그리드의 하나의 교차점으로 할당하는 것은 각 버텍스를 다른 하나로부터 멀리 푸싱하는 반발 기법 (repulsion technique) 에 의해 수행되고;
- 상기 반발 기법은 그리드 셀 대각선의 길이와 2개의 버텍스들 사이의 거리를 비교하는 것; 및 그 2개의 버텍스들 사이의 거리가 길이 (L) 보다 더 작으면 그 2개의 버텍스들을 멀리 푸싱하는 것을 포함하고;
- 상기 그리드의 4개의 교차점들 사이에 최대 하나의 버텍스만이 있을 때까지 상기 반발 기법의 여러 반복들이 수행되고;
- 반발 기법을 수행한 후에, 버텍스들 사이에 빈 교차점들을 제거하는 릴렉세이션 기법 (relaxation technique) 을 수행하는 것;
- 상기 그리드의 사이즈는 확장가능하고;
- 수정된 2차원 좌표들을 갖는 버텍스들의 세트는 래스터 이미지를 형성하고, 여기서 세트의 각 버텍스는 래스터 이미지의 픽셀이고 세트의 각 버텍스의 좌표 (x, y, z) 는 래스터 이미지의 컬러 채널들 적/청/녹에 저장되고;
- 세트의 버텍스들의 보충 속성들이 추가 컬러 채널들에 저장되고;
- 래스터 이미지는 래스터 이미지의 사이즈를 감소시키기 위해 리프레이밍되고;
- 수정된 2차원 좌표들을 갖는 버텍스들의 세트에 대해 하기 압축 스킴 중 하나를 적용하는 것: - 이산 코사인 변환: -웨이블릿 변환;
- 3차원 모델링된 오브젝트의 메시의 연결성 데이터가 압축된다.
본 발명은 또한, 위의 방법에 따라 압축된 3차원 모델링된 오브젝트를 압축해제하는 컴퓨터 구현 방법을 제안한다. 그 방법은 다음을 포함한다:
- 수정된 2차원 좌표들을 갖는 버텍스들의 세트를 제공하는 것;
- 제공된 버텍스들의 세트로부터 버텍스들을 추출하는 것;
- 연결성 데이터로 버텍스들을 연결하는 것.
본 발명은 또한:
- 3차원 모델링된 오브젝트의 메시를 저장하는 데이터베이스;
- 위의 압축 방법에 따라 3차원 모델링된 오브젝트를 압축하거나 및/또는 위의 압축해제 방법에 따라 3차원 모델링된 오브젝트를 압축해제하는 수단을 포함하는 컴퓨터 지원 설계 시스템을 제안한다.
본 발명은 또한, 컴퓨터에 의한 실행을 위한 명령들을 포함하는 컴퓨터 프로그램을 제안하고, 그 명령들은 위의 압축 방법 및/또는 압축해제 방법을 수행하는 수단을 포함한다.
본 발명은 또한, 위의 컴퓨터 프로그램이 기록된 컴퓨터 판독가능 저장 매체를 제안한다.
본 발명의 실시형태들을 첨부된 도면들을 참조하여 그리고 비한정적인 예에 의해, 아래에서 설명하며, 첨부된 도면들 중에서:
도 1은 본 발명의 예의 플로우차트를 도시한다;
도 2는 종래 기술에 사용되는 샘플링의 예를 도시한다;
도 3은 하나의 교차점과 하나의 버텍스를 스냅핑하는 예를 도시한다;
도 4는 본 발명에 따라 리메싱될 다각형 메시의 예를 도시한다:
도 5는 2차원 평면에서 (u, v) 파라미터화된 도 4의 다각형 메시의 버텍스들의 예를 도시한다;
도 6은 도 5의 (u, v) 평면에 제공된 규칙적 그리드의 예를 도시한다;
도 7은 도 6의 규칙적 그리드의 교차점들에 스냅핑된 도 5의 버텍스들의 예를 도시한다;
도 8 내지 도 10은 각 버텍스를 다른 하나로부터 멀리 푸싱하는 반발 기법의 예를 도시한다;
도 11 및 도 12는 버텍스들 사이의 빈 셀들을 제거하는 릴렉세이션 기법의 예를 도시한다;
도 13은 CAD 시스템의 그래픽 사용자 인터페이스의 예를 도시한다;
도 14는 CAD 시스템의 예를 도시한다.
도 1의 플로우차트를 참조하면, 3차원 (3D) 모델링된 오브젝트를 압축하는 컴퓨터 구현된 방법이 제안된다. 그 방법은 3차원 모델링된 오브젝트의 메시를 제공하는 것을 포함한다. 다음으로, 그 메시는 2차원 (2D) 평면에서 (u,v) 파라미터화된다. 2차원 좌표들을 갖는 버텍스들의 세트가 메시의 파라미터화로부터 생긴다. 그 다음, 그리드가 2차원 평면 상에 제공된다. 다음으로, 각 버텍스의 2D 좌표들이 수정된다. 2D 좌표들의 수정은, 하나의 버텍스를 그리드의 하나의 교차점으로 할당하는 것에 의해 수행된다.
그러한 방법은 Xianfeng Gu, Steven J. Gortler, 및 Hugues Hoppe (Geometry images. In Proceedings of the 29th annual conference on Computer graphics and interactive techniques, pages 355-361. ACM Press, 2002) 에 개시된 지오메트리 이미지의 정의를 약간 수정하고 2D 이미지 표현으로의 다각형 메시의 향상된 전환을 제공한다. 즉, 본 방법은 3D 모델링된 오브젝트의 압축을 향상시킨다.
설명을 위하여, 업계에 알려진 바처럼, 지오메트리 이미지는, 3D 모델링된 오브젝트의 원래 지오메트리의 완전히 규칙적인 리메시이고 역 변환을 지원하는, 2D 이미지로서 정적 메시 상으로의 3D 모델링된 오브젝트의 임의 표면의 변환으로부터 획득된다는 것을 상기한다. 지오메트리 이미지는, 양자화된 포인트들의 단순 2D 어레이로서 지오메트리를 캡처하는 완전히 규칙적인 구조를 제공한다. 법선 (normal) 및 컬러와 같은 표면 신호들은 동일한 내포 표면 파라미터화를 사용하여 유사한 2D 어레이들에 저장된다- 텍스처 좌표들은 부재한다.
본 방법의 결과는, 3D 오브젝트의 표면 상에 놓이는 버텍스들의 2차원 어레이이지만, 포인트들의 그리드를 얻기 위하여 규칙적인 인터벌로 오브젝트의 표면 상의 새로운 포인트들을 샘플링하는 대신에, 원래의 버텍스들이 삼각형 메시로부터 지켜진다. 이것은 유리하게는, 버텍스들의 2차원 어레이에 의해 보유되는 임의의 버텍스는 초기 다각형 메시로부터의 버텍스와 정확하게 매칭된다는 것을 제공한다. 상반되게, 초기 다각형 메시로부터의 임의의 버텍스는 지오메트리 이미지의 버텍스에 정확하게 매칭된다. 그러므로, 버텍스들의 2차원 어레이의 임의의 버텍스는 다각형 메시에서 하나의 정확한 대응하는 버텍스를 가지므로, 지오메트리 이미지로의 다각형 메시를 전환하는 프로세스는 완전히 가역적이 된다. 이것은, 본 발명으로 압축된 3D 모델링된 오브젝트는, 그 전환이 손실이 없으므로 작은 디테일들의 손실 없이 압축해제될 수 있다는 것을 수반한다. 사실, 초기 다각형 메시의 임의의 디테일은, 버텍스들의 결과적인 2차원 어레이에서 사라질 수 있는데, 왜냐하면 압축의 본 방법은 파라미터화된 메시의 샘플링에 의거하지 않기 때문이다. 이런 식으로, 지오메트리 이미지의 사이즈를 증가시키는 샘플링 포인트들의 수를 증가시킬 필요가 없다. 그러므로, 본 발명은 유리하게는, Xianfeng Gu, Steven J. Gortler, 및 Hugues Hoppe 에 개시된 지오메트리 이미지를 사용하여 손실된 디테일들을 포함하는 3D 모델링된 오브젝트의 메시의 압축 레이트를 향상시키는 것을 허용한다. 또한, 임의의 3D 모델링된 오브젝트는 전환될 수도 있는데, 왜냐하면 본 방법은 3D 모델링된 오브젝트의 메시의 토폴로지에 대한 또는 클로저 (closure) 에 대한 임의의 조건 (condition) 을 필요로 하지 않기 때문이다. 본 발명의 추가 이점들은 설명에서 나타날 것이다.
그 방법은 컴퓨터 구현된다. 이것은, 그 방법의 단계들 (또는 실질적으로 모든 단계들) 이 적어도 하나의 컴퓨터에 의해 실행됨을 의미한다. 예들에서 그 방법의 단계들의 적어도 일부의 트리거링 (triggering) 은 사용자 컴퓨터 상호작용을 통해 수행될 수도 있다. 필요한 사용자 컴퓨터 상호작용의 레벨은, 사용자의 소망을 구현하기 위한 필요성과 균형에 놓이고 예견되는 자동화의 레벨에 의존할 수도 있다. 예들에서, 이 레벨은 사용자 정의되거나 및/또는 미리 정의될 수도 있다.
가령, 3D 모델링된 오브젝트의 메시를 제공하는 단계는 사용자 액션에 따라 수행될 수도 있다. 가령, 사용자는 3D 모델링된 오브젝트를 전용 메뉴속으로 또는 피처 트리 (feature tree) 에서, 예를 들어 도 13의 데이터 (2500) 를 선택할 수도 있다.
그 방법의 컴퓨터 구현의 통상적인 예는, 3D 모델링된 오브젝트들의 적어도 메시들 또는 3D 모델링된 오브젝트들을 저장하는 메모리를 포함하는 시스템 (예를 들어, CAD 시스템) 으로 그 방법을 수행하는 것이다. 데이터베이스를 저장하는 메모리는 단지 그러한 저장에 적합한 임의의 하드웨어일 뿐이다. 그 시스템은 또한, 그래픽 사용자 인터페이스 (GUI) 를 포함할 수도 있다. GUI 는 메모리 및 프로세서와 커플링된다. GUI 는 제공된 3D 모델링된 오브젝트의 메시를 디스플레이하기 위해 적응될 수도 있다. 그 시스템은 또한, 위의 방법에 따라 3차원 모델링된 오브젝트를 압축하는 수단을 포함한다. 그 시스템은 또한, 위의 방법에 따라 압축된 3차원 모델링된 오브젝트를 압축해제하는 수단을 포함할 수도 있다. 그러한 시스템은, 낮은 메모리 리소스들로 3D 모델링된 오브젝트들의 모델링을 허용한다. 실제로, 그 시스템이 위에 제시된 효율적인 압축 방법에 따라 3D 모델링된 오브젝트를 압축함에 따라, 다른 시스템들과 비교하여 시스템의 데이터베이스에 압축된 형태로 더 많은 오브젝트들이 저장될 수도 있다. 또한, 그러한 시스템은, 상기 압축된 3D 모델링된 오브젝트를 압축해제할 때 정보를 손실함이 없이 디테일한 3D 모델링된 오브젝트들이 압축될 수도 있으므로, 설계의 전반적인 프로세스를 향상시킨다.
그래픽 사용자 인터페이스는, 사용자로 하여금 오브젝트를 모델링하는 데이터의 압축 또는 오브젝트를 모델링하는 데이터의 압축해제를 커맨드하게 할 수도 있다. 오브젝트는, 이렇게 CAD 파일에 의해 모델링되는, 부분일 수도 있다. 시스템은 이렇게 CAD 파일들을 압축된 형태로 저장하고, 예를 들어, 그것들을, 그래픽 사용자 인터페이스에 의해, 설계자가 그 부분에 대한 작업할 필요가 있을 때, 압축해제할 수도 있다.
"데이터베이스" 란 검색 및 취출 (retrieval) 을 위해 조직된 데이터의 임의의 집합 (즉 정보) 을 의미한다. 메모리에 저장될 때, 데이터베이스는 컴퓨터에 의한 고속 검색 및 취출을 허용한다. 데이터베이스들은, 실제로, 다양한 데이터 프로세싱 동작들과 함께 데이터의 저장, 취출, 수정 및 삭제를 용이하게 하도록 구조화된다. 데이터베이스는, 각각 하나 이상의 필드들로 이루어지는 레코드들로 분해될 수 있는 파일 또는 파일들의 세트로 이루어질 수도 있다. 필드들은 데이터 저장의 기본 단위이다. 사용자들은 주로 퀴리를 통해 데이터를 취출할 수도 있다. 키워드 및 소팅 커맨드 (sorting command) 들을 사용하여, 사용자들은 다수의 레코드들에서 필드를 고속으로 검색, 재배열, 그룹화 및 선택하여, 사용되고 있는 데이터베이스 관리 시스템의 규칙들에 따라 데이터의 특정 어그리게이트 (aggregate) 에 대한 리포트들을 취출 또는 생성할 수 있다.
그 방법의 경우에, 데이터베이스는, 3D 모델링된 오브젝트들의 적어도 메시들, 또는 3D 모델링된 오브젝트들을 나타내는 데이터를 저장할 수 있다.
그 방법은 일반적으로, 3D 모델링된 오브젝트들의 메시들을 조작한다. 모델링된 오브젝트는 데이터베이스에 저장된 데이터에 의해 정의된 임의의 오브젝트이다. 확장에 의해, 표현 "모델링된 오브젝트"는 데이터 그 자체를 표시한다. 시스템의 타입에 따라, 모델링된 오브젝트들은 상이한 종류의 데이터에 의해 정의될 수도 있다.
실제로, 그 시스템은, CAD 시스템, CAE 시스템, CAM 시스템, PDM 및/또는 PLM 시스템의 임의의 조합일 수도 있다. 그러한 상이한 시스템들에서, 모델링된 오브젝트들은 대응하는 데이터에 의해 정의된다. 따라서, 하나는 CAD 오브젝트, PLM 오브젝트, CAE 오브젝트, CAM 오브젝트, CAD 데이터, PLM 데이터, CAM 데이터, CAE 데이터를 말할 수도 있다. 하지만, 모델링된 오브젝트가 이들 시스템들의 임의의 조합에 대응하는 데이터에 의해 정의될 수도 있으므로, 이들 시스템들은 다른 것을 배타하는 시스템이 아니다. 시스템이 CAD 및 PLM 시스템 양자 모두일 수도 있는데, 이는 아래에 제공되는 그러한 시스템들의 정의들로부터 분명해질 것이다.
CAD 시스템은 CATIA와 같은 모델링된 오브젝트의 그래픽 표현에 기초하여 모델링된 오브젝트를 설계하는데 적어도 적합한 임의의 시스템을 의미한다. 이 경우에, 모델링된 오브젝트를 정의하는 데이터는, 모델링된 오브젝트의 표현을 허용하는 데이터를 포함한다. CAD 시스템은 예를 들어, 에지 또는 라인들을 사용하여, 특정 경우들에서는 면 또는 표면들로, CAD 모델링된 오브젝트들의 표현을 제공할 수도 있다. 라인, 에지, 또는 표면들은, 다양한 방식으로, 예를 들어, NURBS (non-uniform rational B-splines) 으로 표현될 수도 있다. 특히, CAD 파일은 명세 (specification) 들을 포함하고, 이로부터 지오메트리가 생성될 수도 있고, 이는 차례로 표현이 생성되게 한다. 모델링된 오브젝트의 명세들은 단일 CAD 파일 또는 다수의 파일들에 저장될 수도 있다. CAD 시스템에서 모델링된 오브젝트를 표현하는 파일의 통상적인 사이즈는 부분 당 1 메가바이트의 범위에 있다. 그리고, 모델링된 오브젝트는 통상적으로, 수천의 부분들의 어셈블리일 수도 있다.
CAD 의 맥락에서, 모델링된 오브젝트는 통상적으로, 부분 또는 부분들의 어셈블리와 같은 제품, 또는 가능하게는 제품들의 어셈블리를 나타내는, 3D 모델링된 오브젝트일 수도 있다. 제품은, 물리적으로 제조될 아이템을 의미한다. "3D 모델링된 오브젝트" 는, 그의 3D 표현을 허용하는 데이터에 의해 모델링되는 임의의 오브젝트를 의미한다. 3D 표현은 모든 각도들로부터 부분의 뷰잉을 허용한다. 예를 들면, 3D 모델링된 오브젝트는, 3D 표현될 때, 그의 축들 중 임의의 축을 중심으로 또는 표현이 디스플레이되는 스크린 상에 있는 임의의 축을 중심으로 회전 및 핸들링될 수도 있다. 이것은 특히, 3D 모델링되지 않는 2D 아이콘을 제외한다. 3D 표현의 디스플레이는 설계를 용이하게 한다 (즉, 통계적으로 설계자가 그의 작업 (task) 을 달성하는 속도를 증가시킨다). 이것은 산업에서 제조 프로세스의 속도를 빠르게 하는데, 제품들의 설계는 제조 프로세스의 부분이기 때문이다.
CAD 시스템은 히스토리 기반일 수도 있다. 이 경우에, 모델링된 오브젝트는 또한, 기하학적 피쳐들의 히스토리를 포함하는 데이터에 의해 정의된다. 모델링된 오브젝트는 실제로, 표준 모델링 피쳐들 (예를 들어, 압출 (extrude), 리볼루트 (revolute), 커트 (cut) 및/또는 라운드 (round) 등) 및/또는 표준 서페이싱 피쳐들 (예를 들어, 스윕 (sweep), 블렌드 (blend), 로프트 (loft), 필 (fill), 디폼 (deform), 스무딩 (smoothing) 및/또는 기타 등등) 을 사용하여 물리적인 사람 (즉, 설계자/사용자) 에 의해 설계될 수도 있다. 그러한 모델링 기능들을 지원하는 많은 CAD 시스템들은 히스토리 기반 시스템이다. 이것은, 설계 피쳐들의 생성 히스토리가 통상적으로, 입력 및 출력 링크들을 통해 상기 기하학적 피쳐들을 함께 링크하는 비순환적 데이터 흐름을 통해 저장된다는 것을 의미한다. 히스토리 기반 모델링 패러다임은, 80년대 초 이래 잘 알려져 있다. 모델링된 오브젝트는, 2개의 지속성 데이터 표현들 : 히스토리 및 B-rep (즉, 바운더리 표현) 에 의해 기술된다. B-rep 은 히스토리에서 정의된 계산들의 결과이다. 모델링된 오브젝트가 표현될 때 컴퓨터의 스크린 상에 디스플레이되는 부분의 형상은 B-rep (의 테셀레이션 (tessellation)) 이다. 그 부분의 히스토리는 설계 의도이다. 기본적으로, 히스토리는, 모델링된 오브젝트가 겪는 동작들에 대한 정보를 모은다. B-rep 은 복잡한 부분들을 디스플레이하는 것을 더 용이하게 만들기 위해, 히스토리와 함께 저장될 수도 있다. 히스토리는, 설계 의도에 따라 부분의 설계 변화들을 허용하기 위하여 B-rep 과 함께 저장될 수도 있다. 실제로, 부분들의 (B-rep) 은 메셔 (mesher) 에게 지오메트리의 모델을 설명하는 수단이고, 그 메셔는 디스플레이되는 메시를 출력한다.
CAE (Computer-Aided Engineering) 솔루션은, 모델링된 오브젝트의 물리적 거동의 분석에 적합한 임의의 솔루션, 하드웨어의 소프트웨어를 의미한다. 잘알려져있고 널리 사용되는 CAE 기법은 FEM (Finite Element Method) 이고, 이는 모델링된 오브젝트를 엘리먼트들로 분할하는 것을 통상적으로 수반하고 그 물리적인 거동들은 등식들을 통해 계산 및 시뮬레이션될 수 있다. 그러한 CAE 솔루션들은, 상표 SIMULIA® 로 Dassault Systemes 에 의해 제공된다. 다른 성장하는 CAE 기법은, CAD 지오메트리 데이터 없이 물리 (physics) 의 상이한 필드로부터 복수 컴포넌트들로 구성되는 복잡한 시스템들의 모델링 및 분석을 수반한다. CAE 솔루션들은, 제조할 제품들의 시뮬레이션 그리고 따라서 최적화, 향상 및 검증 (validation) 을 허용한다. 그러한 CAE 솔루션들은, 상표 DYMOLA® 로 Dassault Systemes 에 의해 제공된다.
CAM (Computer-Aided Manufacturing) 솔루션은, 제품의 제조 데이터를 관리하는데 적합한 임의의 솔루션, 하드웨어의 소프트웨어를 의미한다. 제조 데이터는 일반적으로, 제조할 제품, 제조 프로세스 및 필요한 리소스들에 관한 데이터를 포함한다. CAM 솔루션은, 제품의 전체 제조 프로세스를 계획 및 최적화하는데 사용된다. 가령, 그것은 CAM 사용자들에게 실현가능성에 대한 정보, 제조 프로세스의 지속기간, 또는 제조 프로세스의 특정 단계에서 사용될 수도 있는 특정 로봇들과 같은 리소스들의 수를 제공할 수 있고; 따라서 관리 또는 필요한 투자에 관한 결정을 허용한다. CAM 은, CAD 프로세스 및 잠재적인 CAE 프로세스 후의 후속 프로세스이다. 그러한 CAM 솔루션들은, 상표 DELMIA® 로 Dassault Systemes 에 의해 제공된다.
PDM (Product Data Management) 솔루션은, 특정 제품에 관한 모든 타입의 데이터를 관리하는데 적합한 임의의 솔루션, 하드웨어의 소프트웨어를 의미한다. PDM 솔루션은, 주로 엔지니어들일테지만 또한 프로젝트 관리자, 재무원, 판매원 및 바이어를 포함하는, 제품의 라이프사이클에 수반되는 모든 행위자들에 의해 사용될 수도 있다. PDM 솔루션은 일반적으로 제품 지향 데이터베이스에 기초한다. 그것은 행위자들로 하여금 그들의 제품에 관한 일치하는 데이터 (consistent data) 를 공유할 수 있게 하고 따라서 행위자들이 불일치하는 데이터 (divergent data) 를 사용하는 것을 방지한다. 그러한 PDM 솔루션들은, 상표 ENOVIA® 로 Dassault Systemes 에 의해 제공된다.
도 13은 시스템의 GUI의 일예를 도시하고, 여기서 시스템은 CAD 시스템이다.
GUI (2100) 는, 표준 메뉴 바 (2110, 2120) 및 하부 및 측부 툴바들 (2140, 2150) 을 갖는 통상적인 CAD 형 인터페이스일 수도 있다. 그러한 메뉴 및 툴바들은 사용자 선택가능 아이콘들의 세트를 포함하고, 각 아이콘은 업계에 알려진 바처럼, 하나 이상의 동작들 또는 기능들과 연관된다. 이들 아이콘들 중 일부는 GUI (2100) 에서 디스플레이되는 3D 모델링된 오브젝트 (2000) 상에서 편집 및/또는 작업하는데 적합화된, 소프트웨어 툴들과 연관된다. 소프트웨어 툴들은 워크벤치 (workbench) 들로 그룹화될 수도 있다. 각 워크벤치는 소프트웨어 툴들의 서브세트를 포함한다. 특히, 워크벤치들 중 하나는 모델링된 제품 (2000) 의 기하학적 피쳐들을 편집하는데 적합한, 편집 워크벤치이다. 동작시, 설계자는 예를 들면, 오브젝트 (2000) 의 부분을 미리 선택하고 그 다음 동작 (예를 들면, 디멘션, 컬러 등의 변경) 을 개시하거나, 또는 적절한 아이콘을 선택하는 것에 의해 기하학적 제한 (geometrical constraint) 들을 편집할 수도 있다. 예를 들면, 통상적인 CAD 동작들은 스크린 상에 디스플레이된 3D 모델링된 오브젝트의 폴딩 (folding) 또는 펀칭 (punching) 의 모델링이다.
GUI는 예를 들면, 디스플레이된 제품 (2000) 에 관련된 데이터 (2500) 를 디스플레이할 수도 있다. 도 2의 예에서, "피쳐 트리" 로서 디스플레이된 데이터 (2500) 및 그들의 3D 표현 (2000) 은 브레이크 캘리퍼 및 디스크 등을 포함하는 브레이크 어셈블리에 속한다. GUI는 또한 예를 들면, 오브젝트의 3D 오리엔테이션을 용이하게 하기 위한, 디스플레이된 제품 (2000) 의 다양한 속성들을 렌더링하거나 또는 편집된 제품의 동작의 시뮬레이션을 트리거하기 위한, 다양한 타입들의 그래픽 툴들 (2130, 2070, 2080) 을 보여줄 수도 있다. 커서 (2060) 는 사용자로 하여금 그래픽 툴들과 상호작용하는 것을 허용하기 위하여 햅틱 디바이스에 의해 제어될 수도 있다.
도 14는, 컴퓨터 시스템, 예를 들어, CAD 시스템을 도시한다.
클라이언트 컴퓨터는 내부 통신 버스 (BUS; 1000) 에 접속된 CPU (central processing unit) (1010), 또한 BUS에 접속된 RAM (random access memory) (1070) 을 포함한다. 클라이언트 컴퓨터는 또한 BUS에 접속된 비디오 랜덤 액세스 메모리와 연관된 GPU (graphical processing unit) (1110) 가 구비된다. 비디오 RAM (1100) 은 또한 프레임 버퍼로서 당업계에서 알려져 있다. 대량 저장 디바이스 제어기 (1020) 는 하드 드라이브 (1030) 와 같은 대량 메모리 디바이스에 대한 액세스를 관리한다. 컴퓨터 프로그램 명령들 및 데이터를 유형적으로 담는데 적합한 대량 메모리 디바이스들은 예시적으로 반도체 메모리 디바이스, 이를테면 EPROM, EEPROM, 및 플래시 메모리 디바이스; 자기 디스크 이를테면 내부 하드 디스크 및 착탈식 디스크; 자기 광학 디스크; 및 CD-ROM 디스크 (1040) 를 포함하는, 모든 형태의 비휘발성 메모리를 포함한다. 전술한 것 중 임의의 것이 특수 설계된 ASIC (application-specific integrated circuit) 에 의해 보충되거나 또는 특수 설계된 ASIC에 포함될 수도 있다. 네트워크 아댑터 (1050) 는 네트워크 (1060) 에 대한 액세스를 관리한다. 클라이언트 컴퓨터는 또한 커서 제어 디바이스, 키보드 또는 그밖에 이와 유사한 것과 같은 햅틱 디바이스 (1090) 를 포함할 수도 있다. 도 13를 참조하여 언급된 바처럼, 커서 제어 디바이스는 클라이언트 컴퓨터에 사용되어 사용자가 디스플레이 (1080) 상의 임의의 원하는 위치에 커서를 선택적으로 배치하는 것을 허용한다. 또한, 커서 제어 디바이스는 사용자로 하여금 다양한 커맨드들을 선택하고 제어 신호들을 입력하는 것을 허용한다. 커서 제어 디바이스는 시스템으로의 입력 제어 신호들을 위한 다수의 신호 생성 디바이스들을 포함한다. 통상적으로, 커서 제어 디바이스는 마우스일 수도 있으며, 마우스의 버튼은 신호들을 생성하기 위하여 사용된다. 또 다른 예로서, 디스플레이 (1080) 는, 터치 감응형 디스플레이일 수도 있고, 커서 제어는 터치 감응형 디스플레이 상의 사용작 액션 (예를 들어, 터치) 에 따라 수행될 수도 있다.
컴퓨터 프로그램은, 컴퓨터에 의한 명령들을 포함할 수도 있고, 그 명령들은 위의 시스템으로 하여금 위의 방법들을 수행하게 하는 수단을 포함한다. 예를 들어, 본 발명은 디지털 전자 회로에서 또는 컴퓨터 하드웨어, 펌웨어, 소프트웨어, 또는 이들의 조합에서 구현될 수도 있다. 본 발명의 장치는 프로그램가능 프로세서에 의한 실행을 위한 머신 판독가능 저장 디바이스에 유형적으로 담겨진 컴퓨터 프로그램 제품에서 구현될 수도 있고; 본 발명의 방법 단계들은 입력 데이터 상에서 동작하고 출력을 생성하는 것에 의해 본 발명의 기능들을 수행하기 위한 명령들의 프로그램을 실행하는 프로그램가능 프로세서에 의해 수행될 수도 있다.
본 발명은 유리하게는, 데이터 저장 시스템, 적어도 하나의 입력 디바이스, 및 적어도 하나의 출력 디바이스로부터 데이터 및 명령들을 수신하고 이들로 데이터 및 명령들을 송신하도록 연결된 적어도 하나의 프로그램가능 프로세서를 포함하는 프로그램 가능 시스템 상에서 실행가능한 하나 이상의 컴퓨터 프로그램들에서 구현될 수도 있다. 애플리케이션 프로그램은 하이 레벨 프로시져 또는 오브젝트 지향 프로그래밍 언어로 또는 원하는 경우 어셈블리 또는 기계 언어로 구현될 수도 있고; 어느 경우든, 언어는 컴파일 (compiled) 또는 해석 (interpreted) 언어일 수도 있다.
다시 도 1을 참조하여, 이제 본 발명의 방법의 예가 논의된다.
단계 S10 에서, 3D 모델링 오브젝트의 메시가 제공된다. 이것은, 사용자 액션에 따라 수행될 수도 있다, 예를 들어, 사용자는 메모리에 저장될 수도 있는 3D 모델링된 오브젝트를 선택한다. 이것은 또한, 그 방법을 수행하는 컴퓨터 시스템에 의해 자동적으로 달성될 수도 있다. 제공하는 것은 3D 모델링된 오브젝트의 메시가 컴퓨터 시스템에 이용가능하다는 것을 의미한다, 즉 시스템은 메시에 대해 데이터에 액세스할 수 있다. 통상적으로, 컴퓨터 시스템은, 가령, 상 (statue) 을 모델링하는 3D 모델링된 오브젝트의 메시를 보여주는 도 4에 나타낸 바처럼, 3D 모델링된 오브젝트의 메시를, 그것이 시스템에 이용가능하면, 디스플레이할 수도 있다.
다음으로, 단계 S20에서, 메시의 연결성 데이터가 저장된다. 가령, 연결성 데이터가, 3D 메시를 저장하는 메모리에 저장될 수도 있다. 연결성 데이터는, 메시의 각 다각형에 의해 이어진 버텍스들의 인덱스들을 포함한다. 이렇게, 연결성 데이터는, 메시의 각 버텍스에 대해, 상기 메시의 각 버텍스에 연결된 이웃 버텍스 (또는 버텍스들) 을 식별한다. 다각형 메시의 연결성 데이터를 간직하는 것은 유리하게는, 오브젝트의 표면 상에 가까운 버텍스들의 식별을 용이하게 하는데, 왜냐하면 버텍스들은 이제, 아래에서 설명되는 바처럼, 2차원 어레이에서 반드시 가까운 것은 아니기 때문이다.
단계 S20은 선택적일 수 있는데, 왜냐하면 단계 S10에서 제공된 다각형 메시는 지오메트리 데이터 및 연결성 데이터로 이미 분할될 수도 있기 때문이라는 것이 이해되야 한다. 그러므로, 이 경우에, 메모리는 지오메트리 데이터 및 연결성 데이터 양자 모두를 저장하고, 따라서, 연결성 데이터는 추가 단계들에 이용가능하다.
다음으로, 단계 S30에서, 제공된 3D 모델링된 오브젝트의 메시는 2차원 평면에서 (u, v) 파라미터화된다. 2차원 평면에서 메시를 파라미터화하는 것은, 2D 공간에서 3D 모델링된 오브젝트의 명세를 갖기 위해 필요한 파라미터들이 결정된다는 것을 의미한다. 실제로, 파라미터화는 2D 평면에서 메시의 각 버텍스의 유효 좌표 (u, v) 의 완전한 세트의 식별을 포함한다. 파라미터화는, 업계에서 알려져 있는 바처럼 수행된다, 예를 들어, ABF++ 파라미터화 알고리즘이 사용될 수도 있다. 예를 들어, 이것은, 전체 메시가 더 적은 왜곡으로 2차원 평면에서 언폴드 (unfold) 될 수 있도록 또는 작은 수의 차트들로 커트된 메시가 더 적은 왜곡으로 2차원 평면에서 언폴드될 수 있도록 행해질 수 있다.
도 5는 2D 평면에서 파라미터화된 도 4의 메시를 도시한다. 메시의 파라미터화는 2D 평면에서 2차원 좌표들 (u,v) 를 갖는 버텍스들의 세트를 초래한다. 흥미롭게도, 3D 모델링된 오브젝트의 원래 메시의 각 버텍스는 2D 평면에서 하나의 버텍스에 의해 표현된다.
도 1을 다시 참조하면, 단계 S40 에서, 그리드가 2D 평면에 제공된다. 실제로, 그리드는, 예를 들어, 컴퓨터 시스템에 의해 자동적으로 제공된다. 2D 평면 상에 그리드를 제공하는 것은 서로 교차하는 라인들의 세트가 2D 평면 상에서 정의된다는 것을 의미한다. 라인들이 교차하며, 따라서 2D 평면들 상에서 교차점들의 세트를 제공한다. 실제로, 라인들은, 교차점들이 2D 평면 상에 규칙적으로 놓여지도록, 균일하게 이격된 수평 및 수직 라인들이다. 이것은 유리하게는, 다음 단계들에서 설명되는 바처럼, 2차원 어레이의 구성을 향상시키는 것을 허용한다. 라인들의 임의의 구성이 사용될 수도 있다는 것이 이해되야 한다.
그리드의 교차점들의 수는, 파라미터화된 메시의 버텍스들의 수와 적어도 동일하다. 실제로, 교차점들의 수는 메시의 버텍스들의 수보다 약간 더 크다.
흥미롭게도, 그리드의 사이즈는 확장가능할 수도 있다. 그리드를 확장시킨다는 것은, 서로 교차하는 라인들의 수가 증가될 수 있으며, 따라서 그리드의 교차점들의 수를 증가시킨다는 것을 의미한다. 실제로, 그리드의 확장은 그리드의 에지들에 새로운 라인들을 추가함으로써 수행된다. 다르게 말하면, 그리드의 버텍스들의 밀도는 증가되지 않는다. 반대로, 그리드의 사이즈는 단축될 수도 있다, 즉, 그리드의 하나 이상의 라인들이 제거될 수도 있다.
실제로, 단계 S40 은, 3D 모델링된 오브젝트의 메시의 파라미터화가 행해지기 전에 수행될 수도 있다. 통상적으로, 그리드가 2D 평면에서 추가되고, 다음으로 파라미터화가 수행된다. 다음으로, 메시의 파라미터화가 일어난 후에, 그리드의 사이즈는 파라미터화의 결과에 응답하여 동적으로 변화 (예를 들어, 확장) 될 수도 있다: 실제로, 일반적으로 버텍스들의 결과적인 세트의 불균일 분포가 메시의 파라미터화로부터 생긴다. 가령, 라인들이 2D 평면의 구역에 가까운 그리드의 에지 상에 추가될 수도 있고 여기서 파라미터화된 메시의 버텍스들의 밀도가 가장 중요하다. 이것은 유리하게는, 또 다음 S50 의 효율을 향상시킬 수도 있다.
2D 평면 상의 각 교차점은 또한, 2D 평면에서 좌표 (u, v) 를 갖는다. 교차점들의 좌표는, 메시의 파라미터화 단계에서 사용된 것보다는 동일한 러퍼렌셜 (referential) 을 사용하여 정의될 수도 있다.
도 6은, 그리드가 추가된 도 5의 파라미터화된 2D 평면을 도시한다. 이 예에서, 균일하게 이격된 수평 및 수직 라인들의 수는, 교차점의 수가 파라미터화된 메시의 버텍스들의 수보다 조금 더 크도록 선택된다.
그 다음, 단계 S50 에서, 각 버텍스의 2차원 좌표들 (u, v) 이 수정된다. 그 수정은, 하나의 버텍스를 그리드의 하나의 교차점으로 할당하는 것에 의해 수행된다. 이것은, 하나의 버텍스만이 하나의 교차점 상에 배치될 수 있음을 의미한다. 그러므로, 2개의 버텍스들은 하나의 교차점으로 할당될 수 없다. 하나의 버텍스를 하나의 교차점으로 할당하는 것은, 하나의 교차점이 하나의 버텍스에 대한 스냅으로서 작용하는 스냅핑 (snapping) 으로 칭해질 수도 있다.
할당하는 것은, 하나의 버텍스가 하나의 교차점에 첨부되는 것을 의미하고, 이것은, 버텍스의 2D 평면에 있는 좌표를 교차점의 2D 평면에 있는 좌표에 의해 교체함으로서 수행된다.
파라미터화 메시의 버텍스는, 단계 S50 가 수행되기 전에 교차점으로서 동일 좌표를 가질 수도 있다는 것이 이해되야 한다. 이 경우에, 버텍스의 좌표는 변하지 않게 간직된다.
단계 S50의 끝에서, 2D 평면에서 그리드가 획득되고 여기서 초기 메시의 임의의 버텍스가 하나의 상이한 교차점에 할당된다. 그러므로, 그리드는 버텍스들의 2D 어레이와 동등하다.
이제 도 3을 참조하면, 스냅핑의 예가 도시된다. (여기서 삼각형 (30) 의 형상을 갖는) 파라미터화 메시의 3개의 버텍스들의 각각 하나가 하나의 교차점 (32, 34, 36) 에 할당된다. 각 버텍스의 좌표들의 수정은 상기 버텍스들의 변위로서 고려될 수도 있고, 이는 화살표로 표시된다.
흥미롭게도, 파라미터화된 메시가 작은 (가령, 원래 3D 모델링된 오브젝트의 작은 디테일들을 나타내는 삼각형 (38) 의) 경우에도, 삼각형 (38) 의 좌표들의 수정은, 삼각형 (30) 에 대한 것과 임의의 유사한 방식으로 수행될 것이다. 그러므로, 초기 다각형 메시의 디테일은, 버텍스들의 결과적인 2차원 어레이에서 사라질 수 없는데, 왜냐하면 압축의 본 방법은 종래 기술의 파라미터화된 메시의 샘플링에 의거하지 않기 때문이다. 그러한 샘플링 방법은 도 2에 나타나 있다: 삼각형 (20) 은 여러회 샘플링 (흑점으로 표시) 되는 한편, 작은 삼각형 (22) 은, 샘프링 인터벌이 너무 크므로, 샘플링되지 않는다. 그러므로, 작은 디테일들이 손실된다.
또한, 본 발명은 저장될 데이터의 양을 감소시키는데, 왜냐하면 버텍스들이 할당되는 교차점들의 좌표들만이 메모리에 간직되기 때문이다. 반대로, 샘플링 기반 방법은 더 많은 포인트들의 저장을 필요로 한다.
도 7은, 각 버텍스가 그리드의 하나의 상이한 교차점에 할당된 후에 그 각 버텍스의 2D 좌표들 (u, v) 의 수정의 결과를 보여준다. 파라미터화된 메시의 버텍스들은, 2차원 어레이가 이제 형성되는 그러한 방식으로 재순서화되었다.
파라미터화된 메시의 각 버텍스는, 파라미터화 공간에서 좌표 (u, v) 를 갖고, 그리드의 교차점도 그러하다. 이 파라미터화 공간에서 일부 버텍스들은 특정 영역에서 집중 (그리드의 4개 교차점들 사이에서 1개 버텍스 초과) 되어, 그리드의 다른 영역들은 적은 버텍스들을 갖게 한다. 특히, 그 집중은, 그리드의 셀 당 1개 버텍스 초과일 때 문제가 될 수도 있으며, 셀은 그리드의 4개 교차점들 사이에 포함되는 영역이다. 반대로, 2D 평면의 일부 부분은 더 적은 밀도의 버텍스 (그리드의 4개 교차점들 사이에 1개 버텍스 미만) 을 가질 수도 있다. 그리드 교차점들의 수는 버텍스들의 수보다 가깝게 (그리고 약간 더 크게) 선택되었음이 상기된다.
도 8은 그리드의 각 셀 상의 버텍스 (또는 버텍스들) 의 수가 변화하는 그리드를 보여준다.
하나의 버텍스를 그리드의 하나의 교차점에 용이하게 할당할 수 있기 위하여, 4개 교차점들 사이에 1개 버텍스 이하가 있도록, 즉 그리드의 셀당 1개 버텍스 이하가 있도록 버텍스 (u, v) 좌표들의 수정이 필요할 수도 있다. 이 조건이 준수되면, 그리드의 셀을 정의하는 4개 교차점들의 하나에 각 버텍스를 할당하는 것이 가능하다.
버텍스가 2개 셀들 사이의 프론티어 (frontier) 상에 위치되는 경우에, (즉, 버텍스가 2개 셀들의 2개 공통 교차점들을 연결하는 공통 에지 상에 배치되는 경우에), 버텍스를 2개 셀들 중 하나 또는 다른 하나에 할당하는 결정은 미리결정된 규칙에 따라 수행될 수도 있다. 가령, 규칙은, 프론티어 상에 위치된 버텍스가 더 적은 버텍스들을 갖는 셀에 할당되는 것을 결정할 수도 있다.
버텍스가 그리드의 교차점 상에 이미 위치된 경우에, 버텍스의 2D 좌표는 교차점의 좌표와 같고, 버텍스는 이 경우에 이동되지 않는다. 달리 말하면, 교차점에 위치된 버텍스의 2D 좌표는, 단계 S50이 수행될 때 수정되지 않는다.
도 9는, 그리드의 4개 교차점들 사이에 1개 버텍스만이 있도록 수정된 도 8에 나타낸 버텍스들의 좌표 (u, v) 를 예시한다. 그러므로, 그리드의 각 셀의 각 버텍스는 상부 좌측 교차점 (그 주위에 원을 그리는 4개 중에) 할당될 수 있다. 그러므로, 각 버텍스가 도 10 에 도시된 바처럼 상이한 교차점에 할당되는 것이 보장된다.
이제 도 1을 참조하면, 그리드의 하나의 교차점으로의 하나의 버텍스의 귀속의 예가 이제 논의되고, 각 버텍스의 2D 좌표들은 결과적으로 수정된다. 이 예에서, 하나의 버텍스는 기준에 따라 각 버텍스를 다른 하나로부터 멀리 푸싱하는 반발 기법을 사용하여 그리드의 하나의 교차점에 할당된다. 반발 기법은, 파라미터화 공간에서 버텍스들 사이에 반발력을 시뮬레이션하는 입자 반발 (particle repulsion) 에 의거한다. 그 기준은 힘에 관련될 수도 있다.
단계 S500에서, 2개 버텍스들, 즉 Vx 및 Vy 사이의 거리 (DVx, Vy) 가 그리드 셀 대각선의 길이 (L) 와 비교된다. 그리드를 형성하는 라인들은, 교차점들이 2D 평면 상에 규칙적으로 배치되고 그리드의 모든 셀들이 동일한 셀 대각선 길이 (L) 를 갖도록, 균일하게 이격된 수평 및 수직 라인들이라는 것이 이해된다.
용어 거리는 버텍스들이 얼마나 멀리 떨어져 있는지의 수치적 기술을 의미한다. 거리는 통상적으로 유클리드 거리 (Euclidien distance) 일 수도 있다. 다른 타입의 거리들, 이를테면 맨해턴 거리 (Manhattan distance) 또는 체비셰프 거리 (Chebyshev distance) 가 사용될 수도 있다. 그리드의 셀은 그리드의 4개 교차점들 사이에 포함되는 영역이다.
2개 버텍스들 사이에 평가된 거리가 그리드 셀 대각선의 길이 (L) 보다 더 작은 경우에, 단계 (520) 에서 2개 버텍스들이 다른 하나로부터 멀리 푸싱된다. 2개 버텍스들을 멀리 푸싱하기 위해 적용되는 거리는 다음과 같이 정의될 수도 있다. A 로 표기된 버텍스는, 그 근처에, 그리드 셀 대각선의 길이 (L) 보다 더 적은 거리 d i 를 갖는 n 개의 버텍스들 B i 을 갖는다. 각 버텍스 B i 는 포인트 A 를 멀리 푸싱하기 위한 기여 c i 를 추가한다. 그 기여는 관계
Figure 112014071819892-pat00001
에 의해 정의되고, 식중 u i B 로부터 A 로의 방향, 즉, 버텍스 A 가 버텍스 B i 로부터 멀리 푸싱되는 방향을 제공하는 단위 벡터이다. 버텍스 A 는 거리
Figure 112014071819892-pat00002
로 버텍스 B 로부터 멀리 푸싱되고, 여기서:
- λ 는 0 에서 개시되고 각 반복에 대해 점차 1로 증가하는 인자이다. 인자 λ 는 유리하게는, 알고리즘의 안정성을 제공하고 버텍스들의 분산을 회피한다;
- η
Figure 112014071819892-pat00003
이 너무 큰 경우에 M 의 사이즈를 제한하는 인자이다. η 은 유리하게는, 하나의 버텍스가 한번의 반복에서 셀로부터, 너무 먼 다른 하나로 점프하는 것을 회피한다.
2개 버텍스들 사이의 거리가 그리드 셀 대각선의 길이 (L) 보다 더 큰 경우에, 2개 버텍스들은 이격되지 않는다.
상기 그리드의 4개의 교차점들 사이에 최대 1개 버텍스, 셀당 1개 버텍스 만이 있을 때까지 반발 기법의 여러 반복들이 수행된다. 이것은, 주어진 버텍스에 대해, 그의 이웃(들) 과의 거리가 길이 (L) 보다 더 큰지가 체크된다는 것을 의미한다. 실제로, 이웃들이, 버텍스가 위치된 셀에서 선택되고, 다음으로 거리 체크가, 버텍스가 위치된 셀을 둘러싸는 셀들에 있는 버텍스들에 대해 수행된다. 셀을 둘러싸는 셀들은, 이 셀과 공통 에지를 공유하는 셀들이다.
셀들의 버텍스들 사이의 거리를 스캔하고 버텍스들을 이동시키기 위한 의사 알고리즘 (pseudo-algorithm) 의 예는 다음과 같다:
Figure 112014071819892-pat00004
그러므로, 단계 S530 에서, 파라미터화된 메시의 하나의 버텍스가, 반복을 사용하여 수행된 반발 기법을 사용하여 그리드의 교차점 상으로 할당된다. 상기 그리드의 4개 교차점들 사이에 최대 1개 버텍스만이 있을 때까지 반발 기법의 반복들이 수행된다. 그 반복은 유리하게는, 수행될 비교의 전반적인 수를 감소시키는 것을 허용한다. 또한, 그 반복은, 4개 그리드 교차점들 사이에 최대 1개 버텍스만이 있도록, 그리고 파라미터화 공간에서 그 단계 전에 가까웠던 2개 버텍스들이 여전히 지금도 가깝도록, 즉 그것들은 오직 그들 사이에 있었던 버텍스들을 포함하는 셀들 또는 버텍스를 포함하지 않는 셀들에 의해 분리되도록, 보장한다.
S40을 참조하여 논의된 바처럼, 그리드의 사이즈는 동적으로 변화 (예를 들어, 확장) 될 수도 있다. 그것은 반발 기법의 결과에 응답하여 변화될 수도 있다: 실제로, 반발 기법으로부터, 그리드의 에지 근처의 포인트들이 그리드 밖으로 멀리 푸싱된다. 이 경우에, 푸싱된 버텍스 (버텍스들) 이 그리드의 4개 교차점들 사이에 항상 포함되도록 가까운 그리드의 에지 상에 새로운 라인들이 추가될 수도 있다. 또 다른 예로서, 그리드는 하나 이상의 교차점들을 포함하는 숨겨진 마진 (hidden margin) 을 가질 수도 있다: 숨겨진 교차점들은 숨겨지지 않게 되고 멀리 푸싱된 버텍스들이 숨겨지지 않은 교차점들에 할당될 수 있다.
단계 S50의 끝에서, 3D 모델링된 오브젝트의 파라미터화된 메시의 모든 버텍스들의 2D 좌표들이 그리드의 하나의 교차점에 파라미터화된 메시의 하나의 버텍스를 할당하는 것에 의해 수정되었다. 버텍스들의 2D 어레이가 단계 S10 내지 S50 의 결과로서 획득된다. 그 어레이는, 3D 모델링된 오브젝트의 초기 다각형 메시에서 모두 있었던 버텍스들을 포함한다. 이 어레이는 초기 다각형 메시와, 그에 대한 초기 연결성 데이터가 있다면, 동등하다. 어레이 및 연결성 데이터로, 초기 다각형 메시를 다시 얻는 것이 가능하다. 따라서, 리메싱 프로세스는 완전히 가역적인 프로세스이다.
단계 S60에서, 버텍스들 사이의 빈 교차점들이 제거된다. 빈 교차점들은, 버텍스를 포함하지 않는 교차점이다. 빈 교차점의 제거는 도 11 및 도 12에 도시된 바처럼, 릴렉세이션 기법을 사용하여 수행될 수도 있다.
릴렉세이션 단계는, 입자 반발 단계 S500-S530 후에 통상적으로 수행된다. 이 릴렉세이션 단계는, 이미지 프로세싱으로부터의 기원 방법인 시임 카빙 (seam carving) 을 사용할 수도 있다. 시임 카빙은 이미지 리사이징을 위한 알고리즘이다: 그것은 버텍스들의 2D 어레이에서 최소 중요성의 경로들인 다수의 시임들을 확립함으로써 기능한다. 알고리즘은 자동적으로 시임들을 제거하고, 따라서 유리하게는 버텍스들의 2D 어레이의 사이즈를 감소시킨다. 시임 카빙은 또한, 픽셀들이 수정되지 않을 수도 있는 영역들을 수동으로 정의하는 것을 허용할 수도 있다.
시임 카빙은 반복적으로 2D 어레이의 빈 그리드 교차점들의 시임들을 제거하여, 오브젝트 모델 상에 가깝고 시임 제거 전에 그리드 상에 가까웠던 버텍스들이 시임 제거 후에 가깝게 머무르도록 한다.
이제 도 11을 참조하면, 시임 카빙 동작의 하나의 반복이 예시되어 있고 여기서 빈 교차점들의 세트가 단계 S10 내지 S50의 결과로서 획득된 버텍스들의 2D 어레이에서 결정되었다. 흰 버텍스들 및 검은 버텍스들이 빈 교차점의 시임에 의해 분리된다.
이제 도 12를 참조하면, 도 11의 버텍스들의 2D 어레이가 예시되어 있고, 여기서 시임이 제거되었다. 그러므로, 2D 어레이의 사이즈는 감소되었다. 릴렉세이션 단계의 모든 반복들이 수행되었음에도, 일부 빈 교차점은 여전히 2D 어레이에 있을 수도 있다는 것이 이해되야 한다.
릴렉세이션 단계는, 빈 교차점들을 식별할 수 있는 임의의 알고리즘으로 수행될 수도 있다는 것이 이해되야 한다. 바람직하게는, 알고리즘은 파라미터화 메시에서 가까운 가까운 버텍스들을 유지 가능해야 한다.
따라서, 단계 S60의 출력은, 입력에서 취해진 2D 어레이와 비교하여 감소된 사이즈를 갖는 3 모델링된 오브젝트의 파라미터화 메시의 버텍스들의 2D 어레이이다.
양쪽 모두의 단계들 S50 및 S60 에서, 수정된 2D 좌표들을 갖는 버텍스들의 세트는 래스터 이미지 (raster image) 를 형성하고, 여기서 세트의 각 버텍스는 래스터 이미지의 픽셀이고 세트의 각 버텍스의 좌표 (x, y, z) 는 래스터 이미지의 컬러 채널들 적/녹/청 (RGB) 에 저장된다. 래스터 이미지는, 일반적으로 직사각형 그리드의 픽셀들, 예를 들어, 직사각형 2D 어레이의 버텍스들을 나타내는 도트 매트릭스 데이터 구조를 의미한다. RGB 색 모델은, 업계에 알려진 바처럼, 적, 녹 및 청색 광이 폭넓은 어레이의 컬러들을 재생하기 위하여 다양한 방식들로 함께 더해지는 가색 모델 (additive color model) 이다.
흥미롭게도, (버텍스 당 법선, 텍스처 좌표...와 같은) 보충적인 버텍스 속성들도 추가 컬러 채널들에 저장될 수도 있다. 그러므로, 래스터 이미지는 가능하게는, 3D 모델링된 오브젝트의 초기 메시의 모든 속성들을 포함할 수 있으며, 각 버텍스와 저장된 속성들의 수가 컬러 채널들의 수에 의해 제한된다는 것이 이해된다.
선택적으로, 래스터 이미지는 래스터 이미지의 사이즈를 감소시키기 위해 리프레이밍될 수도 있다. 이것은, 업계에 알려져 있는 바처럼, 수행된다.
그 다음, 단계 S80에서, 압축 스킴이 래스터 이미지 및 연결성 데이터에 대해 적용된다. 압축 스킴은, JPEG 포맷과 같은 이산 코사인 변환, JPEG 2000 포맷과 같은 웨이블릿 변환에 기초할 수도 있지만, 이에 한정되지는 않는다. 사실, 래스터 이미지에 대해 적용될 수도 있는 모든 압축 스킴들이 사용될 수 있다. 흥미롭게도, 버텍스들의 2D 어레이 이래 래스터 이미지 그리드가 구축되어 그리드에서 가까운 버텍스들이 보통 초기 오브젝트의 표면 상에서 가깝고, 2D 어레이에서 인접하는 버텍스들의 x, y 및 z 좌표들이 강하게 상관된다; 따라서 이들 압축 스킴들은 훌륭한 결과들을 달성할 것이다.
연결성 데이터는, 연결성 데이터에 대해 정보를 저장하는데 사용되는 포맷에 적합화된 압축 스킴으로 압축될 수도 있다. 가령, 연결성 데이터는 텍스트 파일로 저장될 수도 있고, 압축 스킴은, ZIP 압축, RAR 압축일 수도 있지만, 이에 한정되지 않는다.
이미지 프로세싱 (압축, 비디오 압축, 워터마킹, 모르핑...) 전용의 도구 및 동작들이, 획득된 래스터 이미지에 적용될 수도 있다. 본 발명의 전반적인 압축 레이트는, 연결성 데이터의 존재에도 불구하고, 지오메트리 이미지들을 사용한 알려진 솔루션에 비해 향상된다. 실제로, 더 적은 정보가 저장될 필요가 있는데, 왜냐하면 본 발명의 리메싱은 샘플링 포인트들 샘플링 포인트들의 수와 관계 없기 때문이다.
본 발명에 따라 압축된 3차원 모델링된 오브젝트는 다음의 단계들을 이용하여 압축해제될 수 있다.
먼저, 수정된 2차원 좌표들을 갖는 버텍스들의 세트가 제공된다. 가령, 단계 S50 또는 S60 의 결과로서 획득된 버텍스들의 2D 어레이, 단계 S70의 결과로서 획득된 래스터 이미지, 단계 S80의 압축된 래스터 이미지이다.
다음으로, 버텍스들이 그 제공된 버텍스들의 세트로부터 추출된다. 그 추출은 2D 어레이의 교차점들을 식별하는 것에 의해 통상적으로 수행될 수도 있다. 가령, 래스터 이미지의 픽셀들이 식별된다.
다음으로, 추출된 버텍스들은 연결성 데이터에 따라 연결된다. 그 추출된 버텍스들은 3D 공간에 배치된다. 그 추출된 버텍스들의 좌표들은 래스터 이미지의 컬러 채널들 RGB로부터 획득될 수도 있다.
본 발명의 바람직한 실시형태가 설명되었다. 본 발명의 사상 및 범위로부터 벗어남이 없이 다양한 수정들이 이루어질 수도 있음이 이해될 것이다. 그러므로, 다른 구현들이 다음의 청구항들의 범위 내에 있다.

Claims (15)

  1. 3차원 모델링된 오브젝트를 압축하는 컴퓨터 구현 방법으로서,
    - 상기 3차원 모델링된 오브젝트의 메시를 제공하는 단계 (S10) 로서, 상기 메시는 3차원 버텍스들 (vertices) 을 갖는, 상기 메시를 제공하는 단계 (S10);
    - 2차원 평면에서 상기 메시를 (u,v) 파라미터화하는 단계로서, 상기 메시의 상기 파라미터화는 2차원 좌표들을 갖는 2차원 버텍스들의 세트를 생성하고, 상기 세트의 임의의 2차원 버텍스는 상기 메시의 3차원 버텍스에 정확하게 매칭되고, 그리고 상호적으로 (reciprocally) 상기 메시의 임의의 3차원 버텍스는 상기 세트의 2차원 버텍스에 정확하게 매칭되는, 상기 파라미터화하는 단계;
    - 상기 2차원 평면 상에 그리드를 제공하는 단계; 및
    - 하나의 2차원 버텍스를 2차원의 상기 그리드의 하나의 교차점으로 할당함으로써 상기 세트 내의 각 2차원 버텍스의 상기 2차원 좌표들을 수정하는 단계를 포함하는, 3차원 모델링된 오브젝트를 압축하는 컴퓨터 구현 방법.
  2. 제 1 항에 있어서,
    상기 3차원 모델링된 오브젝트의 메시를 제공하는 단계 후에:
    - 상기 3차원 모델링된 오브젝트의 메시의 연결성 데이터를 저장하는 단계를 더 포함하는, 3차원 모델링된 오브젝트를 압축하는 컴퓨터 구현 방법.
  3. 제 1 항에 있어서,
    하나의 2차원 버텍스를 상기 그리드의 하나의 교차점으로 할당하는 것은 각 2차원 버텍스를 다른 하나로부터 미리결정된 거리로 푸싱하는 반발 기법에 의해 수행되는, 3차원 모델링된 오브젝트를 압축하는 컴퓨터 구현 방법.
  4. 제 3 항에 있어서,
    상기 반발 기법은:
    - 2개 버텍스들 사이의 거리와 상기 그리드의 셀 대각선의 길이를 비교하는 단계; 및
    - 상기 2개 버텍스들 사이의 거리가 상기 길이보다 작다면, 상기 2개 버텍스들을 미리결정된 거리로 서로 푸싱하는 단계를 포함하는, 3차원 모델링된 오브젝트를 압축하는 컴퓨터 구현 방법.
  5. 제 3 항에 있어서,
    상기 그리드의 4개의 교차점들 사이에 최대 1개 버텍스만이 있을 때까지 상기 반발 기법이 반복 수행되는, 3차원 모델링된 오브젝트를 압축하는 컴퓨터 구현 방법.
  6. 제 3 항에 있어서,
    상기 반발 기법을 수행한 후에, 버텍스들 사이에 빈 교차점들을 제거하는 릴렉세이션 기법 (relaxation technique) 을 수행하는 단계를 더 포함하는, 3차원 모델링된 오브젝트를 압축하는 컴퓨터 구현 방법.
  7. 제 1 항에 있어서,
    상기 그리드의 사이즈는 확장가능한, 3차원 모델링된 오브젝트를 압축하는 컴퓨터 구현 방법.
  8. 제 1 항에 있어서,
    수정된 2차원 좌표들을 갖는 2차원 버텍스들의 세트는 래스터 이미지를 형성하고, 상기 세트의 각 2차원 버텍스는 상기 래스터 이미지의 픽셀이고 상기 세트의 각 2차원 버텍스의 상기 좌표들은 상기 래스터 이미지의 컬러 채널들 적/청/녹에 저장되는, 3차원 모델링된 오브젝트를 압축하는 컴퓨터 구현 방법.
  9. 제 8 항에 있어서,
    상기 세트의 2차원 버텍스들의 보충 속성들이 추가 컬러 채널들에 저장되는, 3차원 모델링된 오브젝트를 압축하는 컴퓨터 구현 방법.
  10. 제 8 항에 있어서,
    상기 래스터 이미지는 상기 래스터 이미지의 사이즈를 감소시키기 위해 리프레이밍되는, 3차원 모델링된 오브젝트를 압축하는 컴퓨터 구현 방법.
  11. 제 1 항에 있어서,
    수정된 2차원 좌표들을 갖는 2차원 버텍스들의 세트에 대해, 하기 압축 스킴:
    - 이산 코사인 변환;
    - 웨이블릿 변환
    중 하나를 적용하는 단계를 더 포함하는, 3차원 모델링된 오브젝트를 압축하는 컴퓨터 구현 방법.
  12. 제 11 항에 있어서,
    상기 방법은, 상기 3차원 모델링된 오브젝트의 메시를 제공하는 단계 후에:
    - 상기 3차원 모델링된 오브젝트의 메시의 연결성 데이터를 저장하는 단계를 더 포함하고,
    상기 3차원 모델링된 오브젝트의 메시의 연결성 데이터는 압축되는, 3차원 모델링된 오브젝트를 압축하는 컴퓨터 구현 방법.
  13. 제 2 항에 기재된 방법에 따라 압축된 3차원 모델링된 오브젝트를 압축해제하는 컴퓨터 구현 방법으로서,
    - 수정된 2차원 좌표들을 갖는 2차원 버텍스들의 세트를 제공하는 단계;
    - 상기 제공된 버텍스들의 세트로부터 버텍스들을 추출하는 단계;
    - 상기 연결성 데이터로 상기 추출된 버텍스들을 연결하는 단계를 포함하는, 3차원 모델링된 오브젝트를 압축해제하는 컴퓨터 구현 방법.
  14. 컴퓨터 지원 설계 시스템으로서,
    - 3차원 모델링된 오브젝트의 메시를 저장하는 데이터베이스;
    - 제 1 항에 기재된 방법에 따라 3차원 모델링된 오브젝트를 압축하거나 또는 제 13 항에 기재된 방법에 따라 3차원 모델링된 오브젝트를 압축해제하거나, 또는, 제 1 항에 기재된 방법에 따라 3차원 모델링된 오브젝트를 압축하고 그리고 제 13 항에 기재된 방법에 따라 3차원 모델링된 오브젝트를 압축해제하는 수단을 포함하는, 컴퓨터 지원 설계 시스템.
  15. 매체에 저장된 컴퓨터 프로그램으로서,
    상기 컴퓨터 프로그램은 컴퓨터에 의한 실행을 위한 명령들을 포함하고,
    상기 명령들은 제 1 항 내지 제 13 항 중 어느 한 항에 기재된 방법을 수행하는 수단을 포함하는, 매체에 저장된 컴퓨터 프로그램.
KR1020140096546A 2013-07-30 2014-07-29 3차원 모델링된 오브젝트의 압축 KR102246170B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP13306101.0 2013-07-30
EP13306101.0A EP2833326B1 (en) 2013-07-30 2013-07-30 Lossless compression of a 3D mesh including transforming of the mesh to a image

Publications (2)

Publication Number Publication Date
KR20150014883A KR20150014883A (ko) 2015-02-09
KR102246170B1 true KR102246170B1 (ko) 2021-04-28

Family

ID=48979690

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140096546A KR102246170B1 (ko) 2013-07-30 2014-07-29 3차원 모델링된 오브젝트의 압축

Country Status (6)

Country Link
US (2) US9536349B2 (ko)
EP (1) EP2833326B1 (ko)
JP (1) JP6469987B2 (ko)
KR (1) KR102246170B1 (ko)
CN (1) CN104346769B (ko)
CA (1) CA2857832A1 (ko)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2833326B1 (en) 2013-07-30 2016-04-06 Dassault Systèmes Lossless compression of a 3D mesh including transforming of the mesh to a image
FR3028990B1 (fr) * 2014-11-21 2018-01-19 Institut National Des Sciences Appliquees De Lyon Procedes de compression et de decompression de donnees representatives d’un objet tridimensionnel numerique et support d'enregistrement d'informations contenant ces donnees
EP3163536B1 (en) * 2015-10-30 2021-12-08 Dassault Systèmes Compression of a three-dimensional modeled object
JP6910130B2 (ja) 2015-11-06 2021-07-28 三星電子株式会社Samsung Electronics Co.,Ltd. 3dレンダリング方法及び3dレンダリング装置
WO2017163106A1 (en) * 2016-03-23 2017-09-28 Phatak Amar Method for lossless compression and regeneration of digital design data
US9978118B1 (en) 2017-01-25 2018-05-22 Microsoft Technology Licensing, Llc No miss cache structure for real-time image transformations with data compression
US10242654B2 (en) 2017-01-25 2019-03-26 Microsoft Technology Licensing, Llc No miss cache structure for real-time image transformations
US10410349B2 (en) 2017-03-27 2019-09-10 Microsoft Technology Licensing, Llc Selective application of reprojection processing on layer sub-regions for optimizing late stage reprojection power
US10514753B2 (en) 2017-03-27 2019-12-24 Microsoft Technology Licensing, Llc Selectively applying reprojection processing to multi-layer scenes for optimizing late stage reprojection power
US10255891B2 (en) 2017-04-12 2019-04-09 Microsoft Technology Licensing, Llc No miss cache structure for real-time image transformations with multiple LSR processing engines
US10891788B2 (en) * 2017-12-13 2021-01-12 Dassault Systemes Simulia Corp. Systems and methods for finite element mesh repair
WO2019145048A1 (en) * 2018-01-29 2019-08-01 Siemens Industry Software Limited A method of operating a cad system model for modelling an article to be manufactured
KR20190129539A (ko) * 2018-05-11 2019-11-20 서울대학교산학협력단 곡면을 가지는 3차원 구조체의 표면에 부착하는 전자 기기 및 이의 제조 방법
CN109189725B (zh) * 2018-07-23 2020-09-18 广州都市圈网络科技有限公司 面向规则建筑物的obj文件无损压缩方法
CN109190157B (zh) * 2018-07-26 2023-05-23 中国核电工程有限公司 一种用于Autodesk AutoCAD P&ID的对象位置信息的刷新方法
KR102228314B1 (ko) * 2019-02-28 2021-03-16 (주) 토탈소프트뱅크 심혈관 형상변형 시뮬레이션 시스템
GB2583513B (en) * 2019-05-02 2022-04-13 Sony Interactive Entertainment Inc Apparatus, system and method for data generation
US10922884B2 (en) * 2019-07-18 2021-02-16 Sony Corporation Shape-refinement of triangular three-dimensional mesh using a modified shape from shading (SFS) scheme
US11348285B2 (en) * 2019-12-10 2022-05-31 Sony Group Corporation Mesh compression via point cloud representation
WO2021136878A1 (en) * 2020-01-02 2021-07-08 Nokia Technologies Oy A method, an apparatus and a computer program product for volumetric video encoding and decoding
CN112132974A (zh) * 2020-08-31 2020-12-25 江汉大学 一种基于平面光栅图的像素颜色创建三维曲面方法及装置
US11593992B2 (en) * 2020-11-20 2023-02-28 Adobe Inc. Rendering three-dimensional objects utilizing sharp tessellation
US11270507B1 (en) 2020-11-20 2022-03-08 Adobe Inc. Rendering textures utilizing sharp displacement mapping
CN113920275B (zh) * 2021-09-30 2023-04-04 广州极飞科技股份有限公司 三角网格构建方法、装置、电子设备及可读存储介质
KR102495861B1 (ko) * 2021-10-27 2023-02-06 주식회사 스탠스 가상 객체를 처리하는 장치, 방법 및 컴퓨터 프로그램
CN114329668B (zh) * 2021-12-31 2024-01-16 西安交通大学 一种基于cad模型的rar网格优化方法及***
US20230306649A1 (en) * 2022-03-25 2023-09-28 Tencent America LLC Predictive coding of boundary uv2xyz index for mesh compression
US20230308669A1 (en) * 2022-03-25 2023-09-28 Tencent America LLC Predictive coding of boundary uv information for mesh compression

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080106547A1 (en) * 2006-10-24 2008-05-08 Ichiro Kataoka Method of Generating Mesh for Analysis
US20100271371A1 (en) * 2009-04-27 2010-10-28 Hong Fu Jin Precision Industry (Shenzhen) Co., Ltd. Data processing device and method for converting coordinates of a curved surface

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5808617A (en) * 1995-08-04 1998-09-15 Microsoft Corporation Method and system for depth complexity reduction in a graphics rendering system
US6970171B2 (en) * 2001-05-10 2005-11-29 Pixar Global intersection analysis for determining intesections of objects in computer animation
JP2009042811A (ja) * 2007-08-06 2009-02-26 Univ Of Tokyo 3次元形状展開装置、3次元形状展開方法、および3次元形状展開用プログラム
CN102930597B (zh) * 2012-09-28 2015-04-22 中国科学院自动化研究所 一种外存三维模型的处理方法
EP2833326B1 (en) 2013-07-30 2016-04-06 Dassault Systèmes Lossless compression of a 3D mesh including transforming of the mesh to a image

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080106547A1 (en) * 2006-10-24 2008-05-08 Ichiro Kataoka Method of Generating Mesh for Analysis
US20100271371A1 (en) * 2009-04-27 2010-10-28 Hong Fu Jin Precision Industry (Shenzhen) Co., Ltd. Data processing device and method for converting coordinates of a curved surface

Also Published As

Publication number Publication date
US10275942B2 (en) 2019-04-30
CN104346769B (zh) 2019-06-28
JP2015028782A (ja) 2015-02-12
US20170091997A1 (en) 2017-03-30
US20150035826A1 (en) 2015-02-05
KR20150014883A (ko) 2015-02-09
CA2857832A1 (en) 2015-01-30
EP2833326A1 (en) 2015-02-04
EP2833326B1 (en) 2016-04-06
US9536349B2 (en) 2017-01-03
CN104346769A (zh) 2015-02-11
JP6469987B2 (ja) 2019-02-13

Similar Documents

Publication Publication Date Title
KR102246170B1 (ko) 3차원 모델링된 오브젝트의 압축
CN106713923B (zh) 三维建模对象的压缩
US9881388B2 (en) Compression and decompression of a 3D modeled object
JP7235478B2 (ja) 3d部品の付加製造
CN105761303B (zh) 在3d建模组件上创建包围盒
US10108750B2 (en) Method for designing a geometrical three-dimensional modeled object
EP2600315B1 (en) Creating a surface from a plurality of 3D curves
CN108352082B (zh) 将3d对象推挤到平面中的技术
JP2014130603A (ja) サーバからリモート・クライアントへのシミュレートされた3次元モデル化オブジェクトのストリーミング
US10409921B2 (en) Designing industrial products by using geometries connected by geometrical constraints
US9483585B2 (en) Designing a staggered pattern of objects in a computer-aided design system

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant