KR102060206B1 - 가상 환경 내 오브젝트 컨트롤 기법 - Google Patents

가상 환경 내 오브젝트 컨트롤 기법 Download PDF

Info

Publication number
KR102060206B1
KR102060206B1 KR1020137032539A KR20137032539A KR102060206B1 KR 102060206 B1 KR102060206 B1 KR 102060206B1 KR 1020137032539 A KR1020137032539 A KR 1020137032539A KR 20137032539 A KR20137032539 A KR 20137032539A KR 102060206 B1 KR102060206 B1 KR 102060206B1
Authority
KR
South Korea
Prior art keywords
skeleton
user
joint
template
mapping
Prior art date
Application number
KR1020137032539A
Other languages
English (en)
Other versions
KR20140043378A (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 KR20140043378A publication Critical patent/KR20140043378A/ko
Application granted granted Critical
Publication of KR102060206B1 publication Critical patent/KR102060206B1/ko

Links

Images

Classifications

    • A63F13/10
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/40Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/45Controlling the progress of the video game
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • 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/10Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals
    • A63F2300/1087Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals comprising photodetecting means, e.g. a camera
    • 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/6045Methods for processing data by generating or executing the game program for mapping control signals received from the input arrangement into game commands
    • 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
    • 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/69Involving elements of the real world in the game world, e.g. measurement in live races, real video

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Processing Or Creating Images (AREA)
  • User Interface Of Digital Computer (AREA)
  • Image Processing (AREA)

Abstract

가상 환경 내 오브젝트를 컨트롤하기 위한 방법, 시스템, 및 그것 상에 구현된 컴퓨터-사용가능 명령어를 가지는 컴퓨터-스토리지 매체가 제공된다. 실제-세계 오브젝트는 가상 환경으로 수신될 수 있다. 실제-세계 오브젝트는 임의의 사람이 아닌 오브젝트이다. 오브젝트 골격이 식별되고 오브젝트로 매핑될 수 있다. 실제-세계 사용자의 사용자 골격도 또한 식별되고 오브젝트 골격으로 매핑될 슁T다 사용자 골격을 오브젝트 골격으로 매핑함으로써, 사용자의 움직임이 가상 환경 내의 오브젝트의 움직임을 컨트롤한다.

Description

가상 환경 내 오브젝트 컨트롤 기법{CONTROLLING OBJECTS IN A VIRTUAL ENVIRONMENT}
가상 환경은 최근 몇 년 사이에 상당한 진보를 이루었다. 이러한 진보에 따라 가상 환경과의 상호작용을 증가시키라는 사용자의 요구도 증대되고 있다. 몇몇 비디오 채팅 애플리케이션에서 머리-추적(head-tracking)에 기초한 웹-캠을 사용하여 미리-결정된 모델들의 실시간 컨트롤이 현재 이용가능하며 또한 사용자로 하여금 사용자의 머리의 위치를 추적함으로써 가상 아바타(avatar)의 머리를 제어하도록 허용하고 사용자의 음성을 이용하여 아바타의 입을 제어하도록 허용한다. 그렇지만 이 경우, 아바타는 미리-결정되어 있으며, 추적은 머리로만 제한되어 있고, 또한 사용자의 머리 배향과 아바타의 머리 배향 사이의 단순한 일-대-일 매핑이 사용된다. 현재는 사용자로 하여금 실제-세계로부터 수신되어 가상 오브젝트로서 디지털화된 오브젝트를 완전히 컨트롤하도록 허용하는 모델은 존재하지 않는다. 다시 말해서, 미리-결정되지 아니한 오브젝트, 더 나아가, 사용자의 몸을 사용하여 가상 오브젝트 전체(예컨대, 팔다리, 머리, 등등)을 컨트롤하기 위해 사용자의 골격 추적 정보를 이용하는 것도 이용가능하지 않다.
본 요약부(summary)는 아래 상세한 설명(Detailed Description)에서 더 기술되는 개념들의 집합을 간단한 형태로 소개하기 위하여 제공된다. 본 요약부는 청구된 발명 대상의 주요 특징들 또는 본질적인 특징들을 식별하는 것으로 의도되지 않으며, 또한 청구된 발명 대상의 범위를 결정하기 위한 보조자료로 사용되는 것으로도 의도되지 않는다.
본 발명의 실시예들은, 특히 가상 환경 내의 오브젝트를 컨트롤하기 위한 시스템, 방법, 및 컴퓨터 스토리지 매체에 관련된다. 실제-세계 오브젝트들은 이후 상세하게 기술되는 바와 같이 디지털화될 수 있고, 예를 들어, 게임 시스템에 의해 수신될 수 있다. 일 실시예에서, 실제-세계 오브젝트는 움직이지 않는 오브젝트(예컨대, 의자, 공, 동물 인형, 등), 애완동물(예컨대, 고양이) 등과 같이 사람이 아닌 오브젝트이다. 일단 디지털화된 오브젝트가 수신되면, 오브젝트가 사용자에 의해 제어되도록 오브젝트 및 인간 사용자의 다양한 골격 매핑(skeletal mapping)들이 수행될 수 있다. 다시 말해서, 사용자의 움직임은 가상 환경 내의 오브젝트의 움직임을 컨트롤할 수 있다.
본 발명은 첨부된 도면들을 참조하여 아래에서 상세히 기술되며, 여기서:
도 1은 본 발명의 실시예들을 구현하는데 사용하기 적합한 예시적인 컴퓨팅 환경의 블록도이고;
도 2는 본 발명의 일 실시예에 따른, 가상 환경 내의 오브젝트를 컨트롤하기 위한 환경을 도시하는 블록도이고;
도 3은 본 발명의 일 실시예에 따른, 디지털화를 위해 오브젝트를 프레젠트하는 사용자의 도면이고;
도 4는 본 발명의 일 실시예에 따른, 오브젝트의 디지털화에 대한 동작 흐름도이고;
도 5(a) 및 도 5(b)는 본 발명의 일 실시예에 따른, 디지털화를 위해 오브젝트를 프레젠트하는 사용자의 카메라-시야 관점의 도면들이고;
도 6은 본 발명의 일 실시예에 따른, 오브젝트를 디지털화하기 위하여 사용가능한 세그먼티드 깊이 이미지(segmented depth image)의 도면이고;
도 7은 본 발명의 일 실시예에 따른, 깊이-대-컬러(depth-to-color) 오프셋의 도면이고;
도 8은 본 발명의 일 실시예에 따른, 오브젝트를 디지털화하기 위하여 사용가능한 소스 컬러 이미지의 도면이고;
도 9는 본 발명의 일 실시예에 따른, 캡쳐된 오브젝트의 컬러 세그먼테이션(segmentation)의 도면이고;
도 10 및 도 11은 본 발명의 일 실시예에 따른, 디지털화될 오브젝트를 붙잡는 것에 대한 안내를 프레젠트하는 사용자 인터페이스(UI)들의 도면들이고;
도 12는 본 발명의 일 실시예에 따른, 오브젝트의 3-차원(3D) 포인트 클라우드(point cloud) 구성의 도면이고;
도 13(a) 및 도 13(b)는 본 발명의 일 실시예에 따른, 정렬된 포인트 시트들의 2개의 뷰의 도면이고;
도 14는 본 발명의 일 실시예에 따른, 최종 포인트 클라우드 구조물의 도면이고;
도 15는 본 발명의 일 실시예에 따른, 사용자에게 디스플레이된 디지털화된 오브젝트의 확인 이미지를 디스플레이하는 UI의 도면이고;
도 16은 본 발명의 일 실시예에 따른, 캡쳐된 이미지의 메쉬(mesh) 출력의 도면이고;
도 17은 본 발명의 일 실시예에 따른, 오브젝트의 스무딩되고 처리된 이미지의 도면이고;
도 18은 본 발명의 일 실시예에 따른, UV 좌표를 가진 이미지의 도면이고;
도 19는 본 발명의 일 실시예에 따른, 최종 텍스처 맵의 한 부분으로 그려진 정면-대향 트라이앵클 에지(front-facing triangle edge)들의 도면이고;
도 20(a) 내지 도 20(e)는 본 발명의 일 실시예에 따른, 생성된 골격 구조의 상이한 뼈들에 추가된 웨이팅을 도시하는 도면들의 도면이고;
도 21(a) 및 도 21(b)는 본 발명의 일 실시예에 따른, 루마/크로마(luma/chroma) 처리 전 및 후의 이미지들의 도면들의 도면이고;
도 22(a) 및 도 22(b)는 본 발명의 일 실시예에 따른, 에지들이 필터링된 후 소스 이미지 및 출력 이미지의 도면들의 도면이고;
도 23(a) 및 도 23(b)는 본 발명의 일 실시예에 따른, 에지 복구 필터들이 타겟 컬러들인 배경 컬러들을 발견하는 경우의 이미지들의 도면들의 도면이고;
도 24(a) 및 도 24(b)는 본 발명의 일 실시예에 따른, 에지로부터 미해결된 영역까지의 거리 및 계산된 배경 유사 값(background likelihood value)들을 계산하는 이미지들의 도면이고;
도 25는 일 실시예에 따른, 최종 합성 텍스처 맵의 도면이고;
도 26(a) 및 도 26(b)는 본 발명의 일 실시예에 따른, 마스킹된 값 및 심하게 블러링된 정점 컬러들의 도면이고;
도 27(a) 및 도 27(b)는 본 발명의 일 실시예에 따른, 텍스처만을 가진 상이하 메쉬들 및 마스크 값에 의한 정점 컬러 블렌딩을 가진 텍스처의 도면이고;
도 28은 본 발명의 일 실시예에 따른, 디지털화된 오브젝트의 최종 렌더링의 도면이고;
도 29는 본 발명의 일 실시예에 따른, 가상 환경 내의 오브젝트들을 컨트롤하는 방법을 보여주는 흐름도이고;
도 30은 본 발명의 일 실시예에 따른, 가상 환경 내의 오브젝트들을 컨트롤하는 방법을 보여주는 흐름도이다.
본 발명의 발명 대상은 법적인 요구조건을 맞추기 위해 본 명세서에서 구체적으로 기술된다. 그렇지만, 기술 내용 그 자체는 본 특허의 범위를 제한하려고 의도되지 않는다. 그 대신, 발명자들은, 그 외 다른 현재의 또는 미래의 기술들과 관련하여, 본 문서 내에서 기술된 것들과 유사한 다른 단계들 또는 단계들의 조합들을 포함하기 위해, 청구된 발명 대상들이 또한 그 외 다른 방식으로도 구현될 수 있다는 점에 대하여 숙고하였다. 더 나아가, 비록 용어 "단계" 및/또는 "블록"가 본 명세서에서 구현된 방법들의 여러가지 요소들을 함축하기 위하여 사용될 수 있지만, 이 용어들은 개별 단계들의 순서가 명시적으로 기술되지 않는 한 그리고 명시적으로 기술되는 경우를 제외하고 본 명세서에서 개시된 다양한 단계들 사이에 어떠한 특별한 순서를 내포하는 것으로서 해석되지 않아야 한다.
본 발명의 실시예들은 특히 가상 환경 내에서 오브젝트를 컨트롤하기 위한 시스템, 방법, 및 컴퓨터 스토리지 매체에 관한 것이다. 실제-세계 오브젝트는 아래에서 상세하게 기술되는 바와 같이 디지털화될 수 있고, 예컨대 게임 시스템에 의해 수신될 수 있다. 일 실시예에서, 실제-세계 오브젝트는 움직이지 않는 오브젝트(예컨대, 의자, 공, 동물 인형, 등), 애완동물(예컨대, 고양이) 등과 같이 사람이 아닌 오브젝트이다. 일단 디지털화된 오브젝트가 수신되면, 오브젝트가 사용자에 의해 제어되도록 오브젝트 및 인간 사용자의 다양한 골격 매핑(skeletal mapping)들이 수행될 수 있다. 다시 말해서, 사용자의 움직임은 가상 환경 내의 오브젝트의 움직임을 컨트롤할 수 있다.
이에 따라, 본 발명의 일 실시예는, 하나 이상의 컴퓨터 장치에 의해 사용될 때, 컴퓨터 장치가 가상 환경 내에서 오브젝트를 컨트롤하는 방법을 수행하도록 하는 컴퓨터-이용가능 명령어들(instructions)을 저장하는 하나 이상의 컴퓨터-스토리지 매체에 관한 것이다. 방법은 가상 환경 내에서 오브젝트를 식별하는 단계를 포함한다. 오브젝트는 임의의 사람이 아닌 오브젝트일 수 있다. 오브젝트 골격이 오브젝트에 매핑된다. 오브젝트 골격은 미리-정의된 템플릿일 수 있고 오브젝트 및/또는 오브젝트 골격은 서로 맞아들어가도록 조정될 수 있다. 사용자 골격이 수신되고 오브젝트 골격으로 매핑된다. 사용자 골격은 사용자의 골격의 이미지이다. 일단 사용자 골격이 오브젝트 골격으로 매핑되면, 오브젝트는 사용자에 의해 컨트롤된다. 더 상세하게 말해서, 사용자의 움직임은 가상 공간 내의 오브젝트의 움직임을 컨트롤한다.
본 발명의 또 다른 실시예는 가상 공간 내의 오브젝트를 컨트롤하기 위해 프로세서 및 메모리를 포함하는 시스템에 관한 것이다. 이 시스템은 하나 이상의 프로세서 및 하나 이상의 컴퓨터-판독가능 스토리지 매체와 연관된 컴퓨팅 장치, 컴퓨팅 장치와 연결된 데이터 스토어, 및 사용자 골격 및 오브젝트 골격을 포함하여 하나 이상의 골격을 식별하고, 사용자 골격을 오브젝트 골격으로 매핑하고, 또한 오브젝트가 사용자 골격의 움직임을 반영하도록 조작되도록 오브젝트 골격을 관리하는 컨트롤링 엔진을 포함한다.
본 발명의 또 다른 실시예는, 하나 이상의 컴퓨팅 장치에 의해 사용될 때, 컴퓨팅 장치로 하여금 가상 환경 내에서 오브젝트를 컨트롤하는 방법을 수행하도록 하는 컴퓨터-사용가능 명령어를 저장하는 하나 이상의 컴퓨터-스토리지 매체에 관한 것이다. 방법은 가상 환경 내에서 오브젝트를 식별하는 단계를 포함한다. 오브젝트는 가상 환경 내의 가상 형태로 디지털화된 실제-세계 오브젝트일 수 있다. 오브젝트 골격은 오브젝트의 질량 중심(center of mass)을 식별하고 오브젝트의 질량 중심으로 오브젝트 골격의 중심을 적용함으로써 오브젝트에 매핑된다. 오브젝트는 오브젝트 골격의 하단이 오브젝트의 하단과 정렬되도록 오브젝트 골격의 크기에 대응하도록 크기가 조절된다. 그런 다음 사용자 골격이 수신되고 오브젝트 골격의 하나 이상의 관절 각도가 사용자 골격의 하나 이상의 관절 각도를 반영하도록 오브젝트 골격으로 매핑된다. 사용자의 움직임이 식별되고, 사용자의 움직임을 식별하는 것에 응답하여, 오브젝트의 움직임이 사용자의 움직임을 반영하도록 오브젝트를 이동시킨다.
본 발명의 실시예들에 대한 개요를 간략하게 기술하였으므로, 본 발명의 다양한 양상들을 위한 일반적인 맥락을 제공하기 위해 본 발명의 실시예들이 구현될 수 있는 예시적인 동작 환경이 아래에서 기술된다. 먼저 특히 도 1을 참조하면, 본 발명의 실시예들을 구현하기 위한 예시적인 동작 환경이 도시되며 전체적으로 컴퓨팅 장치(100)로 표시되어 있다. 컴퓨팅 장치(100)는 적절한 컴퓨팅 환경의 일 예에 불과하며 본 발명의 이용 범위나 기능에 대한 어떠한 제한을 암시하는 것으로 의도되지 않는다. 또한 컴퓨팅 장치(100)는 도시된 컴포넌트들의 임의의 하나의 조합 또는 조합들에 종속되거나 관련된 어떠한 요구조건을 가지는 것으로도 해석되지 않아야 한다.
본 발명은, 컴퓨터 또는, PDA(personal data assistant) 또는 그 외 다른 핸드헬드 장치와 같은, 그 외 다른 기계에 의해 실행되는, 프로그램 모듈과 같은 컴퓨터-실행가능 명령어를 포함하여, 컴퓨터 코드 또는 기계-사용가능 명령어(instructions)의 일반적인 맥락으로 기술될 수 있다. 일반적으로, 루틴, 프로그램, 오브젝트, 컴포넌트, 데이터 구조, 등을 포함하는 프로그램 모듈은 특정 태스크를 수행하거나 또는 특정한 추상적인 데이터 타입을 구현하는 코드를 지칭한다. 본 발명은 핸드헬드 장치, 소비자 전자제품, 범용 컴퓨터, 특수 목적의 컴퓨팅 장치 등을 포함하는, 다양한 시스템 구성으로 실시될 수 있다. 본 발명은 또한 태스크가 통신망을 통해 연결되어 있는 원격 프로세싱 장치들에 의해 수행되는 분산 컴퓨팅 환경에서도 실시될 수 있다.
도 1을 참조하면, 컴퓨팅 장치(100)는 다음 장치들, 즉 메모리(112), 하나 이상의 프로세서들(114), 하나 이상의 프레젠테이션 컴포넌트들(116), 입력/출력(I/O) 포트들(118), 입력/출력 컴포넌트들(120), 및 예시적인 전원 공급부(122)를 직접적으로 또는 간접적으로 연결하는 버스(110)를 포함한다. 버스(110)는 하나 이상의 버스들(어드레스 버스, 데이터 버스, 또는 이것들의 조합과 같은)일 수 있다. 비록 도 1의 여러 블록들은 명확하게 하기 위하여 선으로 도시되어 있으나, 실제로는 여러 컴포넌트들을 그렇게 명확하지 않으며, 비유적으로 말해서, 선들은 보다 회색이거나 흐릿한 것이 더 정확할 것이다. 예를 들어, 디스플레이 장치와 같은 프레젠테이션 컴포넌트를 I/O 컴포넌트라고 생각할 수 있다. 또한 프로세서들은 메모리를 가진다. 발명자들은 이러한 것이 기술의 본질이라는 것을 알고 있으며, 도 1의 도면은 단순히 본 발명의 하나 이상의 실시예들과 관련하여 사용될 수 있는 예시적인 컴퓨팅 장치를 도시한 것에 불과하다는 점을 되풀이하여 지적한다. "워크스테이션", "서버", "랩탑", "핸드-헬드 장치" 등과 같은 카테고리들 사이에 구별은 없으며, 모두가 도 1의 범위 내에서 고려되며 "컴퓨팅 장치"로 참조된다.
컴퓨팅 장치(100)는 전형적으로 다양한 컴퓨터-판독가능 매체를 포함한다. 컴퓨터-판독가능 매체는 컴퓨팅 장치(100)에 의해 액세스될 수 있는 임의의 이용가능한 매체일 수 있으며 휘발성 및 비휘발성 매체, 탈거가능 및 비-탈거가능 매체를 모두 포함한다. 예를 들어서 비제한적으로 말하자면, 컴퓨터-판독가능 매체는 컴퓨터 스토리지 매체 및 통신 매체를 포함할 수 있다. 컴퓨터 스토리지 매체는 컴퓨터-판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 그 외 다른 데이터와 같은 정보의 저장을 위한 임의의 방법이나 기술에 의해 구현되는 휘발성 및 비휘발성, 탈거가능 및 비-탈거가능 매체를 모두 포함한다. 컴퓨터 스토리지 매체는 RAM, ROM, EEPROM, 플래시 메모리 또는 그 외 다른 메모리 기술, CD-ROM, 디지털 다기능 디스크(DVD) 또는 그 외 다른 광 디스크 스토리지, 자기 카세트, 자기 테이프, 자기 디스크 스토리지 또는 그 외 다른 자기 스토리지 장치, 또는 원하는 정보를 저장하기 위하여 사용될 수 있으며 컴퓨팅 장치(100)에 의해 액세스될 수 있는 임의의 다른 매체를 포함하지만 이것들로 제한되는 것은 아니다. 통신 매체는 전형적으로 반송파나 그 외 다른 전송 메커니즘과 같은 변조된 데이터 신호 형태로 컴퓨터-판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 그 외 다른 데이터를 구현하며 임의의 정보 전송 매체를 포함한다. 용어 "변조된 데이터 신호"는 그것의 특성들 중 하나 이상이 신호 내에 정보를 인코드하도록 설정되거나 변화된 신호를 의미한다. 예를 들어서 비제한적으로 말하자면, 통신 매체는 유선 네트워크 또는 직접-유선 연결과 같은 유선 매체, 및 음향, RF, 적외선 및 그 외 다른 무선 매체와 같은 무선 매체를 포함한다. 위의 것들 중 임의의 조합도 또한 컴퓨터-판독가능 매체의 범위 내에 포함되어야 한다.
메모리(112)는 휘발성 및/또는 비휘발성 메모리의 형태로 컴퓨터-스토리지 매체를 포함한다. 메모리는 탈거가능, 비-탈거가능, 또는 이들의 조합일 수 있다. 예시적인 하드웨어 장치는 솔리드-스테이트 메모리, 하드 드라이브, 광-디스크 드라이브 등을 포함한다. 컴퓨팅 장치(100)는 메모리(112) 또는 I/O 컴포넌트들(120)와 같은 다양한 엔터티들로부터 데이터를 판독하는 하나 이상의 프로세서들을 포함한다. 프레젠테이션 컴포넌트(들)(116)는 사용자 또는 그 외 다른 장치들에게 데이터 표현을 프레젠트한다. 예시적인 프레젠테이션 컴포넌트들에는 디스플레이 장치, 스피커, 프린팅 컴포넌트, 진동 컴포넌트 등이 포함된다.
I/O 포트들(118)은 컴퓨팅 장치(100)가 논리적으로 I/O 컴포넌트들(120)을 포함하는 다른 장치들과 연결되도록 허용하며, I/O 컴포넌트들(120) 중 일부는 내장될 수 있다. 예시적인 컴포넌트들에는 마이크로폰, 조이스틱, 게임 패드, 위성 접시, 스캐너, 프린터, 무선 장치, 등이 포함된다.
앞서 지적한 바와 같이, 본 발명의 실시예들은 가상 환경에서 오브젝트를 컨트롤하는 것에 관한 것이다. 이제 도 2로 돌아가면, 본 발명의 실시예들이 채용될 수 있는 예시적인 컴퓨팅 시스템(200)을 도시하는 블록도가 제공된다. 이것 및 본 명세서에서 기술된 다른 배열들은 오직 예시로서만 제공된다는 점이 이해되어야 한다. 그 외 다른 배열들 및 요소들(예컨대, 머신, 인터페이스, 기능, 순서, 및 기능들의 그룹, 등등)이 도시된 것들에 추가하여 또는 대신하여 사용될 수 있고, 몇몇 요소들은 전적으로 생략될 수 있다. 더 나아가, 본 명세서에서 기술된 요소들 중 많은 요소들은 개별적인 또는 분산된 컴포넌트들로서 또는 다른 컴포넌트들과 함께, 및 임의의 적합한 조합 및 위치에서, 구현될 수 있는 기능적인 엔터티이다. 하나 이상의 엔터티들에 의해 수행되고 있는 바와 같은 본 명세서에서 기술된 다양한 기능들은 하드웨어, 펌웨어, 및/또는 소프트웨어에 의해 수행될 수 있다. 예컨대, 다양한 기능들은 메모리에 저장되어 있는 명령어를 실행하는 프로세서에 의해 수행될 수 있다.
도시되지 않은 다른 컴포넌트들 중에서, 컴퓨팅 시스템(200)은 일반적으로 네트워크(210), 데이터 스토어(220), 및 컨트롤링 엔진(230)을 포함한다. 컨트롤링 엔진(230)은 아래에서 기술되는 기능들을 수행하기 위한 전용 장치의 형태를 취할 수 있고, 예컨대, 네트워크 액세스 장치, 게임 시스템 등, 또는 이들의 임의의 조합 내에 통합될 수 있다. 컴퓨팅 시스템(200)의 컴포넌트들은 네트워크(210)를 경유하여 상호 소통할 수 있으며, 네트워크(210)는 하나 이상의 근거리망(LAN)들 및/또는 광대역망(WAN)들을 비제한적으로 포함할 수 있다. 이러한 네트워킹 환경은 사무소, 기업-범위 컴퓨터망, 인트라넷 및 인터넷에서 흔하다. 본 발명의 실시예들의 범위 내에서 임의의 개수의 컴퓨팅 장치들 및 컨트롤링 엔진들이 컴퓨팅 시스템(200) 내에서 채용될 수 있다는 점이 이해되어야만 한다. 각각은 하나의 단일 장치/인터페이스 또는 분산 한경에서 협력하는 다수의 장치들/인터페이스들을 포함할 수 있다. 예를 들어, 컨트롤링 엔진(230)은 본 명세서에서 기술된 컨트롤링 엔진(230)의 기능을 집합적으로 제공하는 분산 환경 내에서 배열된 다수의 장치들 및/또는 모듈들을 포함할 수 있다. 덧붙여서, 미도시된 그 외 다른 컴포넌트들/모듈들도 또한 컴퓨팅 시스템(200) 내에 포함될 수 있다.
몇몇 실시예들에서, 하나 이상의 도시된 컴포넌트들/모듈들이 스탠드-얼론 애플리케이션으로서 구현될 수 있다. 다른 실시예들에서, 하나 이상의 도시된 컴포넌트들/모듈들은 인터넷-기반 서비스로서, 또는 게임 시스템 내의 한 모듈로서, 컨트롤링 엔진(230)을 통해 구현될 수 있다. 도 2에 도시된 컴포넌트들/모듈들은 본성에 있어서 개수에 있어서 예시적이며 제한으로서 간주되지 않아야 한다는 점이 해당 기술 분야에서 통상의 지식을 가진 자라면 이해될 것이다. 본 명세서의 실시예들의 범위 내에서 원하는 기능을 성취하기 위하여 임의의 수의 컴포넌트들/모듈들이 채용될 수 있다. 더 나아가, 컴포넌트들/모듈들은 임의의 수의 서버들 또는 클라이언트 컴퓨팅 장치들 상에 위치될 수 있다. 오직 예시로서 말하자면, 컨트롤링 엔진(230)은 게임 시스템, 서버, 서버들의 클러스터, 또는 하나 이상의 나머지 컴포넌트들로부터 원격의 컴퓨터 장치 내에 상주할 수도 있다.
이것 및 본 명세서에서 기술된 그 외 다른 배열들은 오직 예시로서 제공된다는 점이 이해되어야 한다. 그 외 다른 배열들 및 요소들(예컨대, 머신들, 인터페이스들, 기능들, 순서들, 및 기능들의 집합 등)이 도시된 것에 추가하여 또는 대신에 사용될 수 있고, 몇몇 요소들은 전적으로 생략될 수 있다. 더 나아가, 본 명세서에서 기술된 요소들 중 많은 요소들은 개별적인 또는 분산된 컴포넌트로서 또는 그 외 다른 컴포넌트들/모듈들과 함께, 및 임의의 적절한 조합 및 위치에서 구현될 수 있는 기능적인 엔터티들이다. 하나 이상의 엔터티들에 의해 수행되는 것으로서 본 명세서에서 기술된 다양한 기능들은 하드웨어, 펌웨어, 및/또는 소프트웨어에 의해 수행될 수 있다. 예를 들어, 다양한 기능들은 메모리에 저장된 명령어를 실행하는 프로세서에 의해 수행될 수 있다.
일반적으로, 시스템(200)은 가상 환경 내의 오브젝트들이 실제-세계 사용자에 의해 컨트롤되는 환경을 도시한다. 아래에서 더 상세히 기술될 것과 같이, 본 발명의 실시예들은 디지털화된 오브젝트 수신 및 오브젝트로 골격 매핑을 제공한다. 본 발명의 추가적인 실시예들은 사용자가 가상 환경 내의 오브젝트를 컨트롤하도록 오브젝트에 사용자 골격을 매핑하는 것을 제공한다.
컨트롤링 엔진(230)은 오브젝트들이 사용자에 의해 컨트롤될 수 있도록 가상 환경 내의 오브젝트들을 관리하도록 구성된다. 가상 환경 내의 오브젝트들은 애완동물, 동물 인형, 의자 등과 같은 임의의 사람이 아닌 오브젝트일 수 있다. 컨트롤링 엔진(230)은 수신 컴포넌트(231), 식별 컴포넌트(232), 매핑 컴포넌트(233), 및 디스플레이 컴포넌트(234)를 포함한다. 각각의 컴포넌트는 컨트롤링 엔진(230)이 사용자로 하여금 가상 환경 내의 오브젝트를 컨트롤하는 것을 용이하게 하도록 구성된다.
수신 컴포넌트(231)는 무엇보다도 디지털화된 오브젝트를 수신하도록 구성될 수 있다. 일 실시예에서, 오브젝트는 실제-세계 오브젝트이다. 실시예들에서, 오브젝트들은 임의의 사람이 아닌, 실제-세계 오브젝트이다. 본 명세서에서 사용된 바와 같은 디지털화(digitization)는 일반적으로 시스템(200)으로 제공된 실제-세계 오브젝트를 식별하고 실제-세계 오브젝트를 가상 오브젝트로 처리하는 프로세스를 지칭한다.
도 3은 일 실시예에 따른, 사용자(304)가 오브젝트(306)의 디지털 표현을 생성하도록 하는 환경(300)의 도면이다. 특히, 환경(300)은 사용자(304)가 문어 인형으로 예시되어 있는 오브젝트(306)를 컴퓨팅 장치(302)에게 프레젠트하는 것을 보여주는데, 컴퓨팅 장치(302)에는 2개의 카메라, 즉 컬러 카메라(308) 및 깊이 카메라(depth camera)(310)가 구비되어 있다. 환경(300)에서, 컴퓨팅 장치(302)는 Microsoft Corporation®에 의해 제작된 Microsoft KinectTM과 같은 게임 콘솔이다. 컴퓨팅 장치(302) 상의 카메라들은 오브젝트(306)를 포함하는 하나 이상의 이미지를 캡쳐한다. 컬러 카메라(308)는 이미지를 위하 컬러 데이터를 캡쳐하고, 깊이 카메라(310)는 깊이 데이터(depth data)를 캡쳐한다. 대안적인 실시예들에서, 컴퓨팅 장치(302)는 컬러 및 깊이 데이터 양자 모두를 캡쳐하는 오직 하나의 카메라만을 가질 수 있다.
비록 도시되어 있지는 않지만, 사용자(304)는 정면 이미지와 결합되어 오브젝트(306)의 3D 영상을 생성하기 위해 사용될 수 있는 후면의 이미지를 캡쳐하기 위해 오브젝트(306)의 후면을 컴퓨팅 장치로 프레젠트할 수 있다. 또한 더 완전한 3D 디지털화를 생성하기 위해 오브젝트의 그 외 다른 뷰들의 추가적인 이미지들도 캡쳐될 수 있다.
도 4는 일 실시예에 따른, 오브젝트를 디지털화하는 동작 흐름도(400)이다. 먼저, 402에서 도시된 바와 같이, 사용자는 이미지가 촬영되도록 하기 위해 컴퓨팅 장치 상의 카메라에게 오브젝트를 프레젠트한다. 몇몇 실시예들에서, 컴퓨팅 장치는 - 예컨대 디스플레이 상에서 사용자의 실-시간 이미지를 보여주는 윤곽선을 제공하고 그런 다음 윤곽선 안으로 오브젝트를 이동시키도록 지시하여 - 이미지의 최적 이미지를 캡쳐하기 위해 특정 영역 안으로 오브젝트를 이동시키도록 사용자에게 지시할 수 있다. 일단 초기 이미지가 취해지면, 컴퓨팅 장치는 사용자에게 404에서 도시된 바와 같이 캡쳐를 위해 오브젝트의 후면을 프레젠트하도록 지시할 수 있다. 후면을 캡쳐하기 위한 안내는 컴퓨팅 장치에 의해 유사하게 제공될 수 있다. 각각의 캡쳐된 이미지에 있어서, 컬러 및 깊이 데이터가 저장되고 프레젠트된 오브젝트를 디지털화하기 위하여 사용된다. 더 나아가, 다수의 이미지들이 오브젝트의 정면 및 후면 관점에서 캡쳐될 수 있다. 예를 들어, 컴퓨팅 장치는 10개의 정면 이미지와 10개의 후면 이미지를 취하고, 정면 10개를 합치고 후면 10개를 합치거나 - 또는 이미지를 디지털화하기 위하여 20개 모두를 사용할 수 있도록 구성될 수 있다. 비록 10개의 이미지가 하나의 오브젝트를 디지털화하기 위하여 이상적인 이미지 개수로서 설명되지만, 그 외 다른 실시예들은 다른 수의 캡쳐된 이미지들을 사용할 수 있다.
일단 오브젝트의 정면 및 후면 이미지들이 카메라에 의해 캡쳐되면, 일 실시예는 406에서 도시된 바와 같이, 카메라에 대해 이미지 내에서 가장 가까운 포인트를 탐색 - 이미지의 깊이 데이터를 이용하여 - 함으로써 디지털화를 시작한다. 사용자는 아마도 사용자 앞에 디지털화될 오브젝트를 잡고 있고, 따라서 오브젝트는 카메라에 대해 다른 것들보다 더 가까울 것이다. 도 3으로 되돌아가면, 사용자(304)가 오브젝트(306)를 사용자 앞에 잡고 있으며 따라서 컴퓨팅 장치(302)에 더 가깝다는 것을 알 수 있다. 이미지 내에서 가장 가까운 오브젝트의 발견은 이미지와 연관되어 있는 깊이 데이터를 사용하여 성취될 수 있으며, 몇몇 실시예들은 양자 모두에서 가장 가까운 오브젝트를 식별하기 위해 정면 및 후면 이미지들 양자 모두에 대해 이 프로세스를 수행한다.
408에서 나타난 바와 같이, 이미지 내에서 식별된 가장 가까운 오브젝트는 이후 그 오브젝트가 종료되는 위치를 식별하기 위해 에지(edge)들이 탐색된다. 이미지 내에서 오브젝트의 에지들을 발견하기 위하여 깊이 데이터가 다시 사용된다. 에지 탐색은 가장 가까운 포인트로부터 바깥쪽으로, 포인트들의 깊이에서 급격한 차이를 찾음으로써 이루어질 수 있다. 예를 들어, 도 3의 문어의 에지는 사용자(304)의 어깨를 나타내는 인접 포인트보다 약 반 미터 더 가까운 포인트를 가질 수 있다. 그러한 급격한 차이는 인접 포인트가 오브젝트의 일부가 아니며 따라서 추가 디지털화 단계들에서 포함되지 않아야 한다는 판독가능한 신호를 나타낸다. 이러한 방식으로 오브젝트의 모든 에지들을 발견함으로써 컴퓨팅 장치는 이미지 내에서 오브젝트를 식별할 수 있다.
일단 오브젝트가 결정되면, 일 실시예는 이미지의 나머지(즉, 오브젝트로서 식별되지 아니한 이미지 부분)와 연관되어 있는 컬러 데이터를 스위치 오프(switch off)시킨다. 몇몇 실시예들에서 다수의 이미지(예컨대, 오브젝트의 정면에서 10개의 이미지 및 오브젝트의 후면에서 10개의 이미지)를 캡쳐하는 것이 필요할 수 있고, 따라서 410에서 도시된 바와 같이 프레임들 사이에서 발견된 에지들을 혼합하기 위하여 스무딩 기법(smoothing technique)이 요구될 수 있다. 예를 들어, 오브젝트는 프레임 1 및 프레임 4 사이에서 이동될 수 있고 프레임들 사이에서 에지들을 스무딩하는 것이 오브젝트의 정확한 표현을 얻기 위해 필요할 수 있다. 덧붙여서, 깊이-대-컬러 조정(registration)에서의 노이즈, 저해상도, 및 결함도 또한 에지들의 추가적인 스무딩 및/또는 필터링을 필요로 할 수 있다.
일 실시예에서, 최종 스무딩된 및/또는 필터링된 오브젝트는, 412에서 도시된 바와 같이, 확인을 위해 사용자에게 프레젠트된다. 사용자는 최종 오브젝트를 수용하거나 거절할 수 있다. 만약 수용되면, 오브젝트를 디지털화하기 위하여 추가적인 프로세싱이 진행될 수 있다. 만약 거절되면, 실시예들은 사용자에게 오브젝트의 새로운 영상을 취함으로써 프로세스를 시작할 것인지 질문할 수 있거나 또는 단순히 오브젝트를 재-스무딩 또는 재-필터링할 수 있다.
결과적으로, 정면 및 후면 이미지들은 3D 형태로 오브젝트의 포인트 클라우드 구조물(point cloud construction)을 생성하기 위해 사용된다. 도 12에서 상세히 도시된 "포인트 클라우드 구조물"은, 식별된 오브젝트의 각각의 포인트 또는 픽셀의 깊이를 사용한, 3D 공간 안으로 오브젝트의 정면 및/또는 후면 이미지의 매핑이다. 포인트 클라우드 구조물은 오브젝트의 추가 디지털화에서 사용된다.
도 5 내지 도 27은 디지털화 프로세스에서 다양한 단계들의 이미지들을 보여주며 상이한 실시예들에 의해 사용되는 프로세싱을 도시하기 위하여 아래에서 더 상세히 논의될 것이다. 특히, 도 5(a) 및 도 5(b)는 일 실시예에 따른 디지털화를 위해 오브젝트를 프레젠트하고 있는 사용자의 카메라-뷰 관점의 도면이다. 도시된 실시예에서, 오브젝트의 2개의 뷰가 캡쳐된다. 컬러 카메라는 타겟 오브젝트 주위에서 640X480 컬러 윈도우를 얻기 위하여 프레임의 중심으로 줌인(zoom in)되고, 그러면 컬러 윈도우의 코너들은 깊이 프레임 좌표로 변형된다(코너들이 타겟 오브젝트의 정면에 있다고 가정한다). 그런 다음 매칭하는 160X120 윈도우가 깊이 프레임으로부터 획득된다. 이러한 프레임 단위의 윈도우 조정(카메라에 대한 타겟 오브젝트의 거리에 의존하여)이 없다면, 깊이 및 컬러 윈도우들은 가능한 한 완전히 오버랩되지 않을 수 있다. 더 나아가, 로우(raw) 컬러 및 깊이는 깊이-대-컬러 또는 컬러-대-깊이 조정의 수행없이 캡쳐된다. 해상도 수치 및 윈도우는 단지 예시적인 목적으로 제공되는 것이며, 따라서 다양한 그 외 다른 해상도들이 대안적으로 사용될 수 있다.
일 실시예에서, 깊이 이미지는 타켓 오브젝트로 세크먼트화된다. 이렇게 하기 위하여, 카메라에 대해 가장 가까운 깊이 픽셀이 탐색되고, 이러한 포인트가 타겟 오브젝트 상에 있다고 가정한다면, 발견된다. 그런 다음 이 실시예는 깊이 에지들(즉, 깊이가 오브젝트의 정면에서 너무 멀리 떨어져 있는 위치 또는 아무런 깊이 데이터가 없는 위치)이 마주칠 때까지 발견된 가장 가까운 포인트로부터 바깥쪽으로 플러드-필(flood-fill)한다. 덧붙여서, 급한 경사 영역 주위 및 너무나 적은 이웃들을 가진 포인트들은 제거될 수 있다. 그 결과는, 도 6에 도시된 바와 같이, 타겟 오브젝트 상에 있는 깊이 픽셀들의 마스크(본 명세서에서 "세크먼트화된 깊이 이미지"로서 지칭되는)이다. 세그먼트화된 깊이 이미지는 깊이 프레임들의 링 버퍼(10의 링 버퍼 크기를 가진 BAB/GOE 운반되어)내에 저장되어, 가장 오래된 깊이 프레임을 덮어쓰고 최종 깊이 이미지를 획득하기 위하여 모든 프레임들과 함께 평균화된다. 일 실시예에서, 오직 세그먼트화된 깊이 픽셀들이 최종 평균에 기여한다. 결과적으로, 노이즈는 스무딩되고, 더 안정한 오브젝트 에지로 귀결되며, 오브젝트의 부분들이 노이즈 또는 열악한 IR 반사 물질에 기인하여 세그먼트화 되었다 안되었다 하는 시나리오를 향상시킨다.
도 7은 일 실시예에 따른, 깊이-대-컬러(depth-to-color) 오프셋의 도면이다. 도시된 바와 같이, 일 실시예는 녹색 포인트들을 나타내는 녹색 컬러들(우측 코너에서 보여지는), 붉은 색 컬러들(좌측 아래 코너에서 보여지는), 및 그 사이에서 이 둘을 혼합한 것을 가진 깊이-대-컬러 오프셋 테이블을 구축한다. 각각의 픽셀의 깊이 및 컬러 공간 좌표들 사이의 오프셋들은 컬러 세그먼테이션 및 메쉬 프로세싱 동안에 신속한 룩업을 위해, 뿐만 아니라, 특정 카메라의 눈금 조절 설정치와 상관없이, 오직 2개의 캡쳐된 컬러 이미지들 사용하여 출력 메쉬를 완전한 재생을 돕기 위해 테이블 내에 저장된다. 테이블 외측 영역에서 오브젝트 세그먼테이션은 세그먼테이션의 에지에서 바깥쪽으로 오프셋들을 복사함으로써 채워질 수 있다. 에지에서 복사된 오프셋은, 깊이 이미지 내에 투사된 출력 메쉬 내의 정점들이 깊이 세그먼테이션의 경계 바깥에 떨어지는 경우를 다루기 위하여, 나중에 사용될 수 있다.
도 8은 소스 컬러 이미지의 도면이고, 도 9는 일 실시예에 따른, 캡쳐된 오브젝트의 컬러 세그먼테이션의 도면이다. 깊이 공간 내의 세그먼테이션으로 시작하면, 일 실시예는 별-형태의 스플렛(splat) 패턴을 사용하여, 320X240 컬러 세그먼테이션 버퍼 안으로 각각의 세그먼트화된 깊이 픽셀을 스플렛한다. 그러면 결과적인 패턴은 640X480으로 "업-샘플링된"되고, 각각의 세그먼트화된 컬러 픽셀에 대해 소스 깊이 픽셀이 "이상적인" 거리로부터 얼마나 멀리 있는지를 기술하는 "이상으로부터의 거리(distance-from-ideal)" 값이 계산된다. 이상적인 거리는 깊이 카메라의 전면 클립 면을 가로지르지 않고 가능한 한 많은 컬러/깊이 데이터를 획득하기 위하여 카메라에 대해 얼마나 가까이 사용자가 타겟 오브젝트를 잡고 있어야 하는지를 나타낸다. 이들 값은 캡쳐 프로세스 동안에 사용자에게 피드백으로서 프레젠트될 수 있다. 이상적인 것으로부터 떨어져 있는 픽셀들은 이상적인 것에 더 가까운 픽셀들보다 더 심하게 틴트되거나 블러링될 수 있다. 이상으로부터의 거리 값들은 결과적으로 실시간 프리뷰를 위해 사용되는 컬러 이미지의 알파 채널 안으로 복사된다.
도 10 및 도 11은 일 실시예에 따른, 디지털화될 오브젝트를 잡고 있는 것에 대한 안내를 제공하는 사용자 인터페이스(UI)의 도면들이다. 도 10은 도시된 실시예가 세그먼트화된 픽셀들의 개수, 카메라까지의 거리, 카메라 뷰의 중심으로부터의 거리, 픽셀 안정성, 및 오브젝트 크기를 분석하고, 사용자에게 얼마나 오브젝트의 가장 좋은 위치인가에 대하여 시각적인 피드백 및 텍스트 피드백을 제공한다는 것을 보여준다. 피드백은 스크린 상에서 윤곽선의 형태일 수 있다. 도 11은 위와 동일한 프로세스를 사용하여 타겟 오브젝트의 후면의 이미지의 컬러 및 깊이 데이터를 보여준다. 일 실시예는 세그먼트화된 정면 캡쳐의 윤곽선을 사용하여 정확하게 오브젝트를 배향하도록 사용자를 안내한다. 사용자는 정면 및 후면 캡쳐들이 나중에 자동으로 정렬될 수 있기 때문에 정밀하게 윤곽선을 매칭시킬 필요는 없다.
도 12는 일 실시예에 따른, 포인트 클라우드 구조물을 보여준다. 이 지점에서, 2개의 컬러 및 깊이 이미지들이 타겟 오브젝트에 대해 세그먼트화되었다. 이들 이미지를 사용하여, 타겟 오브젝트의 표면 상에서 포인트들의 포인트 클라우드 구조물이 구축되고 나중에 트라이앵글 메쉬(triangle mesh)를 재구축하기 위하여 사용될 수 있다. 정면 이미지 내의 세그먼트화된 픽셀들은 3D 포인트들의 "시트(sheet)"로 변환된다. 일 실시예에서, 위치들은 깊이 데이터 및 시트의 후면-중심에 있는 원점을 이용하여 깊이 이미지 공간으로부터 모델 공간으로 상향-투영(up-project)된다. 시트의 에지들은 오브젝트의 면들을 형성하도록 추가적인 포인트들을 추가함으로써 후면 방향으로 돌출된다. 오브젝트가 얼마나 "깊은지"를 추정하기 위하여, BAB/GOE에서, 돌출 거리에 대한 고정 값이 사용될 수 있다.
유사하게, 후면 이미지로부터의 3D 포인트들로 이루어진 시트는, 정면 캡쳐의 후면 중심을 원점으로 이용하여 생성된다. 도 13은 일 실시예에 따른, 정렬된 포인트 시트들의 2개의 뷰를 도시한다. 시트들을 정렬하기 위하여, 이 시트를 상향 축(up axis)을 중심으로 180도 회전시켜 그것이 포인트 클라우드의 후면을 형성할 수 있도록 하기 위한 초기 변환이 계산된다. 일 실시예에서, 정면 시트와 후면 시트의 에지들을 가능한 한 가까이 정렬하는 다른 하나의 변환이 계산된다. 정렬 프로세스는 후면 시트의 질량 중심을 정면 시트의 질량 중심과 매칭되도록 하기 위해 후면 시트를 이동시킬 수 있다. 그런 다음, 각각의 정면 에지 포인트로부터 그것의 가장 가까운 후면 에지 포인트까지 거리들의 합계로서 계산되는, "정렬 에러" 값을 최소화하기 위하여 이동 및 회전 범위에 대해 억지 반복(brute-force iterate)이 사용된다. 반복은 다수의 패스(pass)(각각의 패스는 한번에 하나씩 각각의 이동 및 회전 축에 대해 가장 좋은 값을 계산하려고 시도한다)들 안에서 행해질 수 있다. 가장 가까운-포인트-찾기(closest-point-finding)는 3D 셀 공간 파티션을 사용하여 가속된다. 일 실시예는 또한 패스트 파인-그레인드(fast fine-grained) 정렬을 위해 반복적인 가장 가까운 포인트(ICP, iterative closest point) 알고리즘을 구현하거나, 또는 대안적으로, 더 나은 컨트롤에 대한 요구로 인해 반복적인 억지 방법만 사용할 수도 있다.
후면 시트 내에 대응하는 포인트를 가지지 않는 정면 시트의 포인트는 가장 가까운 후면 포인트를 발견하기 위하여 각각의 정면 포인트로부터 후면 방향으로 탐색하도록 선별될 수 있다. 유사하게, 정면 시트 내에서 대응하는 포인트를 가지지 아니하는 후면 시트의 포인트가 선별될 수 있다. 이것은 정면 캡처와 후면 캡쳐 사이에서 불일치하는 시트 부분을 제거하는데, 이 경우는 만약 사용자의 손이 캡쳐 내에 존재하지만 캡쳐들 사이에서 위치를 변경한 경우에, 또는 오브젝트가 정면 및 후면 캡쳐 사이에서 형태가 변화된 경우에 발생할 수 있다.
일 실시예에서, 나머지 포인트들은 최종 포인트 클라우드에 함께 병합되며 각각의 포인트 및 그것의 우측 및 하부의 이웃들에 의해 형성되는 평면을 이용하여 포인트들의 평균(normal)이 계산된다. 도 14는 일 실시예에 따른, 최종 포인트 클라우드 구조물을 보여준다.
도 15에서 도시된 바와 같이, 이후 확인 이미지가 사용자에게 프레젠트될 수 있다. 확인 이미지는 시트 정렬 및 포인트 선별의 결과를 포함하며, 사용자로 하여금 캡쳐, 정렬, 또는 선별이 형편없이 실패한 경우를 검출할 수 있게 하며 구성 프로세스의 나머지를 진행하지 않고 재-캡쳐하도록 허용한다. 이미지는 최종 포인트 클라우드 내의 포인트들을 정면 및 후면 컬러 이미지의 알파 채널 안으로 투사하고 스플렛팅하고, 정렬 변환에 기초하여 후면 이미지를 회전시키며, 또한 몇몇 추가적인 이미지 클린업을 수행함으로써 생성된다.
표면 재구성 단계는 최종 포인트 클라우드를 취하고 트라이앵글 매쉬를 생성한다. 도 16은 표면 재구성을 이용한 메쉬 출력의 도면이다. 이것은 몇몇 실시예들에서 대략 20,000 포인트를 가지는 전형적인 포인트 클라우드 데이터에 대해 10-20 초가 걸리는, 메모리 및 시간 양자 모두에 있어 디지털화의 가장 집중적인 계산이 필요한 부분일 수 있다. 구멍-메우기(hole-filling)의 양은 메모리 사용량의 제어를 유지하기 위해 재구성 동안에 제한될 수 있지만, 그러나 이러한 제한은 만약 포인트 클라우드 내에 큰 구멍들이 존재한다면 논-워터-타이트(non-water-tight) 메쉬로 귀결될 수 있다.
도 17은 일 실시예에 따른 오브젝트의 스무딩되고 처리된 이미지의 도면이다. 정점 인접성 리스트가 구축되고 면과 정점 평균이 계산된다. 그런 다음, 일 실시예는 몇몇 구속조건을 스무딩하기 위하여 라플라시안 알고리즘을 사용한다. 그 결과, 오브젝트의 측면들은 다듬어지고, 노이즈가 제거되며, 포인트 시트가 정렬되어 있지 않던 영역들이 정렬된다.
포인트 클라우드의 품질에 의존하여, 표면 재구성은 단일의 큰 메쉬 대신에 기하학적인 작은 "섬들(islands)"을 생성할 수 있다. 일 실시예는 섬들을 발견하고, 그것들의 부피를 계산하고, 가장 큰 섬보다 너무 작은 섬들을 제거하기 위해 연결된 컴포넌트 라벨링을 사용한다.
각각의 정점에 대하여, 일 실시예는 정점의 평균 및 정면 캡쳐 및 후면 캡쳐 뷰 방향 사이의 도트 곱(dot product)을 검사한다. 정면 뷰 방향은 모델-공간의 음의 Z축을 따를 수 있는 반면에 후면 뷰 방향은 시트 정렬 프로세스의 결과에 의존할 수 있으며 양의 Z축을 따르지 않을 수 있다. 결과적으로, 몇몇 정점들은 정면 및 후면 캡쳐 뷰 내에서 가시적일 수 있고, 몇몇 정점들은 두 뷰 모두에서 가시적이지 않을 수 있다. 몇몇 정점들은 이들의 법선이 후면보다 정면과 대향하고 있다면 "정면"으로 분류될 수 있고, 그 역도 마찬가지이다. 이것은 또한 "심(seam)" 정점(즉, 오브젝트의 정면 뷰 및 후면 뷰에 걸쳐있는 정점들)의 발견을 허용한다.
최종 메쉬 상에 적용할 텍스처 맵을 생성하기 위하여, 일 실시예는 텍스처의 상부에 정면 캡쳐로부터의 컬러 이미지를 배치하고 정면 캡쳐의 바로 하부에 후면 캡쳐로부터의 컬러 이미지를 배치한다. 텍스처의 상부로부터의 텍셀(texel)들은 일차 정면-대향 트라이앵글 상으로 매핑되고 일차 후면-대향 트라이앵글에 대해서는 그 역이다. 정점들은 초기에 정면-후면 심를 따라 정면 및 후면 트라이앵글 사이에서 공유될 수 있고, 이후, 이들 공유된 정점들은 정면 대 후면 트라이앵글들에 텍스처의 상이한 부분들을 매핑할 수 있도록 복제될 수 있다.
도 18은 UV 좌표들을 가진 이미지의 도면을 도시하고, 도 19는 일 실시예에 따른 최종 텍스처 맵의 한 섹션으로 그려진 정면-대향 트라이앵글 에지의 도면을 도시한다. UV 좌표들을 계산하기 위하여, 정면-대향 트라이앵글들은 정면 캡쳐 컬러 이미지가 배치되어 있는 텍스처의 상부로 매핑되며, 하부에 대하여도 마찬가지이다. 정점 위치들은 깊이 카메라의 공간 내에 있으며; 반면, 컬러 이미지들은 컬러 카메라의 공간 내에 있고, 따라서 정면/후면 깊이 이미지들 상으로 정점들을 투사한 이후, 일 실시예는 좌표를 컬러 카메라 공간으로 변환시키기 위해 깊이-대-컬러 오프셋 테이블을 사용한다.
일 실시예에서, 메쉬는 재-센터링되고, 상향 축 주위로 미러링되고 최대 폭/높이 종횡비를 강제하기 위해 스케일링된다. 캡쳐된 컬러 및 깊이 이미지들은 실제 물리적인 오브젝트와 비교하여 미러링되고, 따라서 다른 하나의 미러링이 이것을 역전시키기 위해 사용된다. 골격(skeleton)은 최적화될 수 있고 애니메이션은 더 넓은 오브젝트보다는 더 큰 오브젝트를 위해 추가될 수 있으며, 따라서 폭/높이 종횡비 구속조건은 특정 골격과 매칭되지 아니하는 넓은 오브젝트를 애니메이팅함으로써 야기되는 결함을 속박한다.
일 실시예에서, 하나의 단일 골격이 오브젝트의 모든 애니메이션들에 대해 사용된다. 골격은 타겟 오브젝트가 더 많은 형태를 가지는 것을 요구함이 없이 양호한 범위의 움직임(걷기, 뛰기, 기기, 춤추기, 좌우 보기 등)들을 제공하는 뼈들을 가질 수 있다.
디지털화된 이미지에 피부를 적용하기 위하여, 메쉬는 골격이 그 안에 맞추어지도록 재스케일링되고, 상부 뼈가 오브젝트의 상단으로부터 특정 퍼센트(예컨대, 대략 90%)에 위치되도록 하고(대략적으로 오브젝트의 "머리" 안에 배치하는) 하부 ㅃs는 오브젝트의 하단 부분에 위치되도록 한다. 그런 다음 상향 축을 따라 각각의 정점에 대해 가장 가까운 뼈들을 발견하고 폴오프(falloff) 곡선을 사용하여 그것들에 가중치를 부여함으로써 뼈 지수(bone indices)가 계산될 수 있고 골격에 가중치가 추가될 수 있다. 도 20(a) 내지 도 20(e)는 일 실시예에 따른, 생성된 골격 구조의 상이한 뼈들에 추가된 가중치를 도시하는 도면들이다. 오브젝트에 대한 골격 적용이 아래에서 상세히 논의된다.
컬러 및/또는 깊이 이미지들은 노이즈를 감소시키고 품질을 향상시키기 위해 프로세싱될 수 있다. 일 실시예에 따른 프로세싱은 정면 이미지 및 후면 이미지에 대해 독립적으로 수행되고, 그 결과들은 하나의 최종 텍스처 맵으로 통합되는데, 이 최종 텍스처 맵은 추가 프로세싱이 요구될 수 있다. 몇몇 실험과 아티스트로부터의 피드백 이후, 다음의 단계들이 최적이라는 점이 발견되었다, 즉: sRGB 컬러들을 선형 공간으로 변환하고, "그레이-세계"에 오토-화이트 밸런스를 적용하고, 에지 결함을 복구하고, 루마 및 크로마 값들을 계산하고, 쌍방 필터링을 적용하고, 히스토그램 균등화, 및 루마에 대해 샤프닝, 크로마에 대해 중간 필터링을 적용하고, sRGB로 다시 변환하고, 마지막으로, 이미지의 디-세그먼트된 영역들로 컬러들의 에지들을 외부로 연장한다. 상이한 실시예들에서 그 외 다른 단계들이 추가될 수 있고 위의 몇몇 단계들이 삭제될 수 있다.
도 21(a) 및 도 21(b)는 일 실시예에 따른 루마/크로마 프로세싱 전 및 후의 이미지를 보여준다. 루마/크로마를 독립적으로 프로세싱하는 것은 루마 이미지 내에서 디테일을 보존하는 한편으로 크로마를 훨씬 더 강하게 필터링하는 것을 허용하는데, 이것은 이미지에서 노이즈를 제거하는데 좋다. 히스토그램 균등화는 열악하게 노출된 이미지들을 보상하기 위하여 매우 가볍게 적용될 수 있다.
도 22(a) 및 도 22(b)는 일 실시예에 따른 에지들이 필터링된 이후 소스 및 출력 이미지들을 보여준다. 일 실시예에서, "에지 복구 필터"는 실질적으로 배경으로부터 유래되고 오브젝트 그 자체가 아닌 타겟 오브젝트의 에지들에서 컬러들을 대체하려고 시도한다. 상대적으로 낮은 해상도 및 깊이 이미지의 높은 노이즈 및 불완전한 깊이-대-컬러 조정에 기인하여 불량 컬러들이 발생될 수 있다. 에지 복구 필터는 오브젝트 에지 바로 주위에서 픽셀들의 "문제되는 영역"에 대해 동작한다. 문제되는 영역에 대해 내부의 픽셀들은 확실하게 타겟 오브젝트의 일부이고 먼 외부에 있는 픽셀들은 배경의 일부라는 가정을 이용하여, 문제되는 영역 픽셀 마다 "배경 가능성" 값이 계산되고 높은 가능성의 배경 픽셀들을 내부 컬러들로 블렌딩하는데 사용된다.
도 23(a) 및 도 23(b)는 일 실시예에 따른 에지 복구 필터가 타겟 컬러들인 배경 컬러들을 복원하는 경우의 이미지들을 보여준다. 타겟 컬러들은 외부로부터 문제되는 영역 안으로 외삽된다.
도 24(a) 및 도 24(b)는 일 실시예에 따른 에지로부터 문제되는 영역까지의 거리 및 계산된 배경 가능성 값들을 보여주는 이미지들이다. 더 나아가, 도 25는 일 실시예에 따른 비 최종적인 이미지 위에 텍스처가 입혀진 이미지의 최종 합성 텍스처 맵을 보여준다.
정면 이미지 및 후면 이미지를 함께 배치하는 것으로부터 귀결되는 심는 복구될 필요가 있을 수 있다. 메쉬 프로세싱의 최후 비트는 정면-후면 심 근처의 외관 및 캡쳐링 동안에 컬러 카메라에 대해 비가시적이었던 영역들의 외관을 향상시키기 위해 사용된다. 먼저, 정점 마다 해당 정점에서 텍스처 컬러가 얼마나 "불량"일지를 나타내는 마스크 값이 계산된다. 이 값은 임의의 캡쳐된 이미지들에 대해 얼마나 후면-대향되어 있는지(표면이 카메라의 뷰로부터 멀리 향하는 것 및 또한 열악한 텍셀 밀도에 기인하여 텍스처 컬러가 손상되어 있는 위치)와 정점이 심(정면 이미지와 후면 이미지가 접촉하지만 전체적으로 양호하게 라인업되어 있지 아니한 곳)까지 거리의 곱이다. 이들 값은 정점 컬러 알파 채널 내에 저장될 수 있다. 그 다음에, 표면 컬러의 블러링된 버전이 계산되고 정점 컬러 RGB 채널 안으로 저장된다. 이들 컬러는 품질면에서(비록 세부적으로는 낮지만) 상당히 양호하다. 복구가 필요한 네거티브 결함은 상대적으로 로컬화되어 있으며 더 높은 주파수를 가지는데 비해, 블러링(blurring)은 더 전체적인, 낮은-주파수의 컬러를 제공한다.
도 26(a) 및 도 26(b)는 일 실시예에 따른 마스크된 값 및 심하게 블러링된 정점 컬러들을 보여준다. 일 실시예에서, 동작시, 마스크 값은 소스 텍스처와 블러링된 정점 컬러 사이 블렌딩을 위하여 사용된다. 도 27(a) 및 도 27(b)는, 일 실시예에 따른, 텍스처만 가진 메쉬(도 27(a)) 및 마스크 값에 의한 정점 컬러 블렌딩을 수행한 텍스처를 가진 메쉬(도 27(b))의 상이한 메쉬들을 보여준다.
도 28은 일 실시예에 따른, 디지털화된 오브젝트의 최종 렌더링을 보여준다. 일 실시예에서, 일단 최종 메쉬 및 텍스처가 완성되면, 언리얼 엔진 3 메쉬(Unreal Engine 3 mesh)가 생성되고 환경 및 가장자리 조명, 자체 그림자 및 애니메이션과 함께 렌더링된다. GOE 앱(app)은 또한 사용자가 골격 상에 누이(Nui) 골격을 매핑함으로써 오브젝트를 아바타화하도록 허용한다.
도 2로 되돌아가면, 수신 컴포넌트(231)는 사용자 골격 정보를 수신하도록 더 구성될 수 있다. 본 명세서에서 사용되는 바와 같은 사용자 골격 정보는 일반적으로 사용자의 골격을 식별하는 데이터를 지칭한다. 상세하게는, 관절 각도, 관절 위치 등이 사용자 골격 정보 내에 포함된다. 일 실시예에서, 수신 컴포넌트(231)는 오브젝트 및 사용자 골격 정보를 수신하도록 구성된 카메라의 형태를 취할 수 있다. 추가적인 일 실시예에서, 카메라는 게임 시스템의 카메라이다.
식별 컴포넌트(232)는 특히 가상 환경 내의 오브젝트(예컨대 수신 컴포넌트(231)에 의해 수신되었던 디지털화된 오브젝트), 사용자 골격, 오브젝트 골격, 등등을 식별하도록 구성될 수 있다. 본 명세서에서 사용되는 바와 같은 오브젝트 골격은 일반적으로 가상 환경 내의 오브젝트 상에 적용되는 골격을 지칭한다. 일 실시예에서, 하나의 단일 시스템-정의 템플릿 오브젝트 골격이 가상 환경 내의 하나의 오브젝트를 제어하기 위하여 사용된다. 대안적인 실시예들에서, 가상 환경 내의 하나의 오브젝트 상에 적용하기 위하여 복수의 시스템-정의 템플릿들이 이용가능할 수 있다. 추가적인 실시예들에서, 오브젝트 골격들은, 아래에서 더 상세히 기술되는 바와 같이, 사용자의 움직임 시연에 기초하여 실시간으로 생성될 수 있다.
먼저, 일단 오브젝트가 시스템(200)에 의해 수신되면, 식별 컴포넌트(232)는 오브젝트와 연관시키기 위하여 오브젝트 골격을 식별할 수 있다. 오브젝트와 연관시키기 위한 하나의 단일 시스템-정의 템플릿 오브젝트 골격이 이용가능하다고 가정하면, 식별 컴포넌트(232)는 오브젝트와 연관시키기 위해 단일 시스템-정의 템플릿 오브젝트 골격을 식별할 수 있다.
대안적으로, 만약 복수의 오브젝트 골격들이 이용가능하다면, 식별 컴포넌트(232)는 오브젝트의 하나 이상의 성질들을 식별할 수 있다. 오브젝트의 하나 이상의 성질들에는, 오브젝트의 팔다리의 개수, 오브젝트의 형상, 오브젝트의 크기(예컨대, 길이, 폭, 등) 등이 포함되지만, 이것들로 제한되지 않는다. 그런 다음 하나 이상의 성질은, 오브젝트의 하나 이상의 성질들과 대응하는 하나 이상의 오브젝트 골격들을 복수의 오브젝트 골격들 중에서 식별하기 위하여, 식별 컴포넌트(232)에 의해 이용될수 있다. 예를 들어, 만약 오브젝트가 2개의 팔다리를 가지고 있다고 식별된다면, 2개의 팔다리를 가진 오브젝트 골격은 4개의 팔다리를 가진 오브젝트 골격보다 오브젝트에 대해 더 양호한 매치이다.
추가적인 일 실시예에서, 오브젝트 골격은 사용자의 자유도에 기초하여 실시간으로 생성될 수 있다. 예를 들어, 사용자는 자신의 팔다리를 사용하여 식별 컴포넌트(232)에게 움직임을 시연할 수 있다. 움직임 내의 자유도(즉, 관절)의 시연에 의하여, 사용자의 관절 정보에 기초하여 오브젝트 골격이 실시간으로 생성될 수 있다.
식별 컴포넌트(232)는 또한 사용자의 사용자 골격을 식별하도록 구성될 수 있다. 실시예들에서, 사용자는 인간 사용자이다. 사용자 골격은, 예컨대 Microsoft Corporation®에 의해 제작된 Microsoft KinectTM과 같은 게임 시스템으로 통합되어 있는 예컨대 골격 추적 기술을 사용하여 식별될 수 있다. 식별 컴포넌트(232)는 시스템(200)의 하나의 이미지 내에서 사용자를 식별할 수 있다. 사용자는 이미지의 각각의 픽셀 및 식별 컴포넌트(232)로부터 각각의 픽셀의 거리를 식별함으로써 이미지 내에서 식별될 수 있다. 예를 들어, 사용자의 각각의 픽셀은 식별 컴포넌트(232)로부터 대략적으로 동일한 거리일 것이지만 사용자의 뒤에 있는 램프는 사용자보다 식별 컴포넌트(232)로부터 상이한 거리에 있을 것이다. 덧붙여서, 사용자의 형상은 이미지 내에서 사용자를 식별하기 위해 사용될 수 있다. 이런 기법들을 사용하여 사용자는 배경으로부터 분리될 수 있다.
일단 사용자가 이미지 내에서 식별되면(즉, 배경으로부터 분리되면), 사용자의 사용자 골격이 식별될 수 있다. 사용자 골격은 사용자의 포즈를 식별함으로써 식별될 수 있다. 본 명세서에서 사용된 바와 같은 사용자의 포즈는, 일반적으로 사용자의 이미지가 캡쳐된 때에 사용자의 위치를 지칭한다. 사용자의 포즈 내에서, 포즈의 관절 각도, 포즈의 관절 위치 등 포함하지만 이에 제한되는 것이 아닌 사용자 골격 정보가 식별된다. 사용자의 포즈, 및 그것 안의 사용자 골격 정보는 예를 들어 데이터 스토어(220)로부터 이용가능한 하나 이상의 템플릿 포즈와 비교될 수 있다. 이 비교에서 사용자의 포즈의 관절 각도 및 관절 위치가 템플릿 포즈의 관절 각도 및 관절 위치와 비교될 수 있다. 이 정보와 비교함으로써, 템플릿 포즈로부터 가장 가까운 매치가 식별될 수 있다. 가장 가까운 매치는 사용자 골격과 연관될 수 있다.
매핑 컴포넌트(233)는 특히 오브젝트에 오브젝트 골격을 매핑하고 오브젝트에 사용자 골격을 매핑하도록 구성될 수 있다. 먼저, 오브젝트 골격은 가상 환경 내에 오브젝트에 매핑될 수 있다. 앞서 기술된 바와 같이, 오브젝트 골격은 하나 이상의 템플릿 오브젝트 골격들로부터 선택될 수 있다. 매핑 컴포넌트(233)는 오브젝트 골격의 중심을 식별함으로써 오브젝트에 오브젝트 골격을 매핑할 수 있다. 매핑 컴포넌트(233)는 또한 가상 환경 내 오브젝트의 질량 중심을 식별할 수 있다. 매핑 컴포넌트(233)는 그런 다음 오브젝트의 질량 중심에 오브젝트 골격의 중심을 매핑할 수 있다.
상상될 수 있는 바와 같이, 오브젝트 골격은, 그것이 시스템-정의 템플릿 골격일 수 있기 때문에, 오브젝트에 맞지 않을 수 있다(즉, 오브젝트는 오브젝트 골격보다 더 크거나 더 작을 수 있다). 일 실시예에서, 오브젝트는 오브젝트 골격을 맞추도록 크기가 조절될 수 있다. 오브젝트 골격에 맞추기 위해 오브젝트의 크기를 조절하는 것은, 오브젝트의 하단을 사용자 골격의 하단과 정렬시키는 것을 포함할 수 있지만 이에만 제한되는 것은 아니다. 실시예들에서, 오브젝트의 하단 및 사용자 골격의 하단은 서로에 대해 정확하게 정렬된다. 그 다음에, 오브젝트의 상단은 오브젝트 골격의 상단과 정렬될 수 있다. 오브젝트의 상단은, 오브젝트 골격의 상단이 오부젝트의 상부 아래에 미리결정된 거리에 있도록, 오브젝트 골격과 정렬될 수 있다. 오브젝트 골격의 상단은 오브젝트의 머리라고 가정되는 오브젝트의 부분을 고려하기 위하여 오브젝트의 상단 아래의 미리 결정된 거리에서 정렬될 수 있다. 일 실시예에서, 미리결정된 거리는 오브젝트의 상단 아래의 십 퍼센트(10%)이다. 미리결정된 거리는 권한있는 사용자에 의해 지정된 임의의 거리일 수 있다.
대안적인 일 실시예에서, 오브젝트 크기를 조정하는 것이 아니라 오브젝트 골격의 크기가 조정된다. 즉 오브젝트 골격은, 오브젝트의 하단과 오브젝트 골격의 하단이 정렬되도록, 오브젝트와 정렬될 것이다. 오브젝트 골격의 상단은 또한, 오브젝트 골격의 상단이 오브젝트의 상단 아래 미리 결정된 거리에 있도록, 오브젝트 상단과 정렬될 수 있다. 실시예들에서, 미리 결정된 거리는 오브젝트의 상단 아래의 십 퍼센트(10%)이다. 미리결정된 거리는 권한있는 사용자에 의해 지정된 임의의 거리일 수 있다.
일단 매핑 컴포넌트(233)가 오브젝트에 오브젝트 골격을 매핑하면, 사용자 골격이 오브젝트 골격으로 매핑될 수 있다. 사용자 골격을 오브젝트 골격에 매핑하는 것은 일대일(1:1) 매핑일 수 있고 또는 1:1 매핑이 아닐 수도 있다. 1:1 매핑은 사용자 골격과 오브젝트 골격 내의 관절의 수가 동일한 것을 가리킨다. 이런 경우, 사용자 골격의 관절 각도들은, 오브젝트 골격이 사용자 골격을 미러링하도록, 오브젝트 골격의 대응하는 관절 각도들에 매핑된다.
그렇지만, 종종 매핑은 1:1 매핑이 아닐 수 있는데, 이것은 오브젝트 골격 및 사용자 골격이 상이한 수의 관절을 가지는 것을 의미한다. 이 경우, 일부 관절들의 움직임을 과정하고 그 외 다른 관절들의 움직임을 억압하는 것이 바람직할 수 있다. 덧붙여서, 하나의 관절의 움직임들이 오브젝트 골격의 상이한 관절로 매핑될 수 있다. 예를 들어, 오브젝트가 코끼리라고 가정하자. 자명하게도, 사용자는 코끼리 코를 가지고 있지 않으며 코끼리는 사용자의 팔과 동일한 방식으로 움직이는 팔을 가지지 않는다. 사용자 골격의 팔들의 움직임은 예를 들어 코끼리의 코로 매핑될 수 있다. 즉 코끼리의 코는 사용자의 손들의 움직임에 따라 반응할 것이다.
또한 매핑은 각도-대-각도일 필요가 없다. 예를 들어, 관절 위치(예컨대, 사용자가 얼마나 높이 손을 올렸는가)는 오브젝트 골격 내에서 관절 스케일로 매핑될 수 있고, 이는 사용자가 손을 올리는 것에 반응하여 오브젝트가 위쪽으로 늘어나도록 야기할 수 있다. 덧붙여서, 사용자 관절 각도들은 더 세밀한 다-관절 애니메이션을 제어하기 위해 사용될 수 있으며, 따라서 하나의 사용자 관절 위치가 비-선형 방식으로 다수의 오브젝트 관절들을 제어할 수 있다.
일단 사용자 골격이 오브젝트 골격으로 매핑되면, 가상 환경 내의 오브젝트는 실제-세계 사용자를 미러링한다. 예를 들어, 만약 사용자가 오른 팔을 들면, 오브젝트는 매핑에 따르는 종류로 반응할 것이다(예컨대, 매핑은 오브젝트도 그것의 오른 팔을 올리도록 야기하는 1:1일 수 있고 또는 매핑은 오브젝트가 사용자의 오른 팔 움직임에 매핑되었던 다른 움직임으로 반응하도록 야기하는 1:1이 아닐 수 있다).
컨트롤링 엔진(230)는 사용자가 움직이는 때마다 데이터가 갱신되도록 실시간으로 동작할 수 있다. 특히 사용자 골격은 사용자가 이동하는 모든 경우마다 갱신될 수 있다. 이것은 또한 오브젝트 골격에 사용자 골격을 재-매핑하는 것으로 귀결될 수 있다. 이것이 실시간으로 이루어지기 때문에, 오브젝트는 사용자에 의해 계속 제어되고 매핑에 따라 사용자의 움직임에 계속해서 응답할 것이다.
디스플레이 컴포넌트(234)는 오브젝트를 디스플레이하도록 구성된다. 디스플레이된 오브젝트는, 매핑에 따라, 사용자의 움직임에 응답할 것이다.
이제 도 29를 참조하면, 본 발명의 일 실시예에 따른, 가상 환경 내 오브젝트들을 컨트롤하기 위한 전반적인 방법(2900)을 도시하는 흐름도가 제공된다. 처음에, 블록(2910)에서 도시된 바와 같이, 오브젝트가 가상 환경 내에서 식별된다. 앞서 언급된 바와 같이, 오브젝트는 실제-세계로부터 가상 환경 내로 수신된 임의의 비-인간 오브젝트일 수 있다. 오브젝트 골격은 블록(2920)에서 오브젝트에 매핑된다. 오브젝트 골격은 오브젝트를 맞추기 위하여 크기 조절되는 시스템-정의 오브젝트 골격 템플릿일 수 있다. 대안적으로 오브젝트가 오브젝트 골격에 맞추기 위하여 크기 조절될 수 있다. 블록(2930)에서, 사용자의 사용자 골격이 수신된다. 실제-세계 사용자의 사용자 골격이 수신되고 관절의 수, 관절 각도, 관절 위치 등이 포함되어 있는 골격 정보가 식별될 수 있다. 블록(2940)에서, 오브젝트가 사용자에 의해 컨트롤되도록 오브젝트 골격에 사용자 골격이 매핑된다. 특히, 사용자의 움직임은 오브젝트의 움직임을 컨트롤한다.
이제 도 30을 참조하면, 본 발명의 일 실시예에 따른, 가상 환경 내에서 오브젝트들을 컨트롤하는 전체적인 방법(300)이 도시된 흐름도가 제공된다. 처음에, 블록(3010)에서 도시된 바와 같이, 가상 환경 내의 오브젝트가 식별된다. 실시예들에서, 오브젝트는 디지털화되고 가상 환경 내에서 수신된 실제-세계 오브젝트일 수 있다. 블록(3020)에서, 오브젝트의 질량 중심을 식별하고 오브젝트의 질량 중심에 오브젝트 골격의 중심을 적용함으로써 오브젝트에게 오브젝트 골격이 매핑된다. 그런 다음 오브젝트 및/또는 오브젝트 골격은 블록(3030)에서 오브젝트 골격의 하단이 오브젝트의 하단과 정렬되도록 맞추기 위해 크기 조절될 수 있다. 블록(3040)에서 사용자의 사용자 골격이 수신된다. 블록(3050)에서, 오브젝트 골격의 하나 이상의 관절 각도가 사용자 골격의 하나 이상의 관절 각도를 반영하도록 오브젝트 골격에 사용자 골격이 매핑된다. 블록(3060)에서, 사용자의 움직임이 식별되고, 블록(3070)에서, 오브젝트의 움직임이 사용자의 움직임을 반영하도록 오브젝트가 이동된다.
본 발명은 특정 실시예들과 관련하여 기술되었는데, 이들 실시예들은 제한적인 것이 아니라 모든 면에서 예시적인 것으로서 의도된 것이다. 그 범위로부터 벗어나지 않는 대안적인 실시예들이 본 발명이 관련되어 있는 기술 분야에서 통상의 지식을 가진 자라면 명확해질 것이다.
비록 본 발명이 다양한 수정 및 대안적인 구성에 민감하지만, 그것의 특정한 예시적인 실시예들이 도면으로 도시되고 위에서 상세하게 기술되었다. 그렇지만, 기술된 구체적인 형태로 본 발명을 제한하려고 의도하지 않으며, 그와 반대로 본 발명의 사상과 범위 내의 모든 수정, 대안적인 구성, 및 등가물을 커버하는 것으로 의도된는다는 것이 이해되어야 한다.
상술한 것으로부터, 본 발명은 시스템 및 방법에 대해 자명하고 본질적인 그 외 다른 장점들과 함께, 위에서 제공된 모든 목적과 대상들을 달성하도록 잘 적응된 것임을 알 수 있을 것이다. 특정 특징들 및 하위 조합들은, 그 외 다른 특징들과 하위 조합들을 참조하지 않고도 이용될 수 있고 채용될 수 있다는 점이 이해될 것이다. 이것은 청구범위에 의해 고려되며 청구범위의 범위 내에 포함된다.

Claims (20)

  1. 하나 이상의 컴퓨팅 장치에 의해 사용될 경우, 상기 하나 이상의 컴퓨팅 장치가 방법을 수행하도록 하는 컴퓨터-판독가능 명령어들을 저장한 컴퓨터 저장 하드웨어 장치로서,
    상기 방법은,
    가상 환경 내의 오브젝트를 식별하는 단계;
    상기 오브젝트와 연관시키도록 오브젝트 골격 - 상기 오브젝트 골격은 상기 오브젝트의 하나 이상의 성질(property)에 기초해서 식별됨 - 을 식별하는 단계;
    상기 오브젝트에 상기 오브젝트 골격 - 상기 오브젝트 골격은 하나 이상의 관절 각도를 갖는 미리 정의된 템플릿이고, 관절 각도는 하나 이상의 관절 사이의 각도를 나타냄 - 을 매핑하는 단계;
    사용자 골격 - 상기 사용자 골격은, 하나 이상의 관절 각도를 갖는 사용자의 골격의 이미지임 - 을 수신하는 단계; 및
    상기 오브젝트가 상기 사용자에 의해 제어되도록 상기 오브젝트 골격에 상기 사용자 골격을 매핑하는 단계
    를 포함하고,
    상기 오브젝트 골격에 상기 사용자 골격을 매핑하는 단계는,
    상기 오브젝트 골격의 관절 스케일(scale)에 상기 사용자 골격의 관절 위치 - 상기 오브젝트는 상기 관절 위치의 움직임에 응답해서 늘어남(stretched) - 를 매핑하는 단계; 및
    다각도 애니메이션을 제어하도록 상기 사용자 골격의 하나 이상의 관절 각도 중 적어도 하나를 매핑하는 단계 - 하나의 관절 위치가 비-선형 방식으로 상기 오브젝트의 인접한 다수의 관절들을 제어함 -
    를 포함하는 것인, 컴퓨터 저장 하드웨어 장치.
  2. 제 1 항에 있어서,
    상기 오브젝트는 사람이 아닌(non-human) 오브젝트인 것인, 컴퓨터 저장 하드웨어 장치.
  3. 제 1 항에 있어서,
    상기 오브젝트에 상기 오브젝트 골격을 매핑하는 단계는,
    상기 오브젝트 골격의 중심을 식별하는 단계;
    상기 오브젝트의 질량 중심을 식별하는 단계; 및
    상기 오브젝트의 상기 질량 중심에 상기 오브젝트 골격의 상기 중심을 적용(impose)하는 단계
    를 포함하는 것인, 컴퓨터 저장 하드웨어 장치.
  4. 제 3 항에 있어서,
    상기 오브젝트 골격에 맞추기 위해 상기 오브젝트를 크기 조절하는 단계
    를 더 포함하는, 컴퓨터 저장 하드웨어 장치.
  5. 제 4 항에 있어서,
    상기 오브젝트 골격에 맞추기 위해 상기 오브젝트를 크기 조절하는 단계는,
    상기 오브젝트 골격의 하단과 상기 오브젝트의 하단을 정렬하는 단계; 및
    상기 오브젝트 골격의 상단이 상기 오브젝트의 상단 아래의 미리 결정된 거리에 있도록 상기 오브젝트 골격의 상단과 상기 오브젝트의 상단을 정렬하는 단계
    를 포함하는, 컴퓨터 저장 하드웨어 장치.
  6. 제 5 항에 있어서,
    상기 오브젝트의 상단 아래의 상기 미리 결정된 거리는 상기 오브젝트의 상단 아래 십 퍼센트(10%)인 것인, 컴퓨터 저장 하드웨어 장치.
  7. 제 1 항에 있어서,
    상기 오브젝트는 상기 가상 환경에서 디지털화되고 수신된 실제-세계(real-world) 오브젝트인 것인, 컴퓨터 저장 하드웨어 장치.
  8. 제 1 항에 있어서,
    상기 오브젝트는, 상기 오브젝트의 움직임이 상기 사용자의 움직임을 미러링(mirroring)하도록, 상기 사용자에 의해 제어되는 것인, 컴퓨터 저장 하드웨어 장치.
  9. 가상 환경 내 오브젝트를 제어하는 시스템으로서,
    하나 이상의 프로세서 및 하나 이상의 컴퓨터-판독가능 저장 매체와 연관된 컴퓨팅 장치;
    상기 컴퓨팅 장치와 결합된 데이터 스토어; 및
    제어 엔진
    을 포함하고,
    상기 제어 엔진은,
    오브젝트를 식별하고,
    사용자 골격 및 오브젝트 골격을 포함하는 하나 이상의 골격 - 각각의 골격은 하나 이상의 관절 각도를 가지고, 관절 각도는 하나 이상의 관절 사이의 각도를 나타내며, 상기 오브젝트 골격은 상기 오브젝트의 하나 이상의 성질에 기초해서 식별됨 - 을 식별하고,
    상기 오브젝트 골격의 하나 이상의 대응하는 관절 각도에 상기 사용자 골격의 하나 이상의 관절 각도를 매핑하고,
    상기 오브젝트 골격의 관절 스케일에 상기 사용자 골격의 관절 위치를 매핑하고 - 상기 오브젝트는 상기 관절 위치의 움직임에 응답해서 늘어남 -, 하나의 관절 위치가 비-선형 방식으로 상기 오브젝트의 인접한 다수의 관절들을 제어하도록 다각도 애니메이션을 제어하기 위해 상기 사용자 골격의 하나 이상의 관절 각도를 사용하며,
    상기 오브젝트가 상기 사용자 골격의 움직임을 미러링하게끔 조작되도록 상기 오브젝트 골격을 관리하는 것인, 가상 환경 내 오브젝트를 제어하는 시스템.
  10. 제 9 항에 있어서,
    상기 오브젝트는 인간이 아닌 오브젝트인 것인, 가상 환경 내 오브젝트를 제어하는 시스템.
  11. 제 9 항에 있어서,
    상기 제어 엔진은, 상기 사용자의 포즈(pose)와 복수의 템플릿 포즈들을 비교하고 상기 복수의 템플릿 포즈들 중 상기 사용자의 상기 포즈와 대응하는 하나의 템플릿 포즈를 식별함으로써, 상기 복수의 템플릿 포즈들로부터 상기 사용자 골격을 식별하는 것인, 가상 환경 내 오브젝트를 제어하는 시스템.
  12. 제 9 항에 있어서,
    상기 제어 엔진은 또한, 상기 오브젝트에 상기 오브젝트 골격을 매핑하도록 구성된 것인, 가상 환경 내 오브젝트를 제어하는 시스템.
  13. 제 9 항에 있어서,
    상기 제어 엔진은 실시간으로 동작하는 것인, 가상 환경 내 오브젝트를 제어하는 시스템.
  14. 제 9 항에 있어서,
    상기 오브젝트 골격은, 상기 오브젝트의 성질들을 복수의 템플릿 오브젝트 골격들과 비교함으로써 복수의 템플릿 오브젝트 골격들 중에서 식별되는 것인, 가상 환경 내 오브젝트를 제어하는 시스템.
  15. 하나 이상의 컴퓨팅 장치에 의해 사용될 경우, 상기 하나 이상의 컴퓨팅 장치가 방법을 수행하도록 하는 컴퓨터-판독가능 명령어들을 저장한 컴퓨터 저장 하드웨어 장치로서,
    상기 방법은,
    가상 환경 내의 오브젝트 - 상기 오브젝트는 가상 형태로 디지털화된 실제-세계 오브젝트임 - 를 식별하는 단계;
    사용자의 자유도에 기초해서 실시간으로 상기 오브젝트와 연관시키도록 오브젝트 골격을 생성하는 단계;
    상기 오브젝트의 질량 중심을 식별하고 상기 오브젝트의 상기 질량 중심에 상기 오브젝트 골격 - 상기 오브젝트 골격은 미리 정의된 템플릿임 - 의 중심을 적용함으로써, 상기 오브젝트에 오브젝트 골격을 매핑하는 단계;
    상기 오브젝트 골격의 하단이 상기 오브젝트의 하단과 정렬되도록, 상기 오브젝트 골격의 크기에 대응하게 상기 오브젝트를 크기 조절하는 단계;
    사용자 골격 - 상기 사용자 골격은 상기 사용자의 골격이고, 상기 사용자 골격은 상기 사용자의 포즈(pose)에 의해 식별되며, 사용자 골격 정보는 상기 포즈의 하나 이상의 관절 각도를 포함함 - 을 수신하는 단계;
    상기 오브젝트 골격의 하나 이상의 관절 각도가 상기 포즈의 상기 하나 이상의 관절 각도 - 관절 각도는 하나 이상의 관절 사이의 각도를 나타내고, 상기 오브젝트는 상기 사용자 골격 포즈의 관절 위치의 움직임에 응답해서 늘어나고, 상기 사용자 골격의 상기 하나 이상의 관절 각도는 다각도 애니메이션을 제어하며, 하나의 관절 위치가 비-선형 방식으로 상기 오브젝트의 인접한 다수의 관절들을 제어함 - 중 적어도 하나를 미러링하도록, 상기 오브젝트 골격에 상기 사용자 골격을 매핑하는 단계;
    상기 사용자의 움직임을 식별하는 단계; 및
    상기 사용자의 움직임을 식별하는 것에 응답하여, 상기 오브젝트의 움직임이 상기 사용자의 움직임을 미러링하도록 상기 오브젝트를 이동시키는 단계
    를 포함하는 것인, 컴퓨터 저장 하드웨어 장치.
  16. 제 15 항에 있어서,
    상기 매핑은 실시간으로 수행되는 것인, 컴퓨터 저장 하드웨어 장치.
  17. 제 15 항에 있어서,
    상기 사용자 골격은 사용자 움직임이 검출될 때마다 상기 오브젝트에 매핑되는 것인, 컴퓨터 저장 하드웨어 장치.
  18. 제 15 항에 있어서,
    상기 사용자 골격을 수신하는 단계는,
    이미지 내에서 상기 사용자를 식별하는 단계;
    상기 사용자의 포즈를 복수의 템플릿 포즈들과 비교하는 단계;
    상기 복수의 템플릿 포즈들 중에서 상기 사용자의 포즈에 대응하는 템플릿 포즈를 식별하는 단계; 및
    상기 템플릿 포즈의 하나 이상의 관절 각도를 식별하는 단계
    를 포함하는 것인, 컴퓨터 저장 하드웨어 장치.
  19. 제 18 항에 있어서,
    상기 오브젝트 골격에 상기 사용자 골격을 매핑하는 단계는,
    상기 오브젝트 골격의 하나 이상의 관절 각도가 상기 사용자를 나타내는 템플릿 포즈의 하나 이상의 관절 각도를 미러링하도록, 상기 템플릿 포즈의 하나 이상의 관절 각도를 상기 오브젝트 골격과 연관시키는 단계
    를 포함하는 것인, 컴퓨터 저장 하드웨어 장치.
  20. 제 15 항에 있어서,
    상기 오브젝트는 움직이지 않는(inanimate) 오브젝트인 것인, 컴퓨터 저장 하드웨어 장치.
KR1020137032539A 2011-06-06 2012-06-04 가상 환경 내 오브젝트 컨트롤 기법 KR102060206B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201161493787P 2011-06-06 2011-06-06
US61/493,787 2011-06-06
US13/281,596 2011-10-26
US13/281,596 US9724600B2 (en) 2011-06-06 2011-10-26 Controlling objects in a virtual environment
PCT/US2012/040796 WO2012170361A2 (en) 2011-06-06 2012-06-04 Controlling objects in a virtual environment

Publications (2)

Publication Number Publication Date
KR20140043378A KR20140043378A (ko) 2014-04-09
KR102060206B1 true KR102060206B1 (ko) 2019-12-27

Family

ID=47261335

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020137032539A KR102060206B1 (ko) 2011-06-06 2012-06-04 가상 환경 내 오브젝트 컨트롤 기법

Country Status (6)

Country Link
US (1) US9724600B2 (ko)
EP (1) EP2718903B1 (ko)
JP (1) JP5985619B2 (ko)
KR (1) KR102060206B1 (ko)
CN (1) CN103597516B (ko)
WO (1) WO2012170361A2 (ko)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10332176B2 (en) 2014-08-28 2019-06-25 Ebay Inc. Methods and systems for virtual fitting rooms or hybrid stores
US9529428B1 (en) * 2014-03-28 2016-12-27 Amazon Technologies, Inc. Using head movement to adjust focus on content of a display
US9311565B2 (en) * 2014-06-16 2016-04-12 Sony Corporation 3D scanning with depth cameras using mesh sculpting
US10529009B2 (en) * 2014-06-25 2020-01-07 Ebay Inc. Digital avatars in online marketplaces
US9536138B2 (en) * 2014-06-27 2017-01-03 Microsoft Technology Licensing, Llc Dynamic remapping of components of a virtual skeleton
US10719123B2 (en) 2014-07-15 2020-07-21 Nant Holdings Ip, Llc Multiparty object recognition
US10653962B2 (en) 2014-08-01 2020-05-19 Ebay Inc. Generating and utilizing digital avatar data for online marketplaces
US9733790B2 (en) 2014-10-30 2017-08-15 Disney Enterprises, Inc. Haptic interface for population of a three-dimensional virtual environment
CN104740869B (zh) * 2015-03-26 2018-04-03 北京小小牛创意科技有限公司 一种融合真实环境的虚实结合的交互方法及系统
KR101677165B1 (ko) * 2016-02-18 2016-12-23 대한민국(국가기록원) 행정박물의 3D 정보의 종합품질을 Test Bed에 의한 검증방법
KR102675364B1 (ko) * 2017-07-28 2024-06-14 바오밥 스튜디오스, 인코포레이티드 실시간의 복합 캐릭터 애니메이션 및 상호작용성을 위한 시스템 및 방법
JP2019128721A (ja) * 2018-01-23 2019-08-01 株式会社コロプラ ユーザの動きをアバタに反映するためのプログラム、当該プログラムを実行するための情報処理装置、およびアバタを含む映像を配信するための方法
US10380803B1 (en) * 2018-03-26 2019-08-13 Verizon Patent And Licensing Inc. Methods and systems for virtualizing a target object within a mixed reality presentation
CN111640176A (zh) * 2018-06-21 2020-09-08 华为技术有限公司 一种物体建模运动方法、装置与设备
CN111739146B (zh) * 2019-03-25 2024-07-30 华为技术有限公司 物体三维模型重建方法及装置
CN110570357A (zh) * 2019-07-09 2019-12-13 深圳市瑞立视多媒体科技有限公司 基于ue4引擎的镜像实现方法、装置、设备及存储介质
GB2586059B (en) * 2019-08-01 2023-06-07 Sony Interactive Entertainment Inc System and method for generating user inputs for a video game
US12062146B2 (en) 2022-07-28 2024-08-13 Snap Inc. Virtual wardrobe AR experience

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008033521A (ja) * 2006-07-27 2008-02-14 Namco Bandai Games Inc プログラム、情報記憶媒体、及び画像生成システム
US20100302253A1 (en) * 2009-05-29 2010-12-02 Microsoft Corporation Real time retargeting of skeletal data to game avatar
KR101035291B1 (ko) * 2009-12-18 2011-05-18 전남대학교산학협력단 관절모델db을 이용한 포즈인식 시스템

Family Cites Families (177)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4695953A (en) 1983-08-25 1987-09-22 Blair Preston E TV animation interactively controlled by the viewer
US4630910A (en) 1984-02-16 1986-12-23 Robotic Vision Systems, Inc. Method of measuring in three-dimensions at high speed
US4627620A (en) 1984-12-26 1986-12-09 Yang John P Electronic athlete trainer for improving skills in reflex, speed and accuracy
US4645458A (en) 1985-04-15 1987-02-24 Harald Phillip Athletic evaluation and training apparatus
US4702475A (en) 1985-08-16 1987-10-27 Innovating Training Products, Inc. Sports technique and reaction training system
US4843568A (en) 1986-04-11 1989-06-27 Krueger Myron W Real time perception of and response to the actions of an unencumbered participant/user
US4711543A (en) 1986-04-14 1987-12-08 Blair Preston E TV animation interactively controlled by the viewer
US4796997A (en) 1986-05-27 1989-01-10 Synthetic Vision Systems, Inc. Method and system for high-speed, 3-D imaging of an object at a vision station
US5184295A (en) 1986-05-30 1993-02-02 Mann Ralph V System and method for teaching physical skills
US4751642A (en) 1986-08-29 1988-06-14 Silva John M Interactive sports simulation system with physiological sensing and psychological conditioning
US4809065A (en) 1986-12-01 1989-02-28 Kabushiki Kaisha Toshiba Interactive system and related method for displaying data to produce a three-dimensional image of an object
US4817950A (en) 1987-05-08 1989-04-04 Goo Paul E Video game control unit and attitude sensor
US5239464A (en) 1988-08-04 1993-08-24 Blair Preston E Interactive video system providing repeated switching of multiple tracks of actions sequences
US5239463A (en) 1988-08-04 1993-08-24 Blair Preston E Method and apparatus for player interaction with animated characters and objects
US4901362A (en) 1988-08-08 1990-02-13 Raytheon Company Method of recognizing patterns
US4893183A (en) 1988-08-11 1990-01-09 Carnegie-Mellon University Robotic vision system
JPH02199526A (ja) 1988-10-14 1990-08-07 David G Capper 制御インターフェース装置
US4925189A (en) 1989-01-13 1990-05-15 Braeunig Thomas F Body-mounted video game exercise device
US5229756A (en) 1989-02-07 1993-07-20 Yamaha Corporation Image control apparatus
US5469740A (en) 1989-07-14 1995-11-28 Impulse Technology, Inc. Interactive video testing and training system
JPH03103822U (ko) 1990-02-13 1991-10-29
US5101444A (en) 1990-05-18 1992-03-31 Panacea, Inc. Method and apparatus for high speed object location
US5148154A (en) 1990-12-04 1992-09-15 Sony Corporation Of America Multi-dimensional user interface
US5534917A (en) 1991-05-09 1996-07-09 Very Vivid, Inc. Video image based control system
US5417210A (en) 1992-05-27 1995-05-23 International Business Machines Corporation System and method for augmentation of endoscopic surgery
US5295491A (en) 1991-09-26 1994-03-22 Sam Technology, Inc. Non-invasive human neurocognitive performance capability testing method and system
US6054991A (en) 1991-12-02 2000-04-25 Texas Instruments Incorporated Method of modeling player position and movement in a virtual reality system
WO1993010708A1 (en) 1991-12-03 1993-06-10 French Sportech Corporation Interactive video testing and training system
US5875108A (en) 1991-12-23 1999-02-23 Hoffberg; Steven M. Ergonomic man-machine interface incorporating adaptive pattern recognition based control system
JPH07325934A (ja) 1992-07-10 1995-12-12 Walt Disney Co:The 仮想世界に向上したグラフィックスを提供する方法および装置
US5999908A (en) 1992-08-06 1999-12-07 Abelow; Daniel H. Customer-based product design module
US5320538A (en) 1992-09-23 1994-06-14 Hughes Training, Inc. Interactive aircraft training system and method
IT1257294B (it) 1992-11-20 1996-01-12 Dispositivo atto a rilevare la configurazione di un'unita' fisiologicadistale,da utilizzarsi in particolare come interfaccia avanzata per macchine e calcolatori.
US5495576A (en) 1993-01-11 1996-02-27 Ritchey; Kurtis J. Panoramic image based virtual reality/telepresence audio-visual system and method
US5690582A (en) 1993-02-02 1997-11-25 Tectrix Fitness Equipment, Inc. Interactive exercise apparatus
JP2799126B2 (ja) 1993-03-26 1998-09-17 株式会社ナムコ ビデオゲーム装置及びゲーム用入力装置
US5405152A (en) 1993-06-08 1995-04-11 The Walt Disney Company Method and apparatus for an interactive video game with physical feedback
US5454043A (en) 1993-07-30 1995-09-26 Mitsubishi Electric Research Laboratories, Inc. Dynamic and static hand gesture recognition through low-level image analysis
US5423554A (en) 1993-09-24 1995-06-13 Metamedia Ventures, Inc. Virtual reality game method and apparatus
US5980256A (en) 1993-10-29 1999-11-09 Carmein; David E. E. Virtual reality system with enhanced sensory apparatus
JP3419050B2 (ja) 1993-11-19 2003-06-23 株式会社日立製作所 入力装置
US5347306A (en) 1993-12-17 1994-09-13 Mitsubishi Electric Research Laboratories, Inc. Animated electronic meeting place
JP2552427B2 (ja) 1993-12-28 1996-11-13 コナミ株式会社 テレビ遊戯システム
US5577981A (en) 1994-01-19 1996-11-26 Jarvik; Robert Virtual reality exercise machine and computer controlled video system
US5580249A (en) 1994-02-14 1996-12-03 Sarcos Group Apparatus for simulating mobility of a human
US5385519A (en) 1994-04-19 1995-01-31 Hsu; Chi-Hsueh Running machine
US5524637A (en) 1994-06-29 1996-06-11 Erickson; Jon W. Interactive system for measuring physiological exertion
JPH0844490A (ja) 1994-07-28 1996-02-16 Matsushita Electric Ind Co Ltd インターフェイス装置
US5563988A (en) 1994-08-01 1996-10-08 Massachusetts Institute Of Technology Method and system for facilitating wireless, full-body, real-time user interaction with a digitally represented visual environment
US6714665B1 (en) 1994-09-02 2004-03-30 Sarnoff Corporation Fully automated iris recognition system utilizing wide and narrow fields of view
US5516105A (en) 1994-10-06 1996-05-14 Exergame, Inc. Acceleration activated joystick
US5638300A (en) 1994-12-05 1997-06-10 Johnson; Lee E. Golf swing analysis system
JPH08161292A (ja) 1994-12-09 1996-06-21 Matsushita Electric Ind Co Ltd 混雑度検知方法およびそのシステム
US5594469A (en) 1995-02-21 1997-01-14 Mitsubishi Electric Information Technology Center America Inc. Hand gesture machine control system
US5682229A (en) 1995-04-14 1997-10-28 Schwartz Electro-Optics, Inc. Laser range camera
US5913727A (en) 1995-06-02 1999-06-22 Ahdoot; Ned Interactive movement and contact simulation game
JP3481631B2 (ja) 1995-06-07 2003-12-22 ザ トラスティース オブ コロンビア ユニヴァーシティー イン ザ シティー オブ ニューヨーク 能動型照明及びデフォーカスに起因する画像中の相対的なぼけを用いる物体の3次元形状を決定する装置及び方法
US5682196A (en) 1995-06-22 1997-10-28 Actv, Inc. Three-dimensional (3D) video presentation system providing interactive 3D presentation with personalized audio responses for multiple viewers
US5702323A (en) 1995-07-26 1997-12-30 Poulton; Craig K. Electronic exercise enhancer
US6098458A (en) 1995-11-06 2000-08-08 Impulse Technology, Ltd. Testing and training system for assessing movement and agility skills without a confining field
US6430997B1 (en) 1995-11-06 2002-08-13 Trazer Technologies, Inc. System and method for tracking and assessing movement skills in multidimensional space
WO1999044698A2 (en) 1998-03-03 1999-09-10 Arena, Inc. System and method for tracking and assessing movement skills in multidimensional space
US6308565B1 (en) 1995-11-06 2001-10-30 Impulse Technology Ltd. System and method for tracking and assessing movement skills in multidimensional space
US6073489A (en) 1995-11-06 2000-06-13 French; Barry J. Testing and training system for assessing the ability of a player to complete a task
US6176782B1 (en) 1997-12-22 2001-01-23 Philips Electronics North America Corp. Motion-based command generation technology
US5933125A (en) 1995-11-27 1999-08-03 Cae Electronics, Ltd. Method and apparatus for reducing instability in the display of a virtual environment
US5641288A (en) 1996-01-11 1997-06-24 Zaenglein, Jr.; William G. Shooting simulating process and training device using a virtual reality display screen
US5909218A (en) 1996-04-25 1999-06-01 Matsushita Electric Industrial Co., Ltd. Transmitter-receiver of three-dimensional skeleton structure motions and method thereof
CA2253626A1 (en) 1996-05-08 1997-11-13 Real Vision Corporation Real time simulation using position sensing
US6173066B1 (en) 1996-05-21 2001-01-09 Cybernet Systems Corporation Pose determination and tracking by matching 3D objects to a 2D sensor
US5989157A (en) 1996-08-06 1999-11-23 Walton; Charles A. Exercising system with electronic inertial game playing
CN1168057C (zh) 1996-08-14 2004-09-22 挪拉赫梅特·挪利斯拉莫维奇·拉都包夫 追踪并显示使用者在空间的位置与取向的方法,向使用者展示虚拟环境的方法以及实现这些方法的系统
JP3064928B2 (ja) 1996-09-20 2000-07-12 日本電気株式会社 被写体抽出方式
JPH10188028A (ja) * 1996-10-31 1998-07-21 Konami Co Ltd スケルトンによる動画像生成装置、該動画像を生成する方法、並びに該動画像を生成するプログラムを記憶した媒体
EP0849697B1 (en) 1996-12-20 2003-02-12 Hitachi Europe Limited A hand gesture recognition system and method
US6009210A (en) 1997-03-05 1999-12-28 Digital Equipment Corporation Hands-free interface to a virtual reality environment using head tracking
US6100896A (en) 1997-03-24 2000-08-08 Mitsubishi Electric Information Technology Center America, Inc. System for designing graphical multi-participant environments
US5877803A (en) 1997-04-07 1999-03-02 Tritech Mircoelectronics International, Ltd. 3-D image detector
US6215898B1 (en) 1997-04-15 2001-04-10 Interval Research Corporation Data processing system and method
JP3077745B2 (ja) 1997-07-31 2000-08-14 日本電気株式会社 データ処理方法および装置、情報記憶媒体
US6188777B1 (en) 1997-08-01 2001-02-13 Interval Research Corporation Method and apparatus for personnel detection and tracking
US6289112B1 (en) 1997-08-22 2001-09-11 International Business Machines Corporation System and method for determining block direction in fingerprint images
US6720949B1 (en) 1997-08-22 2004-04-13 Timothy R. Pryor Man machine interfaces and applications
AUPO894497A0 (en) 1997-09-02 1997-09-25 Xenotech Research Pty Ltd Image processing method and apparatus
EP0905644A3 (en) 1997-09-26 2004-02-25 Matsushita Electric Industrial Co., Ltd. Hand gesture recognizing device
US6141463A (en) 1997-10-10 2000-10-31 Electric Planet Interactive Method and system for estimating jointed-figure configurations
US6411744B1 (en) 1997-10-15 2002-06-25 Electric Planet, Inc. Method and apparatus for performing a clean background subtraction
US6072494A (en) 1997-10-15 2000-06-06 Electric Planet, Inc. Method and apparatus for real-time gesture recognition
WO1999019840A1 (en) 1997-10-15 1999-04-22 Electric Planet, Inc. A system and method for generating an animatable character
US6101289A (en) 1997-10-15 2000-08-08 Electric Planet, Inc. Method and apparatus for unencumbered capture of an object
US6130677A (en) * 1997-10-15 2000-10-10 Electric Planet, Inc. Interactive computer vision system
US6181343B1 (en) 1997-12-23 2001-01-30 Philips Electronics North America Corp. System and method for permitting three-dimensional navigation through a virtual reality environment using camera-based gesture inputs
US6159100A (en) 1998-04-23 2000-12-12 Smith; Michael D. Virtual reality game
US6077201A (en) 1998-06-12 2000-06-20 Cheng; Chau-Yang Exercise bicycle
US7121946B2 (en) 1998-08-10 2006-10-17 Cybernet Systems Corporation Real-time head tracking system for computer games and other applications
US20010008561A1 (en) 1999-08-10 2001-07-19 Paul George V. Real-time object tracking system
US6681031B2 (en) 1998-08-10 2004-01-20 Cybernet Systems Corporation Gesture-controlled interfaces for self-service machines and other applications
US6801637B2 (en) 1999-08-10 2004-10-05 Cybernet Systems Corporation Optical body tracker
US6950534B2 (en) 1998-08-10 2005-09-27 Cybernet Systems Corporation Gesture-controlled interfaces for self-service machines and other applications
US7036094B1 (en) 1998-08-10 2006-04-25 Cybernet Systems Corporation Behavior recognition system
IL126284A (en) 1998-09-17 2002-12-01 Netmor Ltd System and method for three dimensional positioning and tracking
DE69936620T2 (de) 1998-09-28 2008-05-21 Matsushita Electric Industrial Co., Ltd., Kadoma Verfahren und Vorrichtung zum Segmentieren von Handgebärden
AU1930700A (en) 1998-12-04 2000-06-26 Interval Research Corporation Background estimation and segmentation based on range and color
US6147678A (en) 1998-12-09 2000-11-14 Lucent Technologies Inc. Video hand image-three-dimensional computer interface with multiple degrees of freedom
AU1574899A (en) 1998-12-16 2000-07-03 3Dv Systems Ltd. Self gating photosurface
US6570555B1 (en) 1998-12-30 2003-05-27 Fuji Xerox Co., Ltd. Method and apparatus for embodied conversational characters with multimodal input/output in an interface device
US6363160B1 (en) 1999-01-22 2002-03-26 Intel Corporation Interface using pattern recognition and tracking
US7003134B1 (en) 1999-03-08 2006-02-21 Vulcan Patents Llc Three dimensional object pose estimation which employs dense depth information
US6299308B1 (en) 1999-04-02 2001-10-09 Cybernet Systems Corporation Low-cost non-imaging eye tracker system for computer control
US6503195B1 (en) 1999-05-24 2003-01-07 University Of North Carolina At Chapel Hill Methods and systems for real-time structured light depth extraction and endoscope using real-time structured light depth extraction
US6476834B1 (en) 1999-05-28 2002-11-05 International Business Machines Corporation Dynamic creation of selectable items on surfaces
US6873723B1 (en) 1999-06-30 2005-03-29 Intel Corporation Segmenting three-dimensional video images using stereo
US6738066B1 (en) 1999-07-30 2004-05-18 Electric Plant, Inc. System, method and article of manufacture for detecting collisions between video images generated by a camera and an object depicted on a display
US7113918B1 (en) 1999-08-01 2006-09-26 Electric Planet, Inc. Method for video enabled electronic commerce
US7050606B2 (en) 1999-08-10 2006-05-23 Cybernet Systems Corporation Tracking and gesture recognition system particularly suited to vehicular control applications
JP2001043400A (ja) 2000-01-01 2001-02-16 Hitachi Ltd コンピュータグラフィックの表示方法
US6663491B2 (en) 2000-02-18 2003-12-16 Namco Ltd. Game apparatus, storage medium and computer program that adjust tempo of sound
US6633294B1 (en) 2000-03-09 2003-10-14 Seth Rosenthal Method and apparatus for using captured high density motion for animation
EP1152261A1 (en) 2000-04-28 2001-11-07 CSEM Centre Suisse d'Electronique et de Microtechnique SA Device and method for spatially resolved photodetection and demodulation of modulated electromagnetic waves
US6640202B1 (en) 2000-05-25 2003-10-28 International Business Machines Corporation Elastic sensor mesh system for 3-dimensional measurement, mapping and kinematics applications
US6731799B1 (en) 2000-06-01 2004-05-04 University Of Washington Object segmentation with background extraction and moving boundary techniques
US6788809B1 (en) 2000-06-30 2004-09-07 Intel Corporation System and method for gesture recognition in three dimensions using stereo imaging and color vision
US7227526B2 (en) 2000-07-24 2007-06-05 Gesturetek, Inc. Video-based image control system
US7058204B2 (en) 2000-10-03 2006-06-06 Gesturetek, Inc. Multiple camera control system
US7039676B1 (en) 2000-10-31 2006-05-02 International Business Machines Corporation Using video image analysis to automatically transmit gestures over a network in a chat or instant messaging session
US7095388B2 (en) 2001-04-02 2006-08-22 3-Dac Golf Corporation Method and system for developing consistency of motion
US6539931B2 (en) 2001-04-16 2003-04-01 Koninklijke Philips Electronics N.V. Ball throwing assistant
US7259747B2 (en) 2001-06-05 2007-08-21 Reactrix Systems, Inc. Interactive video display system
US8035612B2 (en) 2002-05-28 2011-10-11 Intellectual Ventures Holding 67 Llc Self-contained interactive video display system
JP3420221B2 (ja) * 2001-06-29 2003-06-23 株式会社コナミコンピュータエンタテインメント東京 ゲーム装置及びプログラム
US6937742B2 (en) 2001-09-28 2005-08-30 Bellsouth Intellectual Property Corporation Gesture activated home appliance
EP1497160B2 (de) 2002-04-19 2010-07-21 IEE INTERNATIONAL ELECTRONICS & ENGINEERING S.A. Sicherheitsvorrichtung für ein fahrzeug
US7710391B2 (en) 2002-05-28 2010-05-04 Matthew Bell Processing an image utilizing a spatially varying pattern
US7170492B2 (en) 2002-05-28 2007-01-30 Reactrix Systems, Inc. Interactive video display system
US7348963B2 (en) 2002-05-28 2008-03-25 Reactrix Systems, Inc. Interactive video display system
US7489812B2 (en) 2002-06-07 2009-02-10 Dynamic Digital Depth Research Pty Ltd. Conversion and encoding techniques
US7576727B2 (en) 2002-12-13 2009-08-18 Matthew Bell Interactive directed light/sound system
JP4235729B2 (ja) 2003-02-03 2009-03-11 国立大学法人静岡大学 距離画像センサ
US9177387B2 (en) 2003-02-11 2015-11-03 Sony Computer Entertainment Inc. Method and apparatus for real time motion capture
EP1477924B1 (en) 2003-03-31 2007-05-02 HONDA MOTOR CO., Ltd. Gesture recognition apparatus, method and program
US8072470B2 (en) 2003-05-29 2011-12-06 Sony Computer Entertainment Inc. System and method for providing a real-time three-dimensional interactive environment
JP4355341B2 (ja) 2003-05-29 2009-10-28 本田技研工業株式会社 深度データを用いたビジュアルトラッキング
EP1631937B1 (en) 2003-06-12 2018-03-28 Honda Motor Co., Ltd. Target orientation estimation using depth sensing
WO2005041579A2 (en) 2003-10-24 2005-05-06 Reactrix Systems, Inc. Method and system for processing captured image information in an interactive video display system
JP4708422B2 (ja) 2004-04-15 2011-06-22 ジェスチャー テック,インコーポレイテッド 両手動作の追跡
US7308112B2 (en) 2004-05-14 2007-12-11 Honda Motor Co., Ltd. Sign based human-machine interaction
US20080062169A1 (en) * 2004-08-02 2008-03-13 Koninklijke Philips Electronics, N.V. Method Of Enabling To Model Virtual Objects
US7704135B2 (en) 2004-08-23 2010-04-27 Harrison Jr Shelton E Integrated game system, method, and device
KR20060028035A (ko) * 2004-09-24 2006-03-29 유용석 3차원 형상의 평균화 모델 구성방법
WO2006050198A2 (en) * 2004-10-28 2006-05-11 Accelerated Pictures, Llc Client/server-based animation software, systems and methods
KR20060070280A (ko) 2004-12-20 2006-06-23 한국전자통신연구원 손 제스처 인식을 이용한 사용자 인터페이스 장치 및 그방법
EP1849123A2 (en) 2005-01-07 2007-10-31 GestureTek, Inc. Optical flow based tilt sensor
CN102831387B (zh) 2005-01-07 2016-12-14 高通股份有限公司 检测和跟踪图像中的物体
WO2006074310A2 (en) 2005-01-07 2006-07-13 Gesturetek, Inc. Creating 3d images of objects by illuminating with infrared patterns
US7598942B2 (en) 2005-02-08 2009-10-06 Oblong Industries, Inc. System and method for gesture based control system
WO2006099597A2 (en) 2005-03-17 2006-09-21 Honda Motor Co., Ltd. Pose estimation based on critical point analysis
RU2007146172A (ru) 2005-05-17 2009-06-27 Гестуретэк, Инк. (Us) Вывод сигнала, чувствительный к ориентации
US20060274068A1 (en) 2005-06-06 2006-12-07 Electronic Arts Inc. Adaptive contact based skeleton for animation of characters in video games
ATE412882T1 (de) 2005-08-12 2008-11-15 Mesa Imaging Ag Hochempfindliches, schnelles pixel für anwendung in einem bildsensor
US20080026838A1 (en) 2005-08-22 2008-01-31 Dunstan James E Multi-player non-role-playing virtual world games: method for two-way interaction between participants and multi-player virtual world games
US7450736B2 (en) 2005-10-28 2008-11-11 Honda Motor Co., Ltd. Monocular tracking of 3D human motion with a coordinated mixture of factor analyzers
US7701439B2 (en) 2006-07-13 2010-04-20 Northrop Grumman Corporation Gesture recognition simulation system and method
JP5395323B2 (ja) 2006-09-29 2014-01-22 ブレインビジョン株式会社 固体撮像素子
US8540638B2 (en) 2006-10-24 2013-09-24 Alla Gourevitch 3-D quantitative-imaging ultrasonic method for bone inspections and device for its implementation
US7412077B2 (en) 2006-12-29 2008-08-12 Motorola, Inc. Apparatus and methods for head pose estimation and head gesture detection
US7729530B2 (en) 2007-03-03 2010-06-01 Sergey Antonov Method and apparatus for 3-D data input to a personal computer with a multimedia oriented operating system
US7852262B2 (en) 2007-08-16 2010-12-14 Cybernet Systems Corporation Wireless mobile indoor/outdoor tracking system
CN101515374B (zh) 2008-02-20 2010-12-01 中国科学院自动化研究所 基于图像的个性化真实感虚拟人物造型方法
CN101254344B (zh) 2008-04-18 2010-06-16 李刚 场地方位与显示屏点阵按比例相对应的游戏装置和方法
US8737721B2 (en) 2008-05-07 2014-05-27 Microsoft Corporation Procedural authoring
US8471843B2 (en) 2008-07-07 2013-06-25 International Business Machines Corporation Geometric and texture modifications of objects in a virtual universe based on real world user characteristics
US8306265B2 (en) 2009-01-12 2012-11-06 Eastman Kodak Company Detection of animate or inanimate objects
US8560267B2 (en) 2009-09-15 2013-10-15 Imetrikus, Inc. Identifying one or more activities of an animate or inanimate object
US8542252B2 (en) * 2009-05-29 2013-09-24 Microsoft Corporation Target digitization, extraction, and tracking
CN101579238B (zh) 2009-06-15 2012-12-19 吴健康 人体运动捕获三维再现系统及其方法
KR101640039B1 (ko) * 2009-09-22 2016-07-18 삼성전자주식회사 영상 처리 장치 및 방법
US8864589B2 (en) 2009-10-27 2014-10-21 Activision Publishing, Inc. Video game with representative physical object related content

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008033521A (ja) * 2006-07-27 2008-02-14 Namco Bandai Games Inc プログラム、情報記憶媒体、及び画像生成システム
US20100302253A1 (en) * 2009-05-29 2010-12-02 Microsoft Corporation Real time retargeting of skeletal data to game avatar
KR101035291B1 (ko) * 2009-12-18 2011-05-18 전남대학교산학협력단 관절모델db을 이용한 포즈인식 시스템

Also Published As

Publication number Publication date
EP2718903A2 (en) 2014-04-16
CN103597516B (zh) 2018-08-28
WO2012170361A3 (en) 2013-03-14
US20120306924A1 (en) 2012-12-06
JP2014517413A (ja) 2014-07-17
JP5985619B2 (ja) 2016-09-06
US9724600B2 (en) 2017-08-08
CN103597516A (zh) 2014-02-19
KR20140043378A (ko) 2014-04-09
EP2718903B1 (en) 2019-04-03
EP2718903A4 (en) 2014-05-14
WO2012170361A2 (en) 2012-12-13

Similar Documents

Publication Publication Date Title
KR102060206B1 (ko) 가상 환경 내 오브젝트 컨트롤 기법
KR102031302B1 (ko) 오브젝트 디지타이제이션 기법
US9336625B2 (en) Object refinement using many data sets
EP3735677A1 (en) Fusing, texturing, and rendering views of dynamic three-dimensional models
JP2012522231A (ja) 第1の画像デバイスおよび第2の画像デバイスの相対位置を決定する方法及びこれらデバイス
US10484599B2 (en) Simulating depth of field
CN113302915A (zh) 在视频会议中共享物理书写表面
AU2024204025A1 (en) Techniques for re-aging faces in images and video frames
WO2023024395A1 (zh) 模型优化方法及装置、电子设备、存储介质、计算机程序、计算机程序产品
JP6272071B2 (ja) 画像処理装置、画像処理方法及びプログラム
Tomori et al. Active segmentation in 3d using kinect sensor
JP2018116421A (ja) 画像処理装置および画像処理方法
Nguyen et al. High resolution 3d content creation using unconstrained and uncalibrated cameras
Kawai et al. From image inpainting to diminished reality
Tiefenbacher et al. Mono camera multi-view diminished reality

Legal Events

Date Code Title Description
N231 Notification of change of applicant
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)