KR20160032210A - 입체 깊이 카메라 어레이의 실시간 정합 - Google Patents

입체 깊이 카메라 어레이의 실시간 정합 Download PDF

Info

Publication number
KR20160032210A
KR20160032210A KR1020167003976A KR20167003976A KR20160032210A KR 20160032210 A KR20160032210 A KR 20160032210A KR 1020167003976 A KR1020167003976 A KR 1020167003976A KR 20167003976 A KR20167003976 A KR 20167003976A KR 20160032210 A KR20160032210 A KR 20160032210A
Authority
KR
South Korea
Prior art keywords
camera
matching
array
cameras
real
Prior art date
Application number
KR1020167003976A
Other languages
English (en)
Other versions
KR102186220B1 (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 KR20160032210A publication Critical patent/KR20160032210A/ko
Application granted granted Critical
Publication of KR102186220B1 publication Critical patent/KR102186220B1/ko

Links

Images

Classifications

    • H04N13/0246
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N17/00Diagnosis, testing or measuring for television systems or their details
    • H04N17/002Diagnosis, testing or measuring for television systems or their details for television cameras
    • G06T7/002
    • G06T7/0024
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/80Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
    • H04N13/0242
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/204Image signal generators using stereoscopic image cameras
    • H04N13/243Image signal generators using stereoscopic image cameras using three or more 2D image sensors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/204Image signal generators using stereoscopic image cameras
    • H04N13/246Calibration of cameras
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/90Arrangement of cameras or camera modules, e.g. multiple cameras in TV studios or sports stadiums
    • H04N5/247

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Studio Devices (AREA)
  • Image Processing (AREA)

Abstract

이미지 캡쳐 장치 내 카메라 어레이의 실시간 정합(registration)은, 어레이가 그것의 초기 팩토리-최적화된 캘리브레이션 상태로 유지되도록 정합 에러에 가장 크게 기여하도록 결정된 정합 계수라고 지칭되는, 매핑 함수 내의 선택된 독립적인 파라미터들의 부분집합을 조정함으로써 필드에서 구현될 수 있다. 더 큰 (통상적으로 팩토리 세팅 내에서 특수한 캘리브레이션 타겟을 사용하여 결정되는) 계수 집합 중에서 상대적으로 작은 정합 계수 부분집합만을 조정함으로써, 훨씬 적은 수의 매칭 패턴이 정합 에러를 정정하기 위해 어레이 내 카메라에 의해 캡쳐된 각각의 이미지들 내에서 식별되어야 할 필요가 있다. 이러한 단순화된 패턴 매칭은, 특수 캘리브레이션 타겟에 대한 필요없이 필드에서 실시간으로 정합이 수행되도록 하기 위해 정상 카메라 어레이 사용 동안에 캡쳐된 이미지를 사용하여 수행될 수 있다.

Description

입체 깊이 카메라 어레이의 실시간 정합{REAL-TIME REGISTRATION OF A STEREO DEPTH CAMERA ARRAY}
이미지 정합(image registration)("정합")은, 실제 세계에 대한 정보가 축적(aggregate)될 수 있도록 하기 위해, 둘 이상의 카메라의 이미지를 통해 서로 다른 관점에서 캡쳐된 실제 세계 특징(feature)들이 매칭되는 프로세스이다. 통상적인 예들에는 하나의 3차원(3D) 깊이 이미지를 생성하기 위하여 2개의 표준 카메라의 RGB(Red, Green, Blue) 이미지를 결합하는 것, 및 한 카메라의 깊이 데이터와 다른 한 카메라의 컬러 데이터를 결합하는 것이 포함된다. 일반적으로 정합은 기술적으로 도전적이며 구현 기술은 컴퓨터 계산이 많고 시간이 많이 소요될 수 있으므로, 이 때문에 정합은 종종 초기 팩토리 세팅(factory setting) 내 카메라 초기 캘리브레이션(initial calibration)을 위해서만 적절하다.
이 기술분야(Background)는 아래의 발명의 내용(Summary) 및 발명을 실시하기 위한 구체적인 내용(Detailed Description)을 위한 짧은 배경을 소개하기 위하여 제공된다. 이 기술분야는 청구된 발명 주제의 범위를 결정하는데 도움을 주는 것으로 의도되지 않으며, 또한 위에 제공된 단점이나 문제의 임의의 것이나 모두를 해결하는 구현 기술로 청구된 발명 주제를 제한하는 것으로 해석되도록 하는 것으로도 의도되지 않는다.
이미지 캡쳐 장치 내 카메라 어레이의 실시간 정합(real-time registration)은, 정합 계수(registration coefficients)라고 지칭되는, 매핑 함수 내에서 선택된 독립 파라미터 부분집합을 조정함으로써, 필드에서 구현될 수 있는데, 이 정합 계수는 상기 어레이가 그것의 초기 팩토리-최적화 캘리브레이션 상태로 유지될 수 있도록 정합 에러에 대해 가장 큰 기여를 하는 것으로 결정되어 있다. 더 큰 계수 집합(이는 통상적으로 팩토리 설정 내 특정한 캘리브레이션 타겟(calibration target)을 사용하여 결정된다) 내에서 단지 상대적으로 작은 정합 계수 부분집합만을 조정함으로써, 정합 에러를 정정하기 위해 어레이 내 카메라에 의해 캡쳐된 개별 이미지 내에서 식별될 필요가 있는 매칭 패턴들은 훨씬 더 적게 된다. 이러한 단순화된 패턴 매칭은, 정합이 특수 캘리브레이션 타겟을 필요로 하지 않으면서 실시간으로 필드에서 수행될 수 있도록 하기 위해, 정상 카메라 어레이 사용시 캡쳐된 이미지를 사용하여 수행될 수 있다.
이 발명의 내용(summary)은 아래의 발명을 실시하기 위한 구체적인 내용(Detailed Description) 부분에서 더 기술될 내용을 단순화된 형태로 선택된 개념들을 소개하기 위해 제공된다. 이 발명의 내용은 청구범위의 발명 주제의 주요한 특징이나 본질적인 특징을 식별하도록 의도되지 않을 뿐만 아니라, 청구범위의 발명 주제의 범위를 결정하는 것을 돕기 위하여 사용되는 것으로도 의도되지 않는다. 나아가, 청구된 발명 주제는 본 개시의 임의의 부분에서 언급된 단점들 중 일부 또는 모두를 해결하는 구현 기술로 제한되지 않는다.
상술한 발명 주제는 컴퓨터-제어형 장치, 컴퓨터 프로세서, 컴퓨팅 시스템으로서 또는 하나 이상의 컴퓨터-판독가능 저장 매체와 같은 제조 물품으로서 구현될 수 있다는 점이 이해될 것이다. 이들 및 다양한 그 외 다른 특징들은 아래의 발명을 실시하기 위한 구체적인 내용을 읽음으로써 명확해질 것이다.
도 1 및 도 2는 개시된 실시간 정합이 구현될 수 있는 멀티미디어 콘솔을 사용하는 예시적인 컴퓨팅 환경을 보여주고;
도 3은 개시된 실시간 정합이 구현될 수 있는 개인용 컴퓨터를 사용하는 다른 컴퓨팅 환경을 보여주고;
도 4는 개시된 실시간 정합을 구현하기 위하여 부분적으로 사용될 수 있는 에시적인 캡쳐 장치(capture device)를 보여주고;
도 5는 개시된 실시간 정합을 구현하기 위하여 사용된 방법론의 개요를 보여주는 도면이고;
도 6은 정합이 하나의 카메라에 의해 캡쳐된 이미지로부터 다른 카메라에 의해 캡쳐된 이미지로 매핑되고 있는 특징들을 포함하는 방식을 보여주고;
도 7은 예시적인 팩토리 캘리브레이션 방법의 흐름도이고;
도 8 및 도 9은 예시적인 캘리브레이션 타켓을 보여주고;
도 10은 이상적인 시스템에 있어서 정합을 예시하는 도면이고;
도 11은 도 10에 도시된 이상적인 시스템 내에서의 정합을 기술하는 방정식을 보여주고;
도 12는 도 10에 도시된 이상적인 시스템 내에서의 정합을 기술하는 단순화된 선형 방정식을 보여주고;
도 13은 서로 다른 카메라에 의해 캡쳐된 이미지들 사이의 매핑에 영향을 미치는 시차 효과(parallax effect)를 기술하는 방정식을 보여주고;
도 14는 도 10에 도시된 이상적인 시스템보다 더 복잡한 시스템에 있어서 정합을 예시하는 도면이고;
도 15는 예시적인 매핑 함수를 보여주고;
도 16은 매핑 함수의 테일러 급수(Taylor series) 표현을 보여주고;
도 17은 예시적인 캡쳐 장치에 대해서 온도와 시간의 관계를 도시하는 예시적인 곡선을 보여주고;
도 18은 예시적인 캡쳐 장치에 대해서 시간에 걸친 예시적인 정합 에러를 보여주고;
도 19는 예시적인 워밍업 분석의 흐름도이고;
도 20 내지 도 22는 3개의 서로 다른 시스템에 대해서 20개의 정합 계수 각각에 대해 정합 에러를 도시하는 막대그래프이고;
도 23은 예시적인 실시간 정합 정정 방법의 흐름도이고;
도 24는 개시된 실시간 정합을 구현하기 위하여 부분적으로 사용될 수 있는 예시적인 멀티미디어 콘솔의 블록도를 보여주며; 그리고
도 25는 개시된 실시간 정합을 구현하기 위하여 부분적으로 사용될 수 있는 예시적인 컴퓨팅 플랫폼의 블록도를 보여준다.
도면에서 유사한 참조 번호는 유사한 요소를 가리킨다. 요소들은 특히 지정되지 않는 한 축적에 따라 도시되어 있지 않다.
도 1은 개시된 실시간 정합이 구현될 수 있는 예시적인 컴퓨팅 환경(100)을 보여준다. 강조하여 말하자면, 환경(100)은 예시적인 것으로 의도되며, 또한 그 외 다른 타입의 장치, 애플리케이션, 및 사용 시나리오를 포함하는 그 외 다른 환경들이 마찬가지로 본 명세서에서 기재된 원리들을 이용할 수 있다. 환경(100)은 통상적으로 텔레비전과 같은 연결된 오디오/비주얼 디스플레이(108)를 사용하여 로컬 및/또는 네트워크 프로그래밍 및 컨텐츠를 이용하여 게이밍 또는 비-게이밍 애플리케이션을 실행하거나, DVD(Digital Versatile Disc) 및 CD(Compact Disc)를 포함하는 광 디스크와 같은 사전-기록된 멀티미디어를 재생하거나, 네트워크로부터 멀티미디어를 스트리밍하거나, 소셜 매체에 참가하고, 인터넷 및 그 외 다른 네트워크 매체 및 컨텐츠 등을 브라우징하도록 구성된 멀티미디어 콘솔(103)과 같은 컴퓨팅 플랫폼을 포함한다.
이 예에서 멀티미디어 콘솔(103)은 협력하여 동작하는 방식으로(operatively) 캡쳐 장치(113)에 연결되고, 이 캡쳐 장치는 사용자(119)에 의해 점유된 물리 공간(116)(도 1에서 점선으로 대체적으로 보여지는)을 시각적으로 모니터링하도록 구성된 하나 이상의 비디오 카메라를 사용하여 구현될 수 있다. 아래에서 더 상세히 기술되는 바와 같이, 캡쳐 장치(113)는, 예컨대 멀티미디어 콘솔(103) 상에서 실행되고 있는 애플리케이션 또는 운영 시스템에 영향을 미치기 위해 채용될 수 있는 제어수단으로 사용될 수 있도록, 사용자(119)의 움직임 및/또는 제스처를 캡쳐하고, 추적하며, 그리고/또는 분석하도록 구성된다. 사용자(119)의 손(121)이나 다른 인체 부분의 다양한 모션은 메인 사용자 인터페이스에서 게임 또는 그 외 다른 애플리케이션의 선택과 같은 통상적인 시스템-관련 태스크에 대응할 수 있다.
도 1에 도시된 바와 같은 예에서, 사용자(119)는 연결된 디스플레이(108) 상에 보여지는 다양한 아이콘 (1251I~125N)을 포함하는 선택가능한 오브젝트(122)들 중에서의 네비게이팅, 계층적인 메뉴 내 아이템을 통한 브라우징, 파일 열기, 파일 닫기, 파일 저장 등을 할 수 있다. 덧붙여서, 사용자(119)는 게임을 종료, 일시정지, 또는 저장하고, 레벨을 선택하며, 높은 점수를 보고, 친구와 소통하기 등을 위해 움직임 및/또는 제스처를 사용할 수 있다. 운영 시스템 및/또는 애플리케이션의 실질적으로 모든 제어가능한 양상들이 사용자(119)의 움직임에 의해 제어될 수 있다. 모든 범위의 사용자(119)의 모션은 환경(100) 내에서 실행되고 있는 애플리케이션이나 운영 시스템과 상호작용하기 위한 임의의 적절한 방식으로 이용가능할 수 있고, 이용될 수 있으며, 분석될 수 있다.
캡쳐 장치(113)는 또한 게이밍 애플리케이션이 멀티미디어 콘솔(103) 상에서 실행되고 있는 동안 게임플레이를 제어하기 위하여 사용자(119)에 의한 움직임을 캡쳐하고, 추적하며, 분석하기 위해 사용될 수 있다. 예를 들어, 도 2에 도시된 바와 같이, 복싱 게임과 같은 게이밍 애플리케이션은 디스플레이(108)를 사용하여 사용자(119)의 복싱 상대편의 시각적 표현을 제공할 뿐만 아니라 사용자(119)가 그 움직임을 제어할 수 있는 플레이어 아바타(player avatar)의 시각적 표현을 제공할 수 있다. 사용자(119)는 물리 공간(116) 내에서 움직임(예컨대, 펀치를 날리는)을 함으로써 플레이어 아바타가 게임 공간에서 대응하는 움직임을 하도록 야기할 수 있다. 사용자(119)의 움직임은, 게임 공간에서 플레이어 아바타의 게임 제어를 위해 대응하는 움직임이 수행되도록, 물리 공간(116) 내에서 인식되고 분석될 수 있다.
도 3은 개시된 실시간 정합이 구현될 수 있는 다른 컴퓨팅 환경(300)을 보여준다. 이 예에서, 환경(300)은 사용자의 모션이 캡쳐되고, 추적되며, 분석되는 게임 애플리케이션 및 비-게임 애플리케이션을 실행시키도록 구성된 랩탑 PC(310)(개인용 컴퓨터)를 포함한다. 캡쳐 장치(313)는, 캡쳐 장치(113)(도 1 및 도 2)에 의해 제공되는 것과 유사한 기능성을 가지고 배치될 수 있으며, 랩탑 PC(310) 내에 통합되어 있다. 그렇지만, 대안적으로 캡쳐 장치는 유선 및 무선 연결 수단 둘 모두를 포함하는 통상적인 기술을 이용하여 랩탑 PC(310)에 연결될 수 있는 자립형(stand-alone) 장치로서 구성될 수도 있다.
도 4는 대상에 부착된 특별한 감지 장치를 사용하지 않으면서 물리 공간(116)(도 1)의 캡쳐 영역 내 인간 및 비-인간 타겟을 인식하고, 3차원 공간 내에서 그들을 고유하게 식별하고 추적하기 위한 타겟 인식, 분석, 및 추적 시스템(400)의 일부로서 사용될 수 있는 캡쳐 장치(113)(및/또는 캡쳐 장치(313))의 예시적인 기능적 컴포넌트들을 보여준다. 캡쳐 장치(113)는 예컨대 타임-오브-플라이트(time-of-flight) 구조화된 광, 입체 이미지 등을 포함하여 임의의 적절한 기술을 통한 깊이 값(depth value)들을 포함할 수 있는 깊이 이미지(depth image)를 포함하는 깊이 정보를 가진 비디오를 캡쳐하도록 구성될 수 있다. 일부 구현예에서, 캡쳐 장치(113)는 계산된 깊이 정보를 "Z 레이어"들, 또는 그것의 시선(line of sight)을 따라 깊이 카메라로부터 연장하는 Z-축에 대해 수직할 수 있는 레이어들로 조직화될 수 있다.
도 4에 도시된 바와 같이, 캡쳐 장치(113)는 이미지 카메라 컴포넌트(403)를 포함한다. 이미지 카메라 컴포넌트(403)는 장면의 깊이 이미지를 캡쳐할 수 있는 깊이 카메라로서 동작하도록 구성될 수 있다. 깊이 이미지는 캡쳐된 장면의 2차원(2D) 픽셀 영역을 포함할 수 있으며, 여기서 2D 픽셀 영역 내의 각각의 픽셀은 카메라로부터 캡쳐된 장면 내의 오브젝트의 예컨대 센티미터, 밀리미터 등과 같은 단위의 길이와 같은 하나의 깊이 값을 나타낼 수 있다. 이 예에서, 이미지 카메라 컴포넌트(403)는 어레이 형태로 구성되는 IR 광 컴포넌트(406), IR 카메라(411), 및 가시광 RGB 카메라(414)를 포함한다.
깊이 비디오 프레임을 캡쳐하기 위하여 다양한 기술들이 이용될 수 있다. 예를 들어, 타임-오브-플라이트 분석에서, 캡쳐 장치(113)의 IR 광 컴포넌트(406)는 캡쳐 영역 상으로 적외광을 방출할 수 있고, 그런 다음 예컨대 IR 카메라(411) 및/또는 RGB 카메라(414)를 사용하여 캡쳐 영역 내의 하나 이상의 타겟 및 오브젝트의 표면에서 반사된 광을 검출할 수 있다. 일부 실시예에서, 펄스형 적외광이 사용되어, 캡쳐 장치(113)로부터 캡쳐 영역 내의 타켓이나 오브젝트 상의 특정 위치까지의 물리 거리를 결정하기 위하여, 방출되는 광 펄스와 대응하는 수신되는 광 펄스 사이의 시간이 측정되고 이용될 수 있다. 덧붙여서, 방출되는 광 파장의 위상이 수신되는 광 파장의 위상과 비교되어 위상 시프트(phase shift)가 결정될 수 있다. 그런 다음 위상 시프트는, 캡쳐 장치로부터 타겟이나 오브젝트 상의 특정 위치까지의 물리 거리를 결정하기 위해 사용될 수 있다. 타임-오브-플라이트 분석은, 예컨대 셔터형 광 펄스 이미징(shuttered light pulse imaging)을 포함하는 다양한 기술을 통해, 시간 경과에 따른 반사광 빔의 강도(intensity)를 분석함으로써, 캡쳐 장치(113)로부터 타겟이나 오브젝트 상의 특정 위치까지의 물리 거리를 간접적으로 결정하기 위하여 사용될 수 있다.
다른 구현예에서, 캡쳐 장치(113)는 깊이 정보를 캡쳐하기 위하여 구조화된 광을 사용할 수 있다. 이러한 분석에서, 패턴화된 광(즉, 그리드 패턴 또는 줄무늬 패턴과 같은 잘 알려진 패턴으로 디스플레이되는 광)이 예컨대 IR 광 컴포넌트(406)을 통해 캡쳐 영역 상으로 투사될 수 있다. 캡쳐 영역 내의 하나 이상의 타겟이나 오브젝트의 표면에 부딪치면, 이에 응답하여 패턴은 변형될 수 있다. 그러한 패턴의 변형은 예컨대 IR 카메라(411) 및/또는 RGB 카메라(414)에 의해 캡쳐될 수 있고 그런 다음 분석됨으로써 캡쳐 장치로부터 타겟이나 오브젝트 상의 특정 위치까지의 물리 거리가 결정될 수 있다.
캡쳐 장치(113)는, 깊이 정보를 생성하기 위하여 분해(resolve)될 수 있는 시각적 입체 데이터를 획득하기 위하여, 서로 다른 각도에서 하나의 캡쳐 영역을 볼 수 있는 2개 이상의 물리적으로 분리된 카메라를 이용할 수 있다. 단일 또는 복수의 카메라를 사용하는 그 외 다른 타입의 깊이 이미지 배열도 마찬가지로 깊이 이미지를 생성하기 위하여 이용될 수 있다. 캡쳐 장치(113)는 마이크로폰(418)을 더 포함할 수 있다. 마이크로폰(418)은 음향을 수신하여 전기 신호로 변환할 수 있는 트랜스듀서 또는 센서를 포함할 수 있다. 마이크로폰(418)은 타겟 인식, 분석, 및 추적 시스템(400) 내에서 캡쳐 장치(113)와 멀티미디어 콘솔(103) 사이의 피드백을 감소시키기 위하여 사용될 수 있다. 덧붙여서, 마이크로폰(418)은 멀티미디어 콘솔(103)에 의해 실행될 수 있는 게임 애플리케이션, 비-게임 애플리케이션 등과 같은 애플리케이션을 제어하기 위하여 사용자(119)에 의해 또한 제공될 수 있는 오디오 신호를 수신하기 위하여 사용될 수 있다.
캡쳐 장치(113)는 버스(428)를 통해 이미지 카메라 컴포넌트(403)와 협력하여 동작하는 방식으로 소통할 수 있는 프로세서(425)를 더 포함할 수 있다. 프로세서(425)는 프로파일을 저장하고, 깊이 이미지를 수신하고, 깊이 이미지 내에 적절한 타겟이 포함될 수 있는지 여부를 결정하고, 적절한 타겟을 타겟의 뼈대 표현 또는 모델로 변환하거나, 또는 임의의 다른 적절한 명령어(instructions)를 포함할 수 있는 명령어를 실행할 수 있는 표준화된 프로세서, 특수 프로세서, 마이크로프로세서 등을 포함할 수 있다. 캡쳐 장치(113)는 프로세서(425)에 의해 실행될 수 있는 명령어, 카메라에 의해 캡쳐된 이미지 또는 이미지의 프레임, 사용자 프로파일 또는 임의의 다른 적절한 정보, 이미지 등을 저장할 수 있는 메모리 컴포넌트(432)를 더 포함할 수 있다. 일 실시예에 따라, 메모리 컴포넌트(432)는 랜덤 액세스 메모리(RAM), 읽기 전용 메모리(ROM), 캐시, 플래시 메모리, 하드 디스크, 또는 임의의 다른 적절한 저장 컴포넌트를 포함할 수 있다. 도 4에 도시된 바와 같이, 메모리 컴포넌트(432)는 이미지 캡쳐 컴포넌트(403) 및 프로세서(425)와 소통하는 별도의 컴포넌트일 수 있다. 대안적으로, 메모리 컴포넌트(432)는 프로세서(425) 및/또는 이미지 캡쳐 컴포넌트(403) 내에 내장될 수 있다. 일 실시예에서, 캡쳐 장치(113)의 컴포넌트(403, 406, 411, 414, 418, 425, 428 및 432) 중 일부 또는 모두는 하나의 단일 하우징 내에 위치된다.
캡쳐 장치(113)는 통신 링크(435)를 통해 멀티미디어 콘솔(103)과 협력하여 동작하는 방식으로 소통한다. 통신 링크(435)는 예컨대 USB(Universal Serial Bus) 연결, 파이어와이어 연결, 이더넷 케이블 연결 등을 포함하는 유선 연결 및/또는 와이어리스 IEEE 802.11 연결과 같은 무선 연결일 수 있다. 멀티미디어 콘솔(103)은 캡쳐 장치(113)에게 예컨대 통신 링크(435)를 통해 장면을 캡쳐하는 때는 결정하는데 사용될 수 있는 클럭(clock)을 제공할 수 있다. 캡쳐 장치(113)는, 캡쳐 장치(113)에 의해 생성될 수 있는 뼈대 모델 및/또는 얼굴 추적 모델을 포함하여, 예컨대 IR 카메라(411) 및/또는 RGB 카메라(414)에 의해 캡쳐된 깊이 정보 및 이미지를 통신 링크(435)를 통해 멀티미디어 콘솔(103)로 제공할 수 있다. 그러면, 멀티미디어 콘솔(103)은 뼈대 및/또는 얼굴 추적 모델, 깊이 정보, 및 캡쳐된 이미지를 사용하여, 예컨대 가상 스크린을 생성하고, 사용자 인터페이스를 적응시키고, 애플리케이션을 제어할 수 있다.
모션 추적 엔진(441)은 뼈대 및/또는 얼굴 추적 모델 및 깊이 정보를 이용하여 캡쳐 장치(113)가 연결되어 있는 멀티미디어 콘솔(103) 상에서 실행되고 있는 하나 이상의 애플리케이션(도 4에서 애플리케이션(445)에 의해 대표적으로 나타난)으로 제어 출력을 제공한다. 정보는 또한 제스처 인식 엔진(451), 깊이 이미지 처리 엔진(454), 운영 시스템(459), 및/또는 실시간 정합 엔진(462)에 의해서도 이용될 수 있다. 도 23을 참조하여 더 상세히 기술되는 바와 같이, 실시간 정합 엔진(462)은, 예컨대 온도 변화(즉, 시스템이 주변의 실내 온도로부터 그것의 정상 동작 온도까지 워밍업할 때)에 기인하여 또는 사용자가 캡쳐 장치(113)를 우연히 떨어뜨리거나 부딪칠 때 발생할 수 있는 시스템 내의 물리적인 교란 때문에, 환경(100 및 300)을 사용하는 동안 발생할 수 있는 정합 에러의 실시간 정정을 제공하기 위하여 이용될 수 있다.
깊이 이미지 처리 엔진(454)은 깊이 이미지를 이용하여, 사용자 또는 그 외 다른 오브젝트와 같은, 오브젝트의 모션을 추적한다. 깊이 이미지 처리 엔진(454)은 통상적으로 검출된 각 오브젝트의 식별정보 및 각 프레임에 있어서 오브젝트의 위치를 운영 시스템(459)으로 보고할 것이다. 운영 시스템(459)은 그 정보를 이용하여 예컨대 아바타의 위치나 움직임, 또는 디스플레이(108) 상에 보여지는 그 외 다른 이미지을 업데이트하거나, 또는 사용자 인터페이스 상의 액션을 수행할 수 있다.
제스처 인식 엔진(451)은, 각각 (사용자가 움직임에 따라) 예컨대 뼈대 모델에 의해 수행될 수 있는 제스처에 관한 정보를 포함하는 제스처 필터들의 콜렉션을 포함할 수 있는 제스처 라이브러리(미 도시)를 이용할 수 있다. 제스처 인식 엔진(451)은 제스처 라이브러리 내의 제스처 필터와 뼈대 모델 및 그것과 연관된 움직임의 형태로 캡쳐 장치(113)에 의해 캡쳐된 프레임을 비교하여 사용자(뼈대 모델에 의해 대표되는 바와 같은)가 하나 이상의 제스처를 수행한 때를 식별할 수 있다. 이들 제스처는 애플리케이션의 다양한 제어와 연관될 수 있다. 그러므로, 멀티미디어 콘솔(103)은 제스처 라이브러리를 채용하여 뼈대 모델의 움직임을 해석하고 또한 움직임에 기초하여 멀티미디어 콘솔 상에서 실행되고 있는 운영 시스템이나 애플리케이션을 제어할 수 있다.
일부 구현예에서, 애플리케이션(445), 실시간 정합 엔진(462), 모션 추적 엔진(441), 제스처 인식 엔진(451), 깊이 이미지 처리 엔진(454), 및/또는 운영 시스템(459)에 의해 제공되는 기능성의 다양한 양상들은 캡쳐 장치(113) 자체 상에서 직접 구현될 수 있다.
도 5는 개시된 실시간 정합을 구현하기 위하여 사용된 방법론의 개요를 보여주는 도면이다. 여기서, 캡쳐 장치(113)는 각각 IR 및 RGB 카메라에 의해 캡쳐된 이미지 사이에서 정합을 인에이블하기 위하여 팩토리 세팅(510) 내에 캘리브레이션(505)이 제공된다. 도 6에 도시된 바와 같이, 용어 "정합"은 한 카메라에 의해 캡쳐된 이미지(예컨대, 참조번호 605로 지시되어 있는 바와 같이 카메라 A에 의해 캡쳐된 이미지) 내의 특징을 다른 하나의 카메라에 의해 캡쳐된 이미지(예컨대, 참조번호 610으로 지시되어 있는 바와 같이 카메라 B에 의해 캡쳐된 이미지)로 매핑하는 개념을 참조한다. 그러므로 개시된 캡쳐 장치(113)에 있어서, 카메라 A는 IR 카메라(411)일 수 있고 카메라 B는 RGB 카메라(414)일 수 있다.
다시 도 5를 참조하면, 예시적인 캡쳐 장치의 통상적인 거동에 대한 (아래에서 도 17 내지 도 22를 참조하여 더 상세히 기술되는) 워밍업 분석(warm-up analysis)(518)은, 필드(525)에서 배치된 때 캡쳐 장치(113) 상에서 실시간 정합 정정(522) 구현될 수 있도록 하기 위해 제공된다.
도 7은 예시적인 팩토리 캘리브레이션 방법(700)의 흐름도이다. 특별히 언급하지 않는 한, 도 7의 흐름도 내의 방법들 및 단계들 그리고 도면들에 도시되고 아래에서 기술되는 그 외 다른 흐름도 내의 방법들이나 단계들은 특정한 순서나 시쿼스로 제한되지 않는다. 덧붙여서, 방법들 중 일부 또는 그 단계들은 동시에 이루어지거나 수행될 수 있고, 방법들이나 단계들 모두가 주어진 임의의 구현예 내에서 반드시 이러한 구현예의 요구조건에 따라 수행되어야 하는 것은 아니고, 일부 방법들 또는 단계들은 선택적으로 이용될 수 있다. 방법은 IR 및 RGB 카메라 각각이 하나의 캘리브레이션 타겟의 이미지를 획득하는 블록(705)에서 시작한다. 예시적인 일 예에서, 캘리브레이션 타겟은 사각형 그리드 패턴 안에 배열되어 있는 원형 오브젝트들로 구성된다. 그렇지만, 강조해서 말하자면, 대안적으로 캘리브레이션 타겟은 구체적인 구현예의 요구조건에 따라 상이한 형상의 오브젝트들을 사용하여 및/또는 상이한 수의 오브젝트들을 사용하여 배열될 수 있다. 예를 들어, 복수의 이미지가 하나의 단일 타겟 또는 복수의 타겟으로부터 획득될 수 있다. 몇몇 경우에, 하나의 카메라가 하나의 고정된 타겟에 대해 상대적으로 서로 다른 위치들로 이동될 수 있다. 도 8 및 도 9는 원들의 직선 그리드를 포함하는 예시적인 캘리브레이션 타겟(805) 및 정사각형들의 직선 그리드를 포함하는 예시적인 캘리브레이션 타겟(905)을 각각 보여준다. 특정한 타겟 위치를 식별하기 위하여 다양한 방법론이 이용될 수 있음은 자명하다. 예를 들어, 통상적인 방법론은 서브-픽셀 정확도를 가지고 수직한 선들의 교차점을 식별하기 위하여 체커보드 패턴(checkerboard pattern)에 대해 알고리즘을 적용한다.
도 7을 다시 참조하면, 블록(710)에서, 이미지들 각각으로부터 오브젝트들 각각의 무게중심이 추출된다. 블록(715)에서 캡쳐된 이미지들 중 어느 하나 또는 둘 모두에서 왜곡의 특징이 규정된다. 대안적으로, 몇몇 경우 왜곡은 특징이 규정되지 않은 상태로 남겨질 수 있다. 임의의 주어진 어레이 내의 모든 카메라가 모든 경우에 명시적인 캘리브레이션을 필요로 하는 것도 아니거니와, 선택된 내장 파라미터의 수나 타입의 면에서만 이들이 캘리브레이팅될 수 있는 것도 아니라는 점은 자명하다. 여기서, 내장 파라미터는 예컨대 초점 길이, 주축 포인트(principal point), 카메라 회전 파라미터, 카메라 왜곡 파라미터, 픽셀 스큐(skew), 픽셀 치수 등을 포함할 수 있다. 또한 그 외 다른 내장 파라미터들도 계산될 수 있다. 블록(720)에서, IR 초점 길이가 측정된다. 블록(725)에서 비왜곡된 IR 및 미가공된 RGB 무게중심 사이의 정합이 특징 규정된다. 이러한 특징 규정과 연관된 파라미터들은 블록(730)에서 메모리에 저장된다.
위에서 논의된 팩토리 캘리브레이션 방법은 하나의 단일 카메라를 사용하는 깊이 획득을 이용한다는 것이 주목된다. 그렇지만, 상기 방법은 마찬가지로 종래의 입체영상 시스템을 이용하도록 적응될 수 있다는 점은 자명하다. 덧붙여서, 아래에서 논의되는 실시간 정합 기술이 사용되도록 하기 위해, 모든 경우에 팩토리 캘리브레이션이 사용되어야 할 필요가 있는 것은 아니다.
도 10은, 2개의 상대적으로 잘-정렬되어 있는 핀홀 카메라 A 및 핀홀 카메라 B는 각각 초점 길이
Figure pct00001
Figure pct00002
를 가지며 카메라 센서(1012) 상에서 거리 d 만큼 떨어져 있는 이상적인 시스템(1000)에 대해 위에 기술된 정합이 구현될 수 있는 방식을 예시하는 도면이다. 비록 도 10에 2개의 카메라가 도시되어 있지만, 정합은 임의의 수의 카메라들로 규모가 확장될 수 있다는 점 및 모든 카메라가 모든 다른 카메라에게 정합될 필요가 있는 것이 아니라는 점은 자명하다. 시스템(1000) 내에서의 정합은 카메라 B에서부터 카메라 C로 X 및 Y 방향으로 픽셀들의 매핑을 보여주는 내장 파라미터, 스케일 팩터(scale factors), 및 시차(parallax) 항의 관점에서 도 11의 방정식(1100 및 1105)에 의해 기술된다. 방정식(1100 및 1105)은 도 12에 도시된 선형 방정식 세트(1200 및 1205)로 단순화된다. 그렇지만, 여기서 사용된 단일 캘리브레이션 타겟에 있어서, 시차 항은 유일하게 결정되지 않는다. 즉, IR 및 RGB 이미지들 사이의 매핑은 캘리브레이션 타겟이 위치되어 있는 오브젝트 평면과 카메라들 사이의 주어진 거리 또는 깊이(도 10의
Figure pct00003
)에서만 유효하다. 도 13의 방정식(1300)은 깊이
Figure pct00004
, 카메라 간격 d, 및 오브젝트가 원래의 단일 캘리브레이션 평면에 대해 상대적인 거리
Figure pct00005
에 대해 선형적으로 종속하는 이러한 시차 효과
Figure pct00006
를 기술한다.
도 14는 도 10에 도시된 것보다 더 복잡한 시스템(1400)에 있어서 정합이 어떻게 구현되는지를 예시하는 도면이다. 이 경우, 시스템(1400)은 카메라 A 및 카메라 B(각각 참조 번호 1405 및 1410으로 지칭되어 있는)가 기울어지거나, 회전되거나, 또는 시프트되거나 할 수 있고 또한 상이한 초점 거리를 가질 수 있으며 나아가 동일한 깊이 평면을 따라 위치되어 있지 않을 수 있는 좀 더 실제적인 시스템을 따라 모델링된다. 이러한 변동가능한 카메라 오리엔테이션은 목적을 가진 설계의 일부일 수 있거나, 또는 오리엔테이션의 변화가 의도적인 것이 아니지만 예를 들어 시스템 온도의 변화나 물리적인 교란에 의해 발생될 수 있다. 시스템(1400)은 도 15에 도시된 매핑 함수(1500)에 의해 기술될 수 있다.
여기에 기술된 구체적이고 예시적인 시스템에서, 함수(1500)는 도 16에 도시된 테일러 급수(Taylor series)를 사용하여 표현될 수 있는데, 여기서 2개의 다항식(방정식 1605 및 1610) 각각은 3개의 축 모두를 따른 카메라 회전을 고려하기 위하여 x 및 y 크로스 항 뿐만 아니라, 다수의 정합 계수 c를 포함한다. 정합 계수들의 조합은 시스템 복잡도에 따라 달라질 수 있고 그 외 다른 효과를 모델링하기 우하여 달라질 수 있다. 예를 들어, 정정되지 않았거나 또는 의도적으로 정정되지 않은 상태로 남겨 졌던 카메라들 중 하나로부터의 여분의 왜곡이 더 존재할 수 있고, 또는 카메라들이 기울어지거나 및/또는 각자의 광축을 중심으로 회전될 수 있다. 그러한 경우, 카메라 A로부터 카메라 B로의 매핑 함수는 더 복잡해지고 추가적인 정합 계수들이 요구될 수 있다. 예를 들어, 더 왜곡된 또는 더 기울어진 카메라가 임의의 주어진 시스템 내에 존재하면 더 많은 정합 계수들이 사용될 수 있다.
구체적인 일 예에서, 각각의 다항 매핑 함수 방정식은 10개의 정합 계수를 사용한다. 그리고, 도 10의 이상적인 시스템에서와 같이, 캘리브레이션 평면으로부터 떨어진 곳으로의 정합은 캘리브레이션 평면으로부터 떨어진 거리에 기초하여 예상 선형 시프트
Figure pct00007
를 추정함으로써 성취된다. 강조해서 말하자면, 도 16에 도시된 것과는 다른 정합 계수들의 조합도 또한 본 명세서에서 도시하고 기술한 예시적인 시스템과 상이한 그 외 다른 시스템을 모델링하기 위해 사용될 수 있다.
이제 도 5를 참조하여 위에서 언급한 워밍업 분석이 더 상세히 기술될 것이다. 도 17은 시간에 대해 예시적인 캡쳐 장치의 온도를 도시하는 곡선(1705)을 보여준다. 곡선(1705)은 캡쳐 장치가 차가운 온도(즉, 실온)에서 시작한 때에 통상적인 워밍업 거동을 나타낸다. 도 18은 예시적인 캡쳐 장치에 대하여 시간 0에서 팩토리-최적화 캘리브레이션에 의해 카메라들이 초기에 잘 정합되어 있다고 가정하고 시간 경과에 따른 정합 에러
Figure pct00008
를 나타내는 곡선(1805)을 보여준다. 그러므로, 도 18은 정합 에러가 어떻게 온도에 종속적일 수 있는가를 보여주며 IR 카메라(411) 및 RGB 카메라(414)(도 4)와 연관된 파라미터들이 온도에 따라 변화된다는 것을 제시한다.
도 19는 예시적인 워밍업 분석(1900)의 흐름도이다. 블록(1905)에서, 하나 이상의 캘리브레이션 타켓의 이미지는, 예를 들어 도 7을 참조하여 위해서 기술된팩토리 캘리브레이션을 가진 방식과 유사한 방식으로, IR 및 RGB 카메라 각각에 의해 캡쳐되고, IR 및 RGB 내장 파라미터들은 블록(1910)에서 캘리브레이팅된다. 블록(1915)에서, 다항 매핑 함수(방정식 1605 및 1610)를 위한 정합 계수들이 결정된다. 블록(1920)에서, 캘리브레이션 타겟 내의 가장 중심에 있는 오브젝트의 무게중심이 추적되고 IR 및 RGB 카메라의 임의의 좌우이동(pan)/기울기(tilt)가 측정된다.
그런 다음 블록(1925)에서 캡쳐 장치를 포함하는 시스템은 실온(즉, 차가운 온도)에서부터 약간의 시간 인터벌이 경과하는 동안 그것의 정상 동작 온도까지 워밍업된다. 워밍업 동안, 블록(930)에서 정합 에러가 추적된다. 추적은 예컨대 프레임 단위로 수행될 수 있다. 캘리브레이션 타겟으로부터의 무게중심을 이용할 수 있기 때문에, 각각의 프레임에서 카메라들을 리캘리브레이트(recalibrate)하고 또한 전체 워밍업 시간 인터벌 동안에 팩토리-최적화된 카메라 정합을 유지하기 위하여 어떻게 정합 계수들이 비틀어질(즉, 수정될) 필요가 있는지를 결정하는 것이 가능하다. 시간 인터벌 동안 정합 계수 내의 변화를 추적함으로써, 팩토리-최적화된 캘리브레이션을 유지하기 위하여 어느 정합 계수가 가장 많이 변화될 필요가 있는지를 결정하기 위해 감도(sensitivity) 분석이 수행될 수 있다. 다시 말해서, 가장 큰 정합 에러의 원인이 되는 정합 계수들이 워밍업 분석으로부터 식별될 수 있다.
도 20 내지 도 22는 3개의 서로 다른 예시적인 시스템에 있어서 매핑 함수 다항 방정식에서 사용된 20개의 정합 계수들 각각에 대해 정합 에러를 도시하는 각각의 막대그래프(2000, 2100, 및 2200)를 보여준다. 도 20 내지 도 22에서 도시된 바와 같이, 등록 에러 대부분은 작은데 이는 특정 캡쳐 장치가 온도에 따른 변화(예컨대, 카메라 회전 또는 초점 길이 및/또는 왜곡의 변화)를 최소화하는 방식으로 설계되어 있음을 나타낼 수 있다. 그렇지만, 막대그래프 각각에서 특정 정합 계수가 가장 큰 에러에 기여하고 있음이 관찰되는데 이는 이들이 온도에 대해 가장 민감하다는 것을 제시한다. 도 20 내지 도 22에서 도시된 바와 같이, 막대그래프(2000)에 의해 대표되는 카메라 시스템은 비교적 정합 에러에 기여하는 가장 많은 수의 계수들을 가지며, 반면에 막대그래프(2100)가 대표하는 시스템은 훨씬 적은 기여 계수를 가지고, 막대그래프(2200)는 가장 적은 시스템을 대표한다. 따라서 워밍업 분석은, 본 명세서에서 기술된 매핑 함수 다항 방정식들이 20개의 정합 계수를 이용하는 반면에, 워밍업 시간 인터벌 동안에 관찰된 정합 에러에는 오직 특정 계수만이 전형적으로 유의미하게 기여하는 경향이 있다는 점을 보여준다. 하지만, 강조해서 말하자면, 상이한 설계 파라미터를 사용하는 그 외 다른 시스템들은 정합 에러에 기여하는 더 많은 또는 더 적은 독립적인 정합 계수들로 귀결될 수 있는 상이한 감도를 보일 수 있다. 덧붙여서, 일부 시스템에서 특정 계수들은 정정될 필요가 있는 파라미터의 수를 감소시킬 수 있는 고도의 상관관계를 가질 수 있다.
워밍업 분석의 결과는, 전형적으로 상대적으로 작은 수의 미지의(및 20개가 아닌) 계수들이 고려되어야 할 필요가 있는 방식으로, 필드에서 실시간 정합 에러 정정이 구현될 수 있도록 하는 장점을 가진다. 덧붙여서, 몇몇 경우에 독립적인 정합 계수들은 매핑 함수가 본질적으로 하나의 단순 아핀 변환(affine transformation)으로 될 수 있도록 단지 선형적인 늘어남 및/또는 일정한 오프셋 항만을 포함할 수 있다.
위에서 논의된 워밍업 분석은 하나의 단일 카메라를 이용하는 깊이 획득을 이용한다는 점이 주목된다. 그렇지만, 이 방법은 기존 입체영상 시스템도 마찬가지로 이용하기 위하여 적응될 수 있음은 자명하다.
도 23은 캘리브레이션 타겟을 팩토리 캘리브레이션 상태로 이용할 필요없이 필드에서 채용될 수 있는 예시적인 실시간 정합 정정 방법(2300)의 흐름도이다. 몇몇 경우에, 방법(2300)은 실시간 정합 엔진(462)(도 4)을 사용하여 구현될 수 있다.
방법은 블록(2305)에서 시작하여, 모니터링되는 물리 공간(116)(도 1)의 이미지는 하나의 단일 프레임으로 또는 일련의 프레임들에 걸쳐 IR 카메라(411) 및 RGB 카메라(414)에 의해 획득된다. 블록(2310)에서 동일한 실제 세계 특징에 대응하는 획득된 이미지 내의 특징은 종래의 패턴 매핑 기법을 통해 식별된다. 예를 들어, 패턴은 사용자의 머리, 팔, 또는 다리와 같은 인체의 식별된 부분 안에 또는 배경에 포함되는 특징들을 통과하여 위치될 수 있다. 통상적으로, 정합 에러를 정정하기 위하여 필요한 것과 대응하는 수의 독립적인 정합 계수를 비틀기 위하여 분리된 패턴들이 탐색되지만, 몇몇 구현예에서는 더 많은 식별 매칭 패턴들은 에러 정정 방법의 추가적인 견고성(robustness)으로 귀결될 수 있다. 유리하게, 대부분의 조건하에서 정합 에러는 시간에 따라 상대적으로 느리게 변화하기 때문에, 통상적으로 하나의 단일 프레임 내에 모든 패턴들을 캡쳐할 필요가 없다.
블록(2315)에서, 각각의 매핑 패턴에 대하여, 이미지는 위에서 기술된 바와 같이 팩토리 캘리브레이션 동안에 정의된 깊이 평면에 대해 정규화된다. 이것은 통상적으로 필요한데 왜냐하면 식별된 매핑 패턴은 반드시 동일 깊이에서 캡쳐되지 않을 수 있기 때문이다. 일단 몇몇 사전-정의된 상관관계 문턱값에 부합하는 패턴들이 캡쳐된 이미지 내에 위치되어 있으면, 정합 에러에 기여하는 정합 계수는 비틀어질/정정될 수 있다. 다시 말해서, 블록(2320)에서 보여지는 바와 같이, 리캘리브레이션을 수행하기 위하여 정합 계수들 중 상대적으로 작은 부분집합만이 정정될 필요가 있다. 정정된 정합 계수들은 블록(2325)에서 기록되고, 블록(2330)에서 다른 필드 리캘리브레이션이 수행될 때까지 사용된다.
위에서 논의된 필드 리캘리브레이션을 위한 실시간 정합 정정 방법은 하나의 단일 카메라를 이용하는 깊이 획득을 이용한다는 점이 주목된다. 그렇지만, 이 방법은 기존 입체영상 시스템도 마찬가지로 이용하기 위하여 적응될 수 있음은 자명하다.
필드 리캘리브레이션은 주기적으로 수행되거나, 또는 애플리케이션(445)(도 5)이 정합 에러가 성능 문제를 야기하고 있는 것을 검출하거나 의심하는 상황에서 수행될 수 있다. 예를 들어, 필드 리캘리브레이션은 멀티미디어 콘솔(103)(도 1)이 초기에 부팅된 때 및/또는 슬립 모드(sleep mode)에서 깨어났을 때 수행될 수 있다. 그러한 경우, 패턴 매칭을 용이하게 하기 위하여 예상될 수 있는, 사용자가 모니터링되는 물리 공간 내에 존재할 것임이 기대될 수 있다.
패턴 매칭의 필요는 다른 방법론을 사용하는 몇몇 경우에 제거될 수 있다. 예를 들어, 시스템을 다시 그것의 잘 캘리브레이팅된 정상 상태로 되돌리기 위하여 온도-민감성 정합 계수에 인가되는 비틀기의 양은 캡쳐 장치의 관찰된 온도와 합리적으로 잘 상관되어 있을 것이라고 통상적으로 기대할 수 있다. 그러므로 사전-캘리브레이팅된 정합 정정을 생성하기 위해 각각의 독립적인 정합 계수들 각각에 대해 온도로 매핑된 정정값 세트가 생성되고 저장될 수 있다. 그런 다음 캡쳐 장치 내에 위치된 하나 이상의 온도 센서들은 동작시 주어진 시간 포인트에서 캡쳐 유닛의 온도를 측정하고 저장된 세트로부터 적절한 정정값을 적용하기 위해 사용될 수 있다. 이러한 사전-캘리브레이팅된 정합 정정의 이용은, 예컨대 초점 길이가 온도에 따라 변화하는 개시된 예시적인 시스템에서와 같은 경우에 유용할 수 있다. 사전-캘리브레이팅된 정합 정정은 또한 초점 길이 변화에 따른 깊이 측정에서의 에러를 정정하기 위하여 몇몇 애플리케이션에서 유리하게 이용될 수 있다. 이것은 패턴 매핑 위치를 팩토리 캘리브레이션의 깊이 평면으로 정규화할 때 시차 정정에서의 잠재적인 에러를 제거할 때 특히 유용할 수 있다.
워밍업 분석의 결과는 또한, 특히 기계적이고 광학적인 컴포넌트에 적용될 때 열적 표준의 관리 면에서, 미래의 캡쳐 장치 및 시스템의 설계에 적용될 수 있다는 장점을 제공할 수 있다. 예를 들어, 이러한 정정이 필요한 정합 계수의 수를 감소시키는 방식으로 컴포넌트를 설계하는 것이 바람직할 수 있다. 예를 들어, 캡쳐 장치의 기계적인 컴포넌트는 2개 이상의 카메라 사이의 상대적인 포인팅 에러가 온도 변화 또는 물리적 교란에 민감하지 않도록 설계될 수 있다. 유사하게, 카메라 렌즈를 포함하는 광학적 컴포넌트는 정정을 필요로하는 정합 계수의 수를 감소시키도록 설계될 수 있다. 예를 들어, 렌즈는 초점 길이 및 이미지 왜곡이 온도에 대해 독립적으로 되도록 설계될 수 있다. 그리고 렌즈와 이미지 센서는 이미지 센서 상의 광학적 왜곡의중심부가 온도나 물리적인 교란에 독립적으로 되도록 설계될 수 있다.
도 24는 도 1 내지 도 2에 도시된 멀티미디어 콘솔(103)의 예시적인 기능 블록도이다. 도 24에 도시된 바와 같이, 멀티미디어 콘솔(103)은 레벨1 캐시(2402), 레벨2 캐시(2404), 플래시 ROM(읽기 전용 메모리)(2406)을 가지는 중앙 처리 유닛(CPU)(2401)을 가진다. 레벨1 캐시(2402) 및 레벨2 캐시(2404)는 일시적으로 데이터를 저장하며, 이에 의해 메모리 액세스 사이클의 수를 감소시키고, 그에 따라 처리 속도 및 스루풋을 향상시킨다. CPU(2401)는 1개 이상의 코어로 구성될 수 있고, 이에 따라 추가적인 레벨1 및 레벨2 캐시(2402 및 2404)를 구비할 수 있다. 플래시 ROM(2406)은 멀티미디어 콘솔(103)이 전원 온(ON)되는 때 부팅 프로세스의 초기 단계 동안에 로딩되는 실행 코드를 저장할 수 있다.
그래픽 처리 유닛(GPU)(2408) 및 비디오 인코더/비디오 코덱(codec, coder/decoder)(2414)은 고속 및 고해상도 그래픽 처리를 위한 비디오 처리 파이프라인을 형성한다. 데이터는 버스틀 통해 GPU(2408)로부터 비디오 인코더/비디오 코텍(2414)으로 운반된다. 비디오 처리 파이프라인은 텔레비전이나 그 외 다른 디스플레이로 전송하기 위하여 A/V(오디오/비디오) 포트(2440)로 데이터를 출력한다. RAM과 같은, 하지만 이로만 제한되는 것이 아닌, 다양한 타입의 메모리(2412)에 대해 프로세서 액세스를 용이하게 하기 위하여 메모리 컨트롤러(2410)가 GPU(2408)에 연결된다.
멀티미디어 콘솔(103)은, 모듈(2418) 상에 구현되는 것이 바람직한, 입출력(I/O) 컨트롤러(2420), 시스템 관리 컨트롤러(2422), 오디오 처리 유닛(2423), 네트워크 인터페이스 컨트롤러(2424), 제 1 USB 호스트 컨트롤러(2426), 제 2 USB 컨트롤러(2428), 및 전면 패널 I/O 서브어셈블리(2430)를 포함한다. USB 컨트롤러(2426 및 2428)은 주변장치 컨트롤러(2442(1)-2442(2)), 무선 어댑터(2448), 및 외부 메모리 장치(2446)(예컨대, 플래시 메모리, 외장 CD/DVD ROM 드라이브, 리무버블 매체 등)을 위한 호스트로서 작동한다. 네트워크 인터페이스 컨트롤러(2424) 및/또는 무선 어댑터(2448)는 네트워크(예컨대, 인터넷, 홈 네트워크 등)에의 액세스를 제공하며 이더넷 카드, 모뎀, 블루투스 모듈, 케이블 모뎀 등을 포함하는 광범위한 범위의 다양한 유선 또는 무선 어댑터 컴포넌트 중 임의의 것일 수 있다.
시스템 메모리(2443)는 부팅 프로세스 동안에 로딩되는 애플리케이션 데이터를 저장하기 위하여 제공된다. 매체 드라이브(2444)가 제공되며 DVD/CD 드라이브, 하드 드라이브, 또는 그 외 다른 리무버블 매체 드라이브 등을 포함할 수 있다. 매체 드라이브(2444)는 멀티미디어 콘솔(103)에 대해 내장형 또는 외장형일 수 있다. 애플리케이션 데이터는 멀티미디어 콘솔(103)에 의한 실행, 재생 등을 위해 매체 드라이브(2444)를 통해 액세스될 수 있다. 매체 드라이브(2444)는 SATA(Serial ATA) 버스 또는 그 외 다른 고속 연결(예컨대, IEEE 1394)와 같은, 버스를 통해 I/O 컨트롤러(2420)에 연결된다.
시스템 관리 컨트롤러(2422)는 멀티미디어 콘솔(103)의 이용가능성을 보장하는 것과 관련된 다양한 서비스 기능을 제공한다. 오디오 처리 유닛(2423) 및 오디오 코덱(2432)은 고신뢰성 및 스테레오 처리를 가진 대응하는 오디오 처리 파이프라인을 형성한다. 오디오 데이터는 통신 링크를 통해 오디오 처리 유닛(2423)과 오디오 코덱(2432) 사이에 운반된다. 오디오 처리 파이프라인은 오디오 성능을 가지는 외부 오디오 플레이어나 장치에 의한 재생을 위해 데이터를 A/V 포트(2440)로 출력한다.
전면 패널 I/O 서브어셈블리(2430)는, 임의의 LED(light emitting diodes) 또는 멀티미디어 콘솔(103)의 외측 표면에 노출된 다른 지시수단 뿐만 아니라, 전원 버튼(2450) 및 이젝트 버튼(2452)의 기능성을 지원한다. 시스템 파워 서플라이 모듈(2436)은 멀티미디어 콘솔(103)의 컴포넌트에 전원을 공급한다. 팬(fan)(2438)은 멀티미디어 콘솔(103) 내 회로를 냉각시킨다.
멀티미디어 콘솔(103) 내의 CPU(2401), GPU(2408), 메모리 컨트롤러(2410), 및 다양한 다른 컴포넌트는, 직렬 및 병렬 버스, 메모리 버스, 주변장치 버스, 및 다양한 버스 아키텍처 중 임의의 것을 사용하는 프로세서 또는 로컬 버스를 포함하여, 하나 이상의 버스를 통해 상호연결된다. 예시를 들어 말하면, 이러한 아키텍처는 PCI(Peripheral Component Interconnects) 버스, PCI-Express 버스 등을 포함할 수 있다.
멀티미디어 콘솔(103)이 전원 ON 되면, 애플리케이션 데이터는 시스템 메모리(2443)로부터 메모리(2412) 및/또는 캐시(2402 및 2404)로 로딩되어 CPU(2401) 상에서 실행될 수 있다. 애플리케이션은 멀티미디어 콘솔(103) 상에서 이용가능한 서로 다른 매체 타입들을 네비게이팅할 때 일관된 사용자 경험을 제공하는 그래픽 사용자 인터페이스를 제공할 수 있다. 동작시, 애플리케이션 및/또는 매체 드라이브(2444) 내에 포함되어 있는 다른 매체는 매체 드라이브(2444)로부터 런칭되거나 플레이됨으로써 멀티미디어 콘솔(103)에 추가 기능성을 제공할 수 있다.
멀티미디어 콘솔(103)은 단순히 시스템을 텔레비전이나 다른 디스플레이에 연결함으로써 자립형 시스템으로서 동작될 수 있다. 이러한 자립형 모드에서, 멀티미디어 콘솔(103)은 1인 이상의 사용자로 하여금 시스템과 상호작용하거나, 영화를 보거나, 또는 음악을 듣도록 허용한다. 그렇지만, 네트워크 인터페이스 컨트롤러(2424) 또는 무선 어댑터(2448)을 통해 이용가능하게 되는 광대역 연결성을 통합한 상태에서, 멀티미디어 콘솔(103)은 더 큰 네트워크 커뮤니티의 참여자로서 더 동작될 수 있다.
멀티미디어 콘솔(103)이 전원 ON 된 때, 멀티미디어 콘솔 운영 시스템에 의한 시스템 사용을 위해 일정량의 하드웨어 자원이 예약된다. 이들 자원은 메모리(예컨대, 16 MB), CPU 및 GPU 사이클(예컨대, 5%), 네트워킹 대역폭(예컨대, 8 kbps) 등의 예약을 포함할 수 있다. 이들 자원은 시스템 부팅 시에 예약되기 때문에, 예약된 자원은 애플리케이션의 관점에서는 존재하지 않는다.
특히, 메모리 예약은 런치 커널, 동시 실행 시스템 애플리케이션, 및 드라이버를 포함하기에 충분히 큰 것이 바람직하다. CPU 예약은 일정한 것이 바람직한데, 이 경우 만약 예약된 CPU 용도가 시스템 애플리케이션에 의해 사용되지 않으면, 아이들 스레드가 임의의 미사용 사이클을 소비하게 될 것이다.
GPU 예약과 관련하여, 시스템 애플리케이션에 의해 생성된 경량 메시지(예컨대, 팝업)는 오버레이로 팝업을 렌더링하도록 코드를 스케쥴링하기 위하여 GPU 인터럽트를 사용함으로써 디스플레이된다. 오버레이를 위해 필요한 메모리의 양은 오버레이 영역 크기에 종속하며 오버레이는 스크린 해상도에 따라 크기가 조정되는 것이 바람직하다. 동시에 실행 중인 시스템 애플리케이션에 의해 전체 화면 사용자 인터페이스가 사용되는 경우, 애플리케이션 해상도와는 독립적인 해상도를 사용하는 것이 바람직하다. 주파수를 변화하고 TV 재동기화(re-sync)를 야기할 필요성이 제거되도록 이러한 해상도를 설정하기 위하여 스케일러(scaler)가 사용될 수 있다.
멀티미디어 콘솔(103)이 부팅되고 시스템 자원이 예약된 후, 동시 실행되는 시스템 애플리케이션들이 실행되어 시스템 기능성을 제공한다. 시스템 기능성은 위에 기술된 예약 시스템 자원 내에서 실행하는 한 세트의 시스템 애플리케이션 내에 포함된다. 운영 시스템 커널은 시스템 애플리케이션 스레드인 스레드를 게이밍 애플리케이션 스레드에 대비하여 식별한다. 시스템 애플리케이션들은 애플리케이션에게 일관된 시스템 자원 관점을 제공하기 위하여 미리결정된 시간과 간격으로 CPU(2401) 상에서 실행되도록 스케쥴링되는 것이 바람직하다. 스케줄링은 콘솔 상에서 실행되는 게이밍 애플리케이션에 대한 캐시 붕괴(disruption)가 최소화되도록 하려는 것이다.
동시 실행 시스템 애플리케이션이 오디오를 필요로 할 때, 오디오 처리는 시간 민감도에 기인하여 게이밍 애플리케이션에 대해 비동기적으로 스케줄링된다. 멀티미디어 콘솔 애플리케이션 관리자(아래에서 기술되는)는 시스템 애플리케이션이 활성일 때 게이밍 애플리케이션 오디오 레벨(예컨대, 음소거, 감쇄)을 제어한다.
입력 장치(예컨대, 컨트롤러 2442(1) 및 2442(2))는 게이밍 애플리케이션과 시스템 애플리케이션에 의해 공유된다. 입력 장치는 예약된 자원은 아니지만, 각각 장치의 포커스를 가지게 되는 방식으로 시스템 애플리케이션과 게이밍 애플리케이션 사이에서 전환된다. 애플리케이션 관리자는 게이밍 애플리케이션의 지식을 모르면서 앱력 스트림의 전환을 제어하고 드라이버는 포커스 스위치와 관련된 상태 정보를 유지한다. 캡쳐 장치(113)는 콘솔(103)을 위한 추가 입력 장치를 정의할 수 있다.
몇몇 응용에서 개시된 실시간 정합을 구현하기 위하여 예시된 매체 콘솔(103)이 아닌 다른 타입의 컴퓨팅 플랫폼을 인에이블하는 것이 바람직 및/또는 유리할 수 있다. 예를 들어, 실시간 정합은 비디오 캡쳐 성능을 가지는 고정형 컴퓨팅 플랫폼 및 이동형 컴퓨팅 플랫폼 상에서 실행되도록 쉽게 적응될 수 있다. 도 25는 실시간 정합을 제공하기 위하여 본 명세서에서 기술된 다양한 컴포넌트를 실행한ㄹ 수 있는 컴퓨팅 플랫폼 또는 장치를 위한 예시적인 아키텍처(2500)를 보여준다. 따라서, 도 25에 도시된 아키텍처(2500)는 서버 컴퓨터, 모바일 폰, PDA(personal digital assistant), 스마트 폰, 데스크탑 컴퓨터, 노트북 컴퓨터, 태블릿 컴퓨터, GPS(Global Positioning System) 장치, 게이밍 콘솔, 및/또는 랩탑 컴퓨터(도 3에 도시된 랩탑 PC(310)과 같은 및 첨부된 텍스트로 기술된)에 적응될 수 있는 아키텍처를 보여준다. 아키텍처(2500)는 본 명세서에 개시된 컴포넌트의 임의의 양상을 실행하기 위하여 이용될 수 있다.
도 25에 도시된 아키텍처(2500)는 CPU(2502), RAM(2506) 및 ROM(2508)을 포함하는 시스템 메모리(2504), 및 메모리(2504) 및 CPU(2502)에 연결된 시스템 버스(2510)를 포함한다. 스타트업 동안과 같이, 아키텍처(2500) 내 요소들 사이에 정보를 이동시키는 것을 돕는 기본적인 루틴을 포함하는 기본적인 입력/출력 시스템은 ROM(2508) 내에 저장된다. 아키텍처(2500)는, 도 3에 도시되고 첨부된 텍스트에서 기술된 컴포넌트와 유사한 방식의 기능성 및 동작을 가지도록 구성될 수 있는, 애플리케이션, 실시간 정합 엔진, 모션 추적 엔진, 제스처 인식 엔진, 깊이 이미지 처리 엔진, 및 운영 시스템을 구현하기 위하여 이용되는 소프트웨어 코드 또는 그 외 다른 컴퓨터-실행 코드를 저장하기 위한 대용량 저장 장치(2512)를 더 포함한다.
대용량 저장 장치(2512)는 버스(2510)에 연결된 대용량 저장 컨트롤러(미도시)를 통해 CPU(2502)에 연결된다. 대용량 스토지리 장치(2512) 및 그것의 연관된 컴퓨터-판독가능 저장 매체는 아키텍처(2500)를 위한 비-휘발성 저장 장치를 제공한다. 비록 본 명세서에 포함된 컴퓨터-판독가능 저장 매체의 설명이, 하드 디스크 또는 CD-ROM 드라이브와 같은, 대용량 저장 장치를 지칭하지만, 해당 기술 분야의 지식을 가진 자에게는 컴퓨터-판독가능 매체는 아키텍처(2500)에 의해 액세스될 수 있는 임의의 이용가능한 컴퓨터 저장 매체일 수 있다는 점이 자명하다.
비록 본 명세서에 포함된 컴퓨터-판독가능 저장 매체의 설명이, 하드 디스크 또는 CD-ROM 드라이브와 같은, 대용량 저장 장치를 지칭하지만, 해당 기술 분야의 지식을 가진 자에게는 컴퓨터-판독가능 매체는 아키텍처(2500)에 의해 액세스될 수 있는 임의의 이용가능한 저장 매체일 수 있다는 점이 자명하다.
한정적으로서가 아니라 예시로서 말하자면, 컴퓨터-판독가능 매체는, 컴퓨터-판독가능 명령어(instructions), 데이터 구조, 프로그램 모듈 또는 그 외 다른 데이터와 같은 정보를 저장하기 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비-휘발성, 리무버블 및 비-리무버블 매체를 포함할 수 있다. 예를 들어, 컴퓨터-판독가능 매체는 RAM, ROM, EPROM(erasable programmable read only memory), EEPROM(electrically erasable programmable read only memory), 플래시 메모리 또는 다른 고체 상태 메모리 기술, CD-ROM, DVD, HD-DVD(High Definition DVD), 블루-레이, 또는 다른 광 저장 장치, 자기 카세트, 자기 테이프, 자기 디스크 저장 장치 또는 다른 자기 저장 장치, 또는 원하는 정보를 저장하기 위해 사용될 수 있고 아키텍처(2500)에 의해 액세스될 수 있는 임의의 다른 매체를 포함하지만, 이에만 한정되는 것은 아니다. 본 발명의 설명과 청구범위의 목적에 있어서, 구절 "컴퓨터-판독가능 저장 매체" 및 그것의 변형은, 파장, 신호, 및/또는 다른 일시적인 및/또는 비유형적인 통신 매체를 포함하지 않는다.
다양한 실시예들에 따라, 아키텍처(2500)는 네트워크를 통해 원격 컴퓨터와의 논리적 연결을 사용하여 네트워크 환경에서 동작할 수 있다. 아키텍처(2500)는 버스(2510)에 연결된 네트워크 인터페이스 유닛(2516)을 통해 네트워크에 연결할 수 있다. 네트워크 인터페이스 유닛(2516)은 또한 다른 타입의 네트워크 및 원격 컴퓨터 시스템에 연결하기 위해 사용될 수 있음은 자명하다. 아키텍처(2500)는 또한, 키보드, 마우스, 마이크로폰, 조이스틱, 게임 패드, 위성 접시, 스캐너, 트랙볼, 터치패드, 터치 스크린, 터치-감응 장치, 음성-명령 모듈 또는 장치, 또는 전자 스타일러스를 포함하는 다수의 다른 장치(도 25에는 미도시)로부터 입력을 수신하고 처리하기 위한 입력/출력 컨트롤러(2518)을 포함할 수 있다. 유사하게, 입력/출력 컨트롤러(2518)는 디스플레이 스크린, 프린터, 또는 다른 타입의 출력 장치(또한 도 25에 미도시)로 출력을 제공할 수 있다.
본 명세서에 기재된 소프트웨어 컴포넌트는, CPU(2502)로 로딩되고 실행되면, CPU(2502) 및 전체 아키텍처(2500)를 범용 컴퓨팅 시스템에서 본 명세서에 개시된 기능을 용이하게 하기 위하여 맞춤 설정된 특수 목적의 컴퓨팅 시스템으로 변환시킨다는 점은 자명하다. CPU(2502)는 임의의 수의 트랜지스터 또는 다른 개별적인 회로 요소들로 구성될 수 있는데, 이들 트랜지스터 또는 요소들은 개별적으로 또는 집합적으로 임의의 수의 상태를 취할 수 있다. 더 상세하게는, CPU(2502)는 본 명세서에서 개시된 소프트웨어 모듈 내에 포함된 실행가능한 명령어에 반응하여 유한-상태 머신(finit-state machine)으로서 동작할 수 있다. 이들 컴퓨터-판독가능 명령어는 CPU(2502)가 어떻게 상태에서 상태로 전이하는지를 특정함으로써, 이에 의해 CPU(2502)를 구성하는 트랜지스터 또는 다른 개별적인 하드웨어 요소들을 변형함으로써, CPU(2502)를 변형할 수 있다.
본 명세서에 개시된 소프트웨어를 인코딩하는 것은 또한 본 명세서에서 개시된 컴퓨터-판독가능 저장 매체의 물리 구조를 변형할 수 있다. 물리 구조의 구체적인 변형은 본 명세서의 서로 다른 구현예에서, 다양한 팩터(factors)에 의존한다. 이러한 팩터의 예는 컴퓨터-판독가능 저장 매체를 구현하기 위하여 사용된 기술, 컴퓨터-판독가능 저장 매체가 일차 저장 장치인지 또는 이차 저장 장치인지 여부 등을 포함할 수 있지만, 이에만 한정되는 것은 아니다. 예를 들어, 만약 컴퓨터-판독가능 저장 매체가 반도체-기반 메모리로서 구현되는 경우, 본 명세서에 개시된 소프트웨어는 반도체 메모리의 물리 상태를 변형함으로써 컴퓨터-판독가능 저장 매체 상에 인코딩될 수 있다. 예를 들어, 소프트웨어는 반도체 메모리를 구성하는 트랜지스터, 커패시터, 또는 다른 개별적인 회로 요소의 상태를 변형할 수 있다. 또한 소프트웨어는 그 위에 데이터를 저장하기 위해 그러한 컴포넌트의 물리 상태를 변형시킬 수 있다.
다른 하나의 예로서, 본 명세서에 기재된 컴퓨터-판독가능 저장 매체는 자기 또는 광 기술을 사용하여 구현될 수 있다. 이러한 구현예에서, 본 명세서에 개시된 소프트웨어는 소프트웨어가 그 안에 인코딩된 때 자기 또는 광 매체의 물리 상태를 변형할 수 있다. 이들 변형은 주어진 자기 매체 내의 특정 위치의 자기 특성을 변화시키는 것을 포함할 수 있다. 또한 이들 변형은 주어진 광 매체 내의 특성 위치의 물리적 특징 또는 특성을 변화시켜 이들 위치의 광 특성을 변화시키는 것을 포함할 수 있다. 오직 본 논의를 이해하기 쉽도록 하기 위해서 제공된 상술한 예에 대해, 개시 내용의 범위와 정신으로부터 벗어남 없이, 물리 매체의 그 외 다른 변형이 가능하다.
상술한 바를 참조하면, 본 명세서에 개시된 소프트웨어 컴포넌트를 저장하고 실행시키기 위하여 아키텍처(2500) 내에서 많은 타입의 물리적 변형이 발생할 수 있음은 자명하다. 또한 아키텍처(2500)는 핸드-헬드 컴퓨터, 임베디드 컴퓨터 시스템, 스마트폰, PDA, 및 해당 기술 분야의 지식이 있는 자에게 알려져 있는 다른 타입의 컴퓨팅 장치를 포함하여, 다른 타입의 컴퓨팅 장치를 포함할 수 있음도 자명하다. 또한 아키텍처(2500)는 도 25에 도시된 모든 컴포넌트를 포함하지 않을 수 있다는 점, 도 25에 명시적으로 도시되어 있지 않은 다른 컴포넌트를 포함할 수 있다는 점, 또는 도 25에 도시된 것과는 완전히 다른 아키텍처를 이용할 수 있다는 점이 고려된다.
상술한 것에 기초하여, 본 명세서에서 실시간 정합을 제공하고 사용하는 기술이 개시되었음이 자명하다. 비록 본 명세서에 개시된 발명 주제가 컴퓨터 구조적 특징, 방법론적이고 변형적인 행위, 특수 컴퓨팅 기계, 및 컴퓨터-판독가능 저장 매체에 특정한 언어로 기술되었으나, 첨부된 청구범위에 정의된 발명은 본 명세서에 기재된 특수한 특징, 행위, 또는 매체로 반드시 제한되지 않는다는 점이 자명하다. 오히려, 특수한 특징, 행위, 및 매체는 청구범위를 구현하는 예시적인 형태로서 기술된다.
위에서 기술된 발명 주제는 오직 예시적인 방식으로 제공되고 한정으로서 간주되어서는 안된다. 도시되고 설명된 예시적인 실시예 및 응용예를 따르지 않으면서, 및 아래의 청구범위에서 제공된, 본 발명의 진정한 정신과 범위로부터 벗어나지 않으면서, 본 명세서에 기재된 발명 주제에 대해 다양한 수정과 변화가 이루어질 수 있다.

Claims (10)

  1. 컴퓨팅 플랫폼에 있어서,
    적어도 하나의 프로세서; 및
    상기 적어도 하나 이상의 프로세서에 의해 실행될 때 방법을 수행하는 명령어를 저장하는 하나 이상의 컴퓨터-판독가능 저장 매체
    를 포함하며, 상기 방법은,
    어레이 내에 카메라들에 의해 캡쳐된 이미지들 중에서 실제 세계 특징의 패턴을 매칭 - 상기 이미지는 하나의 단일 프레임을 포함하거나 또는 임의의 시간 윈도우에 걸치 일련의 프레임들을 포함함 - 하는 단계;
    각각의 매칭 패턴에 대하여, 상기 어레이 내의 임의의 카메라의 초기 캘리브레이션(initial calibration)에서 정의된 깊이 평면에 대해 상대적으로 이미지 시차(parallax)를 정규화하는 단계; 및
    상기 어레이 내의 카메라들 중 하나 이상의 카메라의 리캘리브레이션(recalibration)을 수행 - 상기 리캘리브레이션은 상기 정규화된 매칭된 패턴을 사용하여 선택된 파라미터들의 부분집합을 조정함으로써 수행되고, 상기 파라미터들은 상기 카메라 어레이에 의해 캡쳐된 이미지들 중에서 실제 세계 특징을 정합(register)하기 위해 매핑 함수 내에서 이용됨 - 하는 단계
    를 포함하는 것인, 컴퓨팅 플랫폼.
  2. 제 1 항에 있어서,
    상기 초기 캘리브레이션은 파라미터들의 집합을 정의하고, 상기 파라미터들은 하나 이상의 다항 계수를 포함하는 것인, 컴퓨팅 플랫폼.
  3. 제 1 항에 있어서,
    상기 방법은 상기 어레이 또는 상기 컴퓨팅 플랫폼과 연관된 하나 이상의 포인트의 측정 온도에 응답하여 상기 리캘리브레이션을 수행하는 단계를 더 포함하는 것인, 컴퓨팅 플랫폼.
  4. 제 1 항에 있어서,
    상기 선택된 파라미터들의 부분집합은 아핀 변환(affine transformation)을 포함하는 것인, 컴퓨팅 플랫폼.
  5. 제 1 항에 있어서,
    상기 선택된 파라미터들의 부분집합은 독립적이며 카메라의 X축을 따라 캡쳐된 이미지의 균일한 시프트(shift), 카메라의 Y축을 따라 캡쳐된 이미지의 균일한 시프트, 카메라의 X축을 따라 캡쳐된 이미지의 균일한 늘이기(stretch), 카메라의 Y축을 따라 캡쳐된 이미지의 균일한 늘이기 중 하나와 관련되는 것인, 컴퓨팅 플랫폼.
  6. 제 5 항에 있어서,
    상기 균일한 시프트들 중 하나는 카메라 포인팅 에러와 관련되고 상기 균일한 늘이기 중 하나는 변화하는 카메라 초점 길이와 관련되는 것인, 컴퓨팅 플랫폼.
  7. 제 1 항에 있어서,
    상기 방법은 온도에 따라 변화하는 다항 계수의 수를 최소화하도록 상기 어레이 내 하나 이상의 카메라와 연관된 물리적 특성을 특정하는 단계를 더 포함하는 것인, 컴퓨팅 플랫폼.
  8. 제 7 항에 있어서,
    상기 특정된 물리적 특성은 카메라 렌즈 초점 길이, 카메라 렌즈 왜곡, 또는 렌즈 및 이미지 센서를 포함하는 카메라 시스템 내의 광 왜곡 중심 중 하나인 것인, 컴퓨팅 플랫폼.
  9. 제 1 항에 있어서,
    상기 방법은 상기 어레이 내 카메라들 중 포인팅 에러가 온도에 독립적으로 되도록 상기 카메라 어레이를 물리적으로 구성하는 단계를 더 포함하는 것인, 컴퓨팅 플랫폼.
  10. 제 1 항에 있어서,
    상기 방법은 워밍업 동안 또는 이후 상기 어레이 내의 하나 이상의 카메라에 사전-캘리브레이팅된 정정을 적용함으로써 상기 하나 이상의 카메라가 상기 하나 이상의 카메라의 현재 동작 온도에 응답하여 원래의 팩토리(factory) 캘리브레이션으로 복귀하도록 하는 단계를 더 포함하는 것인, 컴퓨팅 플랫폼.
KR1020167003976A 2013-07-17 2014-07-15 입체 깊이 카메라 어레이의 실시간 정합 KR102186220B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/944,498 2013-07-17
US13/944,498 US9210417B2 (en) 2013-07-17 2013-07-17 Real-time registration of a stereo depth camera array
PCT/US2014/046583 WO2015009650A1 (en) 2013-07-17 2014-07-15 Real-time registration of a stereo depth camera array

Publications (2)

Publication Number Publication Date
KR20160032210A true KR20160032210A (ko) 2016-03-23
KR102186220B1 KR102186220B1 (ko) 2020-12-03

Family

ID=51392332

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167003976A KR102186220B1 (ko) 2013-07-17 2014-07-15 입체 깊이 카메라 어레이의 실시간 정합

Country Status (5)

Country Link
US (1) US9210417B2 (ko)
EP (1) EP3022906B1 (ko)
KR (1) KR102186220B1 (ko)
CN (1) CN105432079B (ko)
WO (1) WO2015009650A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180101466A (ko) * 2016-01-12 2018-09-12 후아웨이 테크놀러지 컴퍼니 리미티드 심도 정보 취득 방법 및 장치, 그리고 이미지 수집 디바이스

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9747680B2 (en) * 2013-11-27 2017-08-29 Industrial Technology Research Institute Inspection apparatus, method, and computer program product for machine vision inspection
JP6447516B2 (ja) * 2013-12-27 2019-01-09 ソニー株式会社 画像処理装置、および画像処理方法
US9406133B2 (en) * 2014-01-21 2016-08-02 University Of Rochester System and method for real-time image registration
US9609242B2 (en) * 2015-06-25 2017-03-28 Intel Corporation Auto-correction of depth-sensing camera data for planar target surfaces
EP3128482A1 (en) * 2015-08-07 2017-02-08 Xovis AG Method for calibration of a stereo camera
US10339662B2 (en) 2016-05-23 2019-07-02 Microsoft Technology Licensing, Llc Registering cameras with virtual fiducials
US10027954B2 (en) 2016-05-23 2018-07-17 Microsoft Technology Licensing, Llc Registering cameras in a multi-camera imager
US10326979B2 (en) 2016-05-23 2019-06-18 Microsoft Technology Licensing, Llc Imaging system comprising real-time image registration
JP6821714B2 (ja) * 2016-06-28 2021-01-27 マジック リープ, インコーポレイテッドMagic Leap,Inc. 改良されたカメラ較正システム、標的、およびプロセス
EP3264360A1 (en) * 2016-06-28 2018-01-03 Dassault Systèmes Dynamical camera calibration
US10560679B2 (en) 2016-08-30 2020-02-11 Microsoft Technology Licensing, Llc Deformation detection and automatic calibration for a depth imaging system
CN107657635B (zh) * 2017-10-17 2022-03-29 奥比中光科技集团股份有限公司 深度相机温度误差校正方法及系统
CN107730561B (zh) 2017-10-17 2021-07-06 奥比中光科技集团股份有限公司 深度相机温度误差校正方法及系统
US11558601B2 (en) 2017-11-06 2023-01-17 Symbol Technologies, Llc Methods and apparatus for initializing object dimensioning systems
US10855973B1 (en) * 2017-12-21 2020-12-01 Facebook Technologies, Llc Depth mapping using fringe interferometry
US11089265B2 (en) 2018-04-17 2021-08-10 Microsoft Technology Licensing, Llc Telepresence devices operation methods
WO2019228097A1 (zh) 2018-05-29 2019-12-05 Oppo广东移动通信有限公司 验证系统、电子装置、验证方法、计算机可读存储介质及计算机设备
JP7427614B2 (ja) * 2018-06-29 2024-02-05 ズークス インコーポレイテッド センサ較正
CN109495732A (zh) * 2018-10-31 2019-03-19 昆山睿力得软件技术有限公司 一种3d成像视觉引导系统
JP7109386B2 (ja) * 2019-01-22 2022-07-29 日立Astemo株式会社 画像処理装置
US11270464B2 (en) 2019-07-18 2022-03-08 Microsoft Technology Licensing, Llc Dynamic detection and correction of light field camera array miscalibration
US11082659B2 (en) 2019-07-18 2021-08-03 Microsoft Technology Licensing, Llc Light field camera modules and light field camera module arrays
US11553123B2 (en) * 2019-07-18 2023-01-10 Microsoft Technology Licensing, Llc Dynamic detection and correction of light field camera array miscalibration
US11064154B2 (en) 2019-07-18 2021-07-13 Microsoft Technology Licensing, Llc Device pose detection and pose-related image capture and processing for light field based telepresence communications
US11393127B2 (en) * 2019-09-13 2022-07-19 Toyota Research Institute, Inc. 2D to 3D line-based registration with unknown associations
CN112233184B (zh) * 2020-09-08 2021-06-22 东南大学 基于图像配准的激光雷达与相机标定参数校正方法及装置
KR20230130704A (ko) * 2021-01-19 2023-09-12 구글 엘엘씨 카메라 캘리브레이션을 위한 교차 스펙트럼 기능 매핑
CN113516775B (zh) * 2021-02-09 2023-02-28 天津大学 手机相机获取印章辅助图像的三维重建方法
WO2023235804A1 (en) * 2022-06-01 2023-12-07 Proprio, Inc. Methods and systems for calibrating and/or verifying a calibration of an imaging system such as a surgical imaging system
KR20240014244A (ko) 2022-07-25 2024-02-01 한국전자통신연구원 다시점 rgb-d 카메라 기반 3차원 관절 데이터 합성 방법
CN115032608B (zh) * 2022-08-15 2022-11-01 杭州宇称电子技术有限公司 测距传感器数据优化方法及其应用

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2141932A1 (en) * 2008-06-30 2010-01-06 France Telecom 3D rendering method and system
US20120050488A1 (en) * 2010-08-24 2012-03-01 Primesense Ltd. Automatic detection of lens deviations
US20120169842A1 (en) * 2010-12-16 2012-07-05 Chuang Daniel B Imaging systems and methods for immersive surveillance
US20120194517A1 (en) * 2011-01-31 2012-08-02 Microsoft Corporation Using a Three-Dimensional Environment Model in Gameplay
US20120229628A1 (en) * 2009-11-13 2012-09-13 Eiji Ishiyama Distance measuring apparatus, distance measuring method, distance measuring program, distance measuring system, and image pickup apparatus

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3286306B2 (ja) * 1998-07-31 2002-05-27 松下電器産業株式会社 画像生成装置、画像生成方法
US6795590B1 (en) * 2000-09-22 2004-09-21 Hrl Laboratories, Llc SAR and FLIR image registration method
US7245318B2 (en) * 2001-11-09 2007-07-17 Canon Kabushiki Kaisha Imaging apparatus that corrects an imbalance in output levels of image data
US7602412B2 (en) * 2002-06-21 2009-10-13 Microsoft Corporation Temperature compensation in multi-camera photographic devices
AU2002950210A0 (en) * 2002-07-11 2002-09-12 Mediaware Solutions Pty Ltd Mosaic construction from a video sequence
JP4465619B2 (ja) 2005-10-31 2010-05-19 ソニー株式会社 登録装置、照合装置、画像補正方法及びプログラム
US8126253B2 (en) * 2005-11-12 2012-02-28 Cognex Technology And Investment Corporation Automatically determining machine vision tool parameters
US8160364B2 (en) * 2007-02-16 2012-04-17 Raytheon Company System and method for image registration based on variable region of interest
JP5511152B2 (ja) * 2008-05-14 2014-06-04 富士フイルム株式会社 エネルギーサブトラクション方法及び装置
US8401276B1 (en) 2008-05-20 2013-03-19 University Of Southern California 3-D reconstruction and registration
US8681216B2 (en) 2009-03-12 2014-03-25 Hewlett-Packard Development Company, L.P. Depth-sensing camera system
WO2011063347A2 (en) 2009-11-20 2011-05-26 Pelican Imaging Corporation Capturing and processing of images using monolithic camera array with heterogeneous imagers
US8600192B2 (en) * 2010-12-08 2013-12-03 Cognex Corporation System and method for finding correspondence between cameras in a three-dimensional vision system
US8401242B2 (en) 2011-01-31 2013-03-19 Microsoft Corporation Real-time camera tracking using depth maps
US9307227B2 (en) * 2011-02-24 2016-04-05 Tektronix, Inc. Stereoscopic image registration and color balance evaluation display
US9600863B2 (en) * 2012-02-13 2017-03-21 Omnivision Technologies, Inc. Method for combining images
WO2013139353A1 (en) * 2012-03-23 2013-09-26 Elekta Ab (Publ) Estimation of co-registration errors
JP2013207755A (ja) * 2012-03-29 2013-10-07 Sony Corp 画像処理装置および方法
US9185402B2 (en) * 2013-04-23 2015-11-10 Xerox Corporation Traffic camera calibration update utilizing scene analysis

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2141932A1 (en) * 2008-06-30 2010-01-06 France Telecom 3D rendering method and system
US20120229628A1 (en) * 2009-11-13 2012-09-13 Eiji Ishiyama Distance measuring apparatus, distance measuring method, distance measuring program, distance measuring system, and image pickup apparatus
US20120050488A1 (en) * 2010-08-24 2012-03-01 Primesense Ltd. Automatic detection of lens deviations
US20120169842A1 (en) * 2010-12-16 2012-07-05 Chuang Daniel B Imaging systems and methods for immersive surveillance
US20120194517A1 (en) * 2011-01-31 2012-08-02 Microsoft Corporation Using a Three-Dimensional Environment Model in Gameplay

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180101466A (ko) * 2016-01-12 2018-09-12 후아웨이 테크놀러지 컴퍼니 리미티드 심도 정보 취득 방법 및 장치, 그리고 이미지 수집 디바이스

Also Published As

Publication number Publication date
EP3022906A1 (en) 2016-05-25
WO2015009650A1 (en) 2015-01-22
US20150022669A1 (en) 2015-01-22
CN105432079B (zh) 2017-09-26
EP3022906B1 (en) 2019-04-10
CN105432079A (zh) 2016-03-23
US9210417B2 (en) 2015-12-08
KR102186220B1 (ko) 2020-12-03

Similar Documents

Publication Publication Date Title
KR102186220B1 (ko) 입체 깊이 카메라 어레이의 실시간 정합
US9342160B2 (en) Ergonomic physical interaction zone cursor mapping
US8983233B2 (en) Time-of-flight depth imaging
US10210382B2 (en) Human body pose estimation
US8279418B2 (en) Raster scanning for depth detection
US9962095B2 (en) Optical heartrate tracking
US9557574B2 (en) Depth illumination and detection optics
US9551914B2 (en) Illuminator with refractive optical element
US8553934B2 (en) Orienting the position of a sensor
US9597587B2 (en) Locational node device
US20210149478A1 (en) Silhouette-based limb finder determination
US9881409B2 (en) Visualization for blood flow in skin image data

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right