KR102110760B1 - 멀티 쓰레드 기반의 3차원 모델링 데이터 처리 장치 및 이의 동작 방법 - Google Patents
멀티 쓰레드 기반의 3차원 모델링 데이터 처리 장치 및 이의 동작 방법 Download PDFInfo
- Publication number
- KR102110760B1 KR102110760B1 KR1020180091844A KR20180091844A KR102110760B1 KR 102110760 B1 KR102110760 B1 KR 102110760B1 KR 1020180091844 A KR1020180091844 A KR 1020180091844A KR 20180091844 A KR20180091844 A KR 20180091844A KR 102110760 B1 KR102110760 B1 KR 102110760B1
- Authority
- KR
- South Korea
- Prior art keywords
- vertices
- skeleton
- thread
- vertex
- index
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20036—Morphological image processing
- G06T2207/20044—Skeletonization; Medial axis transform
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Processing Or Creating Images (AREA)
Abstract
Description
도 2는 본 발명의 일실시예에 따른 멀티 쓰레드 기반의 3차원 모델링 데이터 처리 장치의 동작 방법을 도시한 흐름도이다.
정점 인덱스 | 정점 정보 | 관련 뼈대 인덱스 | 엘리먼트 인덱스 | ||
정점 위치 | 정점 UV | 정점 노말 벡터 | |||
정점 1 | (x1, y1, z1) | (u1, v1) | (a1, b1, c1) | 뼈대 1 | 엘리먼트 1 |
(a2, b2, c2) | 엘리먼트 2 | ||||
(a3, b3, c3) | 엘리먼트 3 | ||||
정점 2 | (x2, y2, z2) | (u2, v2) | (a2, b2, c2) | 뼈대 1 | 엘리먼트 2 |
(a4, b4, c4) | 뼈대 2 | 엘리먼트 4 | |||
정점 3 | (x3, y3, z3) | (u3, v3) | (a4, b4, c4) | 뼈대 2 | 엘리먼트 4 |
(a5, b5, c5) | 뼈대 3 | 엘리먼트 5 | |||
정점 4 | (x4, y4, z4) | (u4, v4) | (a4, b4, c4) | 뼈대 2 | 엘리먼트 4 |
(a5, b5, c5) | 뼈대 3 | 엘리먼트 5 | |||
정점 5 | (x5, y5, z5) | (u5, v5) | (a6, b6, c6) | 뼈대 4 | 엘리먼트 6 |
(a7, b7, c7) | 뼈대 5 | 엘리먼트 7 | |||
정점 6 | (x6, y6, z6) | (u6, v6) | (a8, b8, c8) | 뼈대 5 | 엘리먼트 8 |
(a9, b9, c9) | 뼈대 6 | 엘리먼트 9 | |||
... | ... | ... | ... | ... | ... |
뼈대 1 | 뼈대 2 | 뼈대 3 | 뼈대 4 | ... | |
정점 1 | 가중치 1-1 | - | - | - | ... |
정점 2 | 가중치 2-1 | 가중치 2-2 | - | - | ... |
정점 3 | - | 가중치 3-2 | 가중치 3-3 | - | ... |
정점 4 | - | 가중치 4-2 | - | - | ... |
... | ... | ... | ... | ... | ... |
뼈대 이동 1 | 뼈대 이동 2 | 뼈대 이동 3 | 뼈대 이동 4 | ... | |
뼈대 1 | 뼈대 이동 행렬 1-1 | 뼈대 이동 행렬 1-2 | 뼈대 이동 행렬 1-3 | 뼈대 이동 행렬 1-4 | ... |
뼈대 2 | 뼈대 이동 행렬 2-1 | 뼈대 이동 행렬 2-2 | 뼈대 이동 행렬 2-3 | 뼈대 이동 행렬 2-4 | ... |
뼈대 3 | 뼈대 이동 행렬 3-1 | 뼈대 이동 행렬 3-2 | 뼈대 이동 행렬 3-3 | 뼈대 이동 행렬 3-4 | ... |
뼈대 4 | 뼈대 이동 행렬 4-1 | 뼈대 이동 행렬 4-2 | 뼈대 이동 행렬 4-3 | 뼈대 이동 행렬 4-4 | ... |
... | ... | ... | ... | ... | ... |
뼈대 회전 1 | 뼈대 회전 2 | 뼈대 회전 3 | 뼈대 회전 4 | ... | |
뼈대 1 | 뼈대 회전 행렬 1-1 | 뼈대 회전 행렬 1-2 | 뼈대 회전 행렬 1-3 | 뼈대 회전 행렬 1-4 | ... |
뼈대 2 | 뼈대 회전 행렬 2-1 | 뼈대 회전 행렬 2-2 | 뼈대 회전 행렬 2-3 | 뼈대 회전 행렬 2-4 | ... |
뼈대 3 | 뼈대 회전 행렬 3-1 | 뼈대 회전 행렬 3-2 | 뼈대 회전 행렬 3-3 | 뼈대 회전 행렬 3-4 | ... |
뼈대 4 | 뼈대 회전 행렬 4-1 | 뼈대 회전 행렬 4-2 | 뼈대 회전 행렬 4-3 | 뼈대 회전 행렬 4-4 | ... |
... | ... | ... | ... | ... | ... |
Claims (12)
- 메쉬(mesh) 구조를 갖는 모델링 데이터를 구성하는 다수의 다각형 엘리먼트(element)들의 꼭짓점에 해당되는 다수의 정점(vertex)들의 위치 정보와 상기 다수의 정점들 각각에 대응되는 뼈대 인덱스 - 상기 뼈대 인덱스는 상기 모델링 데이터를 구성하는 다수의 뼈대들 중 상기 다수의 정점들 각각이 위치하는 뼈대에 대한 식별자임 - , 상기 다수의 정점들 각각에 대해 대응되는 뼈대와 관련해서 미리 설정되어 있는 가중치 및 상기 다수의 뼈대들 각각의 움직임 정보에 따른 정점 보정 정보 - 상기 정점 보정 정보는 뼈대의 움직임에 따라 산출되는 뼈대 이동 행렬과 뼈대 회전 행렬의 곱으로 구성된 정점 변환 행렬을 의미함 - 를 저장하고 있는 저장부;
사용자 입력부를 통해 사용자가 입력한 상기 모델링 데이터에 대한 움직임 제어 신호에 따라 상기 다수의 뼈대들 각각의 움직임 정보가 입력되면, 상기 다수의 정점들 각각에 대응되는 뼈대 인덱스에 기초하여 상기 다수의 정점들 각각을 다수의 쓰레드들 각각에 순차적으로 할당하되, 동일한 뼈대 인덱스를 갖는 정점들끼리 동일한 쓰레드에 할당되도록 처리하는 쓰레드 할당부;
상기 다수의 정점들 각각의 뼈대 인덱스에 상응하는 뼈대의 움직임 정보에 따른 뼈대 이동 행렬과 뼈대 회전 행렬의 곱인 정점 변환 행렬을 확인하고, 상기 다수의 쓰레드들 각각에 순차적으로 할당된 상기 다수의 정점들 각각에 대해, 각 정점의 위치 정보에 따른 위치 값에 각 정점에 대응되는 뼈대에 대한 정점 변환 행렬을 곱한 결과 값을 산출한 후 상기 결과 값에 각 정점에 대응되는 뼈대에 대한 가중치를 적용하여 합산함으로써, 상기 다수의 정점들 각각의 위치 정보를 보정하는 다수의 쓰레드들; 및
상기 다수의 뼈대들 각각의 움직임 정보에 따라 위치 정보의 보정이 완료된 상기 다수의 정점들로 구성된 모델링 데이터를 렌더링하는 렌더링부
를 포함하고,
상기 쓰레드 할당부는 상기 다수의 쓰레드들 중 제1 쓰레드에 상기 다수의 정점들 중 제1 뼈대 인덱스를 가지는 정점들이 할당되고, 상기 제1 뼈대 인덱스를 가지는 정점들 중 제1 정점이 제2 뼈대 인덱스를 가지는 경우, 상기 제2 뼈대 인덱스에 따른 뼈대가 상기 제1 뼈대 인덱스에 따른 뼈대의 하위 뼈대이면, 상기 다수의 정점들 중 상기 제2 뼈대 인덱스를 가지는 정점들을 상기 제1 쓰레드에 할당하며,
상기 쓰레드 할당부는 상기 다수의 쓰레드들 중 제2 쓰레드로부터 상기 제2 쓰레드에 할당된 정점들의 위치 정보의 보정이 완료되었다는 보정 완료 신호를 수신하면, 상기 다수의 쓰레드들 중 보정 완료 신호를 송신하지 않은 제3 쓰레드에 할당된 정점들 중 위치 정보의 보정이 완료되지 않은 정점들을 선별한 후 선별된 정점들 중 뼈대 인덱스가 동일한 일부 정점들을 상기 제2 쓰레드에 할당하는
멀티 쓰레드 기반의 3차원 모델링 데이터 처리 장치. - 삭제
- 삭제
- 삭제
- 제1항에 있어서,
상기 쓰레드 할당부는 상기 다수의 정점들 중 일부 뼈대 인덱스를 가지는 정점들을 상기 다수의 쓰레드들 각각에 순차적으로 할당한 후 상기 다수의 쓰레드들 중 제4 쓰레드로부터 상기 제4 쓰레드에 할당된 정점들의 위치 정보의 보정이 완료되었다는 보정 완료 신호를 수신하면, 상기 일부 뼈대 인덱스 이외의 잔여 뼈대 인덱스를 가지는 정점들을 중 일부 정점들을 뼈대 인덱스에 기초하여 상기 제4 쓰레드에 할당하는
멀티 쓰레드 기반의 3차원 모델링 데이터 처리 장치. - 메쉬(mesh) 구조를 갖는 모델링 데이터를 구성하는 다수의 다각형 엘리먼트(element)들의 꼭짓점에 해당되는 다수의 정점(vertex)들의 위치 정보와 상기 다수의 정점들 각각에 대응되는 뼈대 인덱스 - 상기 뼈대 인덱스는 상기 모델링 데이터를 구성하는 다수의 뼈대들 중 상기 다수의 정점들 각각이 위치하는 뼈대에 대한 식별자임 - , 상기 다수의 정점들 각각에 대해 대응되는 뼈대와 관련해서 미리 설정되어 있는 가중치 및 상기 다수의 뼈대들 각각의 움직임 정보에 따른 정점 보정 정보 - 상기 정점 보정 정보는 뼈대의 움직임에 따라 산출되는 뼈대 이동 행렬과 뼈대 회전 행렬의 곱으로 구성된 정점 변환 행렬을 의미함 - 를 저장하고 있는 저장부를 유지하는 단계;
사용자 입력부를 통해 사용자가 입력한 상기 모델링 데이터에 대한 움직임 제어 신호에 따라 상기 다수의 뼈대들 각각의 움직임 정보가 입력되면, 상기 다수의 정점들 각각에 대응되는 뼈대 인덱스에 기초하여 상기 다수의 정점들 각각을 다수의 쓰레드들 각각에 순차적으로 할당하되, 동일한 뼈대 인덱스를 갖는 정점들끼리 동일한 쓰레드에 할당되도록 처리하는 단계;
상기 다수의 쓰레드들 각각이, 상기 다수의 정점들 각각의 뼈대 인덱스에 상응하는 뼈대의 움직임 정보에 따른 뼈대 이동 행렬과 뼈대 회전 행렬의 곱인 정점 변환 행렬을 확인하고, 상기 다수의 쓰레드들 각각에 순차적으로 할당된 상기 다수의 정점들 각각에 대해, 각 정점의 위치 정보에 따른 위치 값에 각 정점에 대응되는 뼈대에 대한 정점 변환 행렬을 곱한 결과 값을 산출한 후 상기 결과 값에 각 정점에 대응되는 뼈대에 대한 가중치를 적용하여 합산함으로써, 상기 다수의 정점들 각각의 위치 정보를 보정하는 단계;
상기 다수의 쓰레드들 중 제2 쓰레드로부터 상기 제2 쓰레드에 할당된 정점들의 위치 정보의 보정이 완료되었다는 보정 완료 신호를 수신하면, 상기 다수의 쓰레드들 중 보정 완료 신호를 송신하지 않은 제3 쓰레드에 할당된 정점들 중 위치 정보의 보정이 완료되지 않은 정점들을 선별한 후 선별된 정점들 중 뼈대 인덱스가 동일한 일부 정점들을 상기 제2 쓰레드에 할당하는 단계; 및
상기 다수의 뼈대들 각각의 움직임 정보에 따라 위치 정보의 보정이 완료된 상기 다수의 정점들로 구성된 모델링 데이터를 렌더링하는 단계
를 포함하고,
상기 처리하는 단계는 상기 다수의 쓰레드들 중 제1 쓰레드에 상기 다수의 정점들 중 제1 뼈대 인덱스를 가지는 정점들이 할당되고, 상기 제1 뼈대 인덱스를 가지는 정점들 중 제1 정점이 제2 뼈대 인덱스를 가지는 경우, 상기 제2 뼈대 인덱스에 따른 뼈대가 상기 제1 뼈대 인덱스에 따른 뼈대의 하위 뼈대이면, 상기 다수의 정점들 중 상기 제2 뼈대 인덱스를 가지는 정점들을 상기 제1 쓰레드에 할당하는
멀티 쓰레드 기반의 3차원 모델링 데이터 처리 장치의 동작 방법. - 삭제
- 삭제
- 삭제
- 제6항에 있어서,
상기 다수의 정점들 중 일부 뼈대 인덱스를 가지는 정점들을 상기 다수의 쓰레드들 각각에 순차적으로 할당한 후 상기 다수의 쓰레드들 중 제4 쓰레드로부터 상기 제4 쓰레드에 할당된 정점들의 위치 정보의 보정이 완료되었다는 보정 완료 신호를 수신하면, 상기 일부 뼈대 인덱스 이외의 잔여 뼈대 인덱스를 가지는 정점들을 중 일부 정점들을 뼈대 인덱스에 기초하여 상기 제4 쓰레드에 할당하는 단계
를 더 포함하는 멀티 쓰레드 기반의 3차원 모델링 데이터 처리 장치의 동작 방법. - 제6항 또는 제10항 중 어느 한 항의 방법을 컴퓨터로 하여금 수행하도록 하는 프로그램을 기록한 컴퓨터 판독 가능 기록 매체.
- 제6항 또는 제10항 중 어느 한 항의 방법을 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180091844A KR102110760B1 (ko) | 2018-08-07 | 2018-08-07 | 멀티 쓰레드 기반의 3차원 모델링 데이터 처리 장치 및 이의 동작 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180091844A KR102110760B1 (ko) | 2018-08-07 | 2018-08-07 | 멀티 쓰레드 기반의 3차원 모델링 데이터 처리 장치 및 이의 동작 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20200016579A KR20200016579A (ko) | 2020-02-17 |
KR102110760B1 true KR102110760B1 (ko) | 2020-05-15 |
Family
ID=69670766
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180091844A Active KR102110760B1 (ko) | 2018-08-07 | 2018-08-07 | 멀티 쓰레드 기반의 3차원 모델링 데이터 처리 장치 및 이의 동작 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102110760B1 (ko) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003103047A (ja) | 2001-09-28 | 2003-04-08 | Namco Ltd | 画像生成システム、画像生成方法及びプログラム |
JP2004303063A (ja) * | 2003-03-31 | 2004-10-28 | Konami Co Ltd | 画像生成プログラム、画像生成装置、画像生成方法及びビデオゲーム装置 |
JP2011082455A (ja) | 2009-10-09 | 2011-04-21 | Citizen Electronics Co Ltd | 発光装置の製造方法 |
JP2011175656A (ja) * | 2006-05-11 | 2011-09-08 | Panasonic Corp | 処理装置 |
US9001132B1 (en) | 2010-12-22 | 2015-04-07 | Lucasfilm Entertainment Company Ltd. | Constraint scenarios for retargeting actor motion |
KR101774265B1 (ko) | 2017-05-23 | 2017-09-12 | 주식회사 한글과컴퓨터 | 멀티 쓰레드 기반의 스프레드시트 문서 제공 장치 및 그의 동작 방법 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100988395B1 (ko) * | 2003-02-18 | 2010-10-18 | 마이크로소프트 코포레이션 | 태스크 스케줄링 방법, 태스크 스케줄링 지원 장치, 코프로세싱 스케줄러에 관련하여 사용하기 위한 코프로세서, 및 컴퓨터 판독가능 저장 매체 |
KR101191727B1 (ko) * | 2011-02-28 | 2012-11-21 | (주)지노게임즈 | 멀티 버추얼 머신을 이용한 멀티 쓰레드 처리시스템 및 그 방법 |
US8897491B2 (en) * | 2011-06-06 | 2014-11-25 | Microsoft Corporation | System for finger recognition and tracking |
KR20140122111A (ko) * | 2013-04-09 | 2014-10-17 | 삼성전자주식회사 | 명시적인 쓰레드 스위칭을 이용한 다중 쓰레드 실행 장치 및 방법 |
KR102464678B1 (ko) * | 2016-03-18 | 2022-11-11 | 한국전자통신연구원 | 매니코어 시스템에서 쓰레드를 스케줄링 하는 방법 및 그 장치 |
-
2018
- 2018-08-07 KR KR1020180091844A patent/KR102110760B1/ko active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003103047A (ja) | 2001-09-28 | 2003-04-08 | Namco Ltd | 画像生成システム、画像生成方法及びプログラム |
JP2004303063A (ja) * | 2003-03-31 | 2004-10-28 | Konami Co Ltd | 画像生成プログラム、画像生成装置、画像生成方法及びビデオゲーム装置 |
JP2011175656A (ja) * | 2006-05-11 | 2011-09-08 | Panasonic Corp | 処理装置 |
JP2011082455A (ja) | 2009-10-09 | 2011-04-21 | Citizen Electronics Co Ltd | 発光装置の製造方法 |
US9001132B1 (en) | 2010-12-22 | 2015-04-07 | Lucasfilm Entertainment Company Ltd. | Constraint scenarios for retargeting actor motion |
KR101774265B1 (ko) | 2017-05-23 | 2017-09-12 | 주식회사 한글과컴퓨터 | 멀티 쓰레드 기반의 스프레드시트 문서 제공 장치 및 그의 동작 방법 |
Also Published As
Publication number | Publication date |
---|---|
KR20200016579A (ko) | 2020-02-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10354443B2 (en) | Adaptive load balancing in software emulation of GPU hardware | |
KR102341267B1 (ko) | 양안 시차 영상에 대한 렌더링 방법 및 장치 | |
KR102454893B1 (ko) | 그래픽 프로세싱 장치 및 그래픽 프로세싱 장치의 동작 방법 | |
CN110084875A (zh) | 使用计算着色器作为顶点着色器的前端 | |
CN105579967A (zh) | Gpu发散栅栏 | |
US10979176B1 (en) | Codebook to reduce error growth arising from channel errors | |
US11385464B2 (en) | Wide angle augmented reality display | |
CN112489172B (zh) | 制作骨骼动画的方法、系统、电子装置和存储介质 | |
JP7278195B2 (ja) | 地面のレンダリングに関するコンピュータグラフィック方法 | |
CN105247478A (zh) | 命令指令管理 | |
Biedert et al. | A Task-Based Parallel Rendering Component For Large-Scale Visualization Applications. | |
KR102110760B1 (ko) | 멀티 쓰레드 기반의 3차원 모델링 데이터 처리 장치 및 이의 동작 방법 | |
US12347508B2 (en) | Error detection pin encoding scheme to avoid maximum transitions and further improve signal integrity on high speed graphic memory interfaces | |
JP3410079B2 (ja) | 3次元スケルトンデータ誤差吸収装置 | |
WO2024072703A1 (en) | Spatial test of bounding volumes for rasterization | |
JP6173226B2 (ja) | 画像処理装置及び画像処理プログラム | |
KR20120069364A (ko) | 멀티코어 환경에서 코어별 처리 능력 및 전력량을 고려한 프레임 처리장치 및 방법 | |
CN109445868A (zh) | 一种游戏场景中路段模型的生成方法和装置 | |
CN115888085A (zh) | 游戏信息的处理方法、装置和存储介质 | |
KR102455227B1 (ko) | 공간 정보 구성 방법 및 장치 | |
CN115393481A (zh) | 顶点位置确定方法、装置、设备和存储介质 | |
KR102699047B1 (ko) | 경로를 포함하는 객체를 렌더링하는 장치, 이를 포함하는 컴퓨팅 장치 및 이의 렌더링 방법 | |
JP6801001B2 (ja) | 画像処理装置、画像処理方法およびプログラム | |
Yinghui et al. | Real-time deformation using modal analysis on graphics hardware | |
JP7118315B1 (ja) | 描画装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20180807 |
|
PA0201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20190829 Patent event code: PE09021S01D |
|
E701 | Decision to grant or registration of patent right | ||
PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20200210 |
|
PG1501 | Laying open of application | ||
N231 | Notification of change of applicant | ||
PN2301 | Change of applicant |
Patent event date: 20200504 Comment text: Notification of Change of Applicant Patent event code: PN23011R01D |
|
PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20200508 Patent event code: PR07011E01D |
|
PR1002 | Payment of registration fee |
Payment date: 20200508 End annual number: 3 Start annual number: 1 |
|
PG1601 | Publication of registration | ||
PR1001 | Payment of annual fee |
Payment date: 20230419 Start annual number: 4 End annual number: 4 |
|
PR1001 | Payment of annual fee |
Payment date: 20250225 Start annual number: 6 End annual number: 6 |