[go: up one dir, main page]

KR100834793B1 - 본 애니메니션 그래픽 처리를 위한 변환 장치 및 이를포함한 그래픽 처리 장치 - Google Patents

본 애니메니션 그래픽 처리를 위한 변환 장치 및 이를포함한 그래픽 처리 장치 Download PDF

Info

Publication number
KR100834793B1
KR100834793B1 KR1020060065652A KR20060065652A KR100834793B1 KR 100834793 B1 KR100834793 B1 KR 100834793B1 KR 1020060065652 A KR1020060065652 A KR 1020060065652A KR 20060065652 A KR20060065652 A KR 20060065652A KR 100834793 B1 KR100834793 B1 KR 100834793B1
Authority
KR
South Korea
Prior art keywords
vertex information
output
conversion unit
matrix
model
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
KR1020060065652A
Other languages
English (en)
Other versions
KR20080006669A (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 엠텍비젼 주식회사
Priority to KR1020060065652A priority Critical patent/KR100834793B1/ko
Publication of KR20080006669A publication Critical patent/KR20080006669A/ko
Application granted granted Critical
Publication of KR100834793B1 publication Critical patent/KR100834793B1/ko
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/10Selection of transformation methods according to the characteristics of the input images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Processing Or Creating Images (AREA)

Abstract

본 발명은 본 애니메이션 그래픽 처리를 위한 변환 장치에 관한 것으로서, 보다 상세하게는 본 애니메이션 그래픽 가속 시스템의 그래픽 처리를 위한 변환에서 사용되는 변환 장치 및 이를 포함한 그래픽 처리 장치에 관한 것이다. 본 발명의 일 측면에 따르면, 입력 정점 정보에 대하여 모델/뷰 변환을 수행하는 제1변환부, 상기 제1변환부에서 출력된 출력 정점 정보에 상응하는 가중치를 곱하는 제2변환부, 상기 제1변환부 및 상기 제2변환부의 변환을 n(자연수)번 반복하여 순차적으로 출력된 n개의 출력 정점 정보를 누적 합산(summation)한 변환 정점 정보를 출력하는 제3변환부를 포함하되, 상기 제1변환부에서의 상기 n번 반복되는 모델/뷰 변환은 서로 다른 모델/뷰 변환 행렬에 의해 수행되는 것을 특징으로 하는 본 애니메이션 그래픽 처리를 위한 변환 장치 및 이를 포함하는 그래픽 처리 장치를 제공하는 데 있다.
Figure R1020060065652
본 애니메이션, 그래픽 처리 장치

Description

본 애니메니션 그래픽 처리를 위한 변환 장치 및 이를 포함한 그래픽 처리 장치{CONVERSION DEVICE AND GRAPHIC PROCESSING DEVICE FOR PROCESSING BONE ANIMATION GRAPHICS}
도 1은 일반적인 그래픽 처리를 위한 행렬 변환을 설명하기 위한 도면.
도 2은 본 애니메이션의 객체의 변환을 설명하기 위한 도면.
도 3는 본 발명의 바람직한 일 실시예에 따른 본 에니메이션 알고리즘을 설명하기 위한 도면.
도 4는 본 발명의 바람직한 일 실시예에 따른 본 애니메이션 알고리즘을 수행하기 위한 변환 장치를 설명하기 위한 도면.
도 5는 본 발명의 바람직한 일 실시예에 따른 본 애니메이션 알고리즘을 수행하기 위한 변환 장치의 일부의 구성을 설명하기 위한 도면.
도 6는 본 발명의 바람직한 일 실시예에 따른 본 애니메이션 알고리즘을 수행하기 위한 변환 과정을 설명하기 위한 순서도.
도 7은 본 발명의 바람직한 일 실시예에 따른 본 애니메이션 그래픽 처리 장치를 설명하기 위한 도면.
<도면의 주요부분에 대한 부호의 설명>
210: 제1관절 220: 제2관절
410: 제1변환부 420: 제2변환부
430: 제3변환부 710: 정점 정보 저장 장치 720: 변환 행렬 저장 장치 730: 변환 장치
본 발명은 본 애니메이션(bone animation) 그래픽 처리를 위한 변환 장치 및 이를 포함한 그래픽 처리 장치에 관한 것으로서, 보다 상세하게는 본 애니메이션 그래픽 가속 시스템의 그래픽 변환에 사용되는 변환 장치 및 이를 포함한 그래픽 처리 장치에 관한 것이다.
3차원 컴퓨터 그래픽 기술은 컴퓨터 분야뿐만 아니라, 게임, 영상, 교육, 출판, 군사, 의료 분야 등 모든 분야에 걸쳐서 사용되는 핵심 기반 기술이다. 현재, 3차원 컴퓨터 그래픽스를 이용하여 게임, 가상현실, 과학적 시각화(scientific visualization), VRML(virtual reality modeling language)과 같은 응용 분야의 확대가 지속되고 있다.
또한, 3차원 그래픽 데이터 처리를 위해 개발된 하드웨어 가속기는 과거에 고가의 컴퓨터 시스템에서만 채택되었지만, 현재에는 개인용 컴퓨터에 3차원 그래 픽 가속기가 기본적으로 장착되고 있으며, 점차 휴대폰, PDA 등 차세대 휴대용 정보기기에서도 3차원 가속기에 대한 수요가 늘어날 전망이다.
3차원 그래픽스는 특성상 많은 양의 수학적 계산이 요구되며 그래픽 데이터 형식이 다양하기 때문에 일반 범용 프로세서에서 전담하여 처리하기에는 한계가 있다. 따라서, AMD의 3D-Now, HP의 MAX-2, Intel의 MMX-2 와 같이 고성능의 범용 프로세서를 확장하여 사용하는 방법이 적용되고 있으나 이와 같은 고성능의 범용 프로세서를 사용할 수 없는 휴대용 정보기기에서는 3차원 그래픽 처리를 위한 가속 하드웨어가 필수적이다.
3차원 그래픽 처리는 기본적으로 데이터 베이스 트레버셜(Database Traversal), 지오메트리 처리(Geometry Processing), 래스터라이제이션(Rasterization) 등 3가지 단계를 순차적으로 처리하는 과정이다. 데이터 베이스 트레버셜은 모델 제네레이션으로 생성된 오브젝트의 자료 구조를 그래픽스 파이프라인에서 처리할 수 있는 데이터로 전달하는 과정이다. 또한 지오메트리 처리는 앞 단계에서 생성된 데이터를 기하학적으로 변환시키는 과정이다. 세 번째 단계인 래스터라이제이션은 지오메트리 처리에 의해 변환된 프리미티브(점, 선, 삼각형 등)들을 프레임 버퍼(Frame buffer)에 픽셀 데이터 값으로 변환시키는 과정이다.
도 1은 일반적인 그래픽 처리를 위한 행렬 변환을 설명하기 위한 도면이다.
도 1을 참조하면, 그래픽 처리를 위한 제 1 변환 및 제 2 변환은 행렬 곱셈 연산을 통해 수행되는데, 이는 정점의 X0, Y0, Z0, W0 성분이 1×4 행렬로 표현된 정 점 정보 행렬과 4×4 행렬로 표현된 변환 행렬의 곱셈 연산과 같다. 여기서, X0, Y0, Z0, W0 성분은 예를 들면, 정점의 위치 정보, 법선 벡터, 색상 정보 및 텍스쳐 좌표 정보 등 정점 정보의 종류에 따라 달라질 수 있다. 도 1에 도시된 바와 같이, 일반적인 3차원 그래픽 가속 시스템에서 변환은 4×4 행렬의 곱셈을 연속적으로 수행하여 이루어질 수 있다. 예를 들면, 제 1 변환은 모델/뷰 변환 일 수 있고, 제 2 변환은 투영 변환 일 수 있으며, 제 1 변환의 출력이 제 2 변환의 입력으로 사용될 수 있다. 변환 행렬은 보통 16개의 값을 갖는 4×4 행렬로 표현되는 데 모델/뷰 변환, 투영 변환, 법선 벡터 변환 및 텍스쳐 좌표 변환 등 변환의 종류에 따라 각각의 행렬이 존재한다.
한편, 3차원 그래픽 처리에서 3차원 객체(3 dimension object)의 팔 관절이나 손가락 관절을 부드럽게 움직이려면 관절마다 다른 위치 변환을 해야 한다. 이러한 방법을 본 애니메이션(Bone Animation)이라 하며, 사람이나 동물 객체의 부드러운 관절 움직임에 많이 이용된다.
도 2는 3차원 본 애니메이션의 객체의 변환을 설명하기 위한 도면이다.
도 2에 도시된 바와 같이, 제1관절(210)을 구성하는 프리미티브(삼각형)들과 제2관절(220)을 구성하는 프리미티브(삼각형)들은 서로 다른 변환 정보에 의해 변환되었다. 즉, 이는 제1관절(210)과 제2관절(220)은 서로 다른 모델/뷰 변환 행렬에 의해 변환된 것이다. 3차원 객체들이 이러한 움직임을 수행하려면 1개의 객체가 1개의 모델/뷰 변환 행렬을 가지는 기본 구조와는 달리 제1관절(210)과 제2관 절(220)은 다른 객체로 취급하여 변환을 수행하여야 한다. 이는 각각에 다른 변환이 필요하며, 관절이 많을 경우 관절의 수에 따라 상응하는 변환이 각각 필요하다. 그러나 제1관절(210) 및 제2관절(220)을 다른 객체로 취급하여 변환을 수행하는 것보다 제1관절(210) 및 제2관절(220)을 1개의 객체로 취급하고 이 객체에 2개 이상의 행렬을 두어 관절의 움직임을 행렬의 선택을 통해 미묘하게 변환시키는 것이 그래픽 처리에 있어 처리 속도 및 처리 장치 면에서 더 효율적이다.
또한, 본 애니메이션 그래픽 처리에 있어서, 객체의 각 관절을 구성하는 프리미티브(Primitives)들은 각각 다른 위치 변환이 필요하기 때문에, 하나의 객체가 단 하나의 변환 행렬을 가지는 보통의 변환 장치의 구조와는 완전히 다른 하나의 객체가 다수개의 변환 행렬을 가지는 구조의 변환 장치가 필요하게 되었다.
그래픽 응용 프로그래밍 인터페이스(Application Programming Interface, 이하 API라 칭함)인 오픈지엘(OpenGL)-ES 1.1 확장 팩(Extension Pack)은 본 애니메이션을 보다 효과적으로 수행하게 위해 행렬 팔레트(matrix palette)라는 기능을 포함하고 있다. 본 발명은 본 애니메이션 그래픽 처리를 위한 변환 장치로 그래픽 라이브러리의 표준으로 사용되고 있는 오픈지엘(OpenGL)의 스펙(specification)에 적용하기 위해 그래픽 API인 오픈지엘(OpenGL)-ES1.1 확장 팩(Extension Pack)의 행렬 팔레트(matrix palette)를 지원한다.
따라서, 본 발명의 목적은 본 애니메이션 알고리즘인 행렬 팔레트(matrix palette)를 빠르고 효율적으로 처리하는 본 애니메이션 그래픽 처리를 위한 변환 장치 및 이를 포함하는 그래픽 처리 장치를 제공하는 데 있다.
본 발명의 이외의 목적들은 하기의 설명을 통해 쉽게 이해될 수 있을 것이다.
상술한 목적을 달성하기 위한 본 발명의 일 측면에 따르면, 입력 정점 정보에 대하여 모델/뷰 변환을 수행하는 제1변환부, 상기 제1변환부에서 출력된 출력 정점 정보에 상응하는 가중치를 곱하는 제2변환부, 상기 제1변환부 및 상기 제2변환부의 변환을 n(자연수)번 반복하여 순차적으로 출력된 n개의 출력 정점 정보를 누적 합산(summation)한 변환 정점 정보를 출력하는 제3변환부를 포함하되, 상기 제1변환부에서의 상기 n번 반복되는 모델/뷰 변환은 서로 다른 모델/뷰 변환 행렬에 의해 수행되는 것을 특징으로 하는 본 애니메이션 그래픽 처리 변환 장치를 제공하는 데 있다.
여기서, 상기 정점 정보는 정점의 위치 정보일 수 있다.
상기 모델/뷰 변환에 사용되는 모델/뷰 변환 행렬은 4×4 행렬일 수 있다.
상기 n은 1 내지 4 일 수 있다.
상기 가중치는 상기 정점 정보 또는 상기 상응하는 모델/뷰 변환 행렬에 따라 다른 것일 수 있다.
상기 입력 정점 정보는 본 애니메이션(bone animation) 그래픽 처리 대상 객체를 구성하는 m개의 정점 정보 중 하나일 수 있다.
상기 제1변환부는 모델/뷰 변환 행렬의 한 행의 행렬 소자와 정점 정보 행렬의 전체 소자를 각각 순차적으로 곱하기 위한 제1 내지 제4곱셈기, 상기 제1 및 제2곱셈기의 출력을 합산하기 위한 제1덧셈기, 상기 제3 및 제4곱셈기의 출력을 합산하기 위한 제2덧셈기 및 상기 제1 및 제2덧셈기의 출력을 합산하기 위한 제3덧셈기를 포함할 수 있다.
여기서, 상기 제1변환부는 제1 내지 제4곱셈기와 제1 내지 제3 덧셈기의 출력을 각각 저장하기 위한 제1 내지 제7레지스터를 더 포함할 수 있다.
상기 제2변환부는 상기 제1변환부로부터 순차적으로 출력되는 행렬 소자에 상응하는 가중치를 곱하기 위한 제5곱셈기를 포함할 수 있다.
여기서, 상기 제2변환부는 제5곱셈기의 출력을 저장하기 위한 제8레지스터를 더 포함할 수 있다.
상기 제3변환부는 상기 제2변환부로부터 순차적으로 출력되는 행렬 소자를 행 별로 누적 합산(summation)하는 제4덧셈기를 포함할 수 있다.
여기서, 상기 제3변환부는 제4덧셈기의 출력을 저장하기 위한 하나 이상의 레지스터를 더 포함할 수 있으며, 상기 제3변환부는 상기 레지스터를 인에이블(enable)하여 상기 레지스터에 저장된 값을 제4덧셈기로 다시 입력하기 위한 멀티플렉서(multiplexer)를 더 포함할 수 있다.
본 발명의 다른 측면을 따르면, 본 애니메이션 그래픽 처리를 위한 변환을 수행하는 그래픽 처리 장치에 있어서, 정점 정보를 저장하는 정점 정보 저장 장치, 상기 정점 정보를 변환하기 위해 변환 행렬 데이터를 저장하는 변환 행렬 저장 장치 및 상기 정점 정보 저장 장치 및 상기 변환 행렬 저장 장치로부터 상기 정점 정보 및 상기 변환 행렬 데이터를 입력 받아 본 애니메이션 그래픽 처리를 위한 행렬 연산을 하는 변환 장치를 포함하되, 상기 변환 장치는 상기 각각의 정점 정보에 대하여 상응하는 모델/뷰 변환 및 상응하는 가중치를 곱하는 과정을 n(자연수)번 반복하여 출력된 n개의 출력 정점정보를 누적 합산한 각각의 변환 정점 정보를 출력하는 것을 특징으로 하는 그래픽 처리 장치를 제공하는 데 있다.
여기서, 상기 정점 정보는 정점의 위치 정보일 수 있다.
상기 모델/뷰 변환에 사용되는 모델/뷰 변환 행렬은 4×4 행렬일 수 있다.
상기 n은 1 내지 4 일 수 있다.
상기 변환 장치는 상기 정점 정보에 대하여 모델/뷰 변환을 수행하는 제1변환부, 상기 제1변환부에서 출력된 출력 정점 정보에 상응하는 가중치를 곱하는 제2변환부, 상기 제1변환부 및 상기 제2변환부의 변환을 n(자연수)번 반복하여 순차적으로 출력된 n개의 출력 정점 정보를 누적 합산(summation)한 변환 정점 정보를 출력하는 제3변환부를 포함하되, 상기 제1변환부에서의 상기 n번 반복되는 모델/뷰 변환은 서로 다른 모델/뷰 변환 행렬에 의해 수행될 수 있다.
상기 n은 1 내지 4 일 수 있다.
상기 가중치는 상기 정점 정보 또는 상기 상응하는 모델/뷰 변환 행렬에 따라 다른 것일 수 있다.
상기 정점 정보는 본 애니메이션(bone animation) 그래픽 처리 대상 객체를 구성하는 m개의 정점 정보 중 하나일 수 있다.
상기 제1변환부는 모델/뷰 변환 행렬의 한 행의 행렬 소자와 정점 정보 행렬의 전체 소자를 각각 순차적으로 곱하기 위한 제1 내지 제4곱셈기, 상기 제1 및 제2곱셈기의 출력을 합산하기 위한 제1덧셈기, 상기 제3 및 제4곱셈기의 출력을 합산하기 위한 제2덧셈기 및 상기 제1 및 제2덧셈기의 출력을 합산하기 위한 제3덧셈기를 포함할 수 있다.
여기서, 상기 제1변환부는 제1 내지 제4곱셈기와 제1 내지 제3 덧셈기의 출력을 각각 저장하기 위한 제1 내지 제7레지스터를 더 포함할 수 있다.
상기 제2변환부는 상기 제1변환부로부터 순차적으로 출력되는 행렬 소자에 상응하는 가중치를 곱하기 위한 제5곱셈기를 포함할 수 있다.
여기서, 상기 제2변환부는 제5곱셈기의 출력을 저장하기 위한 제8레지스터를 더 포함할 수 있다.
상기 제3변환부는 상기 제2변환부로부터 순차적으로 출력되는 행렬 소자를 행 별로 누적 합산(summation)하는 제4덧셈기를 포함할 수 있다.
여기서, 상기 제3변환부는 제4덧셈기의 출력을 저장하기 위한 하나 이상의 레지스터를 더 포함할 수 있으며, 상기 제3변환부는 상기 레지스터를 인에이블(enable)하여 상기 레지스터에 저장된 값을 제4덧셈기로 다시 입력하기 위한 멀티플렉서(multiplexer)를 더 포함할 수 있다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것 으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 대응하는 구성 요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
도 3는 본 발명의 바람직한 일 실시예를 따른 본 에니메이션 알고리즘을 설명하기 위한 도면이다.
본 발명은 본 애니메이션 그래픽 처리를 위한 변환 장치로 그래픽 라이브러리의 표준으로 사용되고 있는 오픈지엘(OpenGL)의 스펙(specification)에 적용하기 위해 도 3에 도시된 수학식에 정의된 연산을 처리하여 본 애니메이션 변환을 수행한다.
도 3에 도시된 바와 같이, 입력 정점(Xo, Yo, Zo, Wo)는 서로 다른 가중치를 갖는 모델/뷰 변환 행렬들의 곱에 합의 연산을 통해 출력 정점(Xe, Ye, Ze, We)로 변환된다. 여기서, Mi는 모델/뷰 변환 행렬로 1부터 n개까지 사용자에 의해 미리 설정될 수 있다. Wi는 Mi의 가중치로 설정된 모델/뷰 변환 행렬에 대한 각각의 가중치로 입력 정점 정보 또는 모델/뷰 변환 행렬에 따라 달라질 수 있으며, 사용자에 의해 미리 설정될 수 있다. 본 애니메이션 그래픽 처리에 있어서, 입력 정점 정보가 서로 다른 가중치를 갖는 모델/뷰 변환을 여러 번 수행하는 것은 하나의 객체를 구성하는 많은 입력 정점 정보가 각각 다른 변환을 하여 표현되기 때문이다. 예를 들면, 사람이 걸을 때 팔의 동작을 표현하는 경우 팔의 관절 윗부분과 아랫부분은 사람이 걷는 동작에 의해 걷는 방향으로 정점 정보가 변환되며, 걷는 동작과 별도로 팔이 앞뒤로 움직인다면, 이에 따른 정점 정보에 또 다른 변환이 수행되어야 한다. 또한, 이 경우 팔의 관절 아래 부분과 윗부분의 동작이 다르므로 팔의 관절 아래 부분과 윗부분이 다른 변환 정보에 의해 변환되어야 한다. 그러므로 본 애니메이션 그래픽 처리에 있어서 각 정점 정보에 따라 모델/뷰 변환은 n번 반복해서 수행할 수 있다. 변환 행렬 저장 장치에는 모델/뷰 변환 행렬 등 그래픽 처리를 위한 하나 이상의 변환 행렬을 저장하고 본 애니메이션 변환 장치에 본 애니메이션 변환에 필요한 변환 행렬을 제공한다. 변환 행렬 저장 장치에는 예를 들면, 본(bone) 애니메이션의 경우 64개의 변환 행렬이 저장될 수 있으며, 이 중 n개의 변환 행렬이 본 애니메이션의 모델/뷰 변환 행렬로 설정되어 각각의 변환 행렬이 곱 연산에 사용될 수 있다. 여기서, n개의 변환 행렬은 그래픽 라이브러리의 표준으로 사용되고 있는 오픈지엘(OpenGL)의 스펙(specification)에 의해 1개 내지 4개로 사용자에 의해 미리 설정될 수 있다. 그래픽 처리에서 변환 행렬은 일반적으로 m x n (여기서, m, n은 각각 임의의 자연수) 행렬일 수 있으며, 예를 들어 4×4 또는 3×3 행렬일 수 있다.
본 애니메이션 변환을 위한 입력 정점 정보들은 앞 서 설명한 바와 같이 각 모델/뷰 변환 행렬에 대해 서로 다른 가중치를 가질 수 있다. 예를 들면, 앞 서 설명한 예에서 사람이 걸을 때 팔의 동작을 표현하는 경우, 사람이 걷는 동작을 표현하는 변환에 대한 제1 가중치, 걷는 동작과 별도로 팔이 앞뒤로 움직이는 변환에 대한 제2 가중치, 팔의 관절 아래 부분과 윗부분의 동작을 표현하는 변환에 대한 제3 가중치를 서로 다르게 두어 본 애니메이션 그래픽 처리에서 하나의 정점 정보가 어떤 동작에 대하여 더 많은 영향을 받는 지 표현할 수 있다. 사용자는 본 애니메이션 그래픽 처리를 위하여 각 모델/뷰 변환 또는 각 입력 정점에 따라 가중치를 미리 설정할 수 있다. 예를 들면, 사용자는 동일한 객체를 구성하는 표현 의도에 따라 제1 정점 V0은 제1 변환 행렬의 가중치가 제2 변환 행렬의 가중치보다 높게 설정될 수 있으며, 제2 정점 V1은 제2 변환 행렬의 가중치가 제1 변환 행렬의 가중치보다 높게 설정 될 수 있다. 즉, 본 애니메이션의 하나의 객체를 구성하는 각각 의 정점들은 동일한 모델/뷰 변환에 의해 좌표계가 변환되어도 정점에 따라 서로 다른 변환 정보인 가중치가 다르므로, 하나의 객체를 구성하더라도 각각의 정점들은 달리 변환되어 다른 동작이 표현될 수 있다.
도 4는 발명의 바람직한 일 실시예를 따른 본 애니메이션 알고리즘을 수행하기 위한 변환 장치를 설명하기 위한 도면이다.
본 발명은 본 애니메이션 효과를 처리하기 위한 알고리즘인 행렬 팔레트(matrix palette)를 효과적으로 수행하기 위한 변환 장치로 도 4와 같은 하드웨어 구성을 갖는다.
도 4에 도시된 바와 같이, 본 애니메이션 알고리즘을 수행하기 위한 변환 장치는 5개의 곱셈기(MUL; multiplier)와 4개의 덧셈기(ADD; adder)로 구성될 수 있다. 곱셈기(MUL)와 덧셈기(ADD)의 수량은 필요에 따라 증감될 수 있다. 곱셈기(MUL) 및 덧셈기(ADD) 사이에는 레지스터(REG; register)가 존재하여, 레지스터에는 연산 정보가 저장된다.
제1변환부(410)는 모델/뷰 변환 행렬과 정점 좌표를 곱하는 연산을 수행한다. 여기서, 모델/뷰 변환 행렬은 예를 들면, 4×4 행렬일 수 있으며, 정점 좌표는 1×4 행렬일 수 있다. 제1변환부(410)에서 입력 특성은 모델/뷰 변환 행렬 4×4 행렬의 한 행(Mi0, Mi1, Mi2, Mi3)과 입력 정점 좌표 1×4 행렬(Xi, Yi, Zi, Wi) 전체를 입력 받고, 출력 특성은 결과 1×4 행렬(XM0, YM0, ZM0, WM0) 중 하나의 행렬 소자를 출력하며, 변환 행렬 4행이 차례로 입력되어 출력 정점 좌표(XM0, YM0, ZM0, WM0)가 차례로 출력된다.
제2변환부(420)는 제1변환부(410)로부터 입력되는 결과 가중치를 곱하는 연산을 수행한다. 즉, 정점 좌표에 곱 연산을 수행하는 모델/뷰 변환 행렬에 대한 가중치 Wi를 제1변환부(410)에서 순차적으로 출력되는 결과 정점 좌표(XM0, YM0, ZM0, WM0)에 차례로 곱한다. 입력되는 가중치 Wi는 모델/뷰 변환 행렬에 따라 달라질 수 있으며, 또한, 입력 정점 좌표(Xi, Yi, Zi, Wi)에 따라 달라질 수 있다. 제2변환부(420)에서 가중치 Wi를 곱하는 것은 앞 서 설명한 바와 같이 본 애니메이션의 하나의 객체를 구성하는 각각의 정점들이 서로 다른 변환 정보인 가중치에 따라 각각 달리 변환되도록 하기 위해서이다.
제3변환부(430)는 제2변환부(420)의 출력 정점 좌표(XW0, YW0, ZW0, WW0)인 연산의 결과를 누적 합산(summation)하는 역할을 한다. 누적 합산은 전회의 연산 결과를 지금의 연산 결과와 더하여 누적하는 동작이며, 처음 연산 시에는 현재 연산과 '0'을 더하여 결과를 만든다. 제3변환부(430)에 대해서는 도 5에서 더욱 상세히 설명하기로 한다.
본 발명에 따른 본 애니메이션 알고리즘을 수행하기 위한 변환 장치는 처리 속도 및 처리 장치 면에서 효율을 향상시키기 위해 곱셈기(MUL), 덧셈기(ADD)의 개수 및 구성을 다양하게 변형하는 것이 가능하며, 파이프라인 상의 처리속도를 향상 시키기 위해 추가적인 장치가 포함될 수 있음은 당업자에게 자명하다.
도 5는 본 발명의 바람직한 일 실시예에 따른 본 애니메이션 알고리즘을 수행하기 위한 변환 장치의 일부의 구성을 설명하기 위한 도면이다.
도 5를 참조하면, 제3변환부(430)는 누적 합산 되는 행렬 소자 Xe, Ye, Ze, We 각각의 레지스터(REG)(520, 530, 540, 550)로 구성될 수 있으며, 각각의 행렬 소자를 저장하는 레지스터에 출력 정점정보(XWn-1, YWn-1, ZWn-1, WWn-1)가 누적 합산되어 저장될 수 있다. 각각의 레지스터 후단에는 누적 연산된 행렬 소자를 다시 입력된 행렬 소자와 누적 연산하기 위하여 출력을 조절하는 스위치 또는 멀티플렉서(MUX: multiplexer)(560)가 포함될 수 있다. 또한, 각각의 레지스터는 변환 행렬의 연산되는 순서에 의해 같은 종류의 행렬 소자를 각각의 레지스터에 저장하기 위하여 각각의 레지스터 전단에 스위치 또는 디멀티플렉서(DEMUX: demultiplexer) 등이 포함될 수 있음을 자명하다.
제3변환부(430)에서 출력 정점 좌표의 누적 연산을 더욱 상세하게 설명하면, 제3변환부(430)에 입력되는 정점정보가 XWn-1 인 경우 멀티플렉서(MUX)(560)로부터 Xe 레지스터(REG)(520)에 저장된 값이 선택되어 덧셈기(ADD)로 전달된다. 이 경우, 변환 행렬 M_i 가 M_0 이 아닐 경우이며, M_0 일 경우 멀티플렉서(MUX)(560)로부터 0이 저장된 레지스터(REG)(510)이 활성화되어 덧셈기(ADD)로 전달된다. 즉 정점의 첫 번째 변환 행렬은 0을, 그 다음 변환 행렬들은 Xe 레지스터(REG)(520)에 저장된 값이 선택된다. 여기서 n은 1 내지 4일 수 있으며, n이 클수록 본 애니메이션 동작을 더욱 상세하게 표현할 수 있다.
제3변환부(430)에서 멀티플렉서(MUX)(560)에 의해 Xe 레지스터(REG)(520)의 값이 선택되어 전달된 값은 제2변환부(420) 에서 전달된 XWn-1 과 더해져 Xe레지스터(REG)(520)에 다시 저장된다. 여기서, 덧셈기(ADD) 출력에 연결된 네 개의 레지스터 중 Xe레지스터(REG)만 활성화(enable)되고 나머지 Ye 레지스터(530), Ze 레지스터(540), We 레지스터(550)는 비활성화(disable)되어 덧셈기의 출력 값이 Xe 레지스터(REG)(520)에만 값이 저장된다. Ye 레지스터(530), Ze 레지스터(540), We 레지스터(550)에서의 누적 연산도 앞 서 설명한 Xe 레지스터(REG)(520)에서의 누적 연산 방법과 동일한 방법에 의해 수행될 수 있다.
제3변환부(430)에서 출력 행렬 소자 Xe, Ye, Ze, We 각각의 레지스터(REG)(520, 530, 540, 550)로 구성하는 것은 누적 연산의 처리 속도를 더욱 빠르게 하여 그래픽 처리 장치의 전체 속도를 향상 시키기 위해서이다.
제3변환부(430) 또한, 처리 속도 및 처리 장치 면에서 효율을 향상시키기 위해 멀티플렉서(MUX), 디멀티플렉서(DEMUX) 또는 스위치 등을 이용하여 구성을 다양하게 변형하는 것이 가능하며, 파이프라인 상의 처리속도를 향상시키기 위해 추가적인 장치가 포함될 수 있음은 당업자에게 자명하다.
도 6은 본 발명의 바람직한 일 실시예에 따른 본 애니메이션 알고리즘을 수행하는 변환 장치의 과정을 설명하기 위한 순서도이다.
도 6에 도시된 바와 같이, 본 애니메이션 그래픽 객체의 m개의 정점이 서로 다른 n개의 모델/뷰 변환 행렬(M_i) 및 서로 다른 n개의 가중치(W_i)를 곱한 후에 합 연산을 하여 변환되는 과정을 나타낸다.
단계 S610에서, 본 애니메이션 그래픽 객체의 m개의 정점 중 하나의 정점 좌표 (예를 들면, X00, Y00, Z00, W00)는 서로 다른 n개의 모델/뷰 변환 행렬 중 하나인 예를 들면, M_0 모델/뷰 변환 행렬이 곱해진다. 여기서, 모델/뷰 변환 행렬은 앞서 설명한 바와 같이 4×4 행렬일 수 있으며, 입력 정점 좌표 1×4 행렬일 수 있으며 이는 [Xij, Yij, Zij, Wij]T 즉, 전치 행렬로 표현된다.
단계 S620에서, 모델/뷰 변환을 수행하여 출력된 정점 좌표는 가중치 W_i가 곱해 진다. 여기서 가중치 W_i는 앞서 설명한 바와 같이 모델/뷰 변환 행렬 또는 입력 정점에 따라 달라질 수 있으며, 각 정점에 따라 다른 모델/뷰 변환 행렬의 가중치로 인하여 서로 다른 모델/뷰 변환이 수행된다.
단계 S630에서, 가중치 W_i가 곱해진 출력 정점 좌표는 설정된 서로 다른 모델/뷰 변환행렬의 개수(n)에 의해 n번의 전 합(summation) 연산이 수행된다. 본 애니메이션(bone animation) 그래픽 객체의 m개의 정점은 각각 n번의 모델/뷰 변환 및 각각의 모델/뷰 변환에 가중치가 곱해져 전체 합 연산을 하여 본 애니메이션 그 래픽 객체에서 서로 다른 변환을 하게 되어 본 애니메이션 변환을 수행하는 것이다.
단계 S640에서, 각각의 입력 정점 좌표가 n번의 모델/뷰 변환 및 가중치 곱 연산을 하여 본 애니메이션 그래픽 처리를 위한 변환 과정이 반복된다. 여기서, 변환 행렬 저장장치에는 앞서 설명한 바와 같이 64개의 모델/뷰 변환 행렬이 저장될 수 있으며, 각각의 입력 정점에 4개의 모델/뷰 변환 행렬이 설정되어 각각의 입력 정점에 대해 4번의 모델/뷰 변환이 반복되어 수행될 수 있다.
단계 S650에서, 본 애니메이션 그래픽 객체의 m개의 정점이 서로 다른 n개의 모델/뷰 변환 행렬(M_i) 및 서로 다른 n개의 가중치(W_i)를 곱한 후에 누적 합산을 하여 변환되어 출력 정점 좌표(예를 들면, Xe0, Ye0, Ze0, We0)로 출력된다.
단계 S660에서, 본 애니메이션 그래픽 객체의 m개의 정점에 대한본 애니메이션 변환을 수행하도록 변환 과정이 m번 순환된다.
상술한 과정에 의해 본 애니메이션(Bone Animation) 변환이 수행될 수 있다.
도 7은 본 발명의 바람직한 일 실시예에 따른 본 애니메이션 그래픽 처리 장치를 설명하기 위한 도면이다.
도 7을 참조하면, 본 애니메이션 그래픽 처리 장치는 변환 행렬을 저장하는 정점 정보 저장 장치(710), 변환 행렬 저장 장치(720) 및 변환 장치(730)를 포함한다. 그래픽 처리 장치는 예를 들어 3차원 그래픽 처리를 수행할 수 있다. 그래픽 처리에서 변환은 정점의 위치 정보, 법선 벡터 정보, 텍스쳐 위치 정보 등을 이동시키는 작업으로 이는 위치 이동 정보를 가지는 변환 행렬에 의해 수행된다.
본 애니메이션 그래픽 처리 장치는 그래픽 처리를 하는 그래픽 프로세서(Graphics Processor Unit, GPU) 또는 그래픽 처리를 하는 범용 프로세서일 수 있다.
정점 정보 저장 장치(710)는 정점의 위치, 색, 법선 벡터 및 텍스터 좌표 등의 정점 정보를 저장한다. 정점 정보 저장 장치(710)에는 정점 정보가 예를 들면, 1×4 행렬로 저장된다. 정점 정보 저장 장치(710)는 정점 정보를 저장하기 위해 레지스터 장치로 구성되어 있으며, 변환 장치(730)로부터 제어 신호를 수신하여 변환에 필요한 정점 정보를 변환 장치(730)로 출력한다.
변환 행렬 저장 장치(720)는 모델/뷰 변환 행렬, 투영 변환 행렬, 법선 벡터변환 행렬 및 텍스쳐 좌표 변환 행렬 등 그래픽 처리를 위한 하나 이상의 변환 행렬을 저장한다. 예를 들면, 모델/뷰 변환 행렬의 경우, 32개의 변환 행렬을 저장되며, 본(bone) 애니메이션의 경우 64개의 변환 행렬이 저장될 수 있다. 그래픽 처리에서 변환 행렬은 일반적으로 m x n (여기서, m, n은 각각 임의의 자연수) 행렬일 수 있으며, 예를 들어 4×4 또는 3×3 행렬일 수 있다.
본 애니메이션 그래픽 처리를 수행하는 변환 장치(730)는 변환 행렬 저장 장치(720)로부터 변환 행렬 정보를 입력 받고, 정점 정보 저장 장치(710)로부터 정점 정보를 입력 받아 본 애니메이션 그래픽 처리를 위한 변환을 수행한다.
본 애니메이션 그래픽 처리를 수행하는 변환 장치(730)는 일반적으로 행렬을 곱셈을 수행하는 하나 이상의 곱셈기(Multiplier) 및 행렬의 곱셈이 수행된 후 이를 더하는 하나 이상의 덧셈기(Adder)를 포함하여 구성된다. 변환 장치(730)의 구성은 도 4에서 앞 서 설명한 바와 같다.
본 발명에 따른 본 애니메이션 그래픽 처리를 수행하는 변환 장치(730)는 그래픽 라이브러리의 표준으로 사용되고 있는 오픈지엘(OpenGL)의 스펙(specification)에 적용하기 위해 그래픽 API인 오픈지엘(OpenGL)-ES1.1 확장 팩(Extension Pack)의 행렬 팔레트(matrix palette)의 알고리즘에 의해 수행된다.
상술한 바와 같이, 본 발명에 따른 본 애니메이션 그래픽 처리를 위한 변환 장치 및 이를 포함하는 그래픽 처리 장치는 본 애니메이션 알고리즘인 행렬 팔레트(matrix palette)를 빠르고 효율적으로 처리하는 효과가 있다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야에서 통상의 지식을 가진 자라면 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.

Claims (27)

  1. 본 애니메이션 그래픽 처리를 위한 변환 장치에 있어서,
    입력 정점 정보에 대하여 모델/뷰 변환을 수행하는 제1 변환부;
    상기 제1 변환부에서 출력된 제1 출력 정점 정보에 상응하는 가중치를 곱하여 제2 출력 정점 정보를 출력하는 제2변환부;
    상기 제1변환부 및 상기 제2변환부의 변환을 n(자연수)번 반복하여 순차적으로 출력된 n개의 제2 출력 정점 정보를 누적 합산(summation)한 변환 정점 정보를 출력하는 제3변환부를 포함하되,
    상기 제1변환부에서의 상기 n번 반복되는 모델/뷰 변환은 서로 다른 모델/뷰 변환 행렬에 의해 수행되는 것을 특징으로 하는 변환 장치.
  2. 청구항 2은(는) 설정등록료 납부시 포기되었습니다.
    제1항에 있어서,
    상기 입력 정점 정보는 정점의 위치 정보인 것을 특징으로 하는 변환 장치.
  3. 청구항 3은(는) 설정등록료 납부시 포기되었습니다.
    제1항에 있어서,
    모델/뷰 변환에 사용되는 모델/뷰 변환 행렬은 4×4 행렬인 것을 특징으로 하는 변환 장치.
  4. 청구항 4은(는) 설정등록료 납부시 포기되었습니다.
    제1항에 있어서,
    상기 n은 1 내지 4 인 것을 특징으로 하는 변환 장치.
  5. 청구항 5은(는) 설정등록료 납부시 포기되었습니다.
    제1항에 있어서,
    상기 가중치는 상기 입력 정점 정보 또는 상기 입력 정점 정보에 대하여 수행된 모델/뷰 변환에 따라 다른 것을 특징으로 하는 변환 장치.
  6. 청구항 6은(는) 설정등록료 납부시 포기되었습니다.
    제1항에 있어서,
    상기 입력 정점 정보는 본 애니메이션(bone animation) 그래픽 처리 대상 객체를 구성하는 m개의 정점 정보 중 하나인 것을 특징으로 하는 변환 장치.
  7. 제1항에 있어서,
    상기 제1변환부는
    모델/뷰 변환 행렬의 한 행의 행렬 소자와 정점 정보 행렬의 전체 소자를 각각 순차적으로 곱하기 위한 제1 내지 제4곱셈기;
    상기 제1 및 제2곱셈기의 출력을 합산하기 위한 제1덧셈기;
    상기 제3 및 제4곱셈기의 출력을 합산하기 위한 제2덧셈기; 및
    상기 제1 및 제2덧셈기의 출력을 합산하기 위한 제3덧셈기를 포함하는 것을 특징으로 하는 변환 장치.
  8. 제7항에 있어서,
    상기 제1변환부는
    제1 내지 제4곱셈기와 제1 내지 제3 덧셈기의 출력을 각각 저장하기 위한 제1 내지 제7레지스터를 더 포함하는 것을 특징으로 하는 변환 장치.
  9. 제7항에 있어서,
    상기 제2변환부는 상기 제1변환부로부터 순차적으로 출력되는 행렬 소자에 상응하는 가중치를 곱하기 위한 제5곱셈기를 포함하는 것을 특징으로 하는 변환 장치.
  10. 제9항에 있어서,
    상기 제2변환부는 제5곱셈기의 출력을 저장하기 위한 제8레지스터를 더 포함 하는 것을 특징으로 하는 변환 장치.
  11. 제7항에 있어서,
    상기 제3변환부는 상기 제2변환부로부터 순차적으로 출력되는 행렬 소자를 행 별로 누적 합산(summation)하는 제4덧셈기를 포함하는 것을 특징으로 하는 변환 장치.
  12. 제 11항에 있어서,
    상기 제3변환부는 제4덧셈기의 출력을 저장하기 위한 하나 이상의 레지스터를 더 포함하는 것을 특징으로 하는 변환 장치.
  13. 제 12항에 있어서,
    상기 제3변환부는 상기 레지스터를 인에이블(enable)하여 상기 레지스터에 저장된 값을 제4덧셈기로 다시 입력하기 위한 멀티플렉서(multiplexer)를 더 포함하는 것을 특징으로 하는 변환 장치.
  14. 애니메이션 그래픽 처리를 위한 변환을 수행하는 그래픽 처리 장치에 있어서,
    입력 정점 정보를 저장하는 정점 정보 저장 장치;
    상기 입력 정점 정보를 변환하기 위해 변환 행렬 데이터를 저장하는 변환 행렬 저장 장치; 및
    상기 정점 정보 저장 장치 및 상기 변환 행렬 저장 장치로부터 상기 입력 정점 정보 및 상기 변환 행렬 데이터를 입력 받아 본 애니메이션 그래픽 처리를 위한 행렬 연산을 하는 변환 장치를 포함하되,
    상기 변환 장치는 상기 각각의 입력 정점 정보에 대하여 상응하는 모델/뷰 변환 및 상응하는 가중치를 곱하는 과정을 n(자연수)번 반복하여 출력된 n개의 출력 정점정보를 누적 합산한 각각의 변환 정점 정보를 출력하는 것을 특징으로 하는 그래픽 처리 장치.
  15. 청구항 15은(는) 설정등록료 납부시 포기되었습니다.
    제14항에 있어서,
    상기 입력 정점 정보는 정점의 위치 정보인 것을 특징으로 하는 그래픽 처리 장치.
  16. 청구항 16은(는) 설정등록료 납부시 포기되었습니다.
    제14항에 있어서,
  17. 제14항에 있어서,
    상기 변환 장치는
    상기 입력 정점 정보에 대하여 상기 모델/뷰 변환을 수행하는 제1변환부;
    상기 제1 변환부에서 출력된 제1 출력 정점 정보에 상응하는 가중치를 곱하여 제2 출력 정점 정보를 출력하는 제2변환부;
    상기 제1변환부 및 상기 제2변환부의 변환을 n번 반복하여 순차적으로 출력된 n개의 제2 출력 정점 정보를 누적 합산(summation)한 변환 정점 정보를 출력하는 제3변환부를 포함하되,
    상기 제1변환부에서의 상기 n번 반복되는 모델/뷰 변환은 서로 다른 모델/뷰 변환 행렬에 의해 수행되는 것을 특징으로 하는 그래픽 처리 장치.
  18. 청구항 18은(는) 설정등록료 납부시 포기되었습니다.
    제14항 또는 제17항에 있어서,
    상기 n은 1 내지 4 인 것을 특징으로 하는 그래픽 처리 장치.
  19. 청구항 19은(는) 설정등록료 납부시 포기되었습니다.
    제14항 또는 제17항에 있어서,
    상기 가중치는 상기 입력 정점 정보 또는 상기 입력 정점 정보에 대하여 수행되는 모델/뷰 변환에 따라 다른 것을 특징으로 하는 그래픽 처리 장치.
  20. 청구항 20은(는) 설정등록료 납부시 포기되었습니다.
    제17항에 있어서,
    상기 입력 정점 정보는 본 애니메이션(bone animation) 그래픽 처리 대상 객체를 구성하는 m개의 정점 정보 중 하나인 것을 특징으로 하는 그래픽 처리 장치.
  21. 제17항에 있어서,
    상기 제1변환부는
    제1 모델/뷰 변환 행렬의 한 행의 행렬 소자와 제1 정점 정보 행렬의 전체 소자를 각각 순차적으로 곱하기 위한 제1 내지 제4곱셈기;
    상기 제1 및 제2곱셈기의 출력을 합산하기 위한 제1덧셈기;
    상기 제3 및 제4곱셈기의 출력을 합산하기 위한 제2덧셈기; 및
    상기 제1 및 제2덧셈기의 출력을 합산하기 위한 제3덧셈기를 포함하는 것을 특징으로 하는 그래픽 처리 장치
  22. 청구항 22은(는) 설정등록료 납부시 포기되었습니다.
    상기 제1변환부는
    제1 내지 제4곱셈기와 제1 내지 제3 덧셈기의 출력을 각각 저장하기 위한 제1 내지 제7레지스터를 더 포함하는 것을 특징으로 하는 그래픽 처리 장치.
  23. 제17항에 있어서,
    상기 제2변환부는 상기 제1변환부로부터 순차적으로 출력되는 행렬 소자에 상응하는 가중치를 곱하기 위한 제5곱셈기를 포함하는 것을 특징으로 하는 그래픽 처리 장치.
  24. 청구항 24은(는) 설정등록료 납부시 포기되었습니다.
    제23항에 있어서,
    상기 제2변환부는 제5곱셈기의 출력을 저장하기 위한 제8레지스터를 더 포함하는 것을 특징으로 하는 그래픽 처리 장치.
  25. 제17항에 있어서,
    상기 제3변환부는 상기 제2변환부로부터 순차적으로 출력되는 행렬 소자를 행 별로 누적 합산(summation)하는 제4덧셈기를 포함하는 것을 특징으로 하는 그래 픽 처리 장치.
  26. 청구항 26은(는) 설정등록료 납부시 포기되었습니다.
    제 25항에 있어서,
    상기 제3변환부는 제4덧셈기의 출력을 저장하기 위한 하나 이상의 레지스터를 더 포함하는 것을 특징으로 하는 그래픽 처리 장치.
  27. 청구항 27은(는) 설정등록료 납부시 포기되었습니다.
    제 26항에 있어서,
    상기 제3변환부는 상기 레지스터를 인에이블(enable)하여 상기 레지스터에 저장된 값을 제4덧셈기로 다시 입력하기 위한 멀티플렉서(multiplexer)를 더 포함하는 것을 특징으로 하는 그래픽 처리 장치.
KR1020060065652A 2006-07-13 2006-07-13 본 애니메니션 그래픽 처리를 위한 변환 장치 및 이를포함한 그래픽 처리 장치 Expired - Fee Related KR100834793B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060065652A KR100834793B1 (ko) 2006-07-13 2006-07-13 본 애니메니션 그래픽 처리를 위한 변환 장치 및 이를포함한 그래픽 처리 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060065652A KR100834793B1 (ko) 2006-07-13 2006-07-13 본 애니메니션 그래픽 처리를 위한 변환 장치 및 이를포함한 그래픽 처리 장치

Publications (2)

Publication Number Publication Date
KR20080006669A KR20080006669A (ko) 2008-01-17
KR100834793B1 true KR100834793B1 (ko) 2008-06-05

Family

ID=39220307

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060065652A Expired - Fee Related KR100834793B1 (ko) 2006-07-13 2006-07-13 본 애니메니션 그래픽 처리를 위한 변환 장치 및 이를포함한 그래픽 처리 장치

Country Status (1)

Country Link
KR (1) KR100834793B1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09330424A (ja) * 1996-06-07 1997-12-22 Matsushita Electric Ind Co Ltd 3次元骨格構造の動き変換装置
JPH11175692A (ja) 1997-12-05 1999-07-02 Hitachi Denshi Ltd 関節の動きデータ収集装置
KR20010058255A (ko) * 1999-12-27 2001-07-05 오길록 3차원 인터페이스를 채용한 동작 정보 후처리 방법
KR20030005277A (ko) * 2000-04-14 2003-01-17 픽셀 (리서치) 리미티드 형상 프로세서
KR100697975B1 (ko) 2005-12-07 2007-03-23 한국전자통신연구원 인간형 다관절체의 애니메이션 생성 장치 및 그 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09330424A (ja) * 1996-06-07 1997-12-22 Matsushita Electric Ind Co Ltd 3次元骨格構造の動き変換装置
JPH11175692A (ja) 1997-12-05 1999-07-02 Hitachi Denshi Ltd 関節の動きデータ収集装置
KR20010058255A (ko) * 1999-12-27 2001-07-05 오길록 3차원 인터페이스를 채용한 동작 정보 후처리 방법
KR20030005277A (ko) * 2000-04-14 2003-01-17 픽셀 (리서치) 리미티드 형상 프로세서
KR100697975B1 (ko) 2005-12-07 2007-03-23 한국전자통신연구원 인간형 다관절체의 애니메이션 생성 장치 및 그 방법

Also Published As

Publication number Publication date
KR20080006669A (ko) 2008-01-17

Similar Documents

Publication Publication Date Title
US6700586B1 (en) Low cost graphics with stitching processing hardware support for skeletal animation
Bender et al. Position-based Methods for the Simulation of Solid Objects in Computer Graphics.
Müller et al. Meshless deformations based on shape matching
US9990754B1 (en) System for rendering using position based finite element simulation
JP6309620B2 (ja) 頂点シェーダのフロント・エンドとしてコンピュート・シェーダを使用すること
Rhee et al. Real‐time weighted pose‐space deformation on the GPU
KR100657775B1 (ko) 컴퓨터 그래픽 애니메이션 방법 및 장치
CN101473351A (zh) 肌肉与骨骼形状蒙皮
CN113689537A (zh) 用于基于体素的三维建模的系统、方法和设备
CN105283900A (zh) 用于压缩顶点着色器输出参数的方案
CN111773688B (zh) 柔性对象的渲染方法和装置、存储介质、电子装置
Kikuuwe et al. An edge-based computationally efficient formulation of Saint Venant-Kirchhoff tetrahedral finite elements
JP4936522B2 (ja) 画像処理方法、画像処理装置
Marinkovic et al. Finite element formulations for effective computations of geometrically nonlinear deformations
Zhang et al. Physically-based sound synthesis on GPUs
Sørensen et al. An introduction to GPU accelerated surgical simulation
Wang et al. Optimized processing of localized collisions in projective dynamics
Ma Runtime volume visualization for parallel CFD
Kuester et al. Visualization of particle traces in virtual environments
Sorli et al. Fine virtual manipulation with hands of different sizes
KR100834793B1 (ko) 본 애니메니션 그래픽 처리를 위한 변환 장치 및 이를포함한 그래픽 처리 장치
Cetinaslan Position‐Based Simulation of Elastic Models on the GPU with Energy Aware Gauss‐Seidel Algorithm
Chaudhry et al. Shape modeling for animated characters using ordinary differential equations
Dong et al. Real‐Time Large Crowd Rendering with Efficient Character and Instance Management on GPU
Wang et al. LVDIF: a framework for real-time interaction with large volume data

Legal Events

Date Code Title Description
A201 Request for examination
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20060713

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: 20070929

Patent event code: PE09021S01D

PG1501 Laying open of application
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: 20080229

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20080528

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20080529

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
PR1001 Payment of annual fee

Payment date: 20110414

Start annual number: 4

End annual number: 4

PR1001 Payment of annual fee

Payment date: 20120330

Start annual number: 5

End annual number: 5

FPAY Annual fee payment

Payment date: 20130422

Year of fee payment: 6

PR1001 Payment of annual fee

Payment date: 20130422

Start annual number: 6

End annual number: 6

FPAY Annual fee payment

Payment date: 20140428

Year of fee payment: 7

PR1001 Payment of annual fee

Payment date: 20140428

Start annual number: 7

End annual number: 7

FPAY Annual fee payment

Payment date: 20150428

Year of fee payment: 8

PR1001 Payment of annual fee

Payment date: 20150428

Start annual number: 8

End annual number: 8

FPAY Annual fee payment

Payment date: 20180425

Year of fee payment: 11

PR1001 Payment of annual fee

Payment date: 20180425

Start annual number: 11

End annual number: 11

FPAY Annual fee payment

Payment date: 20190425

Year of fee payment: 12

PR1001 Payment of annual fee

Payment date: 20190425

Start annual number: 12

End annual number: 12

PC1903 Unpaid annual fee

Termination category: Default of registration fee

Termination date: 20210308