KR101814811B1 - 3d 모델링된 객체의 워터마킹 - Google Patents

3d 모델링된 객체의 워터마킹 Download PDF

Info

Publication number
KR101814811B1
KR101814811B1 KR1020110085896A KR20110085896A KR101814811B1 KR 101814811 B1 KR101814811 B1 KR 101814811B1 KR 1020110085896 A KR1020110085896 A KR 1020110085896A KR 20110085896 A KR20110085896 A KR 20110085896A KR 101814811 B1 KR101814811 B1 KR 101814811B1
Authority
KR
South Korea
Prior art keywords
field
modifying
normal vectors
points
initial
Prior art date
Application number
KR1020110085896A
Other languages
English (en)
Other versions
KR20120020084A (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 KR20120020084A publication Critical patent/KR20120020084A/ko
Application granted granted Critical
Publication of KR101814811B1 publication Critical patent/KR101814811B1/ko

Links

Images

Classifications

    • 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/0021Image watermarking
    • G06T1/005Robust watermarking, e.g. average attack or collusion attack resistant
    • G06T1/0064Geometric transfor invariant watermarking, e.g. affine transform invariant
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/56Particle system, point based geometry or rendering

Abstract

표면의 점들의 필드 및 표면에 수직인 법선 벡터들의 필드에 의해 정의되는 적어도 하나의 표면을 제공하는 단계; 및 법선 벡터들의 필드를 있는 그대로 유지하면서 점들의 필드를 수정함으로써 객체를 워터마킹하는 단계를 포함하는, 3D 모델링된 객체를 설계하는 방법이 제공된다. 이러한 방법은, 적어도, 표면의 점들의 필드 및 표면에 수직인 법선 벡터들의 필드에 의해 모델링되는 3D 모델링된 객체를 추적하는 기술을 제공한다.

Description

3D 모델링된 객체의 워터마킹{WATERMARKING OF A 3D MODELED OBJECT}
본 발명은 컴퓨터 프로그램들 및 시스템들의 분야에 관한 것으로서, 보다 구체적으로 3D 모델링된 객체를 설계하는 방법, 시스템 및 프로그램에 관한 것이다.
제품 설계를 행하는 소프트웨어 솔루션들에 관한 컴퓨터 지원 설계, 즉 CAD (Computer-Aided Design) 를 포함하는 컴퓨터 지원 기술들이 알려져 있다. 유사하게, CAE 는 컴퓨터 지원 엔지니어링 (Computer-Aided Engineering) 의 두문자로서, 예컨대, 미래의 제품의 물리적 거동을 시뮬레이션하는 소프트웨어 솔루션들에 관한 것이다. CAM 은 컴퓨터 지원 제조 (Computer-Aided Manufacturing) 를 의미하며, 통상적으로 제조 공정들 및 동작들을 규정하는 소프트웨어 솔루션들을 포함한다.
객체들 (또는 부품들) 또는 객체들의 조립품들의 설계를 위한 수많은 시스템들 및 프로그램들이 시장에서 제공되며, 상표 CATIA 하의 Dassault Systemes 에 의해 제공되는 것과 같은 제품을 형성한다. 이들 CAD 시스템들은 사용자로 하여금 객체들 또는 객체들의 조립품들의 복합 3차원 (3D) 모델들을 구성하고 조작할 수 있게 한다. 따라서, CAD 시스템들은 외관들을 갖는 일정 경우들에 있어서, 에지들 또는 라인들을 이용하여 모델링된 객체들의 표현 (representation) 을 제공한다. 라인들 또는 에지들은 각종 방식들, 예컨대, NURBS (non-uniform rational B-spline) 로 표현될 수도 있다. 이들 CAD 시스템들은 부품들 또는 부품들의 조립품들을 대개 기하학적 구조의 사양들인 모델링된 객체들로서 관리한다. 구체적으로, CAD 파일들은 기하학적 구조가 생성되는 사양들을 포함하며, 이에 의해 결국 표현이 생성될 수 있다. 기하학적 구조 및 표현은 단일 또는 다수의 CAD 파일에 저장될 수도 있다. CAD 시스템들은 설계자들에게 모델링된 객체들을 표현하는 그래픽 툴들을 포함하며; 이들 툴은 복합 객체들의 디스플레이에 전용으로 사용되며, CAD 시스템에서 객체를 표현하는 파일의 통상적인 크기는 부품당 1 메가바이트의 범위 내이고, 조립품은 수천 개의 부품들을 포함할 수도 있다. CAD 시스템은 전자 파일들에 저장되는 객체들의 모델들을 관리한다.
또한, 확장된 사업의 착상을 통해 착상으로부터 제품들의 수명 종료시까지 제품들의 개발을 위해, 회사들이 제품 데이터를 공유하고, 공통의 프로세스들을 적용하고, 통합 지식을 레버리징 (leverage) 하도록 도와주는 비즈니스 전략을 의미하는 제품 수명 주기 관리 (Product Lifecycle Management; PLM) 솔루션들이 알려져 있다. PLM 은, 활동주체들 (회사 부서들, 비즈니스 파트너들, 공급자들, OEM (Original Equipment Manufacturer), 및 소비자들) 을 포함시킴으로써, 이 네트워크로 하여금 단일의 엔티티로서 동작할 수 있게 하여 제품들 및 프로세스들을 개념화, 설계, 구축, 및 지원할 수 있게 할 수도 있다.
일부 PLM 솔루션들은, 예를 들어 디지털 모크업 (mockup; 제품의 3D 그래픽 모델) 들을 생성함으로써 제품들을 설계 및 개발하는 것이 가능하게 된다. 디지털 제품은 먼저 적절한 애플리케이션을 이용하여 정의 및 시뮬레이션될 수도 있다. 그 후, 린 (lean) 디지털 제조 프로세스들이 정의 및 모델링될 수도 있다.
(상표들인 CATIA, ENOVIA 및 DELMIA 하의) Dassault Systemes 에 의해 제공되는 PLM 솔루션들은 제품 엔지니어링 지식을 조직하는 엔지니어링 허브, 제조 엔지니어링 지식을 관리하는 제조 허브, 및 엔지니어링 허브와 제조 허브 양방 모두에 대한 사업 통합과 접속을 가능하게 하는 사업 허브를 제공한다. 시스템은 제품들, 프로세스들, 리소스들을 모두 함께 연결하는 개방형 객체 모델을 제공하여, 최적화된 제품 정의, 제조 준비, 생산 및 서비스를 이행하는 동적인 지식 기반의 제품 구현 및 의사 결정 보조를 가능하게 한다.
이러한 PLM 솔루션들은 제품들의 관계형 데이터베이스 (relational database) 를 포함한다. 데이터베이스는 문자 데이터의 집합 및 이 데이터 사이의 관련성들을 포함한다. 데이터의 계층 (hierarchy) 으로 순서화된 데이터는, 통상적으로 제품들에 관한 기술적 데이터를 포함하며, 검색가능하도록 색인화된다. 데이터는 대개는 모델링된 제품들 및 프로세스들인 모델링된 객체들을 나타낸다.
3D 모델링된 객체들을 설계함에 있어서는, 대체로, 모델링된 객체의 물리적인 경계를 나타내는 것인 적어도 하나의 표면이 제공된다. 3D 모델링된 객체의 렌더링 (rendering) 은, 표면을 통상적으로 정의하는 2개의 기본량인, 표면의 점들 및 표면의 법선 (normal) 벡터들 (즉, 표면에 수직인 벡터들) 을 프로세싱한다. 표면의 점들은, 대개, 객체 표면 상의 점들의 3D 좌표의 집합으로서 제공된다. 투영 및 뷰 매트릭스들 (view matrices) 을 이러한 좌표들에 적용하면, 컴퓨터 스크린 상에 화소의 위치가 부여될 것이다. 법선 벡터는, 종종, 객체 표면의 점에 연관되는 3D 벡터로서 제공된다. 또한 "법선" 으로도 지칭되는 이 벡터는, 표면으로부터의 광의 반사를 제어하고, 재료 특성들과 함께 최종 화소의 색상을 정의할 것이다. 이하는, 3D 객체 표면 상의 각 위치에 대해 법선을 부여하는 기능으로서 정의되는 법선 필드 (normal field) 를 지칭할 수도 있다. 도 1 은 법선 벡터 (N) 가 표면에 수직인 화살표들로서 표현되는 표면 (S) 의 예를 나타내고, 이 화살표의 기점은 표면 (S) 의 점들 (P) 이다.
기하학 이론은, 법선이 그 위치의 미분 계수로부터 계산될 수 있으므로, 렌더링될 3D 객체를 모델링하기 위해, 단지 위치만을 모델링하는 것으로 충분하는 것을 제안할 것이다. 그러나, 실제로, 위치 데이터를 저해상도로 표현하고 법선 필드에서의 변화들을 통해 예리한 에지 및 표면 조도와 같은 국소적인 특징들을 표현하는 것이 보다 효과적이기 때문에, 많은 컴퓨터 그래픽 시스템들이 위치 및 법선에 대해 별개의 채널들을 허용한다.
3D 객체들을 디스플레이하는 통상적인 수단은, 예컨대, 1975년 6월에 Bui Tuong Phong 에 의해 발표된 논문인 "Illumination for Computer Generated Pictures," Comm. ACM, Vol 18(6):311-317 에서 설명된 소위, "펑 쉐이딩 (Phong shading)" 이다. 이 접근법에서, 상기 시스템은, 별개의 위치들 및 법선들이 각각의 메쉬 (mesh) 정점에 정의된 채로, 삼각형들의 메쉬를 유지한다. 표면상의 점을 고려해 볼 때, 그 점에서의 법선 벡터는, 삼각형에서의 점의 무게중심 (barycentric) 위치를 가중치로서 사용한, 삼각형 정점들의 각각에서의 법선의 가중 평균에 의해 연산된다.
펑 모델 상의 개량형태는, Blinn 에 의해, 1978년, ACM SIGGRAPH 의 "Simulation of wrinkled surfaces" 라는 명칭의 논문에서 처음으로 설명되었으며 오늘날 비디오 게임들과 같은 애플리케이션들에서 광범위하게 사용되는 법선 매핑된 모델 또는 범프 매핑된 모델이다. 이것은 각 메쉬 정점에서 2D 좌표 (u,v) 를 갖는 삼각형 메쉬를 사용한다. (u,v) 쌍은 "법선 맵" 또는 "범프 맵" 이라 칭하는 2D 맵을 가리킨다. 표면상의 점을 고려하면, 법선 필드는 먼저 삼각형 정점들의 각각에서 (u,v) 의 가중 평균에 의해 (u,v) 값을 연산한 후, 이 (u,v) 값을 이용하여 법선 맵에서의 룩업 (lookup) 을 수행한다. 법선 맵은 대개 유한한 크기의 2D 이미지에 의해 표현될 것이며, 룩업 연산자 (lookup operator) 는 이미지의 화소들 사이에서 보간법을 수행하여 계속적인 매핑의 존재를 시뮬레이션할 것이다.
또 다른 알려진 예에서, 위치 데이터는 NURBS 표면들로서 저장된다. 법선 필드는 NURBS 에 법선 맵으로서 연관된다.
요약하면, 공지의 기술들은 표면상의 별개의 위치 및 법선 정보를 참작한다. 펑 쉐이딩은 일 정점의 법선으로부터 다른 정점의 법선으로 진행하면서 위치와 함께 부드럽게 전개되는 법선 필드를 생성하는 동안, 법선 맵은 임의의 양의 상세를 포함할 수 있다.
제품 구성, 프로세스 지식 및 리소스 정보를 포함하는 제품 수명 주기 정보는 통상적으로 공동 작업으로 작성되도록 의도된다. 따라서, 모델링된 객체들은 더욱 더 공유되어 저작권 침해를 받게 된다. 그 때문에, 3D 모델들의 침해 또는 불법 카피를 방지하기 위해, 3D 모델링된 객체들에 대한 더 높은 추적가능성의 필요성이 나오게 되었다.
3D 모델링된 객체들의 추적가능성을 증가시키기 위해, 3D 워터마킹 (watermarking) (일반적으로 3D 객체들의 워터마킹) 의 분야가 연구되었다. 허락 없이 재사용되는 것을 방지하기 위해, 예를 들어 코드가 원저작자를 나타내도록 객체를 마킹하기를 원하는 이러한 기술의 애플리케이션들은 다수가 존재한다. 대부분의 3D 워터마킹 기술들은 원하는 정보를 삽입하기 위해 3D 모델의 국소 형상 (환언하면, 표면 점들의 위치) 에서의 교란 (perturbation) 을 공통으로 갖는다. 이들 교란을 숨기도록 제안된 기술은 일반적으로 이들이 너무 작게 되어, 나안으로 검출가능하지 않을 수 있다. 3D 워터마킹 기술들에 대한 양호한 조사는 2008년 10월의 IEEE Transactions on Multimedia, vol. 10, No. 8 의 Wang, Lavoue 등에 의한 "A comprehensive survey on 3 dimensional mesh watermarking" 라는 제목의 논문에서 제공된다. 그러나, 법선 벡터들의 필드가 사전에 존재하는 3D 모델링된 객체들에 지정된 워터마킹 기술은 존재하지 않는다.
따라서, 적어도 표면의 점들의 필드 및 표면에 수직인 법선 벡터들의 필드에 의해 모델링되는 3D 모델링된 객체를 추적하는 기술에 대한 필요성은 여전히 존재한다.
그러므로, 일 양태에 따르면, 본 발명은, 3D 모델링된 객체를 설계하는 방법으로서, 표면의 점들의 필드 및 표면에 수직인 법선 벡터들의 필드에 의해 정의되는 적어도 하나의 표면을 제공하는 단계; 및 법선 벡터들의 필드를 있는 그대로 유지하면서 점들의 필드를 수정함으로써 객체를 워터마킹하는 단계를 포함하는, 3D 모델링된 객체를 설계하는 방법을 제공한다.
실시형태들에서, 본 발명에 따른 제품 수명 주기 관리 시스템은, 이하의 특징들 중 하나 이상을 포함할 수도 있다:
- 본 방법은, 점들의 필드에 따라 모델링된 객체의 3D 표현을 렌더링하는 단계를 더 포함한다;
- 상기 렌더링하는 단계는 점들의 필드에 따라 화면상의 투영을 연산하는 단계를 포함한다;
- 상기 렌더링하는 단계는 법선 벡터들에 따라 투영을 쉐이딩하는 단계를 더 포함한다;
- 상기 제공된 표면은 다른 객체의 표면이고, 워터마킹하는 단계는, 점들의 필드를 추출하고 표면의 법선 벡터들의 필드를 추출하는 단계, 법선 벡터들의 필드를 있는 그대로 유지하면서 점들의 필드를 수정하는 단계, 및 설계된 객체에, 수정된 점들의 필드 및 수정되지 않은 법선 벡터들의 필드에 의해 정의되는 표면을 적용하는 단계로서, 객체가 설계되어 이에 의해 다른 객체의 워터마킹된 카피가 되는, 정의되는 표면을 적용하는 단계를 포함한다;
- 상기 워터마킹하는 단계는, 점들의 필드의 치밀화 (densification) 및 이에 따른 법선 벡터들의 필드의 치밀화를 포함한다;
- 상기 점들의 필드의 치밀화는 서브디비전들 (subdivisions) 을 수행하는 단계를 포함하며, 법선 벡터들의 필드의 치밀화는 이전의 법선 벡터들을 보간함으로써 새로운 법선 벡터들을 생성하는 단계를 포함한다;
- 상기 워터마킹하는 단계는 워터마크 비트 시퀀스에 따르는 체계를 따라 수행된다;
- 본 방법은, 워터마킹하는 단계 후에, 워터마킹하기 전에 체계에 따라 비트 시퀀스를 결정하는 단계, 및 결정된 비트 시퀀스를 워터마크 비트 시퀀스와 비교하는 단계를 더 포함한다;
- 본 방법은, 점들의 필드를 수정하고 이에 따라 법선 벡터들의 필드를 수정함으로써, 표면을 변환하는 단계를 더 포함한다;
- 상기 객체를 워터마킹하는 단계에서, 점들의 필드는 국소적으로 또는 전체적으로 수정된다;
- 상기 점들의 필드는 삼각형 메쉬에 대응하며, 법선 벡터들의 필드는 벡터를 삼각형 메쉬의 정점들의 각각에 연관시키고, 및/또는 법선 벡터들의 필드는 룩업 연산자를 갖는 법선 맵이다;
다른 양태에 따르면, 본 발명은, 컴퓨터 지원 설계 시스템으로서, 표면의 점들의 필드 및 표면에 수직인 법선 벡터들의 필드에 의해 정의되는 적어도 하나의 표면을 저장하는 수단; 및 상기 방법을 이용하여 3D 모델링된 객체를 설계하기에 적합한 그래픽 유저 인터페이스를 포함하는, 컴퓨터 지원 설계 시스템을 더 제안한다.
다른 양태에 따르면, 본 발명은, 컴퓨터에 의한 실행을 위한 명령들을 포함하는 컴퓨터 프로그램으로서, 명령들은, 표면의 점들의 필드 및 표면에 수직인 법선 벡터들의 필드 및 3D 모델링된 객체를 설계하기에 적합한 그래픽 유저 인터페이스에 의해 정의되는 적어도 하나의 표면을 저장하는 수단을 포함하는 컴퓨터 지원 설계 시스템으로 하여금, 상기 방법을 수행하게 하는 수단을 포함하는, 컴퓨터 프로그램을 더 제안한다.
다른 양태에 따르면, 본 발명은, 컴퓨터 프로그램을 기록한, 컴퓨터 판독가능 저장 매체를 더 제안한다.
첨부 도면들을 참조하여, 비한정적인 예에 의해, 본 발명을 실시하는 시스템을 이제 설명하기로 한다:
- 도 1 은 표면의 예를 나타내는 도면;
- 도 2 는 본 방법의 예의 흐름도;
- 도 3 은 본 방법의 실행의 예를 나타내는 도면;
- 도 4 는 본 방법의 예의 흐름도;
- 도 5 는 본 발명을 수행하도록 적응되는 그래픽 유저 인터페이스의 개략적인 예시적 도면;
- 도 6 은 본 발명을 수행하도록 적응되는 시스템의 개략적인 예시적 도면.
도 2 의 흐름도를 참조하면, 3D 객체를 설계하는 방법이 제안된다. 본 방법은 적어도 하나의 표면을 제공하는 단계 S1 을 포함한다. 표면은 표면의 점들의 필드 및 표면에 수직인 법선 벡터들의 필드에 의해 정의된다. 본 방법은 또한 법선 벡터들의 필드를 있는 그대로 유지하면서 점들의 필드를 수정함으로써 객체를 워터마킹하는 단계 S2 를 포함한다. 이러한 방법은 점들의 필드 및 법선 벡터들의 필드에 의해 정의되는 표면에 의해 모델링되는 3D 모델링된 객체의 추적가능성을 허용한다.
객체를 "설계" 하는 것은, 객체를 모델링하는 데이터를 포함하는 파일을 수정 또는 생성하는 임의의 동작 또는 동작들의 조합을 수행하는 것을 의미한다. 따라서, 본 방법은 맨 처음부터 새로운 객체를 생성하는 것뿐만 아니라, 종래에 생성되었던 객체 상에서 수행되도록 의도된다.
"3D 모델링된 객체" 는, 그 3D 표현을 허용하는 데이터에 의해 모델링되는 임의의 객체를 의미한다. 3D 표현은 모든 각도들로부터 일부를 바라보는 것을 허용한다. 예를 들어, 3D 모델링 객체는, 3D 로 표현될 때, 그 축들 중 어느 하나를 중심으로, 또는 그 표현이 디스플레이되는 화면에서의 임의의 축을 중심으로 핸들링 및 회전될 수도 있다. 이것은 특히 3D 로 모델링되지 않은 2D 아이콘들을 제외한다. 3D 표현의 디스플레이는 설계를 용이하게 한다 (즉, 설계자들이 그들의 작업을 통계적으로 달성하는 속도를 증가시킨다). 이것은, 제품의 설계가 제조 공정의 일부일 때, 산업에서의 제조 공정의 속도를 높이게 된다.
본 방법에서, 3D 모델링된 객체는 단계 S1 에서 제공되는 적어도 하나의 표면에 의해 모델링된다. 표면은 객체의 경계를 나타낸다. 표면은 객체의 전체 경계, 객체의 전체 경계의 일부일 수도 있다. 어쨌든, 예를 들어 도 1 상에서 표면 (S) 이 점들 (P) 및 법선 벡터들 (N) 에 의해 모델링될 때, 표면은 표면의 점들의 필드 및 표면에 수직인 법선 벡터들의 필드에 의해 정의된다. "필드" 은, 일련의 점들/법선 벡터들을 모델링하는 임의의 방법을 의미한다. 필드들은 일련의 좌표들, 파라미터의 정의들 (예를 들어 점들의 필드에 대한 NURBS), 또는 양방의 조합일 수도 있다. 점들의 필드 및 법선 벡터들의 필드는, 예컨대 펑 쉐이딩 또는 범프 매핑된 모델 (Bump Mapped model) 과 같이 그 자체로 공지된 임의의 기술에 따라, 이들 값에 연결되어, 사실상 동일한 표면을 정의하게 된다.
예들에서, 점들의 필드는 삼각형 메쉬에 대응할 수도 있다. 이것은 CAD 시스템들과 가장 조화를 이룬다. 이 경우, 법선 벡터들의 필드는 삼각형 메쉬의 정점들의 각각에 연관된 벡터들에 대응할 수도 있다. 이 경우 및 다른 경우들에서, 법선 벡터들의 필드는 다르게는, 전술한 바와 같이, 룩업 연산자를 갖는 법선 맵일 수도 있다.
점들의 필드와 법선 벡터들의 필드 양방 모두에 의해 표면을 정의하는 것은, 표면에 대한 보다 효율적인 렌더링 (즉, 디스플레이용 데이터의 연산), 즉, 주어진 세부적 레벨에 대한 렌더링을 연산할 필요가 있는 더 양호한 메모리 사용 Vs 횟수를 허용한다. 사실상, 표면을 렌더링하기 위해, 그 자체로서 공지되어 있기는 하지만 추가적으로 후술하는 바와 같이, 쉐이딩 (즉, 계수를 화소의 색상에 적용하여, 상기 화소를 밝게 하는 것 또는 어둡게 하는 것을 가능하게 하는 것) 이 법선 벡터들의 필드에 따라 수행되면서, 그 자체로서 알려진 바와 같이, 화소들 (즉, 색상이 더해진 화면상의 좌표들) 은 점들의 필드에 따라 연산된다. 따라서, 법선 벡터들의 필드가 표면을 정의할 때, 표면이 쉐이딩을 이용하여 렌더링될 때마다 법선 벡터들을 연산할 필요가 없으므로, 이에 의해 렌더링이 보다 신속하게 이루어진다. 또한, 더 적은 정보가 점들의 필드에 포함될 필요가 있다 (즉, 점들의 필드는 더 적은 점들을 포함할 필요가 있다).
본 방법은 또한 객체를 워터마킹하는 단계 S2 를 포함한다. 본 문맥에서, "워터마킹" 은 객체를 수정하는 프로세스로서, 수정 후에, 객체는 워터마킹되지 않은 랜덤 객체가 나타나지 않을 것 같은 특징들의 세트를 나타내는 (이것은 "마크" 또는 "워터마크" 로 지칭될 수도 있음) 방식으로, 객체를 수정하는 프로세스이다 (랜덤 객체가 워터마크를 나타낼 확률은 x% 미만이며, 여기서 x 는 작은 값, 예컨대, 1, 0.1, 0.01, 0.001, 또는 심지어는 0.0001 임). 따라서, 객체를 워터마킹하는 것은 객체의 추적가능성을 허용한다. 사실상, 설계자가 통상적으로 객체를 생성한다. 그 후, 설계자는 공동 설계 목적들을 위해 객체를 공유할 수도 있고, 또는 공중이 객체를 사용할 수 있도록 객체를 공개할 수도 있고, 또는 객체를 매각할 수도 있다. 그 전에, 설계자는 본 방법에 따라 객체를 워터마킹할 수 있다. 이와 같이, 객체가 설계자에 의해 권한부여되지 않은 방식으로 재사용되거나, 또는 비록 설계자에 의해 권한부여되지 않았음에도 객체가 매각된다면, (100-x)% 보다 더 높은 확률의 레벨로 객체 상의 워터마크를 식별함으로써, 설계자는 침해를 증명할 수도 있다. 이 레벨은 사용되는 워터마킹 프로세스에 의존하며, 바람직할 만큼 높게 (100% 의 절대 레벨만큼은 도달할 수 없음) 렌더링될 수도 있다.
본 방법에 따르면, 워터마킹은 있는 그대로 법선 벡터들의 필드를 유지하면서 점들의 필드를 수정함으로써 수행된다. 점들의 필드를 수정하는 것은 점들을 이동시키고, 점들의 일부를 제거하고 및/또는 점들에 추가함으로써 기하학적 구조를 수정하는 것을 의미한다. 이것은 워터마킹이 용이하게 복귀가능하지 않게 한다. 특히, 이것은 워터마크가 (시그너처가 객체 사양들을 포함하는 파일에 단순히 첨부될 때와는 달리) 단일의 컷 동작에 의해 제거될 수 없게 한다.
워터마킹은 법선 벡터들의 필드를 있는 그대로 유지한다. 환언하면, 표면에 대한 통상의 설계 변환과는 달리, 워터마킹은 법선 벡터들의 필드를 수정하지 않는다. 이것은 렌더링 시의 워터마킹의 효과를 감소시킨다. 사실상, 법선 벡터들의 필드가 동일하게 유지될 때, 쉐이딩은 워터마킹에 의해 수정되지 않는다. 따라서, 워터마킹은 통계적으로 인간의 눈에 덜 가시적이다.
도 3 은 상기 논의에 대한 예를 제공한다. 도면 상에 표현되지 않은, 초기의 점들의 필드에 의해 정의되는 초기의 표면 (S), 및 실선 화살표들에 의해 표현된 법선 벡터들 (N) 이 제공된다. 객체는, 법선 벡터들 (N) 의 필드를 있는 그대로 유지하면서, 점들의 필드를 수정함으로써 워터마킹된다. 점들의 필드가 수정되기 때문에, 표면 (S) 의 기하학적 구조가 수정된다. 이것은 워터마킹 후의 표면(S)의 기하학적 구조인 표면 (S') 에 의해 표현된다. 법선 벡터들(N)의 필드는 있는 그대로 유지된다. 이것은 표면 (S') 상에서 이송된 법선 벡터들 (N) 의 필드에 의해 표현된다. 설명을 위해, "실제" 법선 벡터들 (M) (즉, 새로운 기하학적 구조에 따른 새로운 표면 (S) 에 기하학적으로 실제로 수직하는 벡터들이며, 상기 실제 법선 벡터들 (M) 은 법선 벡터들의 필드를 재연산함으로써 획득가능함)의 필드도 또한 점선 화살표들로 표현된다. 알 수 있는 바와 같이, 초기의 표면 (S) 이 완벽하게 평활한 원의 호이지만, 워터마킹은 새로운 표면 (S') 에서 "범프들" 을 생성한다. 예를 들어, (반드시 점들의 필드의 점일 필요는 없는) 새로운 표면 (S') 의 점 (P 0 ) 은 범프의 위에 위치한다. 객체가 수정되는 점들의 필드 및 실제 법선 벡터들 (M) 에 의해 정의되는 표면 (S') 을 이용하여 렌더링된다면, 점 (P 0 ) 은 점 (P 0 ) 에 대응하는 화소에 적용되는 쉐이딩의 레벨을 연산함으로써 표현되며, 이것은 눈의 위치인 것으로 미리 정의된 위치 및 실제 법선 벡터 (M 0 ) 에 의해 형성되는 각도에 의존한다. 상기 예에서 알 수 있는 바와 같이, 각도는 상대적으로 크며, 이것은, 마치 점 (P 0 ) 이 달에 의해 비춰진 것처럼, 적용된 쉐이딩의 레벨이 높음을 암시한다. 따라서, 범프는 가시적으로 될 것이다. 그러나, 법선 벡터들 (N) 의 필드는 워터마킹에 의해 있는 그대로 유지되기 때문에, 사실, 점 (P 0 ) 에 대응하는 화소에 적용된 쉐이딩의 레벨은, 눈의 위치 및 초기의 법선 벡터에 의해 형성된, 상대적으로 작은 각도에 기초하기 때문에 높지 않게 된다. 따라서, 쉐이딩의 레벨은, 사실, 마치 태양이 P 0 를 비추고 있었던 것처럼 된다. 따라서, 범프는 렌더링에서 그다지 가시적이지 않게 된다.
사실, 워터마킹에 의해 표면의 기하학적 구조로 생성된 범프들은 법선 벡터들의 필드 상에서 재생되지 않는다. 따라서, 본 방법은 워터마크들에 대한 가시적인 "숨기기" 를 위한 해결책을 제공하며, 여기서, 형상에 대한 교란이 충분히 잠재적으로 강하여 가시적이다. 사실상, 법선 벡터들의 필드는 있는 그대로 유지되기 때문에, 워터마킹은 점들의 필드 상에 중요한 수정들을, 이들 수정들이 가시적으로 되지 않게, 수행하는 것을 포함할 수도 있다. 법선 벡터들의 필드를 있는 그대로 유지하는 것은, 그렇지 않을 때 가능할 수 있는 것보다 훨씬 더 높은 강도로 워터마크들의 적용을 허용한다. 이것은, 공격할 견고성 (robustness) 및 3D 워터마킹 접근법의 일반적인 신뢰도를 증가시킨다. 워터마킹의 견고성은 표면의 변환들에 대해 "저항" 하기 위한 용량 (즉, 유지하기 위한 워터마크의 용량)이다.
워터마킹의 견고성은, 예를 들어, 워터마킹 후에, 표면을 변환함으로써, 예컨대, "규칙적인" 랜덤 워크 (random walk) 에 따라 점들의 필드의 점들의 위치들 중 20% (다른 예들에서는, 50%, 75% 또는 100%) 를 수정함으로써 (예컨대, 법선 밀도 함수 또는 임의의 다른 확률 함수에 따름으로써, 즉, t+1 에서의 위치는 시간 t 더하기 u 에서의 위치이며, 여기서 u 는 벡터로서 이 벡터의 좌표들은 밀도 함수 N(0,1) 에 따르는 랜덤 변수들인 벡터이며, 여기서 N 은 법선 밀도 함수임) 모델 상에 설계들을 수행한다면, 워터마크는 여전히 삭제되지 않는다. 견고성의 이러한 레벨들은 그 자체로 알려진 방법들, 예컨대, 후술하는 방법의 예에 의해 도달될 수도 있다.
사실상, 본 방법은, 따라서, 점들의 필드를 수정하고 법선 벡터들의 필드를 수정함으로써 표면을 변환하는 단계를 더 포함할 수도 있다. 이러한 변환은 객체 상에서 작업하는 임의의 설계자에 의해 수행되는 객체의 설계 수정이다. 워터마킹이 견고해질수록, 랜덤 변환이 워터마킹을 삭제할 확률은 점점 낮아진다. 따라서, 본 방법은 다른 설계자들에 의해 재사용되고 변환되는 객체를 워터마킹할 수 있게 한다.
게다가, 워터마킹은 숨어 있기 때문에, 워터마킹은 점들의 필드의 많은 점들을 수정하는 것 (즉, 필드를 전체적으로 수정하는 것) 을 포함하며, 이에 의해 워터마크의 삭제가 매우 어렵게 될 수도 있다. 이러한 경우, 워터마킹의 삭제는 잠재적 침해자에게 매우 어렵게 되어 침해의 "이익" 잃게 될 것이다. 예들에서는, 점들의 10%, 20%, 30%, 50% 또는 심지어는 75% 만큼 수정될 수도 있다. 이와 달리, 워터마킹이 더 국소적일 수도 있으며, 다시 말하면, 점들의 필드는 국소적으로 수정된다 (즉, 점들의 10% 미만을 표현하는, 연속하는 필드 내의 점들이 수정된다). 이것은 워터마크가 덜 가시적일 수 있게 한다.
따라서, 본 방법의 원리는 마킹되지 않은 모델의 법선 필드를 마킹된 모델에 재적용하는 것으로 이루어진다. 이것은, 필요할 때 워터마크가 판독될 수 있게 하는 모든 교란들을 객체가 반송하지만, 시각적으로는 마치 마킹되지 않은 것처럼 보인다는 것을 의미한다. 실루엣 (즉, 어떠한 쉐이딩도 없는, 모델의 점들의 필드에 따른 화면상의 투영) 은 위치 데이터만의 함수이고 법선 맵의 함수는 아니기 때문에, 교란들은 이론상으로 실루엣 상에서 가시적으로 유지될 수도 있다. 그러나, (1978년 Blinn 에 의한 논문에서 언급되고 전술된 바와 같이) 디테일 (국소적인 조도, 범프들) 은 객체 실루엣 상에서보다는 뷰어에 대면하는 표면들에서 훨씬 더 뚜렷함은 잘 알려진 사실이다. 현대의 비디오 게임들은 이것을 매우 광범위하게 사용한다. 예를 들어, 울퉁불퉁한 비늘들로 덮인 몬스터는, 예를 들면, 완전히 단조로운 몸체 및 범프들을 포함하는 법선 맵에 의해 실제로 표현될 것이다. 창조물의 형상이 화면에 걸쳐 이동할 때, 눈은, 울퉁불퉁한 표면의 환영 (illusion) 을 창조하는, 법선 맵에 의해 생성된 빛의 반사에 있어서의 변화들에 주목하게 되며; 범프들은 객체 실루엣에서 빠졌지만, 이 부존재는 눈에 띄지 않는다. 이에 상응하여, 본 방법에서, 워터마크 교란들은, 뷰어에 대면하는 객체 표면상에서, 그리고 워터마크의 일부 효과가 가시적으로 유지될 수도 있게 하는 실루엣 상에서만 숨는다.
따라서, 본 방법은, 점들의 필드에 따라, 모델링된 객체의 3D 표현을 렌더링하는 단계를 더 포함할 수도 있다. 렌더링하는 것은 점들의 필드에 따라 화면상에의 투영을 연산하는 것을 포함할 수도 있다. 이것은, 객체의 쉐이딩되지 않은 표현을 제공하며, 워터마크에 대한 더 우수한 시각화를 허용한다. 워터마킹이, 표면상에 (예컨대, 표면상에서의 직접적인 주변으로부터 구별가능한 색상을 이용하여, 또는 요철을 이용하여), 텍스트 태그, 예컨대 소유자인 회사의 명칭을 "기록" 하는 것으로 이루어지는 경우, 이러한 렌더링은 텍스트의 판독을 허용한다. 그러나, 렌더링하는 것은 법선 벡터들에 따라 투영을 쉐이딩하는 것을 더 포함한다. 법선 벡터들은 (유지되었던) 워터마킹 전의 것들이므로, 이러한 렌더링은 인간 사용자에 대한 워터마킹을 "숨긴다".
실제로는, 설계된 객체는, 표면(특히, 점들의 필드 및 법선 벡터들의 필드)에 대한 구획과 같이, 객체의 사양들을 포함하는 파일에 상기 방법을 직접 적용함으로써 워터마킹될 수도 있다. 이와 달리, 파일의 카피는 워터마킹 목적으로 생성될 수도 있다. 이러한 카피는 유포될 것이다. 따라서, 본 방법은 미리 설계된 객체에 대한 워터마킹된 카피를 설계하는 것을 가능하게 한다. 엄격히 말하면, 다른 객체에 대한 워터마킹된 카피인 객체를 생성하기 위해, 제공된 표면은 다른 객체의 표면이다. 이에 의해 워터마킹하는 단계는, (다른 객체의 파일로부터) 점들의 필드를 추출하는 단계 및 표면의 법선 벡터들의 필드를 추출하는 단계를 포함한다. 그 후, 워터마킹하는 단계는, 전술한 바와 같이, 법선 벡터들의 필드를 있는 그대로 유지하면서 점들의 필드를 수정하는 단계를 포함한다. 마지막으로, 워터마킹하는 단계는, 수정된 점들의 필드 및 수정되지 않은 법선 벡터들의 필드에 의해 구획된 표면을, 설계된 객체에 적용하는 단계를 포함하며, 이 설계된 객체는 이에 의해 다른 객체의 워터마킹된 카피가 된다.
워터마킹하는 것은 점들의 필드의 치밀화를 포함할 수도 있다. 따라서, 워터마킹하는 것은 법선 벡터들의 필드의 치밀화를 더 포함할 수도 있다. 환언하면, 점들의 수가 증가하고, 새로운 법선 벡터들은 새로운 점들에 따라 연산될 수도 있다. 몇몇 경우들에서는, 원래의 객체가, 워터마크를 반송할 수 있는 충분한 수의 특성 점들을 갖지 않는 것으로 발견된다. 이러한 경우들에서는, 점들의 원래의 필드가 처음에는 더 밀집될 수 있으며, 이것은 형상 또는 법선 필드를 변경하거나 변경하지 않고서 새로운 점들이 삽입됨을 의미한다. 전체적인 프로세스는 동일하게 유지되며, 유일한 변화는, 점들의 원래 필드 대신에, 더 밀집된 새로운 점들의 필드가 입력이라는 점이다.
점들의 필드의 치밀화는 서브디비전들 (예컨대, Catmull-Clark 서브디비전 또는 루프 서브디비전) 을 수행하는 것을 포함할 수도 있다. 법선 벡터들의 필드의 치밀화는 이전의 법선 벡터들을 보간함으로써 새로운 법선 벡터들을 생성하는 것을 포함할 수도 있다. 이것은, 이러한 서브디비전들 및 이러한 보간법들을 통상적으로 허용하는 대부분의 CAD 소프트웨어들을 이용하여 방법의 실행을 허용한다.
워터마킹하는 것은 워터마크 비트 시퀀스에 따르는 체계를 따라 수행될 수도 있다. 그 후, 워터마크는 워터마크 비트 시퀀스이다. 객체의 불법적 사용을 증명하기 위해, 객체 상에서 역방향 프로세스가 수행되어 비트 시퀀스를 결정할 수도 있다. 그 후, 결정된 비트 시퀀스는 워터마크 비트 시퀀스와 비교된다. 만일 동일하다면, 전술한 바와 같이, 워터마킹 체계에 따른 어느 정도의 확률로 침해가 증명된다.
도 4 는 본 방법의 예를 나타낸다. 이 예에서, 본 방법은 (객체의 표면을 포함하는) 워터마킹될 원래의 객체를 제공하는 단계 S1 을 포함한다. 그 후, 본 방법은, 일정 경우가 된다면, 충분한 점들이 존재하는지 아닌지를 테스트하여, 새로운 점들을 추가하는 단계 S15 를 포함한다. 객체를 워터마킹하는 단계 S21, S22 및 S23 은 객체의 특성 점들의 위치들에게 교란들의 세트를 도입하는 단계를 포함하며, 이와 동시에, 객체로부터 법선 필드를 추출하고, 그 후 위치 및 법선 필드 데이터를 리어셈블링하여, 워터마킹된 위치 정보 및 원래의 법선 필드 정보로 이루어지는 새로운 객체를 생성한다.
본 방법은, W. H. Cho, M. E. Lee, H. Lim, 및 S. Y. Park 에 의해 도입되고, "Watermarking technique for authentication of 3-D polygonal meshes" (Proc. of the International Workshop on Digital Watermarking'05, 2005, pp. 259-270") 명칭의 논문에서 설명된, 3D 워터마킹 기술을 이용함으로써 테스트되었다. 보다 구체적으로, 길이 L 의 워터마크 비트 시퀀스가 제공된다. 표면의 무게 중심이 연산된다. 그 후, 예컨대, 구체 S i 의 반경은 등차 수열을 따르도록, L 동심 구체들 (S 1,..., S L ) 이 생성되며 (이와 달리, 반경들은, 바로 아래에서 설명되는 바와 같이, 각 꼭대기에서 동일한 수의 점들이 존재하도록 할 수도 있음), 가장 큰 구체 S i 는 점들의 필드의 모든 점들을 포함한다. 그 후, 점들은 "꼭대기" C i , 내에서 그룹화되며, 여기서, C 1 = S 1C i = S i - S i - 1 이고 i 는 2 내지 L 이다. 각 꼭대기는 워터마크 비트 시퀀스의 각 비트 b i 에 대응한다. 그 후, 기본적으로, 각 꼭대기 C i 내의 점들은, 꼭대기 C i 내에서, (예컨대, b i = 1 이라면) 무게 중심으로부터 멀어지게 이동되거나, (예컨대, b i = 0 이라면) 무게 중심을 향해 이동된다. 꼭대기 내에 충분한 점들이 존재하지 않는다면, 전술한 바와 같이 꼭대기 내의 점들이 치밀화될 수도 있음에 유의해야 한다. 반대로, 객체가 워터마킹되었는지 아닌지를 검증하기 위해, 무게 중심이 연산되고, L 꼭대기들은 상기와 같이 생성되고, 점들이 대부분 "외측" 에 있다면 (즉, S i -1 보다는 S i 의 경계에 더 가깝다면), 각 꼭대기에 대해 각 비트 d i 는 1 과 동일한 것으로 결정되고, 또는 점들이 대부분 "내측" 에 있다면 (즉, S i -1 에 더 가깝다면), 비트 d i 는 0 과 동일한 것으로 결정된다. 그 후, 이렇게 결정된 비트 시퀀스는 워터마크 비트 시퀀스와 비교될 수도 있으며, 만일 동일하다면, 1-0.5^L 의 확률로 침해가 존재한다고 결정된다. 보다 상세한 내용은, 예컨대, 꼭대기 내에서 무게 중심으로부터 "멀리" 또는 무게 중심을 "향해" 점들을 이동시키는 방법에 관한 논문에서 제공된다. 이러한 방법은, 전체적인 데이터를 이용하여 비트 시퀀스가 결정되기 때문에, 대부분의 국소적인 변환들뿐만 아니라 (확대와 같은) 표면의 전체적인 변환들에 저항하는 매우 견고한 워터마킹을 제공한다.
그 결과, 렌더링 시에 쉐이딩이 존재하지 않는다면, 즉각적으로 가시화되기에 충분히 강력한 워터마크들은, 본 방법의 사용에 의해 (즉, 워터마킹하기 전의 있는 그대로 유지된 법선 벡터들의 필드에 따라 표현을 쉐이딩함으로써) 완전히 숨겨진다. 양 객체들이 쉐이딩으로 렌더링된, 마킹되지 않은 객체와 워터마킹된 동일한 객체를 비교할 때, 쉐이딩된 실루엣에 대한 수정을 인지했는지 아닌지의 여부에 대해 수많은 설계자들에게 물어보았다. 쉐이딩된 실루엣에 대한 잠재 효과들은, 훈련된 눈에서조차도 인지될 수 없었다.
상기 방법은 컴퓨터로 구현되며, 이것은 본 방법의 단계들이 컴퓨터에 의해 실행됨을 의미한다. 그러나, 본 발명의 단계들 중 적어도 일부에 대한 촉발은 사용자-컴퓨터 상호작용을 통해 수행될 수도 있다. 획득된 사용자-컴퓨터 상호작용은, 사용자의 원하는 바를 구현하기 위한 필요와 균형을 이루어 예견 및 적용된 자동성의 레벨에 의존할 수도 있다. 실시형태들에서, 이 레벨은 사용자-정의 및/또는 미리-정의될 수도 있다.
따라서, 본 발명은 또한 본 방법을 수행하기에 적합한 CAD 시스템에 관한 것이기도 하다. 실제로, 사용자에게 CATIA 중 하나와 같은 그래픽 유저 인터페이스 (또는, GUI) 가 제공되며, GUI 는 수단, 예컨대, 본 방법의 실행에 필요한 데이터를 저장하는 데이터베이스와 관련된다.
도 5 를 참조하면, 예시된 그래픽 유저 인터페이스 (또는, GUI) (2100) 는, 사이드 툴바들 (2140, 2150) 뿐만 아니라 표준 메뉴바들 (2110, 2120) 을 갖는, 통상적인 CAD 형 인터페이스일 수도 있다. 이러한 메뉴바 및 툴바는 사용자 선택가능의 아이콘들의 세트를 포함하며, 각 아이콘은, 당업계에 공지된 바와 같이, 하나 이상의 동작들 또는 기능들과 연관된다.
이들 아이콘 중 일부는 모델링된 제품 (2000) 또는 GUI (2100) 에 디스플레이된 바와 같은 제품 (2000) 의 부품들인 3D 객체 상에서 작성하고 및/또는 작업하도록 적응되는, 소프트웨어 툴들과 연관된다. 이하의 설명에서, "제품", "부품", "조립품" 등은 간략히 "부품"으로 지칭될 수도 있다. "부품" 의 착상은, 사실, "객체" 의 착상으로 일반화될 수도 있으며, 객체는 설계된 제품의 "물리적인" 부품만일 수 있고, 보다 일반적으로는, 설계 프로세스에 참여한 임의의 소프트웨어 툴일 수 있다 (그러나, 최종 제품 "내에서는" 반드시 필요한 것은 아님).
소프트웨어 툴들은 작업대에서 그룹화될 수도 있다. 각 작업대는 소프트웨어 툴들의 서브셋을 포함한다. 특히, 작업대 중 하나는 모델링된 제품 (2000) 의 기하학적 특징들을 작성하기에 적합한 작성 작업대이다. 동작에 있어서, 설계자는 예를 들어 객체 (2000) 의 일부를 미리 선택한 후, 동작을 개시하거나(예컨대, 차원, 색상 등을 변경하거나), 또는 적절한 아이콘을 선택함으로써 기하학적 제약들을 작성할 수도 있다. 예를 들어 통상적인 CAD 동작들은 화면상에 디스플레이된 3D 모델링된 객체의 펀칭 또는 폴딩의 모델링이다.
GUI 는, 예를 들어 디스플레이된 제품 (2000) 에 관한 디스플레이 데이터 (2500) 일 수도 있다. 도 5 의 예에서, "특징 트리" 로서 디스플레이된 데이터 (2500) 및 이들의 3D 표현 (2000) 은, 브레이크 캘리퍼 (brake caliper) 및 디스크를 포함하는 브레이크 조립품에 관한 것이다. GUI 는, 예를 들어 객체의 3D 배향을 용이하게 하고 작성된 제품의 동작의 시뮬레이션을 촉발하는 각종 유형의 그래픽 툴들 (2130, 2070, 2080) 을 더 나타낼 수도 있으며, 또는 디스플레이된 제품 (2000) 의 각종 속성을 렌더링할 수도 있다. 커서 (2060) 는, 사용자로 하여금 그래픽 툴들과 상호작용할 수 있게 하는 햅틱 디바이스에 의해 제어될 수도 있다.
부품 (2000) 은 CAD/CAM/CAE 시스템에 의해 정의될 수 있는 임의의 구성에서의 임의의 객체, 또는 뷰포인트들을 변화시키는 것으로부터 객체의 뷰들을 디스플레이하는 데 이용되는 임의의 시스템일 수 있음은 이해되어야 한다. 따라서, 본 발명은 컴퓨터에 의한 명령들을 포함하는 컴퓨터 프로그램 상에서 구현될 수도 있으며, 상기 명령은 상기 시스템으로 하여금 상기 방법을 수행하게 하는 수단을 포함한다. 본 발명은, 예를 들어 디지털 전자 회로, 또는 컴퓨터 하드웨어, 펌웨어, 소프트웨어, 또는 이들을 조합하여 구현될 수도 있다. 본 발명의 장치는 프로그램가능한 프로세서에 의한 실행을 위한 머신 판독가능 저장 디바이스에서 유형적으로 구현된 컴퓨터 프로그램 제품으로 구현될 수도 있고; 본 발명의 방법 단계들은 입력 데이터를 동작시켜서 출력을 생성함으로써 본 발명의 함수들을 수행하는 명령들의 프로그램을 실행하는 프로그램가능한 프로세서에 의해 수행될 수도 있다.
본 발명은, 유리하게는, 데이터 및 명령을 수신하고 데이터 및 명령들을 송신하도록 커플링된 적어도 하나의 프로그램가능한 프로세서, 데이터 저장 시스템, 적어도 하나의 입력 디바이스, 및 적어도 하나의 출력 디바이스를 포함하는 프로그램가능한 시스템 상에서 실행가능한 하나 이상의 컴퓨터 프로그램들로 구현될 수도 있다. 본 애플리케이션 프로그램은 하이레벨 프로시저 (high level procedural) 언어나 객체지향 프로그래밍 언어, 또는 원한다면 어셈블리 언어나 기계 언어로 구현될 수도 있으며; 어쨌든, 언어는 컴파일된 언어 또는 인터프리트된 언어일 수도 있다.
도 6 은 클라이언트 컴퓨터 시스템의 예, 예컨대 사용자의 워크스테이션을 나타낸다.
클라이언트 컴퓨터는 내부 통신 버스 (BUS) (1000) 에 접속된 중앙 처리 유닛 (CPU) (1010), 버스에도 접속된 랜덤 액세스 메모리 (RAM) (1070) 를 포함한다. 클라이언트 컴퓨터에는, 버스에 접속된 비디오 랜덤 액세스 메모리 (1100) 와 연관되는 그래픽 처리 유닛 (GPU) (1110) 이 더 설치된다. 비디오 RAM (1100) 은 또한 당업계에서 프레임 버퍼로서 알려져 있다. 대용량 저장 디비아스 제어기 (1020) 는 하드 드라이브 (1030) 와 같은 대용량 메모리 디바이스에 액세스한다. 컴퓨터 프로그램 명령들 및 데이터를 효과적으로 실시하기에 적합한 대용량 메모리 디바이스들은, 예를 들어 EPROM, EEPROM, 및 플래시 메모리 디바이스들과 같은 반도체 메모리 디바이스들; 내장형 하드디스크 및 착탈형 디스크와 같은 자기 디스크; 자기광학 (magneto-optical) 디스크; 및 CD-ROM 디스크 (1040) 를 포함하는 모든 형식의 비휘발성 메모리를 포함한다. 상기한 것들 중 어느 것이나, 특별히 설계된 주문형 집적회로 (application-specific integrated circuit; ASIC) 에 의해 보충되거나 이에 통합될 수도 있다. 네트워크 어댑터 (1050) 는 네트워크 (1060) 로의 액세스를 관리한다. 클라이언트 컴퓨터는 또한 커서 제어 디바이스, 키보드 등과 같은 햅틱 디바이스 (1090) 를 포함할 수도 있다. 커서 제어 디바이스는, 도 5 를 참조하여 언급된 바와 같이, 사용자로 하여금 디스플레이 (1080) 상의 임의의 원하는 위치에서 커서를 선택적으로 위치결정할 수 있게 하는 클라이언트 컴퓨터에서 이용된다. 또한, 커서 제어 디바이스는 사용자로 하여금 다양한 커맨드들 및 입력 제어 신호들을 선택할 수 있게 한다. 커서 제어 디바이스는 시스템으로의 입력 제어 신호들을 위한 수많은 신호 생성 디바이스들을 포함한다. 통상적으로, 커서 제어 디바이스는 마우스일 수도 있으며, 마우스의 버튼은 이 신호들을 생성하는 데 이용될 수도 있다.

Claims (15)

  1. 프로세서에 의해 3D 모델링된 객체를 설계하는 방법으로서,
    - 초기의 표면의 하나 이상의 점들의 필드 및 상기 초기의 표면에 수직인 법선 벡터들의 초기의 필드에 의해 정의되는 상기 3D 모델링된 객체의 적어도 하나의 초기의 표면을 제공하는 단계; 및
    - 상기 하나 이상의 점들의 필드의 기하학적 구조를 수정함으로써 상기 초기의 표면을 수정하는 단계로서, 이로 인해 수정된 표면에 수직인 법선 벡터들의 수정된 세트에 의해 특정되는 상기 수정된 표면을 획득하는, 상기 초기의 표면을 수정하는 단계; 및
    - 상기 수정된 표면 및 상기 법선 벡터들의 초기의 필드에 의해 정의되는 상기 3D 모델링된 객체의 워터마킹된 버전을 생성하는 단계를 포함하는, 3D 모델링된 객체를 설계하는 방법.
  2. 제 1 항에 있어서,
    상기 모델링된 객체의 3D 표현을 렌더링하는 단계를 더 포함하는, 3D 모델링된 객체를 설계하는 방법.
  3. 제 2 항에 있어서,
    상기 렌더링하는 단계는 컴퓨터 모니터의 화면상의 투영을 연산하는 단계를 포함하는, 3D 모델링된 객체를 설계하는 방법.
  4. 제 3 항에 있어서,
    상기 렌더링하는 단계는 상기 법선 벡터들의 초기의 필드에 따라 상기 투영을 쉐이딩하는 단계를 더 포함하는, 3D 모델링된 객체를 설계하는 방법.
  5. 삭제
  6. 제 1 항에 있어서,
    상기 하나 이상의 점들의 필드의 기하학적 구조를 수정함으로써 상기 초기의 표면을 수정하는 단계는, 상기 하나 이상의 점들의 치밀화된 필드를 생성하는 상기 하나 이상의 점들의 필드의 치밀화 및 상기 법선 벡터들의 필드의 치밀화하는 단계, 및 상기 하나 이상의 점들의 상기 치밀화된 필드를 수정하는 워터마킹하는 단계 후에 수행되는, 3D 모델링된 객체를 설계하는 방법.
  7. 제 6 항에 있어서,
    상기 하나 이상의 점들의 필드의 치밀화하는 단계는 서브디비전들을 수행하는 단계를 포함하며, 상기 법선 벡터들의 필드의 치밀화하는 단계는 이전의 법선 벡터들을 보간함으로써 새로운 법선 벡터들을 생성하는 단계를 포함하는, 3D 모델링된 객체를 설계하는 방법.
  8. 제 1 항에 있어서,
    상기 초기의 표면을 수정하는 단계는 워터마크 비트 시퀀스에 따르는 체계를 따라 수행되는, 3D 모델링된 객체를 설계하는 방법.
  9. 제 8 항에 있어서,
    상기 초기의 표면을 수정하는 단계 후에,
    - 상기 초기의 표면을 수정하기 전에 상기 체계에 따라 비트 시퀀스를 결정하는 단계, 및
    - 상기 결정된 비트 시퀀스를 상기 워터마크 비트 시퀀스와 비교하는 단계를 더 포함하는, 3D 모델링된 객체를 설계하는 방법.
  10. 제 1 항에 있어서,
    상기 초기의 표면을 수정하는 단계 후에,
    상기 하나 이상의 점들의 필드를 수정하고 이에 따라 상기 법선 벡터들의 필드를 수정함으로써, 상기 수정된 표면을 변환하는 단계를 더 포함하는, 3D 모델링된 객체를 설계하는 방법.
  11. 제 1 항에 있어서,
    상기 초기의 표면을 수정하는 단계에서, 상기 하나 이상의 점들의 필드는 국소적으로 또는 전체적으로 수정되는, 3D 모델링된 객체를 설계하는 방법.
  12. 제 1 항에 있어서,
    상기 하나 이상의 점들의 필드는 삼각형 메쉬에 대응하며,
    상기 법선 벡터들의 필드는 벡터를 상기 삼각형 메쉬의 정점들의 각각에 연관시키고, 및/또는
    상기 법선 벡터들의 필드는 룩업 연산자 (lookup operator) 를 갖는 법선 맵인, 3D 모델링된 객체를 설계하는 방법.
  13. 컴퓨터 지원 설계 시스템으로서,
    - 초기의 표면의 하나 이상의 점들의 필드 및 상기 초기의 표면에 수직인 법선 벡터들의 초기의 필드에 의해 정의되는 3D 모델링된 객체의 적어도 하나의 초기의 표면을 저장하는 메모리; 및
    - 상기 3D 모델링된 객체를 설계하기 위한 방법을 수행하도록 구성된 그래픽 유저 인터페이스를 포함하고,
    상기 방법은:
    상기 초기의 표면을 제공하는 단계;
    상기 하나 이상의 점들의 필드의 기하학적 구조를 수정함으로써 상기 초기의 표면을 수정하는 단계로서, 이로 인해 수정된 표면에 수직인 법선 벡터들의 수정된 세트에 의해 특정되는 상기 수정된 표면을 획득하는, 상기 초기의 표면을 수정하는 단계; 및
    상기 수정된 표면 및 상기 법선 벡터들의 초기의 필드에 의해 정의되는 상기 3D 모델링된 객체의 워터마킹된 버전을 생성하는 단계를 포함하는, 컴퓨터 지원 설계 시스템.
  14. 컴퓨터에 의한 실행을 위한 명령들을 포함하는 컴퓨터 프로그램을 기록한 컴퓨터 판독가능 저장 매체로서, 상기 명령들은 컴퓨터 지원 설계 시스템으로 하여금, 3D 모델링된 객체를 설계하기 위한 방법을 수행하게 하고,
    상기 컴퓨터 지원 설계 시스템은:
    초기의 표면의 하나 이상의 점들의 필드 및 상기 초기의 표면에 수직인 법선 벡터들의 초기의 필드에 의해 정의되는 상기 3D 모델링된 객체의 적어도 하나의 초기의 표면을 저장하는 메모리; 및
    그래픽 유저 인터페이스를 포함하고,
    상기 방법은:
    상기 초기의 표면을 제공하는 단계;
    상기 하나 이상의 점들의 필드의 기하학적 구조를 수정함으로써 상기 초기의 표면을 수정하는 단계로서, 이로 인해 수정된 표면에 수직인 법선 벡터들의 수정된 세트에 의해 특정되는 상기 수정된 표면을 획득하는, 상기 초기의 표면을 수정하는 단계; 및
    상기 수정된 표면 및 상기 법선 벡터들의 초기의 필드에 의해 정의되는 상기 3D 모델링된 객체의 워터마킹된 버전을 생성하는 단계를 포함하는, 컴퓨터 판독가능 저장 매체.
  15. 삭제
KR1020110085896A 2010-08-27 2011-08-26 3d 모델링된 객체의 워터마킹 KR101814811B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP10305922.6A EP2426612B1 (en) 2010-08-27 2010-08-27 Watermarking of a 3D modeled object
EP10305922.6 2010-08-27

Publications (2)

Publication Number Publication Date
KR20120020084A KR20120020084A (ko) 2012-03-07
KR101814811B1 true KR101814811B1 (ko) 2018-01-04

Family

ID=43242399

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110085896A KR101814811B1 (ko) 2010-08-27 2011-08-26 3d 모델링된 객체의 워터마킹

Country Status (6)

Country Link
US (1) US8750598B2 (ko)
EP (1) EP2426612B1 (ko)
JP (1) JP5837363B2 (ko)
KR (1) KR101814811B1 (ko)
CN (1) CN102385744B (ko)
CA (1) CA2748116C (ko)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5615055B2 (ja) * 2010-06-18 2014-10-29 キヤノン株式会社 情報処理装置及びその処理方法
EP2568463A1 (en) * 2011-09-08 2013-03-13 Thomson Licensing Methods and devices for protecting digital objects through format preserving coding
EP2665032A1 (en) * 2012-05-14 2013-11-20 Thomson Licensing Methods and devices for 3d object protection using surface subdivision
CN103440614B (zh) * 2013-02-05 2016-03-09 浙江工业大学 基于虚拟图形水印的三维网格数据保护方法
GB2519363A (en) 2013-10-21 2015-04-22 Nokia Technologies Oy Method, apparatus and computer program product for modifying illumination in an image
EP2884454A1 (en) * 2013-12-16 2015-06-17 Thomson Licensing Method for watermarking a three-dimensional object
US9457518B2 (en) 2014-02-07 2016-10-04 Adobe Systems Incorporated Method and apparatus for controlling printability of a 3-dimensional model
GB2531549A (en) * 2014-10-21 2016-04-27 Sony Computer Entertainment Europe Ltd System and method of watermarking
US9864940B2 (en) 2015-03-02 2018-01-09 Xerox Corporation Method and system for generating and printing three dimensional barcodes
US9919477B2 (en) 2015-03-02 2018-03-20 Xerox Corporation Embedding a database in a physical object
US10201938B2 (en) 2015-03-02 2019-02-12 Xerox Corporation Extracting an embedded database from a physical object
US10789667B2 (en) * 2017-06-15 2020-09-29 Treatstock Inc. Method and apparatus for digital watermarking of three dimensional object
US11048228B2 (en) * 2018-03-16 2021-06-29 General Electric Company System and method to protect items associated with additive manufacturing

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001229401A (ja) * 2000-02-16 2001-08-24 Dainippon Printing Co Ltd 3次元形状モデルへの電子透かし埋め込み方法
KR100955201B1 (ko) * 2008-02-25 2010-04-29 주식회사 마크애니 3 차원 메쉬 모델의 워터마킹 방법 및 그 장치

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3199231B2 (ja) * 1997-05-27 2001-08-13 日本アイ・ビー・エム株式会社 3次元形状モデルへの情報の埋め込み方法及びシステム
JP4183643B2 (ja) * 2004-03-18 2008-11-19 株式会社リコー 情報埋込装置および情報埋込プログラム
US8228329B2 (en) * 2006-01-23 2012-07-24 National University Corporation Yokohama National University Interpolation processing method, interpolation processing device, shape evaluation method, and shape evaluation device
US7873237B2 (en) * 2006-02-17 2011-01-18 Dassault Systèmes Degrading 3D information

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001229401A (ja) * 2000-02-16 2001-08-24 Dainippon Printing Co Ltd 3次元形状モデルへの電子透かし埋め込み方法
KR100955201B1 (ko) * 2008-02-25 2010-04-29 주식회사 마크애니 3 차원 메쉬 모델의 워터마킹 방법 및 그 장치

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"Watermarking Three-Dimensional Polygonal Models", Proceedings of the ACM Multimedia 97(pp.1-11), 1997

Also Published As

Publication number Publication date
KR20120020084A (ko) 2012-03-07
CN102385744B (zh) 2016-12-21
JP2012048722A (ja) 2012-03-08
CA2748116A1 (en) 2012-02-27
CN102385744A (zh) 2012-03-21
EP2426612B1 (en) 2019-03-13
JP5837363B2 (ja) 2015-12-24
US8750598B2 (en) 2014-06-10
US20120051584A1 (en) 2012-03-01
CA2748116C (en) 2019-12-03
EP2426612A1 (en) 2012-03-07

Similar Documents

Publication Publication Date Title
KR101814811B1 (ko) 3d 모델링된 객체의 워터마킹
JP6356378B2 (ja) 幾何学的三次元モデルオブジェクトを設計する方法
JP6721332B2 (ja) 3dモデル化されたアセンブリ上で境界ボックスを生成すること
CA2563700C (en) System and method for smoothing three-dimensional images
JP6039231B2 (ja) 三次元シーンにおけるオブジェクトの三次元モデル化アセンブリの設計
US10650572B2 (en) Generating a 2D drawing representing a mechanical part
CA2852706A1 (en) Compression and decompression of a 3d modeled object
JP6721333B2 (ja) オブジェクトのセットの視点の選択
KR100503789B1 (ko) 렌더링시스템, 렌더링방법 및 그 기록매체
US8823706B2 (en) Method, program and product edition system for visualizing objects displayed on a computer screen
US20110298822A1 (en) Method, apparatus, and program for displaying an object on a computer screen
US11625900B2 (en) Broker for instancing
JP2008305347A (ja) 干渉判定情報の生成方法及び装置
Corseuil et al. A VR Tool for the Visualization of CAD Models
Penick VFire: Virtual fire in realistic environments. A framework for wildfire visualization in immersive environments

Legal Events

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