KR100418173B1 - 화상생성장치및그방법,게임장치,및기록매체 - Google Patents

화상생성장치및그방법,게임장치,및기록매체 Download PDF

Info

Publication number
KR100418173B1
KR100418173B1 KR1019970707221A KR19970707221A KR100418173B1 KR 100418173 B1 KR100418173 B1 KR 100418173B1 KR 1019970707221 A KR1019970707221 A KR 1019970707221A KR 19970707221 A KR19970707221 A KR 19970707221A KR 100418173 B1 KR100418173 B1 KR 100418173B1
Authority
KR
South Korea
Prior art keywords
image
frame
posture
interpolation
specifying information
Prior art date
Application number
KR1019970707221A
Other languages
English (en)
Other versions
KR19980703821A (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 KR19980703821A publication Critical patent/KR19980703821A/ko
Application granted granted Critical
Publication of KR100418173B1 publication Critical patent/KR100418173B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • G06T13/403D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/66Methods for processing data by generating or executing the game program for rendering three dimensional images
    • A63F2300/6607Methods for processing data by generating or executing the game program for rendering three dimensional images for animating game characters, e.g. skeleton kinematics

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Processing Or Creating Images (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

적어도 화상 데이타에 의해 복잡 또는 자연적인 캐릭터의 작동을 재생 속도의 여하에 관계없이 표현할 수 있는 화상 생성 기술이 제공된다.
복잡한 프레임 화상으로부터 구성되는 원 화상에 대해 재생 속도 파라메타를 생성하는 파라메타 생성 회로(201), 재생 속도 파라메타가 지시하는 시간축 상의 위치의 전후에 존재하는 프레임 화상을 특정하고 동작 물체의 각각의 자세를 특정하기 위한 자세 특정 정보를 이용해서 시간축 상의 위치에 존재해야 할 프레임 화상에 대한 새로운 자세 특정 정보를 보간하는 시간축 보간 회로(202), 및 상이한 동작 물체의 동작 형태를 나타내는 2종류의 동화상의 각각에 대해 보간한 자세 특정 정보를 참조하고 가중 파라메타에 기초해서 2종류의 동화상 간의 가중 보간에 의해 새로운 자세 특정 정보를 생성하고 새로운 동작 형태를 나타내는 동화상을 얻는 가중 보간 회로(203 : 예를 들면, 「걷기」에 대해서는 M0A, 「달리기」에 대해서는 M0B로 한다)를 구비한다.

Description

화상 생성 장치 및 그 방법, 게임 장치, 및 기록 매체{IMAGE GENERATION APPARATUS, ITS METHOD, GAME MACHINE AND RECORDING MEDIUM}
통상의 비디오 신호는 피 표시체의 자세를 약간씩 변화시켜서 기록한 프레임 화상을 수직 동기 기간마다 순차 송출하고, 소위 피사체가 움직이고 있는 것처럼 관찰되는 동화상을 표시한다. 여기서, 프레임이란 하나의 완성된 프레임 화상을 표시하기 위한 기본적인 시간 단위를 말하며, 예를 들면, 수직 동기 기간에 상당한다. 또한, 프레임 화상이란 피사체의 일련의 움직임을 표시하기 위한 프레임 화상의 집합을 말한다.
비디오 게임기로 대표되는 화상 생성 장치에서도, 약간씩 변화시켜서 기록한 프레임 화상을 순차 송출함으로써 움직임이 있는 캐릭터(가상적으로 생성되는 동작 물체, 피사체)를 표시한다. 이 비디오 게임기에서는 CPU가 캐릭터 등의 프레임 화상을 비디오 블럭으로 순차 전송한다. 비디오 블럭에서는 CPU로부터 전송된 프레임 화상을 표시하게 한다. 즉, 비디오 게임기는 캐릭터의 일련의 동작(「걷기」나「달리기」)을 기록한 동화상 데이타를 CD-ROM 등의 대용량 기록 매체로부터 판독하고 그것에 기초하여 동화상을 표시하고 있었다.
동일한 동작을 반복한다고 하는 단순한 움직이라면 그 한 주기의 동화상 데이타만을 기억하고, 그것을 몇번이고 반복시키면 좋다. 「걷기」를 표시하는 데에는 캐릭터가 좌측 다리가 나오고, 우측 다리가 나오고, 다시 좌측 다리가 나올 때까지를 한 주기로 하여 이것을 반복하면 캐릭터가 연속하여 걷는 화상을 표시할 수 있다.
그러나, 실제로 존재하지 않는 가상적으로 만들어진 캐릭터에 복잡한 움직임을 시키는 것은 곤란하다. 예를 들면, 육상 경기의 경기자를 캐릭터로서 표시하는 경우, 캐릭터가 걷고 있는 상태에서부터 경보를 개시하고 서서히 스피드를 올려서 최후에 전력 질주하는 화상이 필요하다. 상기의 움직임은 서서히 변화하고, 다시 동일한 프레임 화상을 사용하는 일이 없으므로 일정한 동작을 반복하는 동화상 데이타를 몇번이나 반복할 수는 없다. 이 때문에 이들 움직임을 표시하기 위해서는 모든 프레임 화상을 구비할 필요가 있었다. 이것에서는 하나의 움직임을 기록하는 것만으로 막대한 메모리를 소비하게 되기 때문에 하나의 게임기로 다수의 경기를 수행하게 하는 것이 사실상 불가능하게 된다.
「걷기」나「달리기」라고 하는 전혀 다른 움직임을 연결시켜서 표시하면, 걷기의 상태로부터 갑자기 달리기의 상태로 이행하거나 그 반대의 움직임이 행해지거나 하기 때문에 현실감이 부족한 부자연스러운 영상이 되고 만다.
또한, 원 화상 데이타를 제조업체가 제작하는 데에는 시간이 걸린다. 따라서, 종래의 비디오 게임기에서는 새로운 동작 모습을 부가할 때마다 다량의 원 화상 데이타를 입력하지 않으면 안되어 소프트웨어를 공급하는 제조업체의 부담이 컸었다.
〈발명의 개시〉
그래서, 본 발명의 과제는 적은 화상 데이타에 의해 복잡 또한 자연스러운 캐릭터의 움직임을 표시할 수 있는 화상 생성 장치, 화상 생성 방법, 게임 장치 및 상기 화상 생성 방법을 제공할 수 있는 프로그램이 기록된 기록 매체를 제공하는 것이다.
본 발명의 제1 양상에 따른 화상 생성 장치는, 가상 공간 내에서 자세를 변화시키는 동작 물체를 시계열적으로 기록한 상이한 2 종류의 동화상으로부터 새로운 동화상을 생성하는 화상 생성 장치에 있어서, 2 종류의 동화상의 각각에 대하여, 프레임 화상마다 변화하는 자세를 특정하기 위하여, 최초의 프레임을 기점(基点)으로 하는 시간 축 상의 위치를 비율을 가지고 지시한 파라메타를 각 프레임에 할당하고, 상기 파라메타를 이용하여 시간 축 상의 소정 위치를 특정하여, 상기 소정 위치의 전후의 프레임 화상이 갖는 자세 특정 정보를 보간함으로써, 또는, 상기 소정 위치에 위치하는 프레임 화상이 있는 경우에는 그 프레임 화상이 갖는 자세 특정 정보를 이용함으로써, 상기 소정 위치의 프레임 1차 보간 화상을 생성하는 1차 보간 수단과, 상기 2 종류의 동화상에 관하여 동일 시간 축 상에서 대비 가능한 프레임 1차 보간 화상을 이용하여, 각각의 동작 물체에 사전에 정해진 자세 특정정보끼리를, 해당 2 종류의 동화상의 사이에서의 가중 비율을 나타내는 가중 파라메타에 기초하여 가중 보간함으로써, 상기 소정 위치의 프레임 2차 보간 화상을 생성하는 2차 보간 수단을 포함하고, 상기 2 종류의 동화상으로 나타내어지는 동작 물체의 중간적인 자세를 표시하게 하도록 구성한 것을 특징으로 한다. 2 종류의 동화상으로는, 예를 들면「걷기」와 「달리기」, 「쾌활한 걷기」와「피곤한 걷기」를 표시하는 것 등이 고려된다. 또한, 자세 특정 정보로는, 예를 들면 가상 공간에서의 공간 위치나 관절의 각도 정보가 고려된다. 또한, 중간적인 자세로는, 예를 들면 「걷기」와「달리기」 사이의 중간적인 「경보」 등이 고려된다. 또한, 파라메타는, 예를 들면, 최초의 자세를 0, 최후의 자세를 1로 하고, 그 사이의 자세를 비율로 나타낸 것을 이용할 수 있다.
본 발명의 제2 양상에 따른 화상 생성 장치는, 또한, 상기 프레임 1차 보간 화상을 생성하기 위해서 상기 2 종류의 동화상의 각각에 대하여 프레임 화상마다 변화하는 자세를 특정하기 위해서 사전에 할당된 파라메타를 참조하고, 외부로부터 제공된 재생 속도 파라메타에 서로 전후한 해당 파라메타를 갖는 두개의 프레임 화상을 특정하고, 특정된 두개의 프레임 화상이 갖는 두개의 자세 특정 정보를 보간함으로써, 상기 재생 속도 파라메타에 대응한 시간 축 상의 자세를 표시하는 프레임 화상에 대한 새로운 자세 특정 정보를 생성하는 시간 축 보간 수단과, 상기 프레임 2차 보간 화상을 생성하기 위해서 상기 시간 축 보간 수단이 생성한 동일 시간에 표시하여야 할 상기 프레임 화상에 대한 2 종류의 자세 특정 정보를 참조하고, 해당 2 종류의 동화상의 사이에서의 가중 비율을 나타내기 위해서 가중 파라메타에 기초하여, 이 참조한 두개의 자세 특정 정보를 가중 보간하여, 상기 새로운 자세를 표시하기 위한 자세 특정 정보를 생성하는 가중 보간 수단을 포함하는 것이 바람직하다.
본 발명의 제2 양상에 의하면, 상기 가중 보간 수단은 시간의 경과에 따라서 소정의 특성으로 상기 가중 파라메타를 변화시킨다.
또, 본 발명에 의하면, 상기 가중 보간 수단은 상기 가중 파라메타에 기초하여 상기 2개의 자세 특정 정보를 선형 보간한다.
본 발명에 의하면, 상기 자세 특정 정보는 상기 동작 물체에 미리 설정된 복수의 부위에 있어서의 상기 가상 공간 내에 있어서의 공간 위치를 규정하는 공간 위치 정보를 포함한다.
본 발명에 의하면, 상기 가중 보간은 2종류의 동화상 데이타로부터 얻어진 각각의 공간 위치를 (xA, yA), (xB, yB)로 하고, 가중 파라메타를 n(0≤n≤1)으로 한 경우, 상기 새로운 자세 특정 정보인 공간 위치 (X, Y)는,
(X, Y) = ((1-n)·xA + n·xB, (1-n)·yA + n·yB)
와 같은 식에 의해 계산될 수 있다.
본 발명에 의하면 상기 자세 특정 정보는 상기 동작 물체에 미리 설정된 복수의 회동 부분에 있어서의 회전축 주위의 회전각을 규정하는 각도 정보를 포함한다.
또, 본 발명의 상기 자세 특정 정보가 상기 각도 정보를 포함하는 경우, 상기 가중 보간은 2종류의 동화상 데이타로부터 얻어진 각각의 각도 정보를 (θxA,θyA), (θxB, θyB)로 하고, 가중 파라메타를 n(0 ≤ n ≤ 1)으로 한 경우, 상기 새로운 자세 특정 정보인 공간 위치 (θX, θY)는,
(θX, θY) = ((1-n)·θxA + n·xθB, (1-n)·θyA + n·θyB)
와 같은 식에 의해 계산될 수 있다.
본 발명에 의하면, 상기 2종류의 동화상 데이타는 상호 유사한 상기 동작 물체의 동화상을 표시하고, 또한, 시계열적인 변화의 시점에 있어서의 자세끼리 및 시계열적인 변화의 종점에 있어서의 자세끼리가 서로 유사하다.
본 발명에 의하면, 상기 화상 생성 장치는,
(a) 상기 가중 보간 수단이 참조하는 자세 특정 정보를 기억하는 메모리와,
(b) 상기 가중 보간 수단이 보간한 자세 특정 정보에 기초하여 상기 가상 공간 내에 있어서의 새로운 자세를 표시하기 위한 프레임 화상을 생성하는 화상 생성 회로를 더 포함할 수 있다.
또, 본 발명의 화상 생성 장치는,
(a) 상기 시간축 보간 수단이 참조하는 자세 특정 정보를 기억하는 메모리,
(b) 조작자가 재생 속도 정보를 입력하기 위한 입력 장치, 및
(c) 상기 입력 장치로부터 공급된 재생 속도 정보에 기초하여 상기 재생 속도 정보에 대응하여 생성될 자세를 특정하고, 특정한 자세를 지시하기 위한 상기 재생 속도 파라메타를 상기 시간축 보간 수단에 공급하는 파라메타 생성 회로를 포함할 수 있다.
본 발명의 화상 생성 장치에서, 상기 입력 장치가 공급하는 재생 속도 정보는 상기 입력 장치에 구비된 조작 버튼의 누름 정보이고, 상기 파라메타 생성 회로는 상기 누름 정보에 기초하여 단위 시간당 눌러진 상기 조작 버튼의 횟수에 기초하여 상기 재생 속도 파라메타의 크기를 조정한다.
본 발명은 상기 화상 생성 장치를 구비하고 게임 상의 캐릭터의 움직임을 특정하기 위해 상기 자세 특정 정보를 이용하는 게임 장치를 제공한다.
본 발명의 화상 생성 방법은, 가상 공간 내에서 자세를 변화시키는 동작 물체를 시계열적으로 기록한 상이한 2 종류의 동화상으로부터 새로운 동화상을 생성하는 화상 생성 방법에 있어서, 2 종류의 동화상의 각각에 대하여 프레임 화상마다 변화하는 자세를 특정하기 위해서, 최초의 프레임을 기점으로 하는 시간 축 상의 위치를 비율을 가지고 지시한 파라메타를 각 프레임에 할당하고, 상기 파라메타를 이용하여 시간 축 상의 소정 위치를 특정하여, 상기 소정 위치의 전후의 프레임 화상이 갖는 자세 특정 정보를 보간함으로써, 또는 상기 소정 위치에 위치하는 프레임 화상이 있는 경우는 그 프레임 화상이 갖는 자세 특정 정보를 이용함으로써, 상기 소정 위치의 프레임 1차 보간 화상을 생성하는 1차 보간을 행하는 공정과, 상기 2 종류의 동화상에 대해 동일 시간 축 상에서 대비 가능한 프레임 1차 보간 화상을 이용하여, 각각의 동작 물체에 사전에 정해진 자세 특정 정보끼리를, 해당 2 종류의 동화상의 사이에서의 가중 비율을 나타내는 가중 파라메타에 기초하여 가중 보간함으로써, 상기 소정 위치의 프레임 2차 보간 화상을 생성하는 2차 보간을 행하는 공정을 포함하고, 상기 2 종류의 동화상으로 나타내어지는 동작 물체의 중간적인 자세를 표시하게 하도록 처리하는 것을 특징으로 한다.
또, 본 발명은 컴퓨터로 상기 화상 처리 방법의 공정들을 처리하는 프로그램이 기억되어 있는 기계 판독 가능한 기록 매체를 제공한다.
본 발명에 있어서,
「동작 물체」란, 경기자 등의 캐릭터 등을 의미한다.
「동화상 데이타」란, 동작 물체를 시계열적으로 기록한 프레임 화상으로 구성된다. 예를 들면, 우측 다리가 나오고, 좌측 다리가 나오고, 다시 우측 다리가 나올 때까지의 일련의 동작을 표시하는 데이타를 말한다.
「2 종류의 동화상 데이타」란, 예를 들면 「걷기」와「달리기」,「쾌활한 걷기」와「피곤한 걷기」등의 관계를 말한다.
「자세 특정 정보」란, 예를 들면, 「걷기」와「달리기」사이의 중간적인 「경보」등의 자세를 말한다.
「파라메타」란, 예를 들면 동화상 데이타의 최초의 자세를 0, 최후의 자세를 1로 하고, 그 사이의 자세를 비율로 도시하는 것이다.
「소정의 특성」이란, 예를 들면 시간의 경과에 따라 파라메타가 직선적으로 혹은 곡선적으로 변화하는 특성을 말한다.
「동작 물체에 미리 설정된 복수의 부위」란, 예를 들면 인간의 팔, 다리, 몸통, 머리 등의 각 부위를 말한다.
「회동(回動) 부분」이란, 예를 들면 인간의 관절 부분을 말한다.
「상호 유사한 동작 물체의 동화상」이란, 예를 들면 「걷기」와 「달리기」 등, 다리와 팔을 움직이는 순서가 동일하고 움직이는 정도가 다른 관계를 갖는 동화상끼리를 말한다.
「시계열적인 변화의 시점에 있어서의 자세끼리 및 시계열적인 변화의 시점에 있어서의 자세끼리」란, 예를 들면 「걷기」와 「달리기」이면 최초의 자세가 좌측 다리와 우측 손을 가장 올린 상태, 최후의 자세가 최초의 자세인 하나 앞의 프레임에 상당하는 화상의 자세를 말한다.
「기억 매체」란, RAM(휘발성, 비휘발성 등에 상관 없음), ROM(EPROM, EEPROM 등을 포함), 광 디스크(CD, CD-ROM, CD-R, WOROM 등 각종 광자기 기록 매체), IC 카드 등의 디바이스 메모리, 플렉시블 디스크, 자기 디스크(하드 디스크) 등의 자기 기록 매체 등 외에 통신 회선(공중 회선, 데이타 전용선, 위성 회선 등)을 통해 호스트 컴퓨터로부터 데이타의 전송을 수신하는 경우를 포함하도록 한다.
본 발명은 게임 등의 동화상을 처리하는 화상 생성 장치에 관한 것으로, 특히, 동작 물체의 상이한 동작(걷고 있는 상태나 달리고 있는 상태 등) 간의 중간적인 자세를 생성함으로써 보다 현실적인 움직임을 실현하는 화상을 생성할 수 있는 기술에 관한 것이다.
도 1은 본 발명의 실시 형태에 있어서의 화상 생성 장치를 구비한 게임기의 구성도.
도 2는 본 발명의 실시 형태에 있어서의 화상 생성 장치의 기능 블럭도.
도 3은 본 발명의 실시 형태의 메인 처리를 설명하는 순서도.
도 4는 본 발명의 실시 형태에 있어서의 1차 보간과 2차 보간과의 관계를 도시한 설명도.
도 5는 본 발명의 실시 형태에 있어서의 1차 보간의 연산 방법의 설명도.
도 6은 본 발명의 실시 형태에 있어서의 1차 보간 처리를 설명하는 순서도.
도 7은 본 발명의 실시 형태에 있어서의 2차 보간의 연산 방법의 설명도.
도 8은 본 발명의 실시 형태에 있어서의 2차 보간 처리를 설명하는 순서도.
<발명을 실시하기 위한 최량의 형태>
이하, 본 발명의 적절한 실시 형태를 도면을 참조하여 설명한다.
(1) 구성
도 1에는 본 발명의 실시 형태에 있어서의 화상 생성 장치를 이용한 비디오 게임기의 블럭도를 도시한다. 본 화상 생성 장치는 장치 전체를 제어하는 CPU 블럭(10), 게임 화면의 표시를 제어하는 비디오 블럭(11), 효과음 등을 생성하는 사운드 블럭(12), CD-ROM를 판독하는 서브 시스템(13)으로 구성된다.
〈CPU 블럭의 구성〉
CPU 블럭(10)은 본 발명의 가중 보간 수단, 시간축 보간 수단 및 파라메타 생성 수단으로서 동작한다. CPU 블럭(10)은 SCU(System Control Unit: 100), 메인 CPU(101), RAM(102), ROM(103), 카트리지 인터페이스(I/F: 1a), 서브 CPU(104), CPU 버스(105) 등으로 구성된다.
메인 CPU(101)는 내부에 DSP(Digital Signal Processor)를 구비하고, 컴퓨터 프로그램을 고속으로 실행할 수 있다. RAM(102)은 본 발명의 메모리로서 동작하고, 모니터 장치로 표시하는 경기자의 자세 특정 정보의 기억 외에 메인 CPU(101)의 작업 영역으로서 사용된다. ROM(103)은 장치의 초기 상태에 있어서 수행하는 초기화 처리를 위한 초기화 프로그램을 저장한다. SCU(100)는 버스(105, 106, 107)를 통해 행해지는 데이타의 전송을 총괄한다. 또한, SCU(100)는 내부에 DMA 컨트롤을 구비하고, 게임의 실행 중에 필요하게 되는 화상 데이타를 비디오블럭(11) 내의 VRAM으로 전송한다. 카트리지 I/F1a는 ROM 카트리지의 형태로 공급되는 어플리케이션 소프트(게임용의 컴퓨터 프로그램)를 판독하는 창구가 된다.
패드(2b)는 본 발명의 입력 수단으로서 작용하고, 조작 버튼으로서 방향 지시를 위한 십자 커서 키, 재생 속도 정보에 대응하는 스피드 버튼, 점프 동작에 대응하는 점프 버튼 등이 구비되어 있다. 서브 CPU(104)는 SMPC(System Manager & Peripheral Control)라고 불리고, 메인 CPU(101)로부터의 요구에 따라 패드(2b)로부터 커넥터(2a)를 통해 데이타(주변 데이타)를 모아서 통합하는 기능을 구비한다. 메인 CPU(101)는 서브 CPU(104)로부터 전송된 주변 데이타에 기초하여 디스플레이에 표시하는 화상의 이동 등의 처리를 행한다. 커넥터(2a)에는 패드, 조이스틱, 키보드 중, 임의의 주변 기기를 접속할 수 있다. 서브 CPU(104)는 커넥터(2a: 본체측 단자)에 접속한 주변 기기의 종류를 판정하고, 판정한 주변 기기의 종류에 따른 통신 방식에 따라 주변 데이타를 수집한다.
〈비디오 블럭의 구성〉
비디오 블럭(11)은 본 발명의 화상 생성 수단으로서 동작한다. 비디오 블럭(11)은 이 비디오 게임의 화상 중, 주로 인물, 차 등의 동작 물체의 화상(이하 「캐릭터」라고 함)을 생성하기 위한 VDP(Video Display Processor: 120), 배경 화면을 위한 화상의 합성, 어두운 화면 처리(클립핑)를 수행하는 VDP(130)을 구비한다. VDP(120)는 VRAM(121) 및 프레임 버퍼(122, 123)로 접속한다.
캐릭터를 복수의 삼각형 또는 사각형 등의 도형의 집합으로 표시한 경우의 각 도형을 폴리곤이라고 하며, 각 도형의 정점 좌표의 집합을 폴리곤 데이터라고한다. 동작 물체인 경기자는 팔, 대퇴부, 정강이, 몸통, 머리부 그 밖의 부위의 집합으로 구성된다. 이들 부위는 부위마다 하나로 합쳐서 움직일 필요가 있기 때문에, 부위를 폴리곤의 집합체(「폴리곤 그룹」이라고 함.)로 구성하고, 폴리곤 그룹마다 일체로서 동작시킨다. 폴리곤 그룹마다의 상대적 위치 관계를 특정하는 것이 자세 특정 정보이다. 자세 특정 정보로서는 본 실시 형태에서는 경기자의 신체의 각 부위의 가상 공간 내에 있어서의 공간 위치를 특정하는 공간 위치 정보, 및 경기자의 신체에 있는 각 관절의 굽히는 방법을 규정하는 각도 정보를 고려한다.
게임용의 가상 화상(이하「게임 화상」이라고 함)을 생성할 때, 표시에 필요한 폴리곤 데이타가 메인 CPU(101)로부터 SCU(100)를 통해 VDP(120)로 전송되어 VRAM(121)에 기록된다. RAM(102)에 저장되는 보간 데이타는 본 발명의 보간 처리에 의해 생성된 자세 특정 정보이다. CPU(101)는 이 보간 데이타를 참조하고, 다음에 표시될 폴리곤 그룹의 자세 특정 정보를 계산하고, 이 자세로 각 폴리곤을 표시하게 하는 좌표 변환 매트릭스를 폴리곤 데이타와 함께 VRAM(121)으로 전송한다. VRAM(121)에 기록된 폴리곤 데이타는 1화소당 16비트 또는 8비트의 색 정보를 포함하는 화상용 데이타로서 화상용 프레임 버퍼(122, 123)에 저장된다. 저장된 화상용 데이타는 VDP(130)로 전송된다. 메인 CPU(101)는 SCU(100)를 통해 묘화를 제어하는 제어 정보를 VDP(130)로 공급한다. VDP(120)는 이 제어 정보에 따라 묘화용 데이타를 처리한다.
VDP(130)는 VRAM(131)에 접속된다. VDP(130)는 화면 전체를 상하 좌우로 이동시키거나 회전시키는 스크롤 기능과, 다수의 표시 화면의 표시 순서를 결정하는우선 순위 기능을 구비한다. VDP(130)는 화상 데이타를 메모리(132)를 통해 엔코더(160)로 출력한다. 엔코더(160)는 이 화상 데이타에 동기 신호 등을 부가하여 비디오 신호의 형식으로 변환한 후, D/A 변환을 수행한 비디오 신호를 출력한다. 모니터 장치(5)는 비디오 신호에 기초하여 화상을 표시한다.
〈기타 블럭의 구성〉
사운드 블럭(12)은 PCM 방식 또는 FM 방식에 의해 음성 합성을 수행하는 DSP(140)와, DSP(140)를 제어하는 CPU(141)로 구성된다. DSP(140)에 의해 생성된 음성 데이타는 D/A 변환기(170)에 의해 2채널의 신호로 변환된 후 스피커(5a, 5b)로 출력된다.
서브 시스템(13)은 CD-ROM 드라이브(1b), CDI/F(180), CPU(181), MPEG 음성 프로세서(182), MPEG 화상 프로세서(183) 등으로 구성된다. 서브 시스템(13)은 CD-ROM 등의 기록 매체에 의해 공급되는 어플리케이션 소프트웨어의 판독, 동화상의 재생 등을 수행하는 기능을 구비한다. CD-ROM 드라이브(1b)는 CD-ROM으로부터 데이타를 판독한다. CPU(181)는 CD-ROM 드라이브(1b)의 제어, 판독된 데이타의 오류 정정 처리를 행한다. CD-ROM으로부터 판독된 데이타는 CDI/F(180), 버스(106), SCU(100)를 통해 메인 CPU(101)로 공급된다. MPEG 음성 프로세서(182), MPEG 화상 프로세서(183)는 동화상의 고능률 부호 압축에 관한 국제 표준 규격의 하나인 MPEG(Motion Picture Expert Group) 규격에 따라 압축된 데이타를 복호한다. MPEG 음성 프로세서(182), MPEG 화상 프로세서(183)를 이용하여 동화상의 복호를 수행함으로써 동화상을 재생하는 일이 가능하게 된다.
〈기능 블럭의 구성〉
도 2에는 본 발명을 기능 별로 특정한 경우의 기능 블럭의 구성을 도시한다.
패드(2b)는 본 발명의 입력 장치로서 기능한다. CPU 블럭(10)은 파라메타 생성 회로(201), 시간축 보간 회로(202) 및 가중 보간 회로(203)로서 기능한다. RAM(102)은 메모리로서 비디오 블럭(11)은 화상 생성 회로로서 기능한다. CD-ROM으로부터는 프로그램 데이타의 판독과 병행하여, 2종류의 다른 동작 기능(예를 들면, 경기자의 「걷기」와 「달리기」)에 대해 프레임마다의 폴리곤 그룹의 자세 특정 정보(이하 「모션 데이타」)라고 함)가 메모리(102)에 전송된다. 각 모션 데이타를 「걷기」에 대해서는 M0A,「달리기」에 대해서는 M0B로 표시한다.
패드(2b)에 있어서, 조작 버튼(K1)은 스피드 버튼이다. 스피드 버튼(K1)은 눌러질 때마다 펄스가 출력된다. 이 펄스가 재생 속도 정보로서 파라메타 생성 회로(201)에 공급된다. 조작 버튼(K2)은 점프 버튼이다. 예를 들면 게임 프로그램이 육상 경기의 넓이 뛰기를 테마로 하는 경우, 경기자에게 도약시키는 타이밍으로 이 점프 버튼(K2)을 누른다. 조작 버튼(K3)은 메뉴 버튼이다. 게임을 중단하고 메뉴 화면 등을 표시하고자 할 때 리셋 버튼을 누른다. 십자 커서 키(K4)는 방향 지시 버튼이다. 이것은 메뉴를 선택하거나 경기자의 주행 방향을 지시하거나 할 때에 이용된다.
파라메타 생성 회로(201)는 패드(2b)로부터 공급되는 재생 속도 정보에 포함되는 단위 시간당 펄스 수를 계산하고 메모리(102)에 기억된 모션 데이타 전체를 구성하는 프레임 화상의 수에 기초하여 재생 속도 파라메타(1차 보간 파라메타: P1)를 산출한다.
시간축 보간 회로(202)는 메모리(102)에 기억된 모션 데이타(M0)의 자세 특정 정보를 참조하고, 파라메타 생성 회로(201)로부터 공급된 재생 속도 파라메타(P1)가 지시하는 시간축 방향의 위치의 직전의 전후에 존재하는 프레임 화상을 특정한다. 그리고 이 시간축 상의 위치에 상당하는 프레임 화상을 나타내기 위한 자세 특정 정보를 시간축 보간(1차 보간) 처리에 의해 생성하고, 다시 메모리(102)에 저장한다.
시간축 보간을 수행한 자세 특정 정보를 1차 보간 데이타(M1)라고 한다. 시간축 보간 회로(202)는 2종류의 다른 모션 데이타의 각각에 대해 2개의 1차 보간 데이타(M1A, M1B)를 생성한다. 1차 보간은 모션 데이타가 서로 전후하는 프레임의 자세 특정 정보를 선형 보간하여 생성된다.
가중 보간 회로(203)는 시간축 보간 회로(202)에 의해 생성된 1차 보간 데이타(M1A, M1B)를 참조한다. 그리고, 두개의 1차 보간 데이타가 도시하는 동작 모양을 가중 파라메타(2차 보간 파라메타: P2)가 도시한 비율로 가중 보간(2차 보간)하고, 새로운 자세 특정 정보를 생성한다. 가중 보간을 행한 자세 특정 정보를 2차 보간 데이타(M2)라고 한다.
메모리(102)는 자세 특정 정보를 기억한다. 이 메모리는 시간축 보간 수단(202) 및 가중 보간 회로(203)의 쌍방으로부터 데이타를 기록 또한 판독하게 한다. 또한 메모리(102)에는 게임 프로그램의 본체 및 각종 화상 데이타가 기록된 CD-ROM으로부터 화상 데이타의 일부가 전송되는 경우가 있다.
화상 생성 회로(11)는 2차 보간 데이타(M2)에 기초하여 새로운 자세의 동화상을 구성하는 프레임 화상을 생성하고, 모니터 장치(5)에 공급한다.
(II) 동작
도 3에는 본 발명의 실시 형태에서 본 발명의 화상 생성을 위한 순서도를 도시한다.
본 발명의 실시 형태에서 실행된 게임 프로그램은 육상 경기를 테마로 한 것이다. 사용자는 게임 프로그램이 준비한 복수의 경기 종목중에서 임의의 것을 선택한다. 경기 종목을 선택하기 위해서는 사용자는 패드(2b)의 메뉴 버튼(k3)을 누른다. 메뉴 화면에는 게임 플레이로서 준비된 경기, 예를 들면, 「창던지기」,「110m 허들」, 「100m 달리기」, 「넓이 뛰기」를 선택하기 위해서 메뉴 바가 표시된다. 경기자는 커서 키(k4)를 눌려 플레이하고자 하는 경기 종목이 표시된 메뉴 바가 있는 곳으로 커서를 이동시켜서 그 경기 종목을 선택한다. 본 발명의 실시 형태에서는 「넓이 뛰기」를 선택한 것으로서 이하 설명한다.
스텝 S1은 프레임 화상의 표시 타이밍(여기에서는 1/60초)을 갖기 위한 타이머로서 작동한다. 표시 타이밍이 된 것을 CPU(101)가 검출하면(스텝 S1 : YES) 비디오 클럭(11)은 모니터 장치에 표시하는 경기자 등을 구성하는 폴리곤 표시 위치를 계산한다(스텝 S2). 다음의 프레임 화상의 표시 타이밍으로 표시해야 할 화상의 정보는 CPU(101)에 의해 사전에 VRAM(121)으로 공급되어 있다. VDP(120)는 VRAM(121)으로 기억된 정보를 이용하여 소정의 시점부터 관찰할 가상 공간의 투시 화상을 생성한다. 좌표 변화를 수행하면 텍스쳐 데이타의 부착이 행해져서 VDP(130)는 폴리곤의 묘화를 행한다(스텝 S3).
스텝 S4에서 CPU(101)는 게임 처리를 행한다. 즉, 경기자의 가상 공간 내에서의 위치나 패드(2b)로부터의 지시 내용에 따라서 동작 형태를 결정한다. 「넓이 뛰기」의 경기에서 최초 경기자는 출발선에 정지되어 있다. 여기에서 사용자가 패드(2b)의 스피드 버튼(k1)을 누름으로써 스피드 버튼(k1)이 눌러지는 정도로 펄스가 패드(2b)로부터 커넥터(2a), 서브 CPU(104)를 통해 CPU(101)로 전송된다. CPU(101)는 이 펄스를 재생 속도 정보로서 입력하고 단위 시간당 눌러지는 횟수에 기초해서 재생 속도 파라메타(P1)를 생성한다. 스피드 버튼(k1)을 더 빈번하게 누르면 경기자의 「걷기」의 주기가 짧아지는 것만큼「걷기」에서 서서히 「달리기」의 동작으로 이행한다. 그리고 발판 직전에 최고의 스피드가 된다. 경기자가 발판의 위치에 도달할 때 사용자가 점프 버튼(k3)을 누르면 「점프」에 따른 모션 데이타에 기초해서 경기자가 「점프」한다.
그래서 경기자의 새로운 동화상을 생성하는 기본이 되는 데이타가 상기 모션 데이타이다. 모션 데이타는 동일한 움직임을 재현할 수 있게 만족하는 프레임 화상에 대해 자세 특정 정보로 구성된다. 예를 들면, 「걷기」의 움직임을 반복하기 위해서는 경기자의 좌측 발이 가장 올라간 위치로부터 우측 발이 올라가서 다시 좌측 발이 다 올라가기까지의 프레임 화상이 있으면 좋다. 모션 데이타는 이 일련의 프레임 화상(수십 프레임)분의 자세 특정 정보를 구비하게 된다. 이상에 의해 경기자의 움직임이 「걷기」만, 「달리기」만 혹은 「점프」할 때는 각각의 움직임을 위해서 CD-ROM이 제공하는 모션 데이타를 이용하여 경기자의 화상을 반복하여 표시하면 좋다.
그러나, 모션 데이타를 그대로 표시하는 것만으로는 경기자의 이동 속도를 바꿀 수는 없다. 동일한 움직임 그대로(예를 들면 「걷기」만) 이동 속도를 바꿔서 표시하기 위한 보간이 시간축 보간(1차 보간)이다. 이것을 서브 루틴(Sub1)에서 수행한다.
또한, 「넓이 뛰기」와 같은 종목에서는 경기자의 움직임이 「걷기」에서 「달리기」로 서서히 바뀌기 때문에, 「걷기」나 「달리기」라고 할 수 없는 중간적인 동작 형태가 필요하게 된다. 「걷기」도 「달리기」도 하나의 모션 데이타로 실현되기 때문에, 어느 하나의 데이타를 선택하여 표시하는 것만으로는 중간적인 동작 형태는 얻을 수 없다. 또한, 중간적인 동작 형태를 하나 하나 모션 데이타로서 가질 수 있지만 경기마다 무한한 조합이 생길 수 있는 중간적인 동작 형태 각각을 위해 모션 데이타를 준비하는 것은 낭비이다. 이 문제를 해결하기 위해서는 보간 처리가 본 발명의 가중 보간(2차 보간)이다. 가중 보간은 기본적인 동작 형태의 모션 데이타만으로 중간적인 동작 형태를 생성하는 것을 가능하게 하는 보간 처리이다. 이것을 서브 루틴(Sub2)에서 수행한다.
이동 속도를 조정하는 1차 보간은 항상 필요한 처리이므로 반드시 메인 처리 중에서 정기적으로 행한다(Sub1). 이에 대해 중간적인 동작 상태를 표시하는 2차 보간은 중간적인 동작이 필요하게 되는 특정한 상태만으로 수행하면 좋다(예를 들면, 「넓이 뛰기」의 경보 구간만 「걷기」와 「달리기」의 중간적인 동작이 필요하고, 「점프」하고 있는 구간에는 필요 없다). 이 관점으로부터 2차 보간 처리를 행할 필요가 있을 지의 여부(스텝 S5, 스텝 S6)를 판정하고, 필요가 있을 때에만(예) 2차 보간 처리를 행한다(Sub2).
스텝 S7에서 CPU(101)는 보간이 끝난 데이타를 메모리(RAM : 102)로부터 판독하여 이것에 대응하는 폴리곤 루프의 데이타를 비디오 클럭(11)으로 전송한다.
<1차 보간 처리의 원리>
도 4에는 모션 데이타로부터 1차 보간 처리에서 2차 보간 처리가 행해지기까지의 화상의 변화의 설명도를 도시한다. 상기 도면에서는 첨부 글자 A는 「걷기」동작을 의미하고, 첨부 글자 B는 「달리기」 동작을 의미한다.
우선, 재생 속도 파라메타의 결정 방법을 설명한다. 각 모션 데이타 M0A나 M0B는 각 자신의 동화를 표시하기 위해서 충분한 프레임 화상수로 구성된다. 예를 들면, 「걷기」의 동작은 천천히 행해지기 때문에, 모션 데이타 M0A의 프레임 화상수는 많아진다(예를 들면 70 프레임 정도). 이에 대해, 「달리기」의 동작은 천천히 표시하는 경우가 아니기 때문에, 모션 데이타 M0B의 프레임 화상수는 적어진다(예를 들면 50 프레임). 동일 도면에서는 도시의 간략화를 위해, M0A를 8프레임 구성, M0B를 5프레임으로서 도시하고 있다.
또한, 2차 보간을 수행하기 위해서는 2개의 다른 동작 상태가 유사한 동작을 하는 것이 바람직하다. 예를 들면, 「걷기」와 「달리기」에서는 우측 손과 좌측 손, 우측 발과 좌측 발을 교대로 내놓는 동작이기 때문에, 여기서 이것을 「유사」한 동작으로 생각할 수 있다. 이 유사한 동작은 기본 자세가 유사한 것을 요구하고 있다. 즉, 양 모션 데이타 M0A와 M0B에서의 최초의 프레임 화상을 경기자가 좌측 발을 가장 올린 동작, 중간의 프레임 화상을 우측 발을 가장 올린 동작, 최후의 프레임 화상을 최초의 프레임 화상의 하나 전의 프레임에 상당하는 동작이 되도록 하는 화상 데이타를 작성해 둔다. 따라서, 각 모션 데이타를 그대로 이용하여 표시한 경우, 어느 하나의 동작에서도 경기자는 좌측 발을 올리고나서 다시 좌측 발을 올리기까지의 동작을 수행하지만, 표시 기간이 달라진다. 표시 기간이 다르다는 것은 각 모션 데이타의 프레임 화상끼리를 그대로 이용하여 2차 보간을 수행하는 것이 불가능하다는 것을 의미한다.
그래서, 본 발명에서는 파라메타라고 하는 개념을 이용한다. 동일한 파라메타라면 어느 하나의 모션 데이타라해도 동일한 동작을 지정할 수 있도록 한다. 파라메타는 각 시간축 상의 위치를 최초의 기본 자태(제1 프레임)를 기점으로 하는 각 프레임의 시간축 상의 위치를 비율로서 나타낸 것이다. 도 4에는 두 모션 데이타의 최초의 프레임을 0, 최후의 프레임을 1로 하고, 각 모션 데이타의 프레임수로서 0 내지 1의 구간을 균등하게 구분한다. 모션 데이타 M0A이면 프레임 수가 8이므로 1 프레임당 파라메타 변화량 0.125(=1/8)를 할당한다. 모션 데이타 M0B이면 프레임 수가 5이므로 1프레임당 파라메타 변화량 0.2(=1/5)를 할당한다. 또, 파라메타 변화량 Δp는
Δp=1/ 모션 데이타를 구성하는 프레임 수
로 구할 수 있다.
1차 보간 처리의 서브 루틴(Sub1)이 호출될 때마다 다음에 표시해야 할 프레임 화상을 재생 속도 파라메타의 값에 따라 지정한다. 재생 속도를 올리고 싶을 때에는 프레임마다 증가시키는 재생 속도 파라메타의 변화량을 크게 한다. 또한, 재생 속도를 내리고 싶을 때에는 재생 속도 파라메타의 변화량을 작게 한다. 또한, 재생 속도 파라메타의 변화량을 마이너스로 하면 역회전 재생이 된다.
그래서, 재생 속도가 원 모션 데이타와 다른 경우 메모리(102)에 기록되어 있지 않은 자세 특정 정보 및 프레임 화상이 필요하게 된다. 이 기록되지 않은 프레임 화상을 전후의 프레임 화상으로부터 보간하여 생성하는 처리가 1차 보간 처리(시간축 보간)이다. 여기에서는 「걷기」 동작의 재생 속도를 1.5배로 증가하는 것을 생각할 수 있다. 즉, 모션 데이타 M0A의 각 프레임에 할당되는 파라메타를 1.5배하면 재생 속도 파라메타(P1)를 얻을 수 있다. 동일 도면에서는 제2 프레임에 상당하는 파라메타 0.125를 1.5배 하면 0.1875, 제4 프레임에 상당하는 0.375를 1.5배하면 0.5625가 되지만 이들 재생 속도 파라메타에 대응하는 프레임 화상은 존재하지 않는다. 재생 속도 파라메타가 도시하는 시간축 상의 위치에 대응하는 프레임 화상이 존재하지 않는 경우는 이 시간축 상의 위치 전후에 존재하는 프레임 화상의 자세 특정 정보를 참조하고, 재생 속도 파라메타가 도시하는 시간축 상의 위치에서의 프레임 화상의 자세 특정 정보를 생성한다. 예를 들면, 재생 속도 파라메타 0.1875에 대응하는 프레임 화상의 자세 특정 정보를 생성하기 위해서는 제2 프레임 화상(파라메타 0.125)과 제3 프레임 화상(파라메타 0.250)의 각 자세 특정 정보를 참조한다. 이것을 도 5를 참조하여 설명한다.
도 5에는 경기자의 팔 부분을 예로 들어 팔꿈치의 관절에서의 자세 특정 정보의 1차 보간을 설명하는 도면이다. 이해가 용이하도록 공간 위치, 좌표로 2차원으로 생각한다. 프레임 화상(1)은 파라메타(P0)가 할당되어 관절(O1)의 공간 위치의 좌표가 (x1, y1), 관절의 각도가 θ1이다. 프레임 화상(2)은 파라메타 P0+Δp가 할당되어 관절(O2)의 공간 위치의 좌표가 (x2, y2), 관절의 각도가 θ2이다. Δp는 모션 데이타를 구성하는 프레임 수로부터 정해진 프레임 화상마다의 파라메타 변화량이다.
양 프레임 화상 사이를 예를 들면, m : 1-m (0≤m≤1)의 비율로 분할한 시간축 상의 위치 프레임 화상을 얻는 경우, 1차 보간을 한 1차 보간 데이타의 공간 위치 Om의 좌표 및 각도 θm은 선형적으로 보간하면 다음 식이 된다.
공간 위치 Om=((1-m)·x1+m·x2, (1-m)·y1+m·y2)
각도 θm=(1-m)·θ1+m·θ2
즉, 재생 속도 파라메타(P1)가 표시하는 시간축 상의 위치를 구할 수 있다면, 그 전후의 프레임 화상과 구간을 분할하는 비율 m을 알 수 있으므로 위 식에 기초해서 1차 보간한 자세 특정 정보를 연산할 수도 있다.
도 6에는 1차 보간(시간축 보간) 처리를 설명하는 순서도를 도시한다. 1차 보간 처리는 CPU(101)를 중심으로 한 기능 블럭(시간축 보간 회로 : 202)을 행한다. 본 실시 형태에서는 2차 보간 처리도 수행하기 때문에 2차 보간을 위해 필요한 2개의 모션 데이타 각각에 대해 사전에 1차 보간 처리를 수행하는 것이 바람직하다. 도 6은 이 가운데 한 쪽의 모션 데이타(「걷기」의 동작)의 보간 처리만을 도시한다.
우선, 파라메타 생성 회로(201)는 재생 속도 파라메타(P1)를 결정한다. 즉, 전회의 프레임으로 계산한 재생 보간 파라메타(P1)의 값으로 파라메타 변화량 Δp' 재생 속도의 배율을 가산한다. 재생 속도 파라메타의 값이 1을 넘은 경우에는 일주기의 재생이 끝나 다음의 주기로 들어간 것을 도시하므로 1의 단위를 0으로 되돌리고(1을 뺌), 소수점 이하를 유효 숫자로 한다. 예를 들면, 도 4의 제6 프레임의 재생 속도 파라메타를 계산한 경우 전회의 재생 속도 파라메타(P1: 0.9375)에 파라메타 변화량 Δp(0.125)×재생 속도의 배율(1.5)을 더하면 1.125가 된다. 재생 속도 파라메타가 1을 넘으므로 이 재생 속도 파라메타를 0.125로 리셋하기 때문이다.
스텝 S101에서 결정한 재생 속도 파라메타(P1)에 기초해서 1차 보간의 비율 m을 계산하고 1차 보간 처리를 행한다. 입력된 공간 위치 정보(OmA)는 메모리에 저장한다(스텝 S102). 마찬가지로, 스텝 S103에서 재생 속도 파라메타(P1)에 기초해서 관절의 각도에 대한 1차 보간을 수행한다. 입력된 각도 정보 θmA는 일단 메모리에 저장한다(스텝 S104). 보간을 수행하지 않은 관절이 있는 경우는(스텝 S105 : 아니오) 스텝 S103 내지 S104를 반복하고, 모든 관절의 1차 보간을 행한다(스텝 S105 : 예).
<2차 보간 처리의 원리>
도 7에는 2차 보간(가중 보간)의 설명도를 도시한다. 2차 보간은 1차 보간 처리에 의해 동일 시간축 상의 위치에 상당하는 프레임 화상으로서 동일 물체에 대해 서로 다른 동작 형태를 도시하는 프레임 화상을 얻을 수 있어 비로소 연산할 수 있다.
프레임 화상 A 및 프레임 화상 B는 1차 보간된 자세 특정 정보에 의해 표시되는 프레임 화상을 도시한 것이다. 프레임 화상 A는 예를 들면 모션 데이타 M0A를 1차 보간한 화상이고 폴리곤 데이타의 중심 0A의 좌표가 (xA, yA)이다. 프레임 화상 B는 프레임 화상 A와 같은 시간축 상의 위치에 상당하는 화상으로, 예를 들면, 모션 데이타 M0B를 1차 보간한 화상이고, 폴리곤 데이타의 중심 0B의 좌표가(xB, yB)이다. 2차 보간은 1차 보간과 동일한 방식으로 처리된다. 1차 보간에서는 재생속도 파라메타의 값으로부터 보간하는 비율이 하나로 정해졌지만, 2차 보간에서는 독립하여 설정된 가중 파라메타 n을 보간 비율(가중)로 이용한다. 프레임 화상 A와 프레임 화상 B를 가중 파라메타 n으로 직선적인 특성으로 보간하는 것이라고 하면, 보간 화상의 공간 위치 On은,
공간 위치 On=((1-n)·xA+n·xB, (1-n)·yA+n·yB)
가 된다. 또한, 프레임 화상 A와 프레임 화상 B 사이에서 부위가 회전한 각도를 θC로 하면 보간 화상의 각도 θn은,
각도 θn= n ·θC
가 된다. n은 미리 프로그램으로 설정하여 변화시키면 좋다. 예를 들면, 파라메타 n의 값을 프레임마다 단조 증가(또는 감소)하는 선형적인 변화이어도 좋고, 임의의 특성에 따라 곡선적으로 변화시켜도 좋다. 즉, 화상을 관찰할 때 보다 자연적인 동작의 변화가 인식되는 특성으로 가중 파라메타 n을 변화시켜도 좋다.
2차 보간을 도 4에 설명한다. 가중 파라메타(P2: 상기 n에 상당)는 모션 데이타 M0A의 1차 보간 데이타 M1A에 대해 모션 데이타 M0B의 1차 보간 데이타 M1B를 어느 정도 가중하여 보간할 지를 결정하는 계수이다. 즉, P2=0이면 1차 보간 데이타 M1B는 전혀 가중되지 않고, 2차 보간 데이타 M2는 모션 데이타 M0A의 1차 보간 데이타 M1A그 자체이다. 반대로, P2=1이면 1차 보간 데이타 M1A쪽이 전혀 가중되지않고, 2차 보간 데이타 M2는 모션 데이타 M0B의 1차 보간 데이타 M1B그 자체이다. 동일 도에서는 제1 프레임의 가중 파라메타 P2는 0이므로 1차 보간 데이타 M1A만이 표시되어 있지만, 제2 프레임에서 제6 프레임까지는 가중 파라메타 P2가 0.2씩 직선적으로 증가한다. 즉, 최초의 프레임 화상은 「걷기」였던 경기자가 서서히 경보를 개시하고, 제6 프레임 이후에서는 최고의 스피드인 「달리기」로 자연히 이행하는 보간 화상이 생성된다.
도 8에는 2차 보간(가중 보간) 처리를 설명하는 순서도를 도시한다. 2차 보간은 CPU(101)를 중심으로 한 기능 블럭(가중 보간 회로 : 203)을 수행한다. 2차 보간 처리가 필요한 경우(도 3에서 스텝 S5 : 예), 2차 보간 처리의 서브 루틴(Sub2)을 실행한다.
스텝 S201에서, 우선 보간 대상이 되는 모션 데이타 M0B에 대해 Sub1의 스텝 S101과 동일한 순서로 1차 보간을 행한다(스텝 S201). 1차 보간에 의해 생성된 공간 위치 정보 OmB는 Sub1의 스텝 S102에서 메모리에 기억한 공간 위치 정보 OmA와 함께 가중 파라메타(P2)에 의해 2차 보간된다(스텝 S202). 생성된 새로운 공간 위치 정보 On은 다시 메모리에 저장된다(스텝 S203).
마찬가지로, 각도 정보에 대해서도 Sub1의 스텝 S103과 동일한 순서로 각도 정보 θmB를 생성하고(스텝 S204), 메모리에 기억된 각도 정보 θmA와 함께 2차 보간된다(스텝 S205). 생성된 각도 정보 θn은 다시 메모리에 저장된다(스텝 S206). 각도 정보에 대해서는 모든 관절에 대해 보간을 행했었는지가 인식된다(스텝 S207).
이상의 보간 처리에서 생성된 공간 위치 정보와 각도 정보에 기초해서 각 폴리곤 루프의 좌표 변환 매트릭스가 결정되고, 이것이 비디오 클럭(11)으로 전송된다. 비디오 클럭(11)은 이 좌표 변환 매트릭스에 기초해서 폴리곤 데이타를 좌표 변환하고 시점 좌표계에서의 게임 화상이 생성되게 한다. 이것에 의해 모니터 장치(5)에 새로운 동작 형태로 움직이는 캐릭터가 표시된다.
이상과 같이 본 실시예의 이점은 다음과 같다.
(a) 게임기에서 시간축 보간과 병행하여 가중 보간을 수행하므로 하나의 동작에서 다른 동작으로 자연히 동작을 변화시켜 경기자를 표시할 수 있다.
(b) 원 화상 데이타를 몇 종류의 CD-ROM으로부터 공급할 수 있는 구성이기 때문에, 사용자가 임의로 선택한 종목마다 가중 계수를 설정하고, 어느 하나의 경기에서도 자연적인 경기자의 동작을 표현할 수 있다.
(c) 1차 보간을 수행한 후 2차 보간을 하기 때문에, 재생 속도의 느림과 빠름에 관계없이 중간적인 동작의 생성을 행할 수 있다.
(III) 그외의 형태
본 발명은 상기 각 실시 형태에 상관없이 여러가지로 변형할 수 있다.
상기 실시 형태에서는 게임기를 가정한 화상 생성을 예시했지만 시뮬레이터나 동화상을 표시하는 컴퓨터 그래픽스(CG)에서도 본 발명을 그대로 적용할 수 있다.
또한, 동작 물체로는 육상 경기의 경기자를 대상으로 했지만, 인간을 대상으로 하는 것에 상관없이 다른 동물이나 탈 것(자동차, 비행기 등)을 대상으로 해도 좋다.
또한, 가중 보간의 가중 파라메타는 상기 실시 형태에서는 선형적인 변형을 하는 것으로서 예시했지만 특정의 계산식 또는 룩업 테이블을 이용하여 곡선적으로변화시켜도 좋다.
본 발명에 의하면 2개의 동화상 간에 가중 파라메타에 기초한 보간을 수행하므로, 적어도 화상 데이타에 의해 복잡 또는 자연적인 캐릭터의 움직임을 표현할 수 있다.
또한, 본 발명에 따르면 재생 속도에 따라 필요한 시간축 보간을 각 동화상마다 수행하므로, 각 동화상이 어떤 프레임수인지 어떤 재생 속도로 재생하는지에 관계없이 가중 보간을 행할 수 있다.
또한, 본 발명에 따르면 가중 파라메타는 시간의 경과에 대해 가중 값을 능동적으로 변화시키면 동작 물체나 동작의 내용에 따라 자연적인 동작의 변화를 표현할 수 있다.
또한, 본 발명에 따르면 공간 위치에 대해서도 관절 등의 각도에 대해서도 행할 수 있다.
또한, 본 발명에 따르면 조작 버튼의 회수에 대응하여 재생 속도 파라메타를 변화시키면 경기자의 동작 속도의 제어가 버튼의 누름 횟수로 조절할 수 있다고 하는 흥미 깊은 조작 방법을 제공할 수 있다.

Claims (9)

  1. 가상 공간내에서 자세(姿勢)를 변화시키는 동작 물체를 시계열적으로 기록한 상이한 2 종류의 동화상으로부터 새로운 동화상을 생성하는 화상 생성 장치에 있어서,
    2 종류의 동화상의 각각에 대하여, 프레임 화상마다 변화하는 자세를 특정하기 위해서, 최초의 프레임을 기점(基点)으로 하는 시간 축 상의 위치를 비율을 가지고 지시한 파라메타를 각 프레임에 할당하고, 상기 파라메타를 이용하여 시간 축 상의 소정 위치를 특정하여, 상기 소정 위치의 전후의 프레임 화상이 갖는 자세 특정 정보를 보간함으로써, 또는 상기 소정 위치에 위치하는 프레임 화상이 있는 경우는 그 프레임 화상이 갖는 자세 특정 정보를 이용함으로써, 상기 소정 위치의 프레임 1차 보간 화상을 생성하는 1차 보간 수단과,
    상기 2 종류의 동화상에 대하여, 동일 시간 축 상에서 대비 가능한 프레임 1차 보간 화상을 이용하여, 각각의 동작 물체에 사전에 정해진 자세 특정 정보끼리 를, 해당 2 종류의 동화상의 사이에서의 가중 비율을 나타내는 가중 파라메타에 기초하여 가중 보간함으로써, 상기 소정 위치의 프레임 2차 보간 화상을 생성하는 2차 보간 수단
    을 포함하고,
    상기 2 종류의 동화상으로 나타내어지는 동작 물체의 중간적인 자세를 표시하게 하도록 구성한 것을 특징으로 하는 화상 생성 장치.
  2. 제1항에 있어서, 상기 2차 보간 수단은 시간의 경과에 따라 소정의 특성으로 상기 가중 파라메타를 변화시키는 것을 특징으로 하는 화상 생성 장치.
  3. 제1항에 있어서, 상기 자세 특정 정보는 상기 동작 물체에 사전에 설정된 복수의 부위에서의 상기 가상 공간 내에 놓을 수 있는 공간 위치를 규정하는 공간 위치 정보를 포함하는 것을 특징으로 하는 화상 생성 장치.
  4. 제1항에 있어서, 상기 자세 특정 정보는 상기 동작 물체에 사전에 설정된 복수의 회전 이동 부분에서의 회전축 주위의 회전각을 규정하는 각도 정보를 포함하는 것을 특징으로 하는 화상 생성 장치.
  5. 제1항에 있어서, 상기 2 종류의 동화상 데이터는, 서로 유사한 상기 동작 물체의 동화상을 표시하는 것이고, 또한, 시계열인 변화의 시점에서의 자세끼리 및 시계열인 변화의 종점에서의 자세끼리가 상호 유사한 것을 특징으로 하는 화상 생성 장치.
  6. 제1항에 있어서, 상기 2차 보간 수단이 참조하는 자세 특정 정보를 기억하는 메모리와,
    상기 2차 보간 수단의 보간한 자세 특정 정보에 기초하여, 상기 가상 공간내에 놓을 수 있는 새로운 자세를 표시하기 위한 프레임 화상을 생성하는 화상 생성 수단을 더 포함하는 것을 특징으로 하는 화상 생성 장치.
  7. 제1항에 있어서,
    상기 1차 보간 수단이 참조하는 자세 특정 정보를 기억하는 메모리와,
    조작자가 재생 속도 정보를 입력하기 위한 입력 수단과,
    상기 입력 수단으로부터 공급된 재생 속도 정보에 기초하여, 해당 재생 속도 정보에 대응하여 생성하여야 할 자세를 특정하고, 특정한 자세를 지시하기 위한 상기 파라메타값을 상기 1차 보간 수단으로 공급하는 파라메타 생성 수단
    을 포함하는 것을 특징으로 하는 화상 생성 장치.
  8. 제7항에 있어서,
    상기 입력 수단이 공급하는 재생 속도 정보는 상기 입력 수단에 구비된 조작 버튼의 누름 정보이고,
    상기 파라메타 생성 수단은, 상기 누름 정보에 기초하여 단위 시간 당 눌러진 상기 조작 버튼의 횟수에 기초하여 상기 파라메타값의 크기를 조정하는 것을 특징으로 하는 화상 생성 장치.
  9. 가상 공간 내에서 자세를 변화시키는 동작 물체를 시계열적으로 기록한 상이한 2 종류의 동화상으로부터 새로운 동화상을 생성하는 화상 생성 방법에 있어서,
    2 종류의 동화상의 각각에 대하여, 프레임 화상마다 변화하는 자세를 특정하기 위해, 최초의 프레임을 기점으로 하는 시간 축 상의 위치를 비율을 가지고 지시한 파라메타를 각 프레임에 할당하고, 상기 파라메타를 이용하여 시간 축 상의 소정 위치를 특정하여, 상기 소정 위치의 전후의 프레임 화상이 갖는 자세 특정 정보를 보간함으로써, 또는, 상기 소정 위치에 위치하는 프레임 화상이 있는 경우에는 그 프레임 화상이 갖는 자세 특정 정보를 이용함으로써, 상기 소정 위치의 프레임 1차 보간 화상을 생성하는 1차 보간을 행하는 공정과,
    상기 2 종류의 동화상에 대하여 동일 시간 축 상에서 대비 가능한 프레임 1차 보간 화상을 이용하여, 각각의 동작 물체에 사전에 정해진 자세 특정 정보끼리를 해당 2 종류의 동화상의 사이에서의 가중 비율을 나타내는 가중 파라메타에 기초하여 가중 보간함으로써, 상기 소정 위치의 프레임 2차 보간 화상을 생성하는 2차 보간을 행하는 공정
    을 포함하며,
    상기 2 종류의 동화상으로 나타내어지는 동작 물체의 중간적인 자세를 표시하게 하도록 처리하는 것을 특징으로 하는 화상 생성 방법.
KR1019970707221A 1996-02-13 1997-02-10 화상생성장치및그방법,게임장치,및기록매체 KR100418173B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP02564996A JP3168244B2 (ja) 1996-02-13 1996-02-13 画像生成装置およびその方法
JP96-025649 1996-02-13

Publications (2)

Publication Number Publication Date
KR19980703821A KR19980703821A (ko) 1998-12-05
KR100418173B1 true KR100418173B1 (ko) 2004-04-21

Family

ID=12171679

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970707221A KR100418173B1 (ko) 1996-02-13 1997-02-10 화상생성장치및그방법,게임장치,및기록매체

Country Status (6)

Country Link
US (1) US6203425B1 (ko)
EP (1) EP0821321A4 (ko)
JP (1) JP3168244B2 (ko)
KR (1) KR100418173B1 (ko)
CN (1) CN1138231C (ko)
WO (1) WO1997030419A1 (ko)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4042926B2 (ja) * 1997-11-07 2008-02-06 株式会社バンダイナムコゲームス 画像生成装置及び情報記憶媒体
DE19816795A1 (de) 1998-04-16 1999-10-21 Bosch Gmbh Robert Verfahren zur Darstellung von bewegten Objekten mit Bitmapformat auf einer matrixförmigen Anzeigevorrichtung
JP3791728B2 (ja) * 1998-06-03 2006-06-28 コナミ株式会社 ゲーム画面の表示制御方法、ゲームシステムおよびコンピュータ読み取り可能な記録媒体
JP2000140431A (ja) * 1998-11-06 2000-05-23 Sega Enterp Ltd ゲーム装置および画像処理装置
US6968004B1 (en) * 1999-08-04 2005-11-22 Kabushiki Kaisha Toshiba Method of describing object region data, apparatus for generating object region data, video processing method, and video processing apparatus
JP3561456B2 (ja) * 2000-01-24 2004-09-02 コナミ株式会社 ビデオゲーム装置、ビデオゲームにおけるキャラクタ動作設定方法及びキャラクタ動作設定プログラムが記録されたコンピュータ読み取り可能な記録媒体
AU2001234601A1 (en) * 2000-01-26 2001-08-07 New York University Method and system for facilitating wireless, full-body, real-time user interaction with digitally generated text data
US6461237B1 (en) * 2000-01-28 2002-10-08 Square Co., Ltd. Computer readable program product storing program for ball-playing type game, said program, and ball-playing type game processing apparatus and method
US6503144B1 (en) * 2000-01-28 2003-01-07 Square Co., Ltd. Computer readable program product storing program for ball-playing type game, said program, and ball-playing type game processing apparatus and method
JP3618298B2 (ja) 2000-01-28 2005-02-09 株式会社スクウェア・エニックス モーション表示方法、ゲーム装置及び記録媒体
JP2001321566A (ja) * 2000-05-12 2001-11-20 Square Co Ltd 球技系ゲームのプログラムを記録したコンピュータ読み取り可能な記録媒体およびプログラム、ならびに、球技系ゲーム処理装置およびその方法
JP2001327758A (ja) * 2000-05-19 2001-11-27 Square Co Ltd 球技系ゲームのプログラムを記録したコンピュータ読み取り可能な記録媒体およびプログラム、ならびに、球技系ゲーム処理装置およびその方法
KR100889786B1 (ko) * 2001-05-21 2009-03-20 가부시키가이샤 세가 화상처리장치 및 게임장치
JP3559011B2 (ja) * 2001-10-02 2004-08-25 コナミ株式会社 ゲーム装置、ゲーム制御方法およびプログラム
US7179171B2 (en) * 2002-06-24 2007-02-20 Mitsubishi Electric Research Laboratories, Inc. Fish breeding toy for cellular telephones
US20040204127A1 (en) * 2002-06-24 2004-10-14 Forlines Clifton L. Method for rendering with composited images on cellular telephones
CN1929894A (zh) * 2004-03-12 2007-03-14 皇家飞利浦电子股份有限公司 能够使对象活跃的电子设备和方法
US20060262119A1 (en) * 2005-05-20 2006-11-23 Michael Isner Transfer of motion between animated characters
WO2006132564A1 (en) * 2005-06-10 2006-12-14 Intel Corporation A cognitive control framework for automatic control of application programs exposing a graphical user interface
CA2553508A1 (en) * 2005-07-29 2007-01-29 Avid Technology, Inc. Transfer of attributes between geometric surfaces of arbitrary topologies with distortion reduction and discontinuity preservation
US8429612B2 (en) * 2005-11-11 2013-04-23 Intel Corporation Graphical user interface (GUI) noise reduction in a cognitive control framework
US8094156B2 (en) * 2006-07-31 2012-01-10 Autodesk Inc. Rigless retargeting for character animation
US7859538B2 (en) * 2006-07-31 2010-12-28 Autodesk, Inc Converting deformation data for a mesh to animation data for a skeleton, skinning and shading in a runtime computer graphics animation engine
WO2008105092A1 (ja) * 2007-02-28 2008-09-04 Panasonic Corporation グラフィックス描画装置及びグラフィックス描画方法
US20090058863A1 (en) * 2007-09-04 2009-03-05 Apple Inc. Image animation with transitional images
US10049482B2 (en) * 2011-07-22 2018-08-14 Adobe Systems Incorporated Systems and methods for animation recommendations
AU350043S (en) * 2013-04-08 2013-08-01 Samsung Electronics Co Ltd Display screen with icon for an electronic device
USD735754S1 (en) 2014-09-02 2015-08-04 Apple Inc. Display screen or portion thereof with graphical user interface
USD870774S1 (en) 2017-09-29 2019-12-24 Apple Inc. Wearable device with animated graphical user interface
USD863337S1 (en) 2018-06-03 2019-10-15 Apple Inc. Electronic device with animated graphical user interface
USD954732S1 (en) 2020-06-20 2022-06-14 Apple Inc. Display screen or portion thereof with graphical user interface
CN114138740A (zh) * 2020-12-18 2022-03-04 完美世界(重庆)互动科技有限公司 游戏数据迁移方法及装置、存储介质、计算机设备

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57108789A (en) * 1980-12-26 1982-07-06 Nintendo Co Ltd Timepiece device with game function
JPS62191976A (ja) 1986-02-18 1987-08-22 Matsushita Electric Ind Co Ltd 画像生成装置
US5517663A (en) * 1993-03-22 1996-05-14 Kahn; Kenneth M. Animated user interface for computer program creation, control and execution
US5767861A (en) * 1994-08-11 1998-06-16 Kabushiki Kaisha Sega Enterprises Processing apparatus and method for displaying a moving figure constrained to provide appearance of fluid motion
US5680534A (en) * 1994-10-31 1997-10-21 Nintendo Co., Ltd. Video game/videographics program fabricating system and method with superimpose control
JP3566776B2 (ja) 1995-03-17 2004-09-15 富士通株式会社 アニメーション作成装置
JP3683939B2 (ja) 1995-05-11 2005-08-17 株式会社ソニー・コンピュータエンタテインメント アニメーション・データ作成装置およびアニメーション・データ作成方法

Also Published As

Publication number Publication date
CN1138231C (zh) 2004-02-11
EP0821321A1 (en) 1998-01-28
WO1997030419A1 (fr) 1997-08-21
CN1178590A (zh) 1998-04-08
JP3168244B2 (ja) 2001-05-21
US6203425B1 (en) 2001-03-20
JPH09218961A (ja) 1997-08-19
EP0821321A4 (en) 1999-05-06
KR19980703821A (ko) 1998-12-05

Similar Documents

Publication Publication Date Title
KR100418173B1 (ko) 화상생성장치및그방법,게임장치,및기록매체
EP0840256B1 (en) Apparatus and method for generating skeleton-based dynamic picture images as well as medium storing therein program for generation of such picture images
US6958751B2 (en) Image processing device, image processing method and recording medium
US6738059B1 (en) Apparatus and methods for image processing using mixed display objects
US6878065B2 (en) Video game system, character action control method, and readable storage medium storing character action control program
KR100543153B1 (ko) 3차원 화상 처리 프로그램, 3차원 화상 처리 장치, 3차원화상 처리 방법 및 비디오 게임 장치
US6972766B2 (en) Recording medium storing dynamic picture image generation program, dynamic picture image generation program, dynamic picture image generation method, and device for the same
JPH10198821A (ja) 画像処理装置及び画像処理方法並びに記録媒体
JP4372571B2 (ja) ゲーム装置およびゲームプログラム
JP3973046B2 (ja) ゲーム装置、ゲーム装置の制御方法及びプログラム
US6208358B1 (en) Image processing device, image processing method and storage medium
JP4233065B2 (ja) ゲーム装置及び情報記憶媒体
JP4544555B2 (ja) ゲームシステム及び情報記憶媒体
JP2001148035A (ja) 画像処理
EP1074284A2 (en) Game-development control method, game machine, and recording medium for use therewith
JP3048346B2 (ja) 物体の動き表現方法、及びゲームプログラムが記録されたコンピュータ読取可能な記録媒体
JP4450047B2 (ja) 情報処理装置における表示物体生成方法、これを実行制御するプログラム及びこのプログラムを格納した記録媒体
JP4204525B2 (ja) 3次元画像生成装置および3次元画像生成プログラム
JP3706545B2 (ja) 画像の生成方法及びそれに用いるプログラム
JPH1147448A (ja) 当たり判定方法、ゲームシステム及びゲームプログラムが記録されたコンピュータ読取可能な記録媒体
JP2002342784A (ja) ビデオゲーム装置、ビデオゲームアニメーション生成プログラム及びその記録媒体
JP2002346208A (ja) 画像生成システム、プログラム及び情報記憶媒体
JP2986451B2 (ja) 被選択アイコン表示方法、ゲームシステム及びゲームプログラムが記録されたコンピュータ読取可能な記録媒体
JP3765786B2 (ja) 映像生成装置及び記録媒体
JP2002042176A (ja) ゲームシステム及び情報記憶媒体

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130125

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20140117

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20150115

Year of fee payment: 12

LAPS Lapse due to unpaid annual fee