KR20230029920A - 롤링 셔터 카메라 파이프라인 노출 타임스탬프 에러 결정 - Google Patents
롤링 셔터 카메라 파이프라인 노출 타임스탬프 에러 결정 Download PDFInfo
- Publication number
- KR20230029920A KR20230029920A KR1020237003096A KR20237003096A KR20230029920A KR 20230029920 A KR20230029920 A KR 20230029920A KR 1020237003096 A KR1020237003096 A KR 1020237003096A KR 20237003096 A KR20237003096 A KR 20237003096A KR 20230029920 A KR20230029920 A KR 20230029920A
- Authority
- KR
- South Korea
- Prior art keywords
- timestamp
- exposure
- barcode
- image
- rolling shutter
- Prior art date
Links
- 238000005096 rolling process Methods 0.000 title claims abstract description 79
- 238000000034 method Methods 0.000 claims abstract description 28
- 238000005259 measurement Methods 0.000 claims description 22
- 238000012360 testing method Methods 0.000 claims description 8
- 230000003287 optical effect Effects 0.000 description 55
- 230000000712 assembly Effects 0.000 description 24
- 238000000429 assembly Methods 0.000 description 24
- 238000004891 communication Methods 0.000 description 22
- 238000003384 imaging method Methods 0.000 description 19
- 238000012545 processing Methods 0.000 description 18
- 230000006870 function Effects 0.000 description 16
- 239000011159 matrix material Substances 0.000 description 11
- 230000008569 process Effects 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 230000014509 gene expression Effects 0.000 description 6
- 230000033001 locomotion Effects 0.000 description 6
- 230000001360 synchronised effect Effects 0.000 description 6
- 230000000007 visual effect Effects 0.000 description 5
- 239000000853 adhesive Substances 0.000 description 4
- 230000001070 adhesive effect Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 4
- 150000003071 polychlorinated biphenyls Chemical class 0.000 description 4
- 239000004065 semiconductor Substances 0.000 description 4
- 230000002123 temporal effect Effects 0.000 description 4
- 230000001133 acceleration Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 3
- 230000000295 complement effect Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 210000003128 head Anatomy 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000003190 augmentative effect Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000005484 gravity Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 239000000155 melt Substances 0.000 description 2
- 229910044991 metal oxide Inorganic materials 0.000 description 2
- 150000004706 metal oxides Chemical class 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 229910000679 solder Inorganic materials 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 241000577979 Peromyscus spicilegus Species 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 230000036772 blood pressure Effects 0.000 description 1
- 230000036760 body temperature Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 238000000576 coating method Methods 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 230000003750 conditioning effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000005670 electromagnetic radiation Effects 0.000 description 1
- 210000000887 face Anatomy 0.000 description 1
- 230000008921 facial expression Effects 0.000 description 1
- 230000005669 field effect Effects 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 238000003707 image sharpening Methods 0.000 description 1
- 239000004615 ingredient Substances 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 210000001525 retina Anatomy 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 238000005476 soldering Methods 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 230000007480 spreading Effects 0.000 description 1
- 210000004243 sweat Anatomy 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 230000001755 vocal effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B10/00—Transmission systems employing electromagnetic waves other than radio-waves, e.g. infrared, visible or ultraviolet light, or employing corpuscular radiation, e.g. quantum communication
- H04B10/11—Arrangements specific to free-space transmission, i.e. transmission through air or vacuum
- H04B10/114—Indoor or close-range type systems
- H04B10/116—Visible light communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N17/00—Diagnosis, testing or measuring for television systems or their details
- H04N17/002—Diagnosis, testing or measuring for television systems or their details for television cameras
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/56—Cameras or camera modules comprising electronic image sensors; Control thereof provided with illuminating means
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/61—Control of cameras or camera modules based on recognised objects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/70—Circuitry for compensating brightness variation in the scene
- H04N23/73—Circuitry for compensating brightness variation in the scene by influencing the exposure time
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N25/00—Circuitry of solid-state image sensors [SSIS]; Control thereof
- H04N25/50—Control of the SSIS exposure
- H04N25/53—Control of the integration time
- H04N25/531—Control of the integration time by controlling rolling shutters in CMOS SSIS
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- Electromagnetism (AREA)
- Computer Networks & Wireless Communication (AREA)
- Studio Devices (AREA)
- Image Input (AREA)
Abstract
롤링 셔터 카메라 시스템들에서 레이턴시를 검출하는 카메라 파이프라인 노출 타임스탬프 에러 결정 방법들 및 시스템들. 노출 타임스탬프 에러 결정 시스템은 이미지를 캡쳐하도록 구성되는 롤링 셔터 이미지 센서 및 프로세서를 포함한다. 프로세서는 롤링 셔터 이미지 센서를 사용하여 이미지를 캡쳐하는 것에 의해 타임스탬프 에러를 결정하는데, 여기서 이미지는 바코드 타임스탬프로 인코딩되는 바코드를 포함한다. 그 다음, 프로세서는 롤링 셔터 이미지 센서에 의한 이미지의 캡쳐에 대응하는 시스템 노출 타임스탬프 및 바코드를 디코딩하는 것에 의한 바코드 타임스탬프를 획득한다. 그 다음, 획득된 바코드 타임스탬프를 시스템 노출 타임스탬프에 비교하는 것에 의해 롤링 셔터 카메라 시스템에 대한 파이프라인 노출 타임스탬프 에러가 결정된다.
Description
관련 출원들에 대한 교차 참조
[0001]
본 출원은 2020년 6월 30일자로 출원된 미국 가출원 일련 번호 제63/046,383호 및 2021년 3월 17일자로 출원된 미국 출원 일련 번호 제17/204,076호에 대한 우선권을 주장하는데, 이들 둘 모두의 내용들은 참조에 의해 본원에 완전히 통합된다.
기술 분야
[0002]
본 주제는 이미징 시스템들, 예를 들면, 아이웨어 디바이스(eyewear device)들에서의 사용을 위한 카메라들, 특히, 롤링 셔터 카메라 시스템들에서 카메라 파이프라인 노출 타임스탬프 에러를 결정하는 것에 관한 것이다.
[0003]
롤링 셔터 카메라 시스템들은 이미징 센서(예를 들면, CMOS 센서) 상에서 이미지의 장면 전체에 걸쳐 스캐닝하는 것에 의해 이미지들을 캡쳐한다. 롤링 셔터를 사용하면, 저부 행(bottom row)이 시작하기 이전에 이미징 센서의 상단 행(top row)이 노출을 시작한다. 노출 시간이 도달되는 경우, 상단 행은, 다른 행들이 계속 노출되는 동안 판독된다. 모든 행들은 동일한 시간의 기간 동안 노출되지만, 그러나, 그들이 노출을 시작하고 중지하는 시간은 상이하다. 이것은, 다른 행들이 판독되고 있는 동안 이미징 센서가 획득 프로세스 동안 일부 행들에서 광자들을 수집하는 것을 허용하고, 따라서, 감도를 효과적으로 높일 수 있다.
[0004]
입체 이미징 시스템(stereoscopic imaging system)들은, 예를 들면, 삼차원(three-dimensional; 3D) 이미지들을 생성하기 위해 두 개 이상의 이미징 센서들을 활용하여 상이한 관점들로부터 이미지들을 캡쳐한다. 캡쳐된 이미지들은 실시간으로 동기화되어 사실적인 3D 이미지들을 생성한다.
[0005]
묘화하는 도면들은 하나 이상의 구현예들을, 단지 제한들로서가 아니라, 단지 예로서 묘사한다. 도면들에서, 동일 참조 번호들은 동일한 또는 유사한 엘리먼트들을 지칭하는데, 동일한 또는 유사한 엘리먼트들 사이를 구별하기 위해 문자 지정이 추가된다. 동일한 또는 유사한 엘리먼트들이 일괄적으로 지칭되는 경우 또는 동일한 또는 유사한 엘리먼트들 중 불특정한 엘리먼트를 지칭하는 경우, 문자 지정은 생략될 수 있다.
[0006] 도 1a는 카메라 파이프라인 노출 타임스탬프 에러 결정 시스템에서 활용되는 아이웨어 디바이스의 예시적인 하드웨어 구성의 측면도이다.
[0007] 도 1b는 깊이 캡쳐 카메라의 우측 가시 광 카메라, 및 회로 보드를 묘사하는 도 1a의 아이웨어 디바이스의 우측 전자 하우징의 상단 단면도(top cross-sectional view)이다.
[0008] 도 1c는, 깊이 캡쳐 카메라의 좌측 가시 광 카메라를 도시하는, 도 1a의 아이웨어 디바이스의 예시적인 하드웨어 구성의 좌측 측면도이다.
[0009] 도 1d는 깊이 캡쳐 카메라의 좌측 가시 광 카메라, 및 회로 보드를 묘사하는 도 1c의 아이웨어 디바이스의 좌측 전자 하우징의 상단 단면도이다.
[0010] 도 2a는, (예를 들면, 초기 비디오에서) 초기 깊이 이미지들의 시퀀스의 초기 깊이 이미지를 생성하기 위해 깊이 캡쳐 카메라의 깊이 센서 및 우측 가시 광 카메라를 도시하는, 카메라 파이프라인 노출 타임스탬프 에러 결정 시스템에서 활용되는 아이웨어 디바이스의 다른 예시적인 하드웨어 구성의 측면도이다.
[0011] 도 2b 및 도 2c는 두 개의 상이한 타입들의 이미지 디스플레이들을 포함하는 아이웨어 디바이스의 예시적인 하드웨어 구성들의 배면도들이다.
[0012] 도 3은 깊이 센서의 적외선 카메라, 프레임 전면, 프레임 후면, 및 회로 보드를 묘사하는 도 2a의 아이웨어 디바이스의 후면 투시 단면도(rear perspective sectional view)를 도시한다.
[0013] 도 4는 도 3의 아이웨어 디바이스의 적외선 카메라 및 프레임을 통해 취해지는 단면도이다.
[0014] 도 5는 깊이 센서의 적외선 방출기, 깊이 센서의 적외선 카메라, 프레임 전면, 프레임 후면, 및 회로 보드를 묘사하는 도 2a의 아이웨어 디바이스의 후면 투시도(rear perspective view)를 도시한다.
[0015] 도 6은 도 5의 아이웨어 디바이스의 적외선 방출기 및 프레임을 통해 취해지는 단면도이다.
[0016] 도 7은 카메라 파이프라인에서 노출 타임스탬프 에러를 결정함에 있어서의 사용을 위한 바코드를 포함하는 이미지를 프로세싱하기 위한 예시적인 카메라 파이프라인을 묘사하는 블록 다이어그램이다.
[0017] 도 8은 노출 타임스탬프 에러를 결정하기 위해 도 7의 카메라 파이프라인과의 사용을 위한 바코드이다.
[0018] 도 9는 다양한 네트워크들을 통해 연결되는 아이웨어 디바이스, 모바일 디바이스, 및 서버 시스템을 포함하는 예시적인 카메라 파이프라인 노출 타임스탬프 에러 결정 시스템의 하이 레벨 기능 블록 다이어그램이다.
[0019] 도 10은 도 9의 카메라 파이프라인 노출 타임스탬프 에러 결정 시스템의 모바일 디바이스에 대한 예시적인 하드웨어 구성을 예시하는 블록 다이어그램이다.
[0020] 도 11a, 도 11b, 도 11c 및 도 11d는 롤링 셔터 카메라 시스템의 파이프라인에서 노출 타임스탬프 에러를 결정하기 위해 카메라 노출 타임스탬프 에러 결정 시스템이 구현하는 방법들의 플로우차트들이다.
[0006] 도 1a는 카메라 파이프라인 노출 타임스탬프 에러 결정 시스템에서 활용되는 아이웨어 디바이스의 예시적인 하드웨어 구성의 측면도이다.
[0007] 도 1b는 깊이 캡쳐 카메라의 우측 가시 광 카메라, 및 회로 보드를 묘사하는 도 1a의 아이웨어 디바이스의 우측 전자 하우징의 상단 단면도(top cross-sectional view)이다.
[0008] 도 1c는, 깊이 캡쳐 카메라의 좌측 가시 광 카메라를 도시하는, 도 1a의 아이웨어 디바이스의 예시적인 하드웨어 구성의 좌측 측면도이다.
[0009] 도 1d는 깊이 캡쳐 카메라의 좌측 가시 광 카메라, 및 회로 보드를 묘사하는 도 1c의 아이웨어 디바이스의 좌측 전자 하우징의 상단 단면도이다.
[0010] 도 2a는, (예를 들면, 초기 비디오에서) 초기 깊이 이미지들의 시퀀스의 초기 깊이 이미지를 생성하기 위해 깊이 캡쳐 카메라의 깊이 센서 및 우측 가시 광 카메라를 도시하는, 카메라 파이프라인 노출 타임스탬프 에러 결정 시스템에서 활용되는 아이웨어 디바이스의 다른 예시적인 하드웨어 구성의 측면도이다.
[0011] 도 2b 및 도 2c는 두 개의 상이한 타입들의 이미지 디스플레이들을 포함하는 아이웨어 디바이스의 예시적인 하드웨어 구성들의 배면도들이다.
[0012] 도 3은 깊이 센서의 적외선 카메라, 프레임 전면, 프레임 후면, 및 회로 보드를 묘사하는 도 2a의 아이웨어 디바이스의 후면 투시 단면도(rear perspective sectional view)를 도시한다.
[0013] 도 4는 도 3의 아이웨어 디바이스의 적외선 카메라 및 프레임을 통해 취해지는 단면도이다.
[0014] 도 5는 깊이 센서의 적외선 방출기, 깊이 센서의 적외선 카메라, 프레임 전면, 프레임 후면, 및 회로 보드를 묘사하는 도 2a의 아이웨어 디바이스의 후면 투시도(rear perspective view)를 도시한다.
[0015] 도 6은 도 5의 아이웨어 디바이스의 적외선 방출기 및 프레임을 통해 취해지는 단면도이다.
[0016] 도 7은 카메라 파이프라인에서 노출 타임스탬프 에러를 결정함에 있어서의 사용을 위한 바코드를 포함하는 이미지를 프로세싱하기 위한 예시적인 카메라 파이프라인을 묘사하는 블록 다이어그램이다.
[0017] 도 8은 노출 타임스탬프 에러를 결정하기 위해 도 7의 카메라 파이프라인과의 사용을 위한 바코드이다.
[0018] 도 9는 다양한 네트워크들을 통해 연결되는 아이웨어 디바이스, 모바일 디바이스, 및 서버 시스템을 포함하는 예시적인 카메라 파이프라인 노출 타임스탬프 에러 결정 시스템의 하이 레벨 기능 블록 다이어그램이다.
[0019] 도 10은 도 9의 카메라 파이프라인 노출 타임스탬프 에러 결정 시스템의 모바일 디바이스에 대한 예시적인 하드웨어 구성을 예시하는 블록 다이어그램이다.
[0020] 도 11a, 도 11b, 도 11c 및 도 11d는 롤링 셔터 카메라 시스템의 파이프라인에서 노출 타임스탬프 에러를 결정하기 위해 카메라 노출 타임스탬프 에러 결정 시스템이 구현하는 방법들의 플로우차트들이다.
[0021]
피검사 디바이스(device under test; DUT; 예를 들면, 롤링 셔터 이미지 센서, 이미지 신호 프로세서(image signal processor; ISP), 오퍼레이팅 시스템(operating system; OS), 또는 이미징 애플리케이션에 기인함)의 카메라 파이프라인 내에서 노출 타임스탬프 에러를 결정하기 위해 가시 광 통신(visible light communication; VLC)이 카메라 시스템에서 사용된다. 테스트 생성 시스템(test generation system; TGS)은 VLC를 통해 DUT로 송신하기 위한 현재 시간을 결정한다. TGS의 광원(발광 다이오드(light emitting diode); LED)은 DUT의 롤링 셔터 카메라 시스템의 이미지 센서 전방에 배치된다. 전자기기들은 롤링 셔터 이미지 센서의 롤링 셔터 레이트에 매치되는 주파수에서 매우 짧은 노출 시간들(예를 들면, 10 마이크로초)을 사용하여 광원을 제어하여 백색 및 검은색 라인들을 포함하는 이미지를 생성한다. 플래시들의 길이를 변경하는 것에 의해, TGS가 광의 플래시들을 제공하고 있는 현재 시간을 가지고 인코딩되는 바코드가 판독시 롤링 셔터 이미지 센서에 의해 생성된다.
[0022]
이미지에 임베딩되는 시간(즉, 바코드에 인코딩되는 시간; TGS(1))에 대응하는 값들과 롤링 셔터 이미지 센서에 의한 이미지의 노출 시간(예를 들면, 롤링 셔터 카메라 시스템의 컴포넌트에 의해 결정됨; DUT(1)) 사이의 차이는 롤링 셔터 카메라 파이프라인에서의 노출 타임스탬프 에러를 나타낸다. DUT 및 TGS의 클록들이 동일한 시간 도메인에 있는 경우(즉, 동일한 클록에서 또는 동기화된 클록들을 가지고 동작함; DUT(2) = TGS(2)), 파이프라인 노출 타임스탬프 에러는 이미지에 임베딩되는 시간과 이미지의 노출 시간 사이의 차이이다(예를 들면, TGS(1) - DUT(1)). DUT와 TGS의 클록들이 상이한 시간 도메인들에 있는 경우(즉, DUT(2) <> TGS(2)), 파이프라인 노출 타임스탬프 에러는 TGS에서의 제1 차이(TGS(2) - TGS(1))와 DUT에서의 제2 차이(DUT(2) - DUT(1)) 사이의 차이이다. 일반적으로, 에러가 감소될수록, 컴퓨터 비전(computer vision; CV) 및 증강 현실 시스템들은 향상된다. 추가적으로, 다수의 카메라들을 갖는 입체 시스템들에서, 노출 타임스탬프 에러를 감소시키는 것에 의해 그리고 다수의 카메라들 각각에 대해 유사한 노출 타임스탬프 에러 시간들을 갖는 것에 의해, 더욱 사실적인 효과들이 달성될 수 있다. 따라서, 그러한 시스템 파이프라인들에서의 에러를 결정하는 것은, 설계 국면 동안 컴포넌트들을 선택하는 데 그리고 최종 제품들에서 지연들/에러들을 보상하는 데 유용하다.
[0023]
이 상세한 설명에서, 관련 교시들의 완전한 이해를 제공하기 위해, 예들을 통해 다수의 구체적인 세부사항들이 기술된다. 그러나, 본 교시들이 그러한 세부사항들 없이 실시될 수 있다는 것이 기술 분야의 숙련된 자들에게 명백해야 한다. 다른 경우들에, 본 교시들의 양태들을 불필요하게 모호하게 하는 것을 방지하기 위해, 널리 공지된 방법들, 프로시져들, 컴포넌트들, 및 회로부(circuitry)의 설명이, 상세하게는 아니지만, 상대적으로 높은 레벨에서 기술된다.
[0024]
본원에서 사용되는 바와 같이, 용어 "커플링되는(coupled)" 또는 "연결되는(connected)"은, 하나의 시스템 엘리먼트에 의해 생성되는 또는 공급되는 전기적 또는 자기적 신호들이 다른 커플링된 또는 연결된 엘리먼트에게 주어지게 하는 임의의 논리적, 광학적, 물리적, 또는 전기적 연결, 링크, 등을 지칭한다. 달리 설명하지 않는 한, 커플링된 또는 연결된 엘리먼트들 또는 디바이스들은 반드시 서로 직접적으로 연결되는 것은 아니며 전기적 신호들을 수정, 조작 또는 전달할 수 있는 중간 컴포넌트들, 엘리먼트들 또는 통신 매체들에 의해 분리될 수 있다. 용어 "상에(on)"는 엘리먼트에 의해 직접적으로 지지되는 것 또는 엘리먼트에 통합되는 또는 엘리먼트에 의해 지지되는 다른 엘리먼트를 통해 엘리먼트에 의해 간접적으로 지지되는 것을 의미한다.
[0025]
예컨대 도면들 중 임의의 것에서 도시되는 아이웨어 디바이스, 연관된 컴포넌트들 및 깊이 캡쳐 카메라를 통합하는 임의의 완전한 디바이스들의 방위들은, 예시 및 논의 목적들을 위해, 단지 예로서 주어진다. 카메라 오정렬 보상을 위한 동작에서, 아이웨어 디바이스는 아이웨어 디바이스의 적용에 적절한 임의의 다른 방향, 예를 들면, 상방, 하방, 측방향들, 또는 임의의 다른 방위로 배향될 수 있다. 또한, 본원에서 사용되는 경우, 임의의 방향 용어, 예컨대 전방(front), 후방(rear), 안쪽으로(inwards), 바깥쪽으로(outwards), 향하여(towards), 좌측(left), 우측(right), 횡방향(lateral), 길이 방향(longitudinal), 상방(up), 하방(down), 상위(upper), 하위(lower), 상단(top), 저부(bottom), 측면(side), 수평(horizontal), 수직(vertical), 및 대각선(diagonal)은 단지 예로서 사용되며, 본원에서 달리 설명되는 바와 같이 구성되는 임의의 깊이 캡쳐 카메라 또는 깊이 캡쳐 카메라의 컴포넌트의 방향 또는 방위에 관한 제한하지는 않는다.
[0026]
예들의 추가적인 목적들, 이점들 및 신규의 피처들은 후속하는 설명에서 부분적으로 기술될 것이며, 부분적으로는, 다음의 그리고 첨부의 도면들의 검토시 기술 분야의 숙련된 자들에게 명백하게 될 것이거나 또는 예들의 생성 또는 동작에 의해 학습될 수 있다. 본 주제의 목적들 및 이점들은, 특히 첨부된 청구항들에서 지적되는 방법론들, 수단들 및 조합들에 의해 실현되고 달성될 수 있다.
[0027]
이제, 첨부의 도면들에서 예시되고 하기에서 논의되는 예들에 대한 참조가 상세하게 이루어진다.
[0028]
도 1a 및 도 1b에서 도시되는 바와 같이, 아이웨어 디바이스(100)는 우측 가시 광 카메라(114B)를 포함한다. 아이웨어 디바이스(100)는 패시브 타입의 깊이 캡쳐 카메라, 예컨대 스테레오 카메라를 형성하는 다수의 가시 광 카메라들, 예를 들면, 우측 가시 광 카메라(114A)(도 1a 및 도 1b) 및 좌측 가시 광 카메라(114B)(도 1c 및 도 1d)를 포함할 수 있는데, 그들 중, 우측 가시 광 카메라(114B)는 우측 전자 하우징(110B) 상에 위치되고, 좌측 가시 광 카메라(114A)는 좌측 전자 하우징(110A) 상에 위치된다.
[0029]
좌측 및 우측 가시 광 카메라들(114A 및 114B)은 가시 광 범위 파장에 민감하다. 가시 광 카메라들(114A 및 114B) 각각은 삼차원 깊이 이미지들이 생성되는 것을 허용하도록 중첩되는 상이한 전방 대향 시야(field of view)를 가지며, 예를 들면, 우측 가시 광 카메라(114B)는 묘사된 우측 시야(111B)를 갖는다. 일반적으로, "시야"는 공간에서의 한 포지션 및 방위에서 카메라를 통해 볼 수 있는 장면의 일부이다. 가시 광 카메라에 의해 이미지가 캡쳐될 때 시야(111A 및 111B) 밖에 있는 오브젝트들 또는 오브젝트 피처들은 원시 이미지(예를 들면, 사진 또는 픽쳐)에 기록되지 않는다. 시야는 가시 광 카메라(114A 및 114B)의 이미지 센서가 주어진 장면의 캡쳐된 이미지에서 주어진 장면의 전자기 방사선을 픽업하는 각도 범위 또는 정도를 설명한다. 시야는 뷰 콘(view cone)의 각도 사이즈, 즉 시야각(angle of view)으로서 표현될 수 있다. 시야각은 수평, 수직, 또는 대각선으로 측정될 수 있다.
[0030]
하나의 예에서, 가시 광 카메라들(114A 및 114B)은 15° 내지 110° 사이, 예를 들면, 24°의 시야각을 갖는 시야를 가지며, 480×480 픽셀들 또는 그보다 더 큰 해상도를 갖는다. "커버리지 각도(angle of coverage)"는 가시 광 카메라들(114A 및 114B) 또는 적외선 카메라(220)(도 2a 참조)의 렌즈가 효과적으로 이미지화할 수 있는 각도 범위를 설명한다. 통상적으로, 카메라 렌즈에 의해 생성되는 이미지 서클은 필름 또는 센서를 완전히 덮을 만큼 충분히 큰 데, 어쩌면 약간의 비네팅(즉, 이미지 중앙과 비교하여 주변에서의 이미지의 밝기 또는 채도의 감소)을 포함한다. 카메라 렌즈의 커버리지 각도가 센서를 채우지 않는 경우, 통상적으로 에지를 향해 강한 비네팅과 함께, 이미지 서클이 보일 것이고, 유효 시야각은 커버리지 각도로 제한될 것이다.
[0031]
그러한 가시 광들 카메라(114A 및 114B)의 예들은, 640p(예를 들면, 총 0.3 메가픽셀들에 대한 640×480), 720p, 또는 1080p와 같은 고해상도 상보형 금속 산화물 반도체(complementary metal-oxide-semiconductor; CMOS) 이미지 센서 및 비디오 그래픽 어레이(video graphic array; VGA) 카메라를 포함한다. 본원에서 사용되는 바와 같이, 시야를 언급할 때 용어 "중첩하는(overlapping)"은 장면의 생성된 원시 이미지(들) 또는 적외선 이미지에서의 픽셀들의 매트릭스가 30 % 이상만큼 중첩한다는 것을 의미한다. 본원에서 사용되는 바와 같이, 시야를 언급할 때 용어 "실질적으로 중첩하는(substantially overlapping)"은 장면의 생성된 원시 이미지(들) 또는 적외선 이미지에서의 픽셀들의 매트릭스가 50 % 이상만큼 중첩한다는 것을 의미한다. 적절한 가시 광 카메라들(114)은 롤링 셔터 판독을 갖는 상보형 금속 산화물 반도체(CMOS) 센서 카메라들을 포함한다. 하나의 예에서, 카메라들(114)는 두 개의 별개의 카메라들에 의해 획득되는 피처 포인트들 사이의 시간 차이(T)를 최소화함에 있어서 사용하기 위한 V 블랭크 기간 설정(V-blank period setting)을 포함한다. 다른 예에서, 카메라들(114)은, 상이한 라인들에 속하는 피처 포인트들을 실질적으로 동일한 시간에 노출시키기 위해, 일본 미나토(Minato) 소재의 Sony Corporation(소니 코포레이션)으로부터 입수 가능한 카메라들과 같은 센서 라인들에서 카운트되는 노출 지연 설정을 포함하여 카메라들 중 하나의 판독을 연기한다. 다른 적절한 카메라들은 본원의 설명으로부터 기술 분야에서 숙련된 자에 의해 이해될 것이다.
[0032]
가시 광 카메라들(114A 및 114B)로부터의 이미지 센서 데이터는 지오로케이션 데이터와 함께 캡쳐되고, 이미지 프로세서에 의해 디지털화되며, 메모리에 저장된다. 개개의 가시 광 카메라들(114A 및 114B)에 의해 캡쳐되는 캡쳐된 좌측 및 우측 원시 이미지들은 이차원 공간 도메인 내에 있으며 수평 포지션에 대한 X 축 및 수직 포지션에 대한 Y 축을 포함하는 이차원 좌표 시스템 상의 픽셀들의 매트릭스를 포함한다. 각각의 픽셀은 컬러 속성(예를 들면, 적색 픽셀 광 값, 녹색 픽셀 광 값, 및 청색 픽셀 광 값)을 포함하고; 및 포지션 속성(예를 들면, X 위치 좌표 및 Y 위치 좌표)을 포함한다.
[0033]
입체시(stereoscopic vision)를 제공하기 위해, 가시 광 카메라들(114A 및 114B)은 장면의 이미지가 노출되거나 또는 캡쳐되는 타임스탬프의 추가와 함께 디지털 프로세싱을 위해 이미지 프로세서(도 9의 엘리먼트(912))에 커플링될 수 있다. 이미지 프로세서(912)는 가시 광 카메라들(114A 및 114B)로부터 신호들을 수신하고 가시 광 카메라(114)로부터의 그들 신호들을 메모리에 저장하기에 적절한 포맷으로 프로세싱하는 회로부를 포함한다. 타임스탬프는, 가시 광 카메라들(114A 및 114B)의 동작을 제어하는 이미지 프로세서 또는 다른 프로세서에 의해 추가될 수 있다. 가시 광 카메라들(114A 및 114B)은 깊이 캡쳐 카메라가 인간의 양안시(binocular vision)를 시뮬레이팅하는 것을 허용한다. 깊이 캡쳐 카메라는 동일한 타임스탬프를 갖는 가시 광 카메라들(114A 및 114B)로부터의 두 개의 캡쳐된 이미지들에 기초하여 삼차원 이미지들을 재생성하는 능력을 제공한다. 그러한 삼차원 이미지들은, 예를 들면, 가상 현실 또는 비디오 게이밍을 위한 몰입형의 실감나는 경험을 허용한다. 삼차원 깊이 비디오들은 깊이 비디오에서의 프리젠테이션 시간에 대한 연관된 시간 좌표들과 함께 삼차원 깊이 이미지들의 시퀀스를 함께 스티칭하는 것에 의해 생성될 수 있다.
[0034]
입체시를 위해, 시간적으로 한 순간에 장면의 한 쌍의 원시 적색, 녹색, 및 청색(red, green, and blue; RGB) 이미지들이 캡쳐된다 ― 좌측 및 우측 가시 광 카메라들(114A 및 114B) 각각에 대해 하나의 이미지씩. 좌측 및 우측 가시 광 카메라들(114A 및 114B)의 전방 대향의 좌측 및 우측 시야(111A 및 111B)로부터의 캡쳐된 원시 이미지들의 쌍이 (예를 들면, 이미지 프로세서에 의해) 프로세싱되는 경우, 깊이 이미지들이 생성되고, 생성된 깊이 이미지들은 광학 어셈블리(180A 및 180B) 또는 (예를 들면, 모바일 디바이스의) 다른 이미지 디스플레이(들) 상에서 유저에 의해 인식될 수 있다. 생성된 깊이 이미지들은 삼차원 공간 도메인 내에 있으며 수평 포지션(예를 들면, 길이)에 대한 X 축, 수직 포지션(예를 들면, 높이)에 대한 Y 축, 깊이 포지션(예를 들면, 거리)에 대한 Z 축을 포함하는 삼차원 위치 좌표 시스템 상에서 정점(vertex)들의 매트릭스를 포함할 수 있다.
[0035]
깊이 비디오는 생성된 깊이 이미지들의 시퀀스 각각을 깊이 비디오에서의 프리젠테이션 시간에 대한 시간(T) 축 상에서의 시간 좌표와 추가로 연관시킨다(예를 들면, 각각의 깊이 이미지는 시간적 성분들뿐만 아니라 공간적 성분을 포함한다). 깊이 비디오는 하나 이상의 입력 파라미터 성분들(예를 들면, 오디오 트랙 또는 스트림과 같은 오디오 컴포넌트, 심박수 그래프와 같은 생체 인식 성분, 등)을 더 포함할 수 있는데, 이들은 마이크 또는 심박수 모니터와 같은 입력 디바이스들에 의해 캡쳐될 수 있다. 각각의 정점은 컬러 속성(예를 들면, 적색 픽셀 광 값, 녹색 픽셀 광 값, 및 청색 픽셀 광 값); 포지션 속성(예를 들면, X 위치 좌표, Y 위치 좌표 및 Z 위치 좌표); 텍스쳐 속성, 반사율 속성, 또는 이들의 조합을 포함한다. 텍스쳐 속성은 깊이 이미지의 인식된 텍스쳐, 예컨대 깊이 이미지의 정점들의 영역에서의 컬러 또는 강도들의 공간적 배열을 정량화한다.
[0036]
일반적으로, 깊이의 인식은 가시 광 카메라들(114A 및 114B)에 의해 캡쳐되는 좌측 및 우측 원시 이미지들에서 주어진 3D 포인트의 디스패리티(disparity)로부터 발생한다. 디스패리티는, 가시 광 카메라들(114A 및 114B)의 관점 하에서 투영될 때 동일한 3D 포인트의 이미지 위치에서의 차이(d = xleft - xright)이다. 평행한 광학 축들, 초점 거리(f), 베이스라인(b), 및 대응하는 이미지 포인트들((xleft, yleft) 및 (xright, yright))을 갖는 가시 광 카메라들(114A 및 114B)의 경우, 3D 포인트의 위치(Z 축 위치 좌표)는 디스패리티로부터 깊이를 결정하는 삼각 측량을 활용하여 유도될 수 있다. 통상적으로, 3D 포인트의 깊이는 디스패리티에 반비례한다. 다양한 다른 기술들이 또한 사용될 수 있다.
[0037]
한 예에서, 카메라 파이프라인 노출 타임스탬프 에러 결정 시스템은 아이웨어 디바이스(100)를 포함한다. 아이웨어 디바이스(100)는 프레임(105) 및 프레임(105)의 좌측 측면(left lateral side)(170A)으로부터 연장되는 좌측 안경다리(left temple; 125A) 및 프레임(105)의 우측 측면(170B)으로부터 연장되는 우측 안경다리(right temple; 125B)를 포함한다. 아이웨어 디바이스(100)는 깊이 캡쳐 카메라를 더 포함한다. 깊이 캡쳐 카메라는 다음의 것을 포함한다: (i) 중첩하는 시야들을 갖는 적어도 두 개의 가시 광 카메라; 또는 (ii) 적어도 하나의 가시 광 카메라들(114A 및 114B) 및 깊이 센서(도 2a의 엘리먼트(213)). 하나의 예에서, 깊이 캡쳐 카메라는 장면의 좌측 이미지를 캡쳐하기 위해 프레임(105) 또는 좌측 안경다리(125A)에 연결되는 좌측 시야(111A)를 갖는 좌측 가시 광 카메라(114A)를 포함한다. 아이웨어 디바이스(100)는, 좌측 이미지와 부분적으로 중첩하는 장면의 우측 이미지를 (예를 들면, 좌측 가시 광 카메라(114A)와 동시에) 캡쳐하기 위한 우측 시야(111B)를 갖는 우측 안경다리(125B) 또는 프레임(105)에 연결되는 우측 가시 광 카메라(114B)를 더 포함한다.
[0038]
카메라 파이프라인 노출 타임스탬프 에러 결정 시스템은 네트워크를 통해 아이웨어 디바이스(100)에 커플링되는 호스트 컴퓨터(예를 들면, 도 9 및 도 10의 모바일 디바이스(990))와 같은 컴퓨팅 디바이스를 더 포함한다. 카메라 파이프라인 노출 타임스탬프 에러 결정 시스템은 이미지들을 포함하는 비디오를 제시(예를 들면, 디스플레이)하기 위한 이미지 디스플레이(아이웨어 디바이스의 광학 어셈블리(180A 및 180B); 도 10의 모바일 디바이스(990)의 이미지 디스플레이(1080))를 더 포함한다. 카메라 파이프라인 노출 타임스탬프 에러 결정 시스템은 초기 비디오를 제시하도록 이미지 디스플레이를 제어하기 위해 이미지 디스플레이(아이웨어 디바이스의 광학 어셈블리(180A 및 180B); 도 10의 모바일 디바이스(990)의 이미지 디스플레이(1080))에 커플링되는 이미지 디스플레이 드라이버(도 9의 아이웨어 디바이스(100)의 엘리먼트(942); 도 10의 모바일 디바이스(990)의 엘리먼트(1090))를 더 포함한다.
[0039]
일부 예들에서, 유저가 이미지를 캡쳐하기를 소망한다는 것을 나타내는 유저 입력이 수신된다. 예를 들면, 카메라 파이프라인 노출 타임스탬프 에러 결정 시스템은 유저 입력을 수신하기 위한 유저 입력 디바이스를 더 포함한다. 유저 입력 디바이스들의 예들은 터치 센서(아이웨어 디바이스(100)에 대한 도 9의 엘리먼트(991)), 터치 스크린 디스플레이(모바일 디바이스(1090)에 대한 도 10의 엘리먼트(1091)), 시각적 검출 시스템(예를 들면, 하나 이상의 가시 광 카메라들(114A, V)에 의해 수집되는 이미지들을 프로세싱하기 위한 머신 비전을 포함함), 및 퍼스널 컴퓨터 또는 랩탑 컴퓨터용 컴퓨터 마우스를 포함한다. 카메라 파이프라인 노출 타임스탬프 에러 결정 시스템은 아이웨어 디바이스(100) 및 깊이 캡쳐 카메라에 커플링되는 프로세서(도 9의 아이웨어 디바이스(100)의 엘리먼트(932); 도 10의 모바일 디바이스(990)의 엘리먼트(1030))를 더 포함한다. 카메라 파이프라인 노출 타임스탬프 에러 결정 시스템은 프로세서가 액세스할 수 있는 메모리(도 9의 아이웨어 디바이스(100)의 엘리먼트(934); 도 10의 모바일 디바이스(990)의 엘리먼트들(1040A-B)), 및 메모리(도 9의 아이웨어 디바이스(100)의 엘리먼트(945); 도 10의 모바일 디바이스(990)의 엘리먼트(945))에서의, 예를 들면, 아이웨어 디바이스(100) 그 자체, 모바일 디바이스(도 9의 엘리먼트(990)), 또는 카메라 파이프라인 노출 타임스탬프 에러 결정 시스템의 다른 부분(예를 들면, 도 9의 서버 시스템(998))에서의 프로그래밍을 더 포함한다.
[0040]
하나의 예에서, 프로세서(도 9의 엘리먼트(932))에 의한 카메라 파이프라인 노출 타임스탬프 에러 프로그래밍(도 9의 엘리먼트(945))의 실행은 이미지들을 프로세싱할 때 파이프라인 노출 타임스탬프 에러를 결정하도록 아이웨어 디바이스(100)를 구성한다. 다른 예에서, 프로세서(도 10의 엘리먼트(945))에 의한 카메라 파이프라인 노출 타임스탬프 에러 결정 프로그래밍(도 10의 엘리먼트(945))의 실행은, 이미지들을 프로세싱할 때 파이프라인 노출 타임스탬프 에러를 결정하도록 카메라 파이프라인 노출 타임스탬프 에러 결정 시스템의 모바일 디바이스(도 10의 엘리먼트(990))를 구성한다.
[0041]
도 1b는 깊이 캡쳐 카메라의 우측 가시 광 카메라(114B), 및 회로 보드를 묘사하는 도 1a의 아이웨어 디바이스(100)의 우측 전자 하우징(110B)의 상단 단면도이다. 도 1c는, 깊이 캡쳐 카메라의 좌측 가시 광 카메라(114A)를 도시하는, 도 1a의 아이웨어 디바이스(100)의 예시적인 하드웨어 구성의 좌측 측면도이다. 도 1d는 깊이 캡쳐 카메라의 좌측 가시 광 카메라(114A), 및 회로 보드를 묘사하는 도 1c의 아이웨어 디바이스의 좌측 전자 하우징(110A)의 상단 단면도이다. 좌측 가시 광 카메라(114A)의 구성 및 배치는, 연결들 및 커플링이 좌측 측면(170A) 상에 있다는 것을 제외하면, 우측 가시 광 카메라(114B)와 실질적으로 유사하다. 도 1b의 예에서 도시되는 바와 같이, 아이웨어 디바이스(100)는 우측 가시 광 카메라(114B) 및 플렉시블 인쇄 회로 보드(printed circuit board; PCB)(140B)일 수 있는 회로 보드를 포함한다. 우측 힌지(126B)는 우측 전자 하우징(110B)을 아이웨어 디바이스(100)의 우측 안경다리(125B)에 연결한다. 일부 예들에서, 우측 가시 광 카메라(114B)의 컴포넌트들, 플렉시블 PCB(140B), 또는 다른 전기 커넥터들 또는 콘택들은 우측 안경다리(125B) 또는 우측 힌지(126B) 상에 위치될 수 있다.
[0042]
우측 전자 하우징(110B)은 전자 하우징 본체(211) 및 전자 하우징 캡(electronic housing cap)을 포함하는데, 도 1b의 단면에서는 전자 하우징 캡이 생략되어 있다. 우측 전자 하우징(110B) 내부에는, 우측 가시 광 카메라(114B), 마이크(들), (예를 들면, Bluetooth™(블루투스)를 통한 무선 단거리 네트워크 통신을 위한) 저전력 무선 회로부, (예를 들면, Wi-Fi(와이파이)를 통한 무선 로컬 영역 네트워크 통신을 위한) 고속 무선 회로부에 대한 컨트롤러 회로들을 포함하는 다양한 상호 접속된 회로 보드들, 예컨대 PCB들 또는 플렉시블 PCB들이 배치된다.
[0043]
우측 가시 광 카메라(114B)는 플렉시블 PCB(240)에 커플링되거나 또는 그 상에 배치되고 프레임(105)에서 형성되는 개구(들)를 통해 조준되는 가시 광 카메라 커버 렌즈에 의해 커버된다. 예를 들면, 프레임(105)의 우측 테두리(rim)(107B)는 우측 전자 하우징(110B)에 연결되고 가시 광 카메라 커버 렌즈용 개구(들)를 포함한다. 프레임(105)은 유저의 눈으로부터 멀어지는 바깥쪽을 향하도록 구성되는 정면 대향 면을 포함한다. 가시 광 카메라 커버 렌즈에 대한 개구는 정면 대향 면 상에 그리고 그것을 통해 형성된다. 예에서, 우측 가시 광 카메라(114B)는 아이웨어 디바이스(100)의 유저의 우안의 시선(line of sight) 또는 시각(perspective)과 함께 바깥쪽 대향 시야(111B)를 갖는다. 가시 광 카메라 커버 렌즈는, 바깥쪽 대향 커버리지 각도를 가지고, 그러나 상이한 바깥쪽 방향에서 개구가 형성되는 우측 전자 하우징(110B)의 바깥쪽 대향 표면에 또한 접착될 수 있다. 커플링은 또한 중간 컴포넌트들을 통해 간접적일 수 있다.
[0044]
좌측(제1) 가시 광 카메라(114A)는 좌측 광학 어셈블리(180A)의 좌측 이미지 디스플레이에 연결되고 아이웨어 디바이스(100)의 착용자에 의해 관찰되는 좌안 관찰 장면을 좌측 원시 이미지에서 캡쳐한다. 우측(제2) 가시 광 카메라(114B)는 우측 광학 어셈블리(180B)의 우측 이미지 디스플레이에 연결되고 아이웨어 디바이스(100)의 착용자에 의해 관찰되는 우안 관찰 장면을 우측 원시 이미지에서 캡쳐한다. 좌측 원시 이미지 및 우측 원시 이미지는 생성된 깊이 이미지의 삼차원 관찰 가능 공간을 제시함에 있어서의 사용을 위해 부분적으로 중첩된다.
[0045]
플렉시블 PCB(140B)는 우측 전자 하우징(110B) 내부에 배치되고 우측 전자 하우징(110B)에 수용되는 하나 이상의 다른 컴포넌트들에 커플링된다. 우측 전자 하우징(110B)의 회로 보드들 상에서 형성되는 것으로 도시되지만, 우측 가시 광 카메라(114B)는 좌측 전자 하우징(110A)의 회로 보드들, 안경다리들(125A 및 125B), 또는 프레임(105) 상에서 형성될 수 있다.
[0046]
도 2a는 카메라 파이프라인 노출 타임스탬프 에러 결정 시스템에서 활용되는 아이웨어 디바이스(100)의 다른 예시적인 하드웨어 구성의 측면도이다. 도시되는 바와 같이, 깊이 캡쳐 카메라는 (예를 들면, 초기 비디오에서) 초기 깊이 이미지들의 시퀀스의 초기 깊이 이미지를 생성하기 위해 좌측 가시 광 카메라(114A) 및 깊이 센서(213)를 프레임(105) 상에서 포함한다. 초기 깊이 이미지를 생성하기 위해 적어도 두 개의 가시 광 카메라들(114A 및 114B)을 활용하는 대신, 여기서는, 단일의 가시 광 카메라(114A) 및 깊이 센서(213)가 활용되어 깊이 이미지들을 생성한다. 깊이 센서(213)의 적외선 카메라(220)는 유저의 눈의 시선에 대한 좌측 가시 광 카메라(114A)와 실질적으로 중첩되는 외향 시야(outward facing field of view)를 갖는다. 도시되는 바와 같이, 적외선 방출기(215) 및 적외선 카메라(220)는 좌측 가시 광 카메라(114A)와 함께 좌측 테두리(107A)의 상위 부분 상에서 함께 위치된다.
[0047]
도 2a의 예에서, 아이웨어 디바이스(100)의 깊이 센서(213)는 적외선 방출기(215) 및 적외선 이미지를 캡쳐하는 적외선 카메라(220)를 포함한다. 가시 광 카메라들(114A 및 114B)은 적외선 광 검출을 차단하기 위한 청색 광 필터를 통상적으로 포함하는데, 한 예에서, 적외선 카메라(220)는 청색 필터가 제거된 가시 광 카메라, 예컨대 저해상도 비디오 그래픽 어레이(VGA) 카메라(예를 들면, 총 0.3 메가픽셀들에 대한 640×480 픽셀들)이다. 적외선 방출기(215) 및 적외선 카메라(220)는 프레임(105) 상에 함께 위치되며, 예를 들면, 둘 모두는 좌측 테두리(107A)의 상위 부분(upper portion)에 연결되는 것으로 도시된다. 하기에서 더욱 상세하게 설명되는 바와 같이, 프레임(105) 또는 좌측 및 우측 전자 하우징들(110A 및 110B) 중 하나 이상은 적외선 방출기(215) 및 적외선 카메라(220)를 포함하는 회로 보드를 포함한다. 적외선 방출기(215) 및 적외선 카메라(220)는, 예를 들면, 납땜에 의해 회로 보드에 연결될 수 있다.
[0048]
적외선 방출기(215) 및 적외선 카메라(220) 둘 모두가 우측 테두리(107A) 상에 있는, 또는 프레임(105) 상의 상이한 위치들에 있는, 예를 들면, 적외선 방출기(215)가 좌측 테두리(107B) 상에 있고 적외선 카메라(220)가 우측 테두리(107B) 상에 있는 배열들을 비롯하여, 적외선 방출기(215) 및 적외선 카메라(220)의 다른 배열들이 구현될 수 있다. 그러나 적어도 하나의 가시 광 카메라(114A)와 깊이 센서(213)는 통상적으로 삼차원 깊이 이미지들을 생성하기 위해 실질적으로 중첩되는 시야들을 갖는다. 다른 예에서, 적외선 방출기(215)는 프레임(105) 상에 있고 적외선 카메라(220)는 전자 하우징들(110A 및 110B) 중 하나 상에 있거나, 또는 그 반대이다. 적외선 방출기(215)는 본질적으로 프레임(105), 좌측 전자 하우징(110A), 또는 우측 전자 하우징(110B) 상의 임의의 곳에 연결되어 유저의 눈의 시선 내에서 적외선의 패턴을 방출할 수 있다. 유사하게, 적외선 카메라(220)는 본질적으로 프레임(105), 좌측 전자 하우징(110A), 또는 우측 전자 하우징(110B) 상의 임의의 곳에 연결되어 유저의 눈의 시선 내에서 삼차원 장면의 적외선 광의 방출된 패턴에서 적어도 하나의 반사 변동을 캡쳐할 수 있다.
[0049]
적외선 방출기(215) 및 적외선 카메라(220)는 아이웨어 디바이스(100)를 착용하는 유저가 관찰하는 오브젝트들 또는 오브젝트 피처들을 갖는 장면의 적외선 이미지를 픽업하기 위해 바깥쪽을 향하도록 배열된다. 예를 들면, 적외선 방출기(215) 및 적외선 카메라(220)는, 오브젝트들 또는 오브젝트 피처들의 깊이의 측정을 위해, 전방 대향 시야를 가지고 프레임(105)의 양 단부들에 있는 전자 하우징들(110A 및 110B) 내에서 또는 프레임(105)의 상위 부분에서, 눈의 바로 전방에 배치되어, 유저가 응시하고 있는 장면의 이미지들을 캡쳐한다.
[0050]
하나의 예에서, 깊이 센서(213)의 적외선 방출기(215)는 장면의 전방 대향 시야 내에서 적외선 광 조명을 방출하는데, 이것은 근적외선 광 또는 저에너지 방사선의 다른 단파장 빔일 수 있다. 대안적으로, 또는 추가적으로, 깊이 센서(213)는 적외선 이외의 광의 다른 파장들을 방출하는 방출기를 포함할 수 있고 깊이 센서(213)는 그 파장을 갖는 이미지들을 수신 및 캡쳐하는 그 파장에 민감한 카메라를 더 포함한다. 상기에서 언급되는 바와 같이, 아이웨어 디바이스(100)는, 예를 들면, 아이웨어 디바이스(100) 그 자체 또는 카메라 파이프라인 노출 타임스탬프 에러 결정 시스템의 다른 부분에서, 프로세서 및 메모리에 커플링된다. 아이웨어 디바이스(100) 또는 카메라 파이프라인 노출 타임스탬프 에러 결정 시스템은, 초기 비디오로부터의 초기 깊이 이미지들과 같은, 깊이 비디오들의 삼차원 깊이 이미지들을 생성하는 동안 캡쳐된 적외선 이미지를 후속하여 프로세싱할 수 있다.
[0051]
도 2b 및 도 2c는 두 개의 상이한 타입들의 이미지 디스플레이들을 포함하는 아이웨어 디바이스(100)의 예시적인 하드웨어 구성들의 배면도들이다. 아이웨어 디바이스(100)는 유저에 의한 착용을 위해 구성되는 형태인데, 이들은 예에서 안경(eyeglasses)이다. 아이웨어 디바이스(100)는 다른 형태들을 취할 수 있고, 예를 들면, 헤드기어, 헤드셋 또는 헬멧과 같은 다른 타입들의 프레임워크들을 통합할 수 있다.
[0052]
안경 예에서, 아이웨어 디바이스(100)는 유저의 코에 대해 적응되는 브리지(106)를 통해 우측 테두리(107B)에 연결되는 좌측 테두리(107A)를 포함하는 프레임(105)을 포함한다. 좌측 및 우측 테두리들(107A-B)은 렌즈 및 디스플레이 디바이스와 같은 개개의 광학 엘리먼트(180A 및 180B)를 유지하는 개개의 어퍼쳐들(175A 및 175B)을 포함한다. 본원에서 사용되는 바와 같이, 용어 렌즈는 광으로 하여금 수렴/발산하게 하는 또는 수렴 또는 발산을 거의 또는 전혀 야기하지 않는 굴곡된 또는 편평한 표면들을 갖는 투명한 또는 반투명한 조각(piece)들의 유리 또는 플라스틱을 포괄하도록 의도된다.
[0053]
두 개의 광학 엘리먼트들(180A 및 180B)를 갖는 것으로 도시되지만, 아이웨어 디바이스(100)의 의도된 유저 또는 애플리케이션에 따라, 아이웨어 디바이스(100)는 다른 배열들, 예컨대 단일의 광학 엘리먼트를 포함할 수 있거나 또는 어떠한 광학 엘리먼트(180A 및 180B)도 포함하지 않을 수 있다. 추가로 도시되는 바와 같이, 아이웨어 디바이스(100)는 프레임(105)의 좌측 측면(170A)에 인접한 좌측 전자 하우징(110A)(좌측 카메라(114A)를 포함함) 및 프레임(105)의 우측 측면(170B)에 인접한 우측 전자 하우징(110B)(우측 카메라(114B)를 포함함)을 포함한다. 전자 하우징들(110A 및 110B)은 (예시되는 바와 같이) 개개의 측면들(170A 및 170B) 상에서 프레임(105)에 통합될 수 있거나 또는 개개의 측면들(170A 및 170B) 상에서 프레임(105)에 부착되는 별개의 컴포넌트들로서 구현될 수 있다. 대안적으로, 전자 하우징들(110A 및 110B)은 프레임(105)에 부착되는 안경다리들(도시되지 않음)에 통합될 수 있다.
[0054]
하나의 예에서, 광학 어셈블리(180A 및 180B)의 이미지 디스플레이는 통합 이미지 디스플레이를 포함한다. 도 2b에서 도시되는 바와 같이, 광학 어셈블리(180A 및 180B)는, 액정 디스플레이(liquid crystal display; LCD), 유기 발광 다이오드(organic light-emitting diode; OLED) 디스플레이, 또는 임의의 다른 그러한 디스플레이와 같은, 임의의 적절한 타입의 적절한 디스플레이 매트릭스(170)를 포함한다. 광학 어셈블리(180A 및 180B)는, 렌즈들, 광학 코팅들, 프리즘들, 미러들, 도파관들, 광학 스트립들, 및 임의의 조합의 다른 광학 컴포넌트들을 포함할 수 있는 광학 레이어 또는 레이어들(176)을 또한 포함한다.
[0055]
광학 레이어들(176A-N)은 적절한 사이즈 및 구성을 가지며 디스플레이 매트릭스로부터 광을 수신하기 위한 제1 표면 및 유저의 눈에 광을 방출하기 위한 제2 표면을 포함하는 프리즘을 포함할 수 있다. 광학 레이어들(176A-N)의 프리즘은, 유저의 눈이 대응하는 좌측 및 우측 테두리들(107A-B)을 통해 보고 있을 때 유저가 프리즘의 제2 표면을 보는 것을 허용하도록, 좌측 및 우측 테두리들(107A-B)에서 형성되는 개개의 어퍼쳐들(175A 및 175B)의 전체 또는 적어도 일부 위로 연장된다. 광학 레이어들(176A-N)의 프리즘의 제1 표면은 프레임(105)으로부터 상방을 향하고 디스플레이 매트릭스는, 디스플레이 매트릭스에 의해 방출되는 광자들 및 광이 제1 표면에 충돌하도록, 프리즘 위에 놓인다. 프리즘은 광이 프리즘 내에서 굴절되고 광학 레이어들(176A-N)의 프리즘의 제2 표면에 의해 유저의 눈을 향해 지향되도록 사이즈가 정해지고 형상이 정해진다. 이와 관련하여, 광학 레이어들(176A-N)의 프리즘의 제2 표면은 눈의 중심을 향하여 광을 지향시키도록 볼록할 수 있다. 프리즘은 디스플레이 매트릭스(170)에 의해 투영되는 이미지를 확대하기 위해 옵션 사항으로 사이즈가 정해지고 형상이 정해질 수 있으며, 광은, 제2 표면으로부터 보이는 이미지가 디스플레이 매트릭스(170)로부터 방출되는 이미지보다 하나 이상의 차원들에서 더 크도록, 프리즘을 통해 이동한다.
[0056]
다른 예에서, 광학 어셈블리(180A 및 180B)의 이미지 디스플레이 디바이스는 도 2c에서 도시되는 바와 같은 프로젝션 이미지 디스플레이를 포함한다. 광학 어셈블리(180A 및 180B)는 스캐닝 미러 또는 검류계(galvanometer)를 사용하는 3 컬러 레이저 프로젝터인 레이저 프로젝터(150)를 포함한다. 동작 동안, 레이저 프로젝터(150)와 같은 광학적 소스는 아이웨어 디바이스(100)의 안경다리들(125A 및 125B) 중 하나에 또는 그 상에 배치된다. 광학 어셈블리(180A 및 180B)는 광학 어셈블리(180A 및 180B)의 렌즈의 폭에 걸쳐 또는 렌즈의 전면(front surface)과 후면(rear surface) 사이에서 렌즈의 깊이에 걸쳐 이격되는 하나 이상의 광학 스트립들(155A-N)을 포함한다.
[0057]
레이저 프로젝터(150)에 의해 투영되는 광자들이 광학 어셈블리(180A 및 180B)의 렌즈를 가로질러 이동함에 따라, 광자들은 광학 스트립들(155A-N)과 조우한다. 광자가 광학 스트립과 조우하는 경우, 광자는 유저의 눈을 향해 방향이 재지향되거나, 또는 그것은 다음 번 광학 스트립으로 전달된다. 레이저 프로젝터(150)의 변조, 및 광학 스트립들의 변조의 조합은 특정한 광자들 또는 광의 빔들을 제어할 수 있다. 한 예에서, 프로세서는 기계적, 음향적, 또는 전자기적 신호들을 개시하는 것에 의해 광학 스트립들(155A-N)을 제어한다. 두 개의 광학 어셈블리들(180A 및 180B)을 갖는 것으로 도시되지만, 아이웨어 디바이스(100)는 다른 배열들, 예컨대 단일의 또는 세 개의 광학 어셈블리들을 포함할 수 있거나, 또는 광학 어셈블리(180A 및 180B)는 애플리케이션 또는 아이웨어 디바이스(100)의 의도된 유저에 따라 상이한 배열을 가질 수 있다.
[0058]
도 2b 및 도 2c에서 추가로 도시되는 바와 같이, 전자 하우징들(110A 및 110B)은 (예시되는 바와 같이) 개개의 측면들(170A 및 170B) 상에서 프레임(105)에 통합될 수 있거나 또는 개개의 측면들(170A 및 170B) 상에서 프레임(105)에 부착되는 별개의 컴포넌트들로서 구현될 수 있다. 대안적으로, 전자 하우징들(110A 및 110B)은 프레임(105)에 부착되는 안경다리들(125A 및 125B)에 통합될 수 있다.
[0059]
하나의 예에서, 이미지 디스플레이는 제1(좌측) 이미지 디스플레이 및 제2(우측) 이미지 디스플레이를 포함한다. 아이웨어 디바이스(100)는 개개의 제1 및 제2 광학 어셈블리(180A 및 180B)를 유지하는 제1 및 제2 어퍼쳐들(175A 및 175B)을 포함한다. 제1 광학 어셈블리(180A)는 제1 이미지 디스플레이(예를 들면, 도 2b의 디스플레이 매트릭스(170A); 또는 도 2c의 프로젝터(150A) 및 광학 스트립들(155A-N'))를 포함한다. 제2 광학 어셈블리(180B)는 제2 이미지 디스플레이, 예를 들면, 도 2b의 디스플레이 매트릭스(170B); 또는 도 2c의 프로젝터(150B) 및 광학 스트립들(155A-N"))를 포함한다.
[0060]
도 3은 적외선 카메라(220), 프레임 전면(330), 프레임 후면(335), 및 회로 보드를 묘사하는 도 2a의 아이웨어 디바이스의 후면 투시 단면도를 도시한다. 아이웨어 디바이스(100)의 프레임(105)의 좌측 테두리(107A)의 상위 부분은 프레임 전면(330) 및 프레임 후면(335)을 포함한다. 프레임 전면(330)은 유저의 눈으로부터 멀어지는 바깥쪽을 향하도록 구성되는 정면 대향 면을 포함한다. 프레임 후면(335)은 유저의 눈을 향하여 안쪽을 향하도록 구성되는 후방 면을 포함한다. 프레임 전면(330) 상에는 적외선 카메라(220)에 대한 개구가 형성된다.
[0061]
프레임(105)의 좌측 테두리(107A) 상위 중간 부분의 원으로 둘러싸인 단면(4-4)에서 도시되는 바와 같이, 프레임 전면(330)과 프레임 후면(335) 사이에, 플렉시블 인쇄 회로 보드(PCB)(340)인 회로 보드가 끼인다. 또한, 좌측 힌지(126A)를 통한 좌측 안경다리(325A)에 대한 좌측 전자 하우징(110A)의 부착이 더욱 상세하게 도시되어 있다. 일부 예들에서, 적외선 카메라(220), 플렉시블 PCB(340), 또는 다른 전기 커넥터들 또는 콘택들을 비롯하여, 깊이 센서(213)의 컴포넌트들이 좌측 안경다리(325A) 또는 좌측 힌지(126A) 상에 위치될 수 있다.
[0062]
한 예에서, 좌측 전자 하우징(110A)은 전자 하우징 본체(311), 전자 하우징 캡(312), 내향 표면(391) 및 외향 표면(392)(라벨링됨, 그러나 보이지 않음)을 포함한다. 좌측 전자 하우징(110A) 내부에는, 배터리를 충전하기 위한 컨트롤러 회로들, 안쪽을 향하는 발광 다이오드들(LED들) 및 바깥쪽(전방)을 향하는 LED들을 포함하는 다양한 인터커넥트된 회로 보드들, 예컨대 PCB들 또는 플렉시블 PCB들이 배치된다. 좌측 테두리(107A)의 회로 보드들 상에 형성되는 것으로 도시되지만, 적외선 방출기(215) 및 적외선 카메라(220)를 포함하는 깊이 센서(213)는 우측 테두리(107B)의 회로 보드들 상에서 형성되어, 예를 들면, 우측 가시 광 카메라(114B)와 조합하여, 삼차원 깊이 이미지들 또는 깊이 비디오들의 생성에서 활용되는 적외선 이미지들을 캡쳐할 수 있다.
[0063]
도 4는 도 3의 아이웨어 디바이스의 원으로 둘러싸인 단면(4-4)에 대응하는 프레임 및 적외선 카메라(220)를 통과하는 단면도이다. 아이웨어 디바이스(100)의 다양한 레이어들을 도 4의 단면에서 볼 수 있다. 도시되는 바와 같이, 플렉시블 PCB(340)는 프레임 후면(335) 상에서 배치되고 프레임 전면(330)에 연결된다. 적외선 카메라(220)는 플렉시블 PCB(340) 상에 배치되고 적외선 카메라 커버 렌즈(445)에 의해 커버된다. 예를 들면, 적외선 카메라(220)는 플렉시블 PCB(340)의 후면으로 리플로우된다(reflowed). 리플로우는, 두 개의 컴포넌트들을 연결하기 위해 솔더 페이스트를 녹이는 제어된 열에 플렉시블 PCB(340)를 노출시키는 것에 의해, 적외선 카메라(220)를 플렉시블 PCB(340)의 후면 상에서 형성되는 전기 콘택 패드(들)에 부착한다. 하나의 예에서, 리플로우는 플렉시블 PCB(340) 상에 적외선 카메라(220)를 표면 실장하고 두 개의 컴포넌트들을 전기적으로 연결하기 위해 사용된다. 그러나, 스루홀들은, 예를 들면, 인터커넥트들을 통해 적외선 카메라(220)로부터 플렉시블 PCB(340)로 도선(lead)들을 연결하기 위해 사용될 수 있다.
[0064]
프레임 전면(330)은 적외선 카메라 커버 렌즈(445)에 대한 적외선 카메라 개구(450)를 포함한다. 적외선 카메라 개구(450)는 유저의 눈으로부터 멀어지게 바깥쪽으로 그리고 유저에 의해 관찰되고 있는 장면을 향해 향하도록 구성되는 프레임 전면(330)의 정면 대향 면 상에서 형성된다. 예에서, 플렉시블 PCB(340)는 플렉시블 PCB 접착제(460)를 통해 프레임 후면(335)에 연결될 수 있다. 적외선 카메라 커버 렌즈(445)는 적외선 카메라 커버 렌즈 접착제(455)를 통해 프레임 전면(330)에 연결될 수 있다. 연결은 개재하는 컴포넌트들을 통해 간접적일 수 있다.
[0065]
도 5는 도 2a의 아이웨어 디바이스의 후면 투시도를 나타낸다. 아이웨어 디바이스(100)는 적외선 방출기(215), 적외선 카메라(220), 프레임 전면(330), 프레임 후면(335), 및 회로 보드(340)를 포함한다. 도 3에서와 같이, 아이웨어 디바이스(100)의 프레임의 좌측 테두리의 상위 부분은 프레임 전면(330) 및 프레임 후면(335)을 포함한다는 것이 도 5에서 확인될 수 있다. 프레임 전면(330) 상에는 적외선 방출기(215)에 대한 개구가 형성되어 있다.
[0066]
프레임의 좌측 테두리의 상위 중간 부분의 원으로 둘러싸인 단면(6-6)에서 도시되는 바와 같이, 플렉시블 PCB(340)인 회로 보드가 프레임 전면(330)과 프레임 후면(335) 사이에 끼인다. 또한, 좌측 힌지(126A)를 통한 좌측 안경다리(325A)에 대한 좌측 전자 하우징(110A)의 부착이 더욱 상세하게 도시되어 있다. 일부 예들에서, 적외선 방출기(215), 플렉시블 PCB(340), 또는 다른 전기 커넥터들 또는 콘택들을 비롯하여, 깊이 센서(213)의 컴포넌트들이 좌측 안경다리(325A) 또는 좌측 힌지(126A) 상에 위치될 수 있다.
[0067]
도 6은 도 5의 아이웨어 디바이스의 원으로 둘러싸인 단면(6-6)에 대응하는 프레임 및 적외선 방출기(215)를 통과하는 단면도이다. 아이웨어 디바이스(100)의 다수의 레이어들이 도 6의 단면에서 예시되는데, 도시되는 바와 같이, 프레임(105)은 프레임 전면(330) 및 프레임 후면(335)을 포함한다. 플렉시블 PCB(340)는 프레임 후면(335) 상에서 배치되고 프레임 전면(330)에 연결된다. 적외선 방출기(215)는 플렉시블 PCB(340) 상에 배치되고 적외선 방출기 커버 렌즈(645)에 의해 커버된다. 예를 들면, 적외선 방출기(215)는 플렉시블 PCB(340)의 후면으로 리플로우된다. 리플로우는, 두 개의 컴포넌트들을 연결하기 위해 솔더 페이스트를 녹이는 제어된 열에 플렉시블 PCB(340)를 노출시키는 것에 의해, 적외선 방출기(215)를 플렉시블 PCB(340)의 후면 상에서 형성되는 콘택 패드(들)에 부착한다. 하나의 예에서, 리플로우는 플렉시블 PCB(340) 상에 적외선 방출기(215)를 표면 실장하고 두 개의 컴포넌트들을 전기적으로 연결하기 위해 사용된다. 그러나, 예를 들면, 인터커넥트들을 통해 적외선 방출기(215)로부터 플렉시블 PCB(340)로 도선들을 연결하기 위해 스루홀들이 사용될 수 있다.
[0068]
프레임 전면(330)은 적외선 방출기 커버 렌즈(645)에 대한 적외선 방출기 개구(650)를 포함한다. 적외선 방출기 개구(650)는 유저의 눈으로부터 멀어지게 바깥쪽으로 그리고 유저에 의해 관찰되고 있는 장면을 향해 향하도록 구성되는 프레임 전면(330)의 정면 대향 면 상에서 형성된다. 예에서, 플렉시블 PCB(340)는 플렉시블 PCB 접착제(460)를 통해 프레임 후면(335)에 연결될 수 있다. 적외선 방출기 커버 렌즈(645)는 적외선 방출기 커버 렌즈 접착제(655)를 통해 프레임 전면(330)에 연결될 수 있다. 커플링은 또한 중간 컴포넌트들을 통해 간접적일 수 있다.
[0069]
도 7은 카메라 시스템(704)의 노출 타임스탬프 에러를 결정함에 있어서의 사용을 위한 시간 코딩된 바코드를 포함하는 이미지를 프로세싱하기 위한 컴포넌트들을 포함하는 예시적인 카메라 시스템(704)을 묘사하는 블록 다이어그램이다. 카메라 시스템(704)은 이미지들을 캡쳐하고 프로세싱하기 위한 파이프라인(712)을 구성하는, 이미지 센서(114), ISP(706), OS(708), 및 이미징 애플리케이션(710)을 포함한다.
[0070]
광원(702)은, 프로세서(714)(예를 들면, 프로세서(932) 또는 테스트 생성 시스템(test generation system; TGS)의 외부 프로세서)의 제어 하에서, 이미지 센서(114)에 제공되는 광의 패턴을 생성한다. 광원(702)은 백색광 또는 이미지 센서(114)에 의해 검출될 수 있는 다른 광을 방출하는 LED일 수 있다. 프로세서(714)는 광원(702)이 이미지 센서(114)에 의한 노출을 위해 광의 패턴을 제공하기 시작하는 시간을 사용하여 광원을 (예를 들면, 펄스 폭 변조(pulse width modulation; PWM)를 통해) 변조하도록 구성된다.
[0071]
광원(702)과 이미지 센서(114) 사이에는 종래의 반투명 재료로 형성되는 광 확산기(도시되지 않음)가 배치되어 광원(702)으로부터의 광을 확산시키고, 그에 의해, 이미지 센서(114)의 전체 이미징 표면에 걸쳐 균일한 광 커버리지를 생성할 수 있다. 광 확산기 및 광원(702)에 대한 그것의 근접성은 다른 이미지 정보를 추가적으로 차단한다.
[0072]
광원(702)은 종래의 전자기기들을 사용하여 구동되며 상대적으로 빠른 반응 시간(즉, 전자기기들에 의해 전력이 턴온 및 턴오프되는 경우, 그것이 얼마나 빨리 턴온되고 턴오프될 수 있는지)을 갖는다. 이미지 센서(114)의 노출 시간을 매우 짧게(예를 들면, 라인당 10 마이크로초) 설정하는 것에 의해, 다수의 라인들의 정보가 단일의 이미지에서 전달될 수 있다.
[0073]
이미지 센서(114)는 반도체 칩(CMOS) 상에서 센서들의 어레이를 포함한다. 광이 이 센서 어레이와 충돌할 때, 칩은 결과적으로 나타나는 신호들을 이미지 픽셀들로 변환하여 원시 이미지를 획득하는 것에 의해 이미지를 노출시킨다. 하나의 예에서, 칩은 신호 컨디셔닝과 같은 추가적인 프로세싱을 수행할 수 있다. 하나의 예에서, 이미지 센서(114)는 칩이 노출을 개시한 시간에 대응하는 타임스탬프(노출 타임스탬프)를 원시 이미지에 추가한다.
[0074]
ISP(706)는 이미지와 이미지 포맷을 변환한다. ISP(706)는 별개의 컴포넌트일 수 있거나 또는 시스템 온 칩(System on a Chip; SoC)에 통합될 수 있다. ISP(706)는 Bayer(베이어) 변환, 모자이크 제거(demosaicing), 노이즈 감소, 이미지 선명화, 포커싱, 노출, 및 백색 밸런싱 중 하나 이상을 포함하는, 그러나 이들로 제한되지는 않는, 이미지 및 이미지 포맷에 대한 다양한 변환들을 수행한다. 적절한 ISP(706)는 본원의 설명으로부터 기술 분야에서 숙련된 자에 의해 이해될 것이다. 하나의 예에서, ISP(706)는 이미지 센서(114)에 더하여 또는 그 대신에 이미지가 노출된 시간에 대응하는 타임스탬프(노출 타임스탬프)를 추가한다.
[0075]
OS(708)는 내부 및 외부 하드웨어 사이에서 인터페이스를 제공한다. 하나의 예에서, OS(708)는 ISP(706) 및 이미지 센서(114)를 포함하는 SoC 상의 하드웨어 추상화 레이어(Hardware Abstraction Layer; HAL)에 대한 인터페이스를 제공하고, 도달하는 이미지를 수신하는 제1 조각의 소프트웨어이다. OS(708)는 이미지가 이용 가능하다는 통지를 이미징 애플리케이션(710)에게 추가로 제공한다. 하나의 예에서, OS(708)는 이미지 센서(114) 또는 ISP(706)에 추가하여 또는 그 대신에 이미지가 노출된 시간에 대응하는 타임스탬프(노출 타임스탬프)를 추가한다.
[0076]
이미징 애플리케이션(710)은 이미지를 수신하여 사용한다. 이미징 애플리케이션(710)은, 예를 들면, 디스플레이, 수정 및 저장을 위해 이미지를 프로세싱하도록 구성되는 소프트웨어 컴포넌트이다. 하나의 예에서, 이미징 애플리케이션은 이미지가 사용 가능한 시간에 대응하는 타임스탬프(적용 타임스탬프(application timestamp))를 추가한다.
[0077]
도 8은 파이프라인(712)에서 노출 타임스탬프 에러를 결정하기 위해 도 7의 카메라 시스템(704)과 함께 사용하기 위한 시간 인코딩된 바코드(804)를 포함하는 이미지(802)이다. 예시된 바코드(804)는 타임스탬프를 인코딩하는 열네 개의 더 짧은 펄스들(808)이 후속되는 시작 비트를 나타내는 상대적으로 긴 광 펄스(806a)를 포함하는 14 비트 이진 값을 포함한다. 상대적으로 짧은 펄스들은 1들을 나타내는 더 짧은 펄스(808a) 및 0들을 나타내는 더 긴 펄스(808b)를 포함한다. 각각의 인코딩된 타임스탬프는 인코딩된 타임스탬프에 대응하는 시작 비트(806)를 가지고 시작된다. 예시되는 바와 같이, 바코드(804)는 이전 타임스탬프로부터의 비트들(812)이 선행할 수 있고 다른 시작 비트(806b)를 가지고 시작하는 다른 바코드가 후속될 수 있다.
[0078]
도 9는 다양한 네트워크들을 통해 연결되는 웨어러블 디바이스(예를 들면, 아이웨어 디바이스(100)), 모바일 디바이스(990), 및 서버 시스템(998)을 포함하는 예시적인 카메라 파이프라인 노출 타임스탬프 에러 결정 시스템(900)의 하이 레벨 기능 블록 다이어그램이다. 아이웨어 디바이스(100)는 입력 파라미터 프로세서 및 깊이 캡쳐 카메라, 예컨대 가시 광 카메라들(114A 및 114B) 중 적어도 하나; 및 적외선 방출기(215) 및 적외선 카메라(220)로서 도시되는 깊이 센서(213)를 포함한다. 깊이 캡쳐 카메라는, 대안적으로, 적어도 두 개의 가시 광 카메라들(114A 및 114B)(하나는 좌측 측면(170A)에 연관되고 다른 하나는 우측 측면(170B)에 연관됨)을 포함할 수 있다. 깊이 캡쳐 카메라는 초기 비디오(960)의 초기 깊이 이미지들(961A 내지 961N)을 생성하는데, 이들은 적색, 녹색, 및 청색(RGB) 이미지의 장면들의 텍스쳐 매핑된 이미지들인 렌더링된 삼차원(3D) 모델들이다. 웨어러블 디바이스 내의 변환 기능(965)은, 예를 들면, 피처들의 매칭을 용이하게 하기 위해 그리고 뷰잉을 위해 이미지들을 포맷하기 위해, 초기 이미지들을 수정한다.
[0079]
모바일 디바이스(990)는 스마트폰, 태블릿, 랩탑 컴퓨터, 액세스 포인트, 또는 저전력 무선 연결(925) 및 고속 무선 연결(937) 둘 모두를 사용하여 아이웨어 디바이스(100)와 연결될 수 있는 임의의 다른 그러한 디바이스일 수 있다. 모바일 디바이스(990)는 서버 시스템(998) 및 네트워크(995)에 연결된다. 네트워크(995)는 유선 및 무선 연결들의 임의의 조합을 포함할 수 있다.
[0080]
아이웨어 디바이스(100)는 광학 어셈블리(180A 및 180B)의 두 개의 이미지 디스플레이들(하나는 좌측 측면(170A)과 연관되고 하나는 우측 측면(170B)과 연관됨)을 더 포함한다. 아이웨어 디바이스(100)는 이미지 디스플레이 드라이버(942), 이미지 프로세서(912), 저전력 회로부(920), 및 고속 회로부(930)를 또한 포함한다. 광학 어셈블리(180A 및 180B)의 이미지 디스플레이는, 초기 비디오(960)로부터의 초기 깊이 이미지들과 같은, 깊이 이미지들의 시퀀스를 포함할 수 있는 이미지들 및 비디오들을 제시하기 위한 것이다. 이미지 디스플레이 드라이버(942)는 광학 어셈블리(180A 및 180B)의 이미지 디스플레이에 커플링되어, 예를 들면, 초기 비디오의 초기 깊이 이미지들과 같은 이미지들을 포함하는 비디오를 제시하도록 광학 어셈블리(180A 및 180B)의 이미지 디스플레이를 제어한다. 아이웨어 디바이스(100)는 유저로부터 입력 및 선택들을 수신하기 위한 유저 입력 디바이스(991)(예를 들면, 터치 센서)를 더 포함한다.
[0081]
아이웨어 디바이스(100)에 대해 도 9에서 도시되는 컴포넌트들은 테두리들 또는 안경다리들의 하나 이상의 회로 보드들, 예를 들면, PCB 또는 플렉시블 PCB 상에서 위치된다. 대안적으로 또는 추가적으로, 묘사된 컴포넌트들은 아이웨어 디바이스(100)의 전자 하우징들, 프레임들, 힌지들, 또는 브리지에 있을 수 있다. 좌측 및 우측 가시 광 카메라들(114A 및 114B)은 상보형 금속 산화물 반도체(CMOS) 이미지 센서, 전하 결합 소자(charge coupled device), 렌즈, 또는, 미지의 오브젝트들을 갖는 장면들의 이미지들을 비롯하여, 데이터를 캡쳐하기 위해 사용될 수 있는 임의의 다른 개개의 가시 또는 광 캡쳐 엘리먼트들과 같은 디지털 카메라 엘리먼트들을 포함할 수 있다.
[0082]
아이웨어 디바이스(100)는, 카메라 오정렬 보상을 위해 본원에서 설명되는 기능들 모두 또는 서브세트를 수행하기 위한 입력 파라미터 프로그래밍 및 카메라 파이프라인 노출 타임스탬프 에러 결정 프로그래밍(945)을 포함하는 메모리(934)를 포함한다.
[0083]
도시되는 바와 같이, 아이웨어 디바이스(100)는, 예를 들면, 묘사되는 바와 같이 관성 측정 유닛(inertial measurement unit; IMU)(972)을 포함하는 방위 센서를 포함한다. 일반적으로, 관성 측정 유닛(972)은, 가속도계들 및 자이로스코프들을 사용하여, 때로는 자력계들의 조합을 또한 사용하여, 신체의 특정한 힘, 각속도, 때로는 신체를 둘러싸는 자기장을 측정하고 보고하는 전자 디바이스이다. 이 예에서, 관성 측정 유닛(972)은, 연관된 깊이 이미지가 캡쳐될 때 아이웨어 디바이스(100)의 깊이 캡쳐 카메라의 카메라 방위에 상관되는 아이웨어 디바이스(100)의 착용자의 머리 방위를 결정한다. 관성 측정 유닛(972)은 하나 이상의 가속도계들을 사용하여 선형 가속도를 그리고 하나 이상의 자이로스코프들을 사용하여 회전 레이트를 검출하는 것에 의해 작동한다. 관성 측정 유닛들의 통상적인 구성들은 세 개의 축들: 좌우 움직임에 대한 수평 축(X), 상하 움직임에 대한 수직 축(Y), 및 상하 움직임에 대한 깊이 또는 거리 축(Z) 각각에 대한 축마다 하나의 가속도계, 자이로, 및 자력계를 포함한다. 자이로스코프는 중력 벡터를 검출한다. 자력계는 진행 방향 기준을 생성하는 나침반과 같은 자기장(예를 들면, 남쪽, 북쪽, 등을 향함)에서의 회전을 정의한다. 세 개의 가속도계들은, 지면, 아이웨어 디바이스(100), 깊이 캡쳐 카메라, 또는 아이웨어 디바이스(100)를 착용하는 유저를 기준으로 정의될 수 있는, 상기에서 정의되는 수평(X), 수직(Y), 및 깊이(Z) 축들을 따른 가속도를 검출한다.
[0084]
메모리(934)는 관성 측정 유닛(972)에 의해 추적되는(예를 들면, 측정되는) 바와 같은 수평 축(X 축), 수직 축(Y 축), 및 깊이 또는 거리 축(Z 축) 상에서의 주축들 측정치들에 대응하는 머리 방위 측정치들을 포함한다. 머리 방위 측정치들은 초기 깊이 이미지들의 바닥 평면을 식별하기 위해 사용될 수 있는 깊이 캡쳐 카메라의 정렬을 결정하기 위해 활용된다. IMU들의 특정한 애플리케이션들에서, 주축들은 피치, 롤, 및 요 축들로서 지칭된다.
[0085]
카메라 파이프라인 노출 타임스탬프 에러 결정 프로그래밍(945)에서 구현될 수 있는 기능들을 개설하는 플로우차트가 도 11a 내지 도 11d에서 도시되어 있다.
[0086]
도 9에서 도시되는 바와 같이, 고속 회로부(930)는 고속 프로세서(932), 메모리(934), 및 고속 무선 회로부(936)를 포함한다. 예에서, 이미지 디스플레이 드라이버(942)는, 광학 어셈블리(180A 및 180B)의 좌측 및 우측 이미지 디스플레이들을 구동하기 위해 고속 회로부(930)에 커플링되고 고속 프로세서(932)에 의해 동작된다. 고속 프로세서(932)는 아이웨어 디바이스(100)에 의해 필요로 되는 임의의 일반적인 컴퓨팅 시스템의 고속 통신들 및 동작을 관리할 수 있는 임의의 프로세서일 수 있다. 고속 프로세서(932)는 고속 무선 회로부(936)를 사용하여 고속 무선 연결(937) 상에서 무선 로컬 영역 네트워크(WLAN)로의 고속 데이터 전송들을 관리하는 데 필요한 프로세싱 리소스들을 포함한다. 일부 예들에서, 고속 프로세서(932)는 LINUX 오퍼레이팅 시스템 또는 아이웨어 디바이스(100)의 다른 그러한 오퍼레이팅 시스템과 같은 오퍼레이팅 시스템을 실행하고 오퍼레이팅 시스템은 실행을 위해 메모리(934)에 저장된다. 임의의 다른 책임들에 더하여, 아이웨어 디바이스(100)에 대한 소프트웨어 아키텍쳐를 실행하는 고속 프로세서(932)는 고속 무선 회로부(936)와의 데이터 전송들을 관리한다. 일부 예들에서, 고속 무선 회로부(936)는, 본원에서 Wi-Fi로서 또한 지칭되는, 전기 전자 기술자 협회(Institute of Electrical and Electronic Engineers; IEEE) 802.11 통신 표준들을 구현하도록 구성된다. 다른 예들에서, 다른 고속 통신들 표준들은 고속 무선 회로부(936)에 의해 구현될 수 있다.
[0087]
아이웨어 디바이스(100)의 저전력 무선 회로부(924) 및 고속 무선 회로부(936)는 단거리 트랜스시버들(Bluetooth™) 및 무선 와이드, 로컬, 또는 와이드 영역 네트워크 트랜스시버들(예를 들면, 셀룰러 또는 와이파이)을 포함할 수 있다. 저전력 무선 연결(925) 및 고속 무선 연결(937)을 통해 통신하는 트랜스시버들을 포함하는 모바일 디바이스(990)는, 네트워크(995)의 다른 엘리먼트들이 그럴 수 있는 것처럼, 아이웨어 디바이스(100)의 아키텍쳐의 세부사항들을 사용하여 구현될 수 있다.
[0088]
메모리(934)는, 다른 것들 중에서도, 좌측 및 우측 가시 광 카메라들(114A 및 114B), 적외선 카메라(220), 및 이미지 프로세서(912)에 의해 생성되는 카메라 데이터뿐만 아니라, 광학 어셈블리(180A 및 180B)의 이미지 디스플레이들 상에서 이미지 디스플레이 드라이버(942)에 의해 디스플레이용으로 생성되는 이미지들 및 비디오들을 비롯하여, 다양한 데이터 및 애플리케이션들을 저장할 수 있는 임의의 스토리지 디바이스를 포함한다. 메모리(934)가 고속 회로부(930)와 통합되는 것으로 도시되지만, 다른 예들에서, 메모리(934)는 아이웨어 디바이스(100)의 독립적인 독립형 엘리먼트일 수 있다. 일부 그러한 예들에서, 전기 라우팅 라인들은, 이미지 프로세서(912) 또는 저전력 프로세서(922)로부터 메모리(934)로의 고속 프로세서(932)를 포함하는 칩을 통한 연결을 제공할 수 있다. 다른 예들에서, 고속 프로세서(932)는 저전력 프로세서(922)가 메모리(934)를 수반하는 판독 또는 기록 동작이 필요로 되는 임의의 시간에 고속 프로세서(932)를 부팅하도록 메모리(934)의 주소 지정을 관리할 수 있다.
[0089]
도 9에서 도시되는 바와 같이, 아이웨어 디바이스(100)의 프로세서(932)는 깊이 캡쳐 카메라(가시 광 카메라들(114A 및 114B); 또는 가시 광 카메라(114A), 적외선 방출기(215), 및 적외선 카메라(220)), 이미지 디스플레이 드라이버(942), 유저 입력 디바이스(991), 및 메모리(934)에 커플링될 수 있다. 도 10에서 도시되는 바와 같이, 모바일 디바이스(990)의 프로세서(1030)는 깊이 캡쳐 카메라(1070), 이미지 디스플레이 드라이버(1090), 유저 입력 디바이스(1091), 및 메모리(1040A)에 커플링될 수 있다. 아이웨어 디바이스(100)는, 아이웨어 디바이스(100)의 프로세서(932)에 의한 메모리(934)의 카메라 파이프라인 노출 타임스탬프 에러 결정 프로그래밍(945)의 실행의 결과로서, 하기에서 설명되는 다음의 기능들 중 임의의 기능의 모두 또는 서브세트를 수행할 수 있다. 모바일 디바이스(990)는, 모바일 디바이스(990)의 프로세서(1030)에 의한 메모리(1040A)의 카메라 파이프라인 노출 타임스탬프 에러 결정 프로그래밍(945)의 실행의 결과로서 하기에서 설명되는 다음의 기능들 중 임의의 기능의 모두 또는 서브세트를 수행할 수 있다.
[0090]
하나의 예에서, 아이웨어 디바이스(100)의 깊이 캡쳐 카메라는 좌측 시야(111A)를 갖는 좌측 가시 광 카메라(114A) 및 우측 시야(111B)를 갖는 우측 가시 광 카메라(114B)로 구성되는 적어도 두 개의 가시 광 카메라들을 포함한다. 좌측 시야(111A) 및 우측 시야(111B)는 중첩하는 시야를 갖는다. 모바일 디바이스(990)의 깊이 캡쳐 카메라(1070)는 유사하게 구성될 수 있다.
[0091]
한 예에서, 아이웨어 디바이스(100)의 깊이 캡쳐 카메라는 적어도 하나의 가시 광 카메라(114A) 및 깊이 센서(213)(예를 들면, 적외선 방출기(215) 및 적외선 카메라(220))를 포함한다. 적어도 하나의 가시 광 카메라(114A) 및 깊이 센서(213)는 실질적으로 중첩하는 시야(812)를 갖는다(도 8a 참조). 깊이 센서(213)는 적외선 방출기(215) 및 적외선 카메라(220)를 포함한다. 적외선 방출기(215)는 프레임(105) 또는 안경다리(125A 및 125B)에 연결되어 적외선 광의 패턴을 방출한다. 적외선 카메라(220)는 프레임(105) 또는 안경다리(125A 및 125B)에 연결되어 적외선 광의 방출된 패턴에서의 반사 변동들을 캡쳐한다. 모바일 디바이스(990)의 깊이 캡쳐 카메라(1070)는 유사하게 구성될 수 있다.
[0092]
하나의 예에서, 유저 입력 디바이스(991, 1091)는 입력 표면을 포함하는 터치 센서 및 입력 표면에 커플링되어 유저로부터 입력되는 적어도 하나의 손가락 접촉을 수신하는 센서 어레이를 포함한다. 유저 입력 디바이스(991, 1091)는 터치 센서에 통합되거나 또는 연결되고 프로세서(932, 1030)에 연결되는 감지 회로를 더 포함한다. 감지 회로는 전압을 측정하여 입력 표면 상의 적어도 하나의 손가락 접촉을 추적하도록 구성된다. 유저 입력 디바이스(991, 1091)를 통해 유저로부터 입력 파라미터 식별 정보(input parameter identification)를 수신하는 기능은, 터치 센서의 입력 표면 상에서, 유저로부터 입력되는 적어도 하나의 손가락 접촉을 수신하는 것을 포함한다.
[0093]
터치 기반의 유저 입력 디바이스(991)는 아이웨어 디바이스(100)에 통합될 수 있다. 상기에서 언급되는 바와 같이, 아이웨어 디바이스(100)는 아이웨어 디바이스(100)의 측면(170A 및 170B) 상의 프레임(105)에 통합되는 또는 연결되는 전자 하우징(110A 및 110B)을 포함한다. 프레임(105), 안경다리(125A 및 125B), 또는 전자 하우징(110A 및 110B)은 터치 센서를 포함하는 회로 보드를 포함한다. 회로 보드는 플렉시블 인쇄 회로 보드를 포함한다. 터치 센서는 플렉시블 인쇄 회로 보드 상에서 배치된다. 센서 어레이는 용량성 어레이 또는 저항성 어레이이다. 용량성 어레이 또는 저항성 어레이는 X 축 및 Y 축들 위치 좌표들을 추적하기 위한 이차원 직교 좌표 시스템을 형성하는 그리드를 포함한다.
[0094]
서버 시스템(998)은, 예를 들면, 프로세서, 메모리 및 네트워크(995)를 통해 모바일 디바이스(990) 및 아이웨어 디바이스(100)와 통신하기 위한 네트워크 통신 인터페이스를 포함하는 서비스 또는 네트워크 컴퓨팅 시스템의 일부로서의 하나 이상의 컴퓨팅 디바이스들일 수 있다. 아이웨어 디바이스(100)는 호스트 컴퓨터와 연결된다. 예를 들면, 아이웨어 디바이스(100)는 고속 무선 연결(937)을 통해 모바일 디바이스(990)와 페어링되거나 또는 네트워크(995)를 통해 서버 시스템(998)에 연결된다.
[0095]
아이웨어 디바이스(100)의 출력 컴포넌트들은 시각적 컴포넌트들, 예컨대 도 2b 및 도 2c에서 설명되는 바와 같은 광학 어셈블리(180A 및 180B)의 좌측 및 우측 이미지 디스플레이들(예를 들면, 액정 디스플레이(LCD), 플라즈마 디스플레이 패널(plasma display panel; PDP), 발광 다이오드(LED) 디스플레이, 프로젝터, 또는 도파관과 같은 디스플레이)을 포함한다. 광학 어셈블리(180A 및 180B)의 좌측 및 우측 이미지 디스플레이들은 초기 깊이 이미지들의 시퀀스를 포함하는 초기 비디오를 제시할 수 있다. 광학 어셈블리(180A 및 180B)의 이미지 디스플레이들은 이미지 디스플레이 드라이버(942)에 의해 구동된다. 이미지 디스플레이 드라이버(942)는 이미지 디스플레이에 커플링되어 초기 비디오를 제시하도록 이미지 디스플레이를 제어한다. 아이웨어 디바이스(100)의 출력 컴포넌트들은 음향 컴포넌트들(예를 들면, 스피커들), 햅틱 컴포넌트들(예를 들면, 진동 모터), 다른 신호 생성기들, 등을 더 포함한다. 아이웨어 디바이스(100), 모바일 디바이스(990) 및 서버 시스템(998)의 입력 컴포넌트들은 영숫자 입력 컴포넌트들(예를 들면, 키보드, 영숫자 입력을 수신하도록 구성되는 터치 스크린, 광-광학 키보드(photo-optical keyboard), 또는 다른 영숫자 입력 컴포넌트들), 포인트 기반의 입력 컴포넌트들(예를 들면, 마우스, 터치패드, 트랙볼, 조이스틱, 모션 센서, 또는 다른 포인팅 기기들), 촉각 입력 컴포넌트들(예를 들면, 물리적 버튼, 터치들 또는 터치 제스쳐들의 위치 및 힘을 제공하는 터치 스크린, 또는 다른 촉각 입력 컴포넌트들), 오디오 입력 컴포넌트들(예를 들면, 마이크), 생체 인식 컴포넌트들(예를 들면, 심박수 모니터) 등을 포함할 수 있다.
[0096]
아이웨어 디바이스(100)는 추가적인 주변장치 디바이스 엘리먼트들을 옵션 사항으로 포함할 수 있다. 그러한 주변장치 디바이스 엘리먼트들은 생체 인식 센서(biometric sensor)들, 추가적인 센서들, 또는 아이웨어 디바이스(100)와 통합되는 디스플레이 엘리먼트들을 포함할 수 있다. 예를 들면, 주변장치 디바이스 엘리먼트들은 출력 컴포넌트들, 모션 컴포넌트들, 포지션 컴포넌트들, 또는 본원에서 설명되는 임의의 다른 그러한 엘리먼트들을 포함하는 임의의 I/O 컴포넌트들을 포함할 수 있다.
[0097]
예를 들면, 생체 인식 컴포넌트들은 표현들(예를 들면, 손 표현들, 얼굴 표정들, 목소리 표현(vocal expression)들, 신체 제스쳐들, 또는 시선 추적)을 검출하기 위한, 생체 신호(biosignal)들(예를 들면, 혈압, 심박수, 체온, 땀, 또는 뇌파들)을 측정하기 위한, 사람을 식별(예를 들면, 보이스 식별, 망막 식별, 얼굴 식별, 지문 식별, 또는 뇌파도 기반의 식별)하기 위한, 등을 위한 컴포넌트들을 포함한다. 모션 컴포넌트들은 가속도 센서 컴포넌트들(예를 들면, 가속도계), 중력 센서 컴포넌트들, 회전 센서 컴포넌트들(예를 들면, 자이로스코프), 등을 포함한다. 포지션 컴포넌트들은 위치 좌표들을 생성하기 위한 위치 센서 컴포넌트들(예를 들면, 전지구 위치 결정 시스템(Global Positioning System; GPS) 수신기 컴포넌트), 위치 결정 시스템 좌표들을 생성하기 위한 와이파이 또는 Bluetooth™(블루투스) 트랜스시버들, 고도 센서 컴포넌트들(예를 들면, 고도가 유도될 수 있는 기압을 검출하는 고도계들 또는 기압계들), 방위 센서 컴포넌트들(예를 들면, 자력계들), 등을 포함한다. 그러한 위치 결정 시스템 좌표들은 저전력 무선 회로부(924) 또는 고속 무선 회로부(936)를 통해 모바일 디바이스(990)로부터 무선 연결들(925 및 937)을 통해 또한 수신될 수 있다.
[0098]
도 10은 모바일 디바이스(990)의 한 예의 하이 레벨 기능 블록 다이어그램이다. 모바일 디바이스(990)는 유저 선택들을 수신하기 위한 유저 입력 디바이스(1091) 및 입력 파라미터 프로세서(1092)를 포함한다. 모바일 디바이스(990)는, 본원에서 설명되는 기능들의 모두 또는 서브세트를 수행하기 위해 카메라 파이프라인 노출 타임스탬프 에러 결정 프로그래밍(945)을 포함하는 플래시 메모리(1040A)를 포함한다. 모바일 디바이스(1090)는, 아이웨어 디바이스(100)처럼, 실질적으로 중첩하는 시야들을 갖는 적어도 하나의 가시 광 카메라 및 깊이 센서 또는 적어도 두 개의 가시 광 카메라들(중첩하는 시야들을 갖는 제1 및 제2 가시 광 카메라들)을 포함하는 깊이 캡쳐 카메라(1070)를 포함할 수 있다.
[0099]
메모리(1040A)는 다수의 초기 깊이 이미지들을 더 포함하는데, 이들은 아이웨어 디바이스(100)의 깊이 캡쳐 카메라를 통해 또는 모바일 디바이스(990) 그 자체의 깊이 캡쳐 카메라(1070)를 통해 생성된다. 메모리(1040A)는 초기 비디오를 더 포함하는데, 이것은 초기 깊이 이미지들의 시퀀스 및 연관된 시간 좌표들을 포함한다. 카메라 파이프라인 노출 타임스탬프 에러 결정 프로그래밍(945)에서 구현될 수 있는 기능들을 개설하는 플로우차트들이 도 11a 내지 도 11d에서 도시되어 있다.
[0100]
도시되는 바와 같이, 모바일 디바이스(990)는, 아이웨어 디바이스(100)처럼, 이미지 디스플레이(1080), 이미지 디스플레이를 제어하기 위한 이미지 디스플레이 드라이버(1090), 및 유저 입력 디바이스(1091)를 포함한다. 도 10의 예에서, 이미지 디스플레이(1080) 및 유저 입력 디바이스(1091)는 터치 스크린 디스플레이에 함께 통합된다.
[0101]
사용될 수 있는 터치 스크린 타입 모바일 디바이스들의 예들은 스마트폰, 개인 휴대형 정보 단말(personal digital assistant; PDA), 태블릿 컴퓨터, 랩탑 컴퓨터, 또는 다른 휴대용 디바이스를 포함한다(그러나 이들로 제한되지는 않는다). 그러나, 터치 스크린 타입 디바이스들의 구조 및 동작은 예로서 제공되며; 본원에서 설명되는 바와 같은 본 기술은 이들로 제한되도록 의도되지는 않는다. 따라서, 이 논의의 목적들을 위해, 도 10은 콘텐트를 디스플레이하고 유저 입력을 유저 인터페이스로서(또는 그 일부로서) 수신하기 위한 터치 스크린 디스플레이를 구비하는 예시적인 모바일 디바이스(990)의 블록 다이어그램 예시들을 제공한다.
[0102]
도 10에서 도시되는 바와 같이, 모바일 디바이스(990)는 광역 무선 이동 통신 네트워크를 통한 디지털 무선 통신들을 위해, WWAN XCVR들로서 도시되는 적어도 하나의 디지털 트랜스시버(XCVR)(1010)를 포함한다. 모바일 디바이스(990)는 추가적인 디지털 또는 아날로그 트랜스시버들, 예컨대 NFC, VLC, DECT, ZigBee(지그비), Bluetooth™(블루투스), 또는 와이파이를 통한, 예컨대 단거리 네트워크 통신을 위한 단거리 XCVR들(1020)을 또한 포함한다. 예를 들면, 단거리 XCVR들(1020)은, WiMAX(와이맥스) 및 IEEE 802.11 하에서의 와이파이 표준들 중 하나와 같은, 무선 로컬 영역 네트워크들에서 구현되는 통신의 하나 이상의 표준 통신 프로토콜들과 호환되는 타입의 임의의 이용 가능한 양방향 무선 로컬 영역 네트워크(WLAN) 트랜스시버의 형태를 취할 수 있다.
[0103]
모바일 디바이스(990)의 위치 결정을 위한 위치 좌표들을 생성하기 위해, 모바일 디바이스(990)는 전지구 위치 결정 시스템(global positioning system; GPS) 수신기를 포함할 수 있다. 대안적으로 또는 추가적으로, 모바일 디바이스(990)는 위치 결정을 위한 위치 좌표들을 생성하기 위해 단거리 XCVR들(1020) 및 WWAN XCVR들(1010) 중 하나 또는 둘 모두를 활용할 수 있다. 예를 들면, 셀룰러 네트워크, 와이파이 또는 Bluetooth™(블루투스) 기반의 위치 결정 시스템들은, 특히 조합하여 사용될 때, 매우 정확한 위치 좌표들을 생성할 수 있다. 그러한 위치 좌표들은 XCVR들(1010, 1020)을 통해 하나 이상의 네트워크 연결들을 통해 아이웨어 디바이스로 송신될 수 있다.
[0104]
트랜스시버들(1010, 1020)(네트워크 통신 인터페이스)은 현대 모바일 네트워크들에 의해 활용되는 다양한 디지털 무선 통신 표준들 중 하나 이상을 준수한다. WWAN 트랜스시버들(1010)의 예들은, 예를 들면 그리고 제한 없이, 3GPP2 타입 2(또는 3GPP2) 및 때때로 "4G"로서 지칭되는 LTE를 포함하는 코드 분할 다중 액세스(Code Division Multiple Access; CDMA) 및 3세대 파트너십 프로젝트(3rd Generation Partnership Project; 3GPP) 네트워크 기술들에 따라 동작하도록 구성되는 트랜스시버들을 포함한다(그러나 이들로 제한되지는 않는다). 예를 들면, 트랜스시버들(1010, 1020)은 디지털화된 오디오 신호들, 스틸 이미지 및 비디오 신호들, 디스플레이를 위한 웹페이지 정보뿐만 아니라 웹 관련 입력들을 포함하는 정보의 양방향 무선 통신, 및 모바일 디바이스(990)로의/로부터의 다양한 타입들의 모바일 메시지 통신들을 제공한다.
[0105]
트랜스시버들(1010, 1020) 및 네트워크를 통한 이들 타입들의 통신들 중 몇몇은, 앞서 논의되는 바와 같이, 아이웨어 디바이스(100) 또는 서버 시스템(998)과의 통신들을 지원하는 프로토콜들 및 프로시져들에 관한 것이다. 그러한 통신들은, 예를 들면, 도 9에서 도시되는 바와 같이 무선 연결들(925 및 937)을 통해 단거리 XCVR들(1020)을 통해 패킷 데이터를 아이웨어 디바이스(100)로 그리고 아이웨어 디바이스(100)로부터 전송할 수 있다. 그러한 통신들은, 예를 들면, 도 9에서 도시되는 네트워크(예를 들면, 인터넷)(995)를 통해 WWAN XCVR들(1010)을 통해 IP 패킷 데이터 전송을 활용하여 데이터를 또한 전송할 수 있다. WWAN XCVR들(1010) 및 단거리 XCVR들(1020) 둘 모두는 무선 주파수(radio frequency; RF) 전송 및 수신 증폭기들(도시되지 않음)을 통해 연관된 안테나(도시되지 않음)에 연결된다.
[0106]
모바일 디바이스(990)는, 때때로 본원에서 호스트 컨트롤러로서 지칭되는, CPU(1030)로서 도시되는, 마이크로프로세서를 더 포함한다. 프로세서는 하나 이상의 프로세싱 기능들, 통상적으로 다양한 데이터 프로세싱 기능들을 수행하도록 구조화되고 배열되는 엘리먼트들을 갖는 회로이다. 이산 로직 컴포넌트들이 사용될 수 있지만, 예들은 프로그래머블 CPU를 형성하는 컴포넌트들을 활용한다. 마이크로프로세서는, 예를 들면, CPU의 기능들을 수행하기 위해 전자 엘리먼트들을 통합하는 하나 이상의 집적 회로(IC) 칩들을 포함한다. 프로세서(1030)는, 예를 들면, 오늘날 모바일 디바이스들 및 다른 휴대용 전자 디바이스들에서 일반적으로 사용되는 바와 같은 임의의 공지된 또는 이용 가능한 마이크로프로세서 아키텍쳐, 예컨대 ARM 아키텍쳐를 사용하는 축약형 명령어 세트 컴퓨팅(Reduced Instruction Set Computing; RISC)에 기초할 수 있다. 스마트폰, 랩탑 컴퓨터, 및 태블릿에서 CPU(1030) 또는 프로세서 하드웨어를 형성하기 위해 다른 프로세서 회로부가 사용될 수 있다.
[0107]
마이크로프로세서(1030)는, 예를 들면, 프로세서(1030)에 의해 실행 가능한 명령어들 또는 프로그래밍에 따라, 다양한 동작들을 수행하도록 모바일 디바이스(990)를 구성하는 것에 의해 모바일 디바이스(990)를 위한 프로그래머블 호스트 컨트롤러로서 역할을 한다. 예를 들면, 그러한 동작들은 모바일 디바이스의 다양한 일반적인 동작들뿐만 아니라, 카메라 파이프라인 노출 타임스탬프 에러 결정 프로그래밍(945) 및 아이웨어 디바이스(100) 및 서버 시스템(998)과의 통신들에 관련되는 동작들을 포함할 수 있다. 하드웨어에 내장된 로직(hardwired logic)의 사용에 의해 프로세서가 구성될 수 있지만, 모바일 디바이스들 내의 통상적인 프로세서들은 프로그래밍의 실행에 의해 구성되는 일반적인 프로세싱 회로들이다.
[0108]
모바일 디바이스(990)는 데이터 및 프로그래밍을 저장하기 위한 메모리 또는 스토리지 디바이스 시스템을 포함한다. 예에서, 메모리 시스템은 플래시 메모리(1040A) 및 랜덤 액세스 메모리(random access memory; RAM)(1040B)를 포함할 수 있다. RAM(1040B)은, 예를 들면, 작업 데이터 프로세싱 메모리로서, 프로세서(1030)에 의해 핸들링되고 있는 명령어들 및 데이터를 위한 단기간 스토리지로서 역할을 한다. 플래시 메모리(1040A)는 통상적으로 장기간 스토리지를 제공한다.
[0109]
그러므로, 모바일 디바이스(990)의 예에서, 플래시 메모리(1040A)는 프로세서(1030)에 의한 실행을 위한 프로그래밍 또는 명령어들을 저장하기 위해 사용된다. 디바이스의 타입에 따라, 모바일 디바이스(990)는 모바일 오퍼레이팅 시스템을 저장하고 실행하는데, 카메라 파이프라인 노출 타임스탬프 에러 결정 프로그래밍(945)을 비롯한 특정한 애플리케이션들은 이 모바일 오퍼레이팅 시스템을 통해 실행된다. 애플리케이션들, 예컨대 카메라 파이프라인 노출 타임스탬프 에러 결정 프로그래밍(945)은 네이티브 애플리케이션일 수 있거나 또는 모바일 디바이스(990) 상에서 실행되는 하이브리드 애플리케이션일 수 있다. 모바일 오퍼레이팅 시스템들의 예들은 Google Android(구글 안드로이드), Apple iOS(애플 아이오에스)(I-Phone(아이폰) 또는 iPad(아이패드) 디바이스들), Windows Mobile(윈도우즈 모바일), Amazon Fire OS(아마존 파이어 오에스), RIM BlackBerry(림 블랙베리) 오퍼레이팅 시스템, 등을 포함한다.
[0110]
도 11a, 도 11b, 도 11c, 및 도 11d는, 아이웨어 디바이스(100) 및 카메라 파이프라인 노출 타임스탬프 에러 결정 시스템(900)의 다른 컴포넌트들(예를 들면, 카메라 파이프라인 노출 타임스탬프 에러 결정 프로그래밍(945)과 같은 메모리(934)에 저장되는 명령어들을 실행하는 프로세서들(912, 932) 중 하나 이상)의 동작을 각각 예시하는 플로우차트들(1100, 1110, 1118, 및 1130)이다. 단계들은 본원에서 설명되는 하드웨어를 참조하여 설명되지만, 그러나, 그러한 구현예들로 제한되지는 않는다. 순차적으로 발생하는 것으로 도시되지만, 도 11a, 도 11b, 도 11c, 및 도 11d의 블록들은 구현예에 따라 재정렬되거나 또는 병렬화될 수 있다. 더구나, 기술 분야에서 숙련된 자는 하나 이상의 단계들/블록들이 생략될 수 있고, 하나 이상의 추가적인/대안적인 단계들이 통합될 수 있다는 것을 본원의 설명으로부터 이해할 것이다.
[0111]
블록(1102)에서, 테스트 생성 시스템(TGS)의 프로세서(714)는 현재 시간을 결정하고 송신 및 검출을 위해 현재 시간을 인코딩하기 위한 변조 시퀀스를 생성한다. TGS 프로세서(714)는 피검사 디바이스(DUT)의 프로세서, DUT의 프로세서에 커플링되는 별개의 프로세서, 또는 DUT의 프로세서에 동기화되는 프로세서일 수 있다. 한 예에서, 프로세서(714)는 본원에서 설명되는 VLC 방법을 통한 송신을 위해 클록 소스(예를 들면, 시스템 클록)로부터 변조 시퀀스들을 지속적으로 생성하는 애플리케이션을 실행한다. 이들 변조 시퀀스들(이들은 롤링 셔터 센서(114)에 의해 캡쳐되는 바코드 이미지들; 바코드 타임스탬프들을 초래함)은 카메라 시스템(704)(피검사 디바이스; DUT)이 이미지에 부착하는 시스템 노출 타임스탬프들과는 독립적이다. 설명을 용이하게 하기 위해, 바코드 타임스탬프 및 시스템 노출 타임스탬프는, 각각, TGS 클록 소스 및 DUT 클록 소스의 시간 도메인들을 사용하여 참조된다(TGS 및 DUT가 동일한 디바이스이거나 또는 클록을 공유하는 경우 이들은 동일할 수 있음).
[0112]
블록(1104)에서, 프로세서(714)는 현재 시간 변조 시퀀스를 사용하여 광원(702)을 변조한다. 한 예에서, 프로세서(714)는 현재 시간 변조 시퀀스를 이진 값으로 변환하고 이진 표현에 따라 광원(702)을 선택적으로 턴온 및 턴오프하기 위해 광원(702)에 커플링되는 스위치(도시되지 않음)를 작동시킨다. 스위치는 광원(702)과 프로세서(714)의 출력 사이에서 연결되는 전계 효과 트랜지스터(field effect transistor; FET) 회로일 수 있다. 하나의 예에서, 프로세서(714)는 DUT(예를 들면, 프로세서(932) 또는 프로세서(1030))의 일부이다. 다른 예에서, 프로세서(714)는 다른 디바이스에 통합된다. 프로세서(714)는, 반복 루프에서, 소스 클록(DUT 클록 소스 또는 TGS 클록 소스 중 하나)으로부터 시간을 지속적으로 캡쳐하고, 캡쳐된 시간을 적절한 형태(예를 들면, 이진 표현)으로 변환하고, 그 이진 표현을 광원(702)을 사용하여 송신한다.
[0113]
한 예에서, 프로세서(714)는 펄스 폭 변조(pulse width modulation; PWM)를 사용하여 현재 시간 변조 시퀀스를 인코딩한다. 이것은 결과적으로 나타나는 이미지가 롤링 셔터 이미지 센서의 어떤 라인 상에서 시작하는지를 결정하는 것을 가능하게 하는데, 이것은 롤링 셔터 카메라 시스템에 의한 이미지 캡쳐의 시작과 현재 시간 변조 시퀀스에 기초한 타임스탬프가 생성되었던 때 사이의 시간 차이를 결정함에 있어서 유용하다. 하나의 예에서, 프로세서(714) 및 광원(702)은, 1들 및 0들을 각각 나타내는 더 짧은 펄스(808a) 및 더 긴 펄스들(808b)을 포함하는 짧은 펄스들이 후속되는 시작 비트로서 상대적으로 긴 광 펄스(806a)를 사용하는 것에 의해, 14 비트 이진 값(이것은 시간에서의 소망되는 레벨의 세분성에 따라 더 많은 또는 더 적은 값들을 가질 수 있음)을 변조한다. 예를 들면, 긴 광 펄스(806)는 100 마이크로초일 수 있고, 더 짧은 펄스(808a)는 20 마이크로초일 수 있고, 더 긴 펄스(808b)는 40 마이크로초일 수 있다.
[0114]
블록(1112)에서, 카메라 시스템(704)은 롤링 셔터 이미지 센서(114)(예를 들면, 가시 광 카메라(114A))를 사용하여 이미지를 캡쳐한다. 카메라 시스템(704)에 의해 캡쳐되는 이미지는 광원(702)에 응답하는 현재 시간을 가지고 인코딩되는 바코드를 포함한다.
[0115]
이미지 캡쳐의 한 예에서, 롤링 셔터 이미지 센서(114)는 광원으로부터의 광을 이미지 픽셀들로 변환하여 원시 이미지를 얻고, ISP(706)는 원시 이미지를 프로세싱된 이미지로 변환하고, OS(708)는 프로세싱된 이미지를 수신하고 프로세싱된 이미지가 이용 가능하다는 것을 이미징 애플리케이션(710)에게 통지한다. 이미지 센서(114), ISP(706), 또는 OS(708) 중 하나 이상은 이미지 센서(114) 상에서의 이미지 노출에 대응하는 타임스탬프(시스템 노출 타임스탬프)를 추가할 수 있는데, 이것은 DUT의 클록 소스에 기초한다. 이미징 애플리케이션(710)은, 이미지가 사용 가능한 시간을 나타내는 이미지 메타데이터에 적용 타임스탬프(이것은 DUT의 클록 소스에 기초함)를 추가할 수 있다. 추가적으로, 이미징 애플리케이션(710)은 시스템 노출 타임스탬프 및 적용 타임스탬프를 포함하는 메타데이터와 함께 이미지를 메모리(934)에 저장할 수 있다.
[0116]
블록(1114)에서, 프로세서(714)는 롤링 셔터 카메라 시스템(704)에 의해 추가되는 시스템 노출 타임스탬프에 대응하는 시스템 노출 타임스탬프 값을 획득한다. 한 예에서, 프로세서(714)는 메모리(934)로부터의 연관된 메타데이터와 함께 이미지를 검색하고 메타데이터를 파싱하여 시스템 노출 타임스탬프를 검색한다.
[0117]
DUT의 프로세서(714)가 TGS에 대한 프로세서인 경우, 시스템 노출 타임스탬프는 바코드 타임스탬프와 동일한 시간 도메인에 있을 것이다. DUT에 대한 프로세서가 TGS의 프로세서가 아닌 경우, DUT의 프로세서에 의해 사용되는 클록은 현재 시간 변조 시퀀스를 결정하기 이전에 TGS의 프로세서에 의해 사용되는 클록과 동기화될 수 있다(블록(1102) 참조). 이들 예들에 따르면, 시스템 노출 타임스탬프 값은 롤링 셔터 카메라 시스템(704)에 의해 추가되는 시스템 노출 타임스탬프와 동일하다.
[0118]
블록(1116)에서, 프로세서(714)는 이미지 내의 바코드를 디코딩하는 것에 의해 결정되는 바코드 타임스탬프에 대응하는 바코드 타임스탬프 값을 획득한다. 한 예에서, 프로세서(714)는 캡쳐된 이미지(802) 내의 바코드(804)를 식별하는 것 및 타임스탬프를 인코딩하기 위해 사용되는 프로세스를 역으로 수행하는 것에 의해 이미지의 광의 대역(band)들을 이진 타임스탬프로 디코딩하는 것에 의해 바코드 타임스탬프를 결정한다(블록들(1102 및 1104) 참조)).
[0119]
DUT의 프로세서(714)가 TGS에 대한 프로세서인 경우, 바코드 타임스탬프는 시스템 노출 타임스탬프와 동일한 시간 도메인에 있을 것이다. DUT에 대한 프로세서가 TGS의 프로세서가 아닌 경우, DUT의 프로세서에 의해 사용되는 클록은 현재 시간 변조 시퀀스를 결정하기 이전에 TGS의 프로세서에 의해 사용되는 클록과 동기화될 수 있다(블록(1102) 참조). 이들 예들에 따르면, 바코드 타임스탬프 값은 이미지의 바코드를 디코딩하는 것에 의해 결정되는 바코드 타임스탬프와 동일하다.
[0120]
블록(1118)에서, 프로세서(714)는, 획득된 바코드 타임스탬프 값(블록(1116) 참조)을 롤링 셔터 카메라 시스템(704)에 의해 이미지(802)에 추가되는 시스템 노출 타임스탬프 값(블록(1114) 참조)에 비교하는 것에 의해 롤링 셔터 카메라 시스템(704)의 파이프라인 노출 타임스탬프 에러를 결정한다. 롤링 셔터 카메라 시스템(704)에 의해 추가되는 시스템 노출 타임스탬프는, 롤링 셔터 카메라(114)에 의해 결정되는 바와 같은 이미지(802)가 롤링 셔터 카메라(114)에 의해 캡쳐되었던 시간을 나타낸다. 이미지(802)의 시작 비트(806a)가 이미지(802)의 제1 라인(즉, 선행 비트들(812)이 없음)에 대응하는 경우, 프로세서(714)는 파이프라인 노출 타임스탬프 에러를 결정하기 위해 바코드 타임스탬프로부터 노출 타임스탬프를 감산한다.
[0121]
이미지(802)의 시작 비트(806a)가 이미지(802)의 제1 라인에 대응하지 않는 경우(즉, 이전 비트들(812)이 존재함), 바코드 타임스탬프 또는 노출 타임스탬프 중 적어도 하나는 정확도를 향상시키기 위해 조정된다. 한 예에서, 센서의 라인당 롤링 셔터 스큐/판독 시간은 타임스탬프를 조정함에 있어서의 사용을 위해 메모리(934)에 저장된다. 이 예에 따르면, 블록(1118a)에서, 프로세서(714)는 이미지(808) 내의 바코드(804)의 포지션을 결정한다. 그 다음, 프로세서(714)는 이미지의 라인들을 프로세싱하는 것 및 바코드(804)의 제1 비트(806a)를 포함하는 제1 행에 선행하는 이미지(804) 내에서의 행들의 수를 식별하는 것에 의해 포지션을 결정한다.
[0122]
블록(1118b)에서, 프로세서(714)는 결정된 포지션(블록(1118a)) 및 이미지 센서(114)의 스큐/판독으로부터 조정 시간 기간을 계산한다. 프로세서(714)는 메모리(934)로부터 라인당 스큐/판독 레이트를 검색하는 것 및 검색된 레이트를 바코드(804)에 선행하는 식별된 라인들의 수로 승산하는 것에 의해 조정 시간 기간을 계산한다(블록(1118a)).
[0123]
블록(1118c)에서, 프로세서(714)는 조정 시간 기간을 사용하여 바코드 타임스탬프 또는 노출 타임스탬프 중 적어도 하나를 조정한다. 하나의 예에서, 프로세서(714)는 조정 시간을 노출 타임스탬프에 추가한다. 다른 예에서, 프로세서(714)는 바코드 타임스탬프로부터 조정 시간을 감산한다. 또 다른 예에서, 프로세서는 노출 타임스탬프에 조정 시간의 일부를 가산하고 바코드 타임스탬프로부터 나머지 부분을 감산한다.
[0124]
블록(1118d)에서, 프로세서(714)는 바코드 타임스탬프를 조정된 그대로의 노출 타임스탬프에 비교한다(블록(1118c)). 한 예에서, 프로세서(714)는, 타임스탬프 조정(블록(1118c)) 이후, 바코드 타임스탬프로부터 노출 타임스탬프를 감산하여, 파이프라인 노출 타임스탬프 에러를 결정한다.
[0125]
블록(1120)에서, 프로세서(714)는 DUT 및 TGS에 대한 현재 타임스탬프들을 결정한다. 한 예에서, DUT의 현재 타임스탬프는 이미징 애플리케이션(710)에 의해 생성되고 이미지가 사용 가능한 시간을 나타내며 TGS는 대응하는 타임스탬프를 동시에 생성한다.
[0126]
DUT 및 TGS가 상이한 클록들을 갖는 경우(즉, 상이한 시간 도메인에 있는 경우), 이미지 노출과 연관되는 파이프라인 노출 타임스탬프 에러는 블록들(1122 및 1124)을 참조하여 하기에서 설명되는 바와 같이 DUT 및 TGS에 대한 현재 타임스탬프를 사용하여 결정될 수 있다(블록(1120)). DUT 및 TGS 둘 모두의 관점에서 현재 타임스탬프들(1120)은 종래의 클록 동기화 기술을 사용하여 동기화될 수 있다.
[0127]
블록(1122)에서, 프로세서(714)는 DUT에 대한 제1 측정치 및 TGS에 대한 제2 측정치를 결정한다. 프로세서는 결정된 노출 타임스탬프를 DUT 결정 현재 타임스탬프에 비교하는 것에 의해 DUT에 대한 제1 측정치를 결정한다(블록(1120)). 이 예에 따르면, 시스템 노출 타임스탬프 값(블록(1114))은 DUT 결정 현재 타임스탬프와 카메라 시스템(704)에 의해 추가되는 시스템 노출 타임스탬프 사이의 차이(예를 들면, DUT(2) - DUT(1))와 동일하다. 프로세서는 획득된 바코드 타임스탬프를 TGS 결정 현재 타임스탬프에 비교하는 것에 의해 제2 측정치를 결정한다(블록(1120)). 이 예에 따르면, 바코드 타임스탬프 값(블록(1116))은 TGS 결정 현재 타임스탬프와 바코드 타임스탬프 사이의 차이(예를 들면, TGS(2) - TGS(1))와 동일하다.
[0128]
블록(1124)에서, 프로세서(714)는 파이프라인 노출 타임스탬프 에러를 결정한다. 한 예에서, 프로세서(714)는 제1 및 제2 측정치들을 비교하는 것에 의해 파이프라인 노출 타임스탬프 에러를 결정한다. 프로세서(714)는 제2 측정치로부터 제1 측정치를 감산하여, 노출 타임스탬프에서의 에러를 나타내는 차이를 갖는 것에 의해 에러를 결정할 수 있다.
[0129]
블록(1126)에서, 프로세서(714)는 이미지(802)에서 디지털 워핑(digital warping)을 검출한다. 한 예에서, 프로세서(714)는 이미지(802)에서의 피처들을 예상된 피처들에 비교하는 것에 의해 디지털 워핑을 검출한다. 예를 들면, 프로세서(714)는 바코드(810)의 라인들이 이미지(802)에 걸쳐 수평일 것으로 기대한다. 프로세서(714)는 종래의 이미지 프로세싱 알고리즘을 사용하여 예상된 결과(예를 들면, 수평 라인들)를 실제 결과들(예를 들면, 비수평 라인들)에 비교한다. 추가적으로, 종래의 이미지 프로세싱 알고리즘을 사용하여, 프로세서는 실제 결과들이 예상된 결과들로부터 벗어나는 정도를 결정할 수 있다. 하나의 예에서, 예상된 결과들과 실제 결과들 사이의 일탈이 임계 값보다 높은 경우, 이미징 시스템이 결함으로서 식별될 수 있다. 다른 예에서, 프로세서(714)는 이미지(802)가 예상된 결과를 제시/묘사하게끔 보정되도록 이미지(802)를 프로세싱할 때 일탈의 정도에 기초하여 보정 인자를 적용할 수 있다.
[0130]
블록(1132)에서, 프로세서(714)는 다른 롤링 셔터 이미지 센서(예를 들면, 가시 광 카메라(114B))를 사용하여 다른 이미지를 캡쳐한다. 프로세서(714)는 블록(1112)(도 11b)을 참조하여 상기에서 설명되는 바와 같이 이미지를 캡쳐할 수 있다. 한 예에서, 다른 이미지 센서(114B)에 의해 캡쳐되는 다른 이미지는 이미지 센서(114A)에 의해 이미지에서 캡쳐되는 동일한 시간 인코딩된 바코드를 포함한다. 다른 예에서, 다른 이미지 센서(114B)에 의해 캡쳐되는 다른 이미지는 다른 시간 인코딩된 바코드를 포함한다.
[0131]
블록(1134)에서, 프로세서(714)는 다른 시스템 노출 타임스탬프를 결정한다. 프로세서(714)는 블록(1114)을 참조하여 상기에서 설명되는 바와 같이 다른 캡쳐된 이미지에 대한 다른 시스템 노출 타임스탬프를 결정할 수 있다.
[0132]
다른 이미지 센서(114B)에 의해 캡쳐되는 다른 이미지가 이미지 센서(114A)에 의해 이미지에서 캡쳐되는 동일한 시간 인코딩된 바코드를 포함하는 예들에서, 블록(1116)에서 획득되는 바코드 타임스탬프가 후속하는 단계에 대해 사용될 수 있다. 다른 이미지 센서(114B)에 의해 캡쳐되는 다른 이미지가 다른 시간 인코딩된 바코드를 포함하는 예들에서, 후속하는 단계들에서, 블록들(1116 및 1118)을 참조하여 상기에서 설명되는 바와 같이 다른 이미지에 대해 결정되고 옵션 사항으로 조정되는 다른 바코드 타임스탬프가 사용되어, 이미지 센서(114A)에 의해 캡쳐되는 이미지 내의 바코드를, 다른 이미지 센서(114B)에 의해 캡쳐되는 다른 이미지 내의 바코드로 대체할 수 있다.
[0133]
블록(1136)에서, 프로세서(714)는 다른 파이프라인 노출 타임스탬프 에러를 결정한다. 프로세서(714)는 블록(1118)을 참조하여 상기에서 설명되는 바와 같이 다른 파이프라인 노출 타임스탬프 에러를 결정할 수 있다. 다른 이미지 센서(114B)에 의해 캡쳐되는 다른 이미지가 이미지 센서(114A)에 의해 이미지에서 캡쳐되는 동일한 시간 인코딩된 바코드를 포함하는 예들에서, 블록(1116)에서 획득되는 바코드 타임스탬프는, 시스템 노출 타임스탬프(블록(1114))를 다른 시스템 노출 타임스탬프(블록(1134))로 대체하는 것에 의해, 블록(1118)을 참조하여 설명되는 바와 같이 다른 파이프라인 노출 타임스탬프 에러를 결정하기 위해 사용된다. 다른 이미지 센서(114B)에 의해 캡쳐되는 다른 이미지가 다른 시간 인코딩된 바코드를 포함하는 예들에서, 프로세서(714)는, 시스템 노출 타임스탬프(블록(1114))를 다른 시스템 노출 타임스탬프(블록(1134))로 대체하는 것 및 획득된 바코드 타임스탬프(블록(1116))를 다른 이미지에 대해 결정되고 옵션 사항으로 조정되는 다른 바코드 타임스탬프로 대체하는 것에 의해, 블록(1118)을 참조하여 설명되는 바와 같이 다른 파이프라인 노출 타임스탬프 에러를 결정한다.
[0134]
블록(1138)에서, 프로세서(714)는 한 쌍의 롤링 셔터 이미지 센서들(예를 들면, 이미지 센서들(114A 및 114B))에 의해 캡쳐되는 이미지들을 동기화한다. 한 예에서, 프로세서(714)는, 먼저, 하나의 이미지 센서(114A)를 포함하는 파이프라인의 파이프라인 노출 타임스탬프 에러와 다른 이미지 센서(114B)를 포함하는 파이프라인의 파이프라인 노출 타임스탬프 에러 사이의 차이를 결정한다. 하나의 예에서, 프로세서(714)는, 그 다음, 더 느린 카메라 파이프라인의 노출 타임스탬프 에러와 매치하도록 자신의 노출 타임스탬프 에러를 증가시키기 위해, 결정된 차이를 더하여 최소 노출 타임스탬프 에러를 갖는 카메라 파이프라인의 하나 이상의 컴포넌트들을 조정한다. 노출 타임스탬프 에러는 ISP(706)에 대한 하드웨어 조정들 또는 OS(708) 또는 이미징 애플리케이션(710)에 대한 소프트웨어 조정들 중 적어도 하나를 통해 프로세서(714)에 의해 가산될 수 있다. 다른 예에서, 프로세서(714)는, 이미지들 둘 모두가 공통 시간 도메인에 있도록 하나의 이미지 센서, 다른 이미지 센서, 또는 이들의 조합을 사용하여 획득되는 이미지들의 메타데이터 타임스탬프들을 조정하는데, 이것은 증강 현실 애플리케이션들에 대해 유리하다.
[0135]
아이웨어 디바이스(100), 모바일 디바이스(990), 및 서버 시스템(998)에 대한 본원에서 설명되는 카메라 파이프라인 노출 타임스탬프 에러 결정 기능성(functionality)은 앞서 설명되는 바와 같이 하나 이상의 애플리케이션들에서 구체화될 수 있다. 일부 예들에 따르면, "기능", "기능들", "애플리케이션", "애플리케이션들", "명령어", "명령어들" 또는 "프로그래밍"은 프로그램들에서 정의되는 기능들을 실행하는 프로그램(들)이다. 다양한 방식들로 구조화되는 애플리케이션들 중 하나 이상을 생성하기 위해, 다양한 프로그래밍 언어들, 예컨대 객체 지향 프로그래밍 언어들(예를 들면, Objective-C(오브젝티브 C), Java(자바) 또는 C++) 또는 절차적 프로그래밍 언어들(예를 들면, C 또는 어셈블리어)이 활용될 수 있다. 특정한 예에서, 써드파티 애플리케이션(예를 들면, 특정한 플랫폼의 판매 업체 이외의 엔티티에 의해 ANDROID™(안드로이드) 또는 IOS™(아이오에스) 소프트웨어 개발 키트(software development kit; SDK)를 사용하여 개발되는 애플리케이션)은 IOS™, ANDROID™, WINDOWS®(윈도우즈) 폰, 또는 다른 모바일 오퍼레이팅 시스템들과 같은 모바일 오퍼레이팅 시스템 상에서 실행되는 모바일 소프트웨어일 수 있다. 이 예에서 써드파티 애플리케이션은 본원에서 설명되는 기능성을 용이하게 하기 위해 오퍼레이팅 시스템에 의해 제공되는 API 호출(call)들을 호출할 수 있다.
[0136]
그러므로, 머신 판독 가능 매체는 많은 형태들의 유형의 저장 매체를 취할 수 있다. 비휘발성 저장 매체들은, 예컨대 도면들에서 도시되는 클라이언트 디바이스, 미디어 게이트웨이, 트랜스코더, 등을 구현하기 위해 사용될 수 있는, 예를 들면, 광학 또는 자기 디스크들, 예컨대 임의의 컴퓨터(들) 등에서의 스토리지 디바이스들 중 임의의 것을 포함한다. 휘발성 저장 매체들은 동적 메모리, 예컨대 그러한 컴퓨터 플랫폼의 메인 메모리를 포함한다. 유형의 송신 매체들은 동축 케이블들; 컴퓨터 시스템 내의 버스를 포함하는 배선들을 비롯한, 구리 배선 및 광섬유들을 포함한다. 반송파 송신 매체들은 전기 또는 전자기 신호들, 또는 무선 주파수(RF) 및 적외선(infrared; IR) 데이터 통신들 동안 생성되는 것들과 같은 음파 또는 광파의 형태를 취할 수 있다. 따라서, 컴퓨터 판독 가능 매체들의 일반적인 형태들은 예를 들면 다음의 것을 포함한다: 플로피 디스크, 플렉시블 디스크, 하드 디스크, 자기 테이프, 임의의 다른 자기 매체, CD-ROM, DVD 또는 DVD-ROM, 임의의 다른 광학 매체, 펀치 카드들 종이 테이프, 홀들의 패턴들을 갖는 임의의 다른 물리적 저장 매체, RAM, PROM 및 EPROM, FLASH-EPROM, 임의의 다른 메모리 칩 또는 카트리지, 데이터 또는 명령어들을 전송하는 반송파, 그러한 반송파를 전송하는 케이블들 또는 링크들, 또는 컴퓨터가 프로그래밍 코드 또는 데이터를 판독할 수 있는 임의의 다른 매체. 컴퓨터 판독 가능 매체들의 이들 형태들 중 많은 것들은 하나 이상의 명령어들의 하나 이상의 시퀀스들을 실행을 위해 프로세서로 전달하는 데 수반될 수 있다.
[0137]
보호의 범위는 오로지 지금 후속되는 청구항들에 의해서만 제한된다. 그 범위는 본 명세서 및 후속하는 심사 이력에 비추어 해석될 때 청구항들에서 사용되는 언어의 통상적인 의미와 일치하는 만큼 넓게 되도록 그리고 모든 구조적 및 기능적 등가물들을 포함하도록 의도되며 그렇게 해석되어야 한다. 그럼에도 불구하고, 청구항들 중 어느 것도 특허법의 101조, 102조, 또는 103조의 요건을 충족하지 못하는 주제를 포괄하도록 의도되지 않으며, 그들이 그러한 방식으로 해석되어서도 안된다. 그러한 주제의 어떠한 의도되지 않은 포괄도 이로써 거절된다.
[0138]
바로 위에서 언급되는 바를 제외하면, 언급된 또는 설명된 어떤 것도, 그것이 청구항들에서 기재되는지 또는 기재되지 않는지의 여부에 관계 없이, 임의의 컴포넌트, 단계, 피처, 목적, 이익, 이점, 또는 등가물의 공중에 대한 전용을 야기하도록 의도되지 않거나 또는 그 전용을 야기하도록 해석되지 않아야 한다.
[0139]
본원에서 사용되는 용어들 및 표현들은, 특정한 의미들이 본원에서 달리 기재되는 경우를 제외하면, 조사 및 연구의 그들의 대응하는 개개의 영역들과 관련하여 그러한 용어들 및 표현들에 부여되는 일반적인 의미를 갖는다는 것이 이해될 것이다. 제1 및 제2 등과 같은 관계 용어들은, 전적으로, 하나의 엔티티 또는 액션을 다른 것으로부터, 그러한 엔티티들 또는 액션들 사이의 임의의 실제의 그러한 관계 또는 순서를 반드시 요구하거나 또는 암시하지 않으면서, 구별하기 위해 사용될 수 있다. 용어들 "포함한다(comprises)", "포함하는(comprising)", "포함한다(includes)", "포함하는(including)", 또는 이들의 임의의 다른 변형어는 비배타적인 포함을 포괄하도록 의도되며, 그 결과, 엘리먼트들 또는 단계들의 목록을 포함하는(comprises) 또는 포함하는(includes) 프로세스, 방법, 물품, 또는 장치는 그들 엘리먼트들 또는 단계들만을 포함하는 것이 아니라, 그러한 프로세스, 방법, 물품, 또는 장치에 내재하는 또는 명시적으로 나열되지 않은 다른 엘리먼트들 또는 단계들을 포함할 수 있다. 단수형 표현이 선행하는 엘리먼트는, 추가적인 제약들 없이, 그 엘리먼트를 포함하는 프로세스, 방법, 물품, 또는 장치에서의 추가적인 동일한 엘리먼트들의 존재를 배제하지는 않는다.
[0140]
달리 명시되지 않는 한, 후속하는 청구항들을 비롯하여, 본 명세서에 기재되는 임의의 및 모든 측정치들, 값들, 평가(rating)들, 포지션들, 크기들, 사이즈들, 및 다른 명세들은, 정확한 것이 아니라, 대략적인 것이다. 그러한 양들은, 그들이 관련되는 기능들과 그리고 그들이 속하는 기술 분야에서 관례적인 것과 일치하는 합리적인 범위를 가지도록 의도된다. 예를 들면, 명시적으로 달리 언급되지 않는 한, 파라미터 값 등은 언급된 양에서 ±10 %만큼 변할 수 있다.
[0141]
또한, 전술한 발명을 실시하기 위한 구체적인 내용(Detailed Description)에서, 개시내용을 간소화하는 목적을 위해 다양한 피처들은 다양한 예들에서 함께 그룹화된다. 개시내용의 이 방법은, 청구된 예들이 각각의 청구항에서 명시적으로 기재되는 것보다 더 많은 피처들을 요구한다는 의도를 반영하는 것으로 해석되어서는 안된다. 오히려, 후속하는 청구항들이 반영하는 바와 같이, 보호될 주제는 임의의 단일의 개시된 예의 모든 피처들보다 더 적은 피처들 내에 놓여 있다. 따라서, 다음의 청구항들은 발명을 실시하기 위한 구체적인 내용에 이로써 통합되는데, 각각의 청구항은 별개로 청구된 주제로서 자체적으로 존재한다.
[0142]
전술한 내용이 최선의 모드인 것으로 간주되는 것들 및 다른 예들을 설명하였지만, 그 내에서 다양한 수정들이 이루어질 수 있다는 것 및 본원에서 개시되는 주제는 다양한 형태들 및 예들에서 구현될 수 있다는 것, 및 그들은 다양한 애플리케이션들 ― 그들 중 일부만이 본원에서 설명되었음 ― 에서 적용될 수 있다는 것이 이해된다. 본 개념들의 진정한 범위 내에 속하는 임의의 및 모든 수정예들 및 변형예들을 청구한다는 것이 다음의 청구항들에 의해 의도된다.
Claims (21)
- 롤링 셔터 카메라에 대한 노출 타임스탬프 에러 결정 시스템으로서,
테스트 생성 시스템(test generation system; TGS)의 광원으로부터 생성되는 이미지를 캡쳐하도록 구성되는 롤링 셔터 이미지 센서를 포함하는 피검사 디바이스(device under test; DUT)의 롤링 셔터 카메라 파이프라인; 및
프로세서를 포함하고, 상기 프로세서는:
상기 롤링 셔터 이미지 센서를 사용하여 상기 이미지를 캡쳐하도록 ― 상기 이미지는 바코드 타임스탬프로 인코딩되는 바코드를 포함함 ― ;
시스템 노출 타임스탬프에 대응하는 시스템 노출 타임스탬프 값을 획득하도록 ― 상기 시스템 노출 타임스탬프는 상기 캡쳐된 이미지에 대해 상기 롤링 셔터 카메라 파이프라인에 의해 결정됨 ― ;
상기 캡쳐된 이미지의 상기 바코드에 인코딩되는 상기 바코드 타임스탬프에 대응하는 바코드 타임스탬프 값을 획득하도록; 그리고
상기 바코드 타임스탬프 값을 상기 시스템 노출 타임스탬프 값에 비교하는 것에 의해 상기 롤링 셔터 카메라 시스템에 대한 노출 타임스탬프 에러를 결정하도록 구성되는, 롤링 셔터 카메라에 대한 노출 타임스탬프 에러 결정 시스템. - 제1항에 있어서,
상기 바코드 타임스탬프 값은 상기 캡쳐된 이미지의 상기 바코드에 인코딩되는 상기 바코드 타임스탬프의 값과 동일하고, 상기 시스템 노출 타임스탬프 값은 상기 롤링 셔터 카메라 파이프라인에 의해 결정되는 상기 시스템 노출 타임스탬프와 동일하며, 상기 노출 타임스탬프 에러는 상기 바코드 타임스탬프 값과 상기 시스템 노출 타임스탬프 값 사이의 차이인, 롤링 셔터 카메라에 대한 노출 타임스탬프 에러 결정 시스템. - 제1항에 있어서,
상기 프로세서는:
DUT 클록으로부터의 DUT 현재 시간에 대응하는 DUT 값을 기록하도록; 그리고
TGS 클록으로부터의 TGS 현재 시간에 대응하는 TGS 값을 기록하도록 추가로 구성되고;
상기 바코드 타임스탬프 값은 상기 캡쳐된 이미지의 상기 바코드에 인코딩되는 상기 바코드 타임스탬프와 상기 TGS 현재 시간 사이의 제1 차이와 동일하고, 상기 시스템 노출 타임스탬프 값은 상기 롤링 셔터 카메라 파이프라인에 의해 결정되는 상기 시스템 노출 타임스탬프와 상기 DUT 현재 시간 사이의 제2 차이와 동일하고, 상기 노출 타임스탬프 에러는 상기 바코드 타임스탬프 값과 상기 시스템 노출 타임스탬프 값 사이의 차이인, 롤링 셔터 카메라에 대한 노출 타임스탬프 에러 결정 시스템. - 제1항에 있어서,
상기 이미지를 생성하도록 구성되는 광원을 더 포함하는, 롤링 셔터 카메라에 대한 노출 타임스탬프 에러 결정 시스템. - 제4항에 있어서,
상기 광원은 발광 다이오드인, 롤링 셔터 카메라에 대한 노출 타임스탬프 에러 결정 시스템. - 제4항에 있어서,
상기 광원과 상기 롤링 셔터 이미지 센서 사이에서 배치되는 확산기를 더 포함하는, 롤링 셔터 카메라에 대한 노출 타임스탬프 에러 결정 시스템. - 제4항에 있어서,
상기 광원은 상기 바코드를 생성하기 위해 펄스 폭 변조되는, 롤링 셔터 카메라에 대한 노출 타임스탬프 에러 결정 시스템. - 제7항에 있어서,
상기 광원은 일련의 제1 비트 타입 펄스들 및 제2 비트 타입 펄스들이 후속되는 제1 지속 기간을 갖는 시작 펄스를 송신하는 것에 의해 펄스 폭 변조되고, 상기 제1 비트 타입 펄스들은 상기 제1 지속 기간과는 상이한 제2 지속 기간을 가지며 상기 제2 비트 타입 펄스들은 상기 제2 지속 기간과는 상이한 제3 지속 기간을 갖는, 롤링 셔터 카메라에 대한 노출 타임스탬프 에러 결정 시스템. - 제1항에 있어서,
다른 롤링 셔터 이미지 센서를 포함하는 다른 롤링 셔터 카메라 파이프라인을 더 포함하고;
상기 프로세서는:
상기 다른 롤링 셔터 이미지 센서를 사용하여 상기 바코드의 다른 이미지를 캡쳐하도록;
다른 시스템 노출 타임스탬프에 대응하는 다른 시스템 노출 타임스탬프 값을 획득하도록 ― 상기 다른 시스템 노출 타임스탬프는 상기 다른 롤링 셔터 이미지 파이프라인에 의해 결정됨 ― ;
상기 바코드 타임스탬프 값을 상기 다른 시스템 노출 타임스탬프 값에 비교하는 것에 의해 상기 롤링 셔터 카메라 시스템에 대한 다른 노출 타임스탬프 에러를 결정하도록; 그리고
상기 노출 타임스탬프 에러와 상기 다른 노출 타임스탬프 에러 사이의 오프셋을 보정하는 것에 의해 상기 롤링 셔터 이미지 센서들에 의해 캡쳐되는 이미지들을 동기화하도록 추가로 구성되는, 롤링 셔터 카메라에 대한 노출 타임스탬프 에러 결정 시스템. - 제1항에 있어서,
상기 노출 타임스탬프 에러를 결정하기 위해, 상기 프로세서는:
상기 이미지 내에서의 상기 바코드의 포지션을 결정하도록;
상기 결정된 포지션 및 상기 롤링 셔터 이미지 센서의 롤링 셔터 스큐 또는 판독 시간으로부터 조정 시간 기간을 계산하도록; 그리고
상기 조정 시간 기간을 사용하여 상기 바코드 타임스탬프 또는 상기 시스템 노출 타임스탬프 중 적어도 하나를 조정하도록; 그리고
상기 바코드 타임스탬프를, 상기 조정 시간 기간에 의해 조정되는 바와 같은 상기 시스템 노출 타임스탬프에 비교하여 상기 노출 타임스탬프 에러를 결정하도록 구성되는, 롤링 셔터 카메라에 대한 노출 타임스탬프 에러 결정 시스템. - 제1항에 있어서,
상기 프로세서는:
상기 롤링 셔터 카메라 시스템에 대한 적용 타임스탬프(application timestamp)를 결정하도록;
상기 결정된 노출 타임스탬프를 상기 적용 타임스탬프에 비교하는 것에 의해 제1 레이턴시 측정치를 결정하도록; 그리고
상기 획득된 바코드 타임스탬프를 상기 결정된 적용 타임스탬프에 비교하는 것에 의해 제2 레이턴시 측정치를 결정하도록 추가로 구성되고;
상기 노출 타임스탬프 에러는 상기 제1 레이턴시 측정치를 상기 제2 레이턴시 측정치에 비교하는 것에 의해 결정되는, 롤링 셔터 카메라에 대한 노출 타임스탬프 에러 결정 시스템. - 제1항에 있어서,
상기 프로세서는:
상기 이미지의 실제 양태를 상기 이미지의 예상된 양태에 비교하는 것에 의해 상기 이미지의 디지털 워핑(digital warping)을 검출하도록 추가로 구성되는, 롤링 셔터 카메라에 대한 노출 타임스탬프 에러 결정 시스템. - 롤링 셔터 카메라에서 노출 타임스탬프 에러를 결정하기 위한 방법으로서,
상기 롤링 셔터 카메라의 롤링 셔터 이미지 파이프라인의 롤링 셔터 이미지 센서를 사용하여 이미지를 캡쳐하는 단계 ― 상기 이미지는 바코드 타임스탬프로 인코딩되는 바코드를 포함함 ― ;
시스템 노출 타임스탬프에 대응하는 시스템 노출 타임스탬프 값을 획득하는 단계 ― 상기 시스템 노출 타임스탬프는 상기 캡쳐된 이미지에 대해 상기 롤링 셔터 카메라 파이프라인에 의해 결정됨 ― ;
상기 캡쳐된 이미지의 상기 바코드에 인코딩되는 상기 바코드 타임스탬프에 대응하는 바코드 타임스탬프 값을 획득하는 단계; 및
상기 바코드 타임스탬프 값을 상기 시스템 노출 타임스탬프 값에 비교하는 것에 의해 상기 롤링 셔터 카메라 시스템에 대한 노출 타임스탬프 에러를 결정하는 단계를 포함하는, 롤링 셔터 카메라에서 노출 타임스탬프 에러를 결정하기 위한 방법. - 제13항에 있어서,
DUT 클록으로부터의 DUT 현재 시간에 대응하는 DUT 값을 기록하는 단계; 및
TGS 클록으로부터의 TGS 현재 시간에 대응하는 TGS 값을 기록하는 단계를 더 포함하고;
상기 바코드 타임스탬프 값은 상기 캡쳐된 이미지의 상기 바코드에 인코딩되는 상기 바코드 타임스탬프와 상기 TGS 현재 시간 사이의 제1 차이와 동일하고, 상기 시스템 노출 타임스탬프 값은 상기 롤링 셔터 카메라 파이프라인에 의해 결정되는 상기 시스템 노출 타임스탬프와 상기 DUT 현재 시간 사이의 제2 차이와 동일하고, 상기 노출 타임스탬프 에러는 상기 바코드 타임스탬프 값과 상기 시스템 노출 타임스탬프 값 사이의 차이인, 롤링 셔터 카메라에서 노출 타임스탬프 에러를 결정하기 위한 방법. - 제13항에 있어서,
상기 바코드를 포함하는 상기 이미지를 생성하기 위해 광원을 펄스 폭 변조하는 단계를 더 포함하는, 롤링 셔터 카메라에서 노출 타임스탬프 에러를 결정하기 위한 방법. - 제15항에 있어서,
상기 펄스 폭 변조는:
제1 지속 기간을 갖는 시작 펄스를 송신하는 단계; 및
일련의 제1 비트 타입 펄스들 및 제2 비트 타입 펄스들을 송신하는 단계 ― 상기 제1 비트 타입 펄스들은 상기 제1 지속 기간과는 상이한 제2 지속 기간을 가지며 상기 제2 비트 타입 펄스들은 상기 제2 지속 기간과는 상이한 제3 지속 기간을 가짐 ― 를 포함하는, 롤링 셔터 카메라에서 노출 타임스탬프 에러를 결정하기 위한 방법. - 제13항에 있어서,
다른 롤링 셔터 이미지 센서를 사용하여 상기 바코드의 또 다른 이미지를 캡쳐하는 단계;
다른 시스템 노출 타임스탬프에 대응하는 다른 시스템 노출 타임스탬프 값을 획득하는 단계 ― 상기 다른 시스템 노출 타임스탬프는 상기 다른 롤링 셔터 이미지 파이프라인에 의해 결정됨 ― ;
상기 바코드 타임스탬프 값을 상기 다른 노출 타임스탬프 값에 비교하는 것에 의해 상기 롤링 셔터 카메라 시스템에 대한 다른 노출 타임스탬프 에러를 결정하는 단계; 및
상기 노출 타임스탬프 에러와 상기 다른 노출 타임스탬프 에러 사이의 오프셋을 보정하는 것에 의해 상기 롤링 셔터 이미지 센서들에 의해 캡쳐되는 이미지들을 동기화하는 단계를 더 포함하는, 롤링 셔터 카메라에서 노출 타임스탬프 에러를 결정하기 위한 방법. - 제13항에 있어서,
상기 노출 타임스탬프 에러를 결정하는 단계는:
상기 이미지 내에서의 상기 바코드의 포지션을 결정하는 단계;
상기 결정된 포지션 및 상기 롤링 셔터 이미지 센서의 롤링 셔터 스큐 또는 판독 시간으로부터 조정 시간 기간을 계산하는 단계; 및
상기 조정 시간 기간을 사용하여 상기 바코드 타임스탬프 또는 상기 시스템 노출 타임스탬프 중 적어도 하나를 조정하는 단계; 및
상기 바코드 타임스탬프를, 상기 조정 시간 기간을 사용하여 조정되는 바와 같은 상기 시스템 노출 타임스탬프에 비교하여 상기 노출 타임스탬프 에러를 결정하는 단계를 포함하는, 롤링 셔터 카메라에서 노출 타임스탬프 에러를 결정하기 위한 방법. - 제13항에 있어서,
상기 롤링 셔터 카메라 시스템에 대한 적용 타임스탬프를 결정하는 단계;
상기 결정된 노출 타임스탬프를 상기 결정된 적용 타임스탬프에 비교하는 것에 의해 제1 레이턴시 측정치를 결정하는 단계; 및
상기 획득된 바코드 타임스탬프를 상기 결정된 적용 타임스탬프에 비교하는 것에 의해 제2 레이턴시 측정치를 결정하는 단계를 더 포함하고;
상기 노출 타임스탬프 에러는 상기 제1 레이턴시 측정치를 상기 제2 레이턴시 측정치에 비교하는 것에 의해 결정되는, 롤링 셔터 카메라에서 노출 타임스탬프 에러를 결정하기 위한 방법. - 제13항에 있어서,
상기 이미지의 실제 양태를 상기 이미지의 예상된 양태에 비교하는 것에 의해 상기 이미지의 디지털 워핑을 검출하는 단계를 더 포함하는, 롤링 셔터 카메라에서 노출 타임스탬프 에러를 결정하기 위한 방법. - 명령어들을 포함하는 비일시적 컴퓨터 판독 가능 매체로서,
상기 명령어들은, 프로세서에 의해 실행될 때, 전자 시스템으로 하여금:
롤링 셔터 카메라의 롤링 셔터 이미지 파이프라인의 롤링 셔터 이미지 센서를 사용하여 이미지를 캡쳐하게 하고 ― 상기 이미지는 바코드 타임스탬프로 인코딩되는 바코드를 포함함 ― ;
시스템 노출 타임스탬프에 대응하는 시스템 노출 타임스탬프 값을 획득하게 하고 ― 상기 시스템 노출 타임스탬프는 상기 캡쳐된 이미지에 대해 상기 롤링 셔터 카메라 파이프라인에 의해 결정됨 ― ;
상기 캡쳐된 이미지의 상기 바코드에 인코딩되는 상기 바코드 타임스탬프에 대응하는 바코드 타임스탬프 값을 획득하게 하고; 그리고
상기 바코드 타임스탬프 값을 상기 시스템 노출 타임스탬프 값에 비교하는 것에 의해 상기 롤링 셔터 카메라 시스템에 대한 노출 타임스탬프 에러를 결정하게 하는, 명령어들을 포함하는 비일시적 컴퓨터 판독 가능 매체.
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202063046383P | 2020-06-30 | 2020-06-30 | |
US63/046,383 | 2020-06-30 | ||
US17/204,076 US11665334B2 (en) | 2020-06-30 | 2021-03-17 | Rolling shutter camera pipeline exposure timestamp error determination |
US17/204,076 | 2021-03-17 | ||
PCT/US2021/037317 WO2022005734A1 (en) | 2020-06-30 | 2021-06-15 | Rolling shutter camera pipeline exposure timestamp error determination |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20230029920A true KR20230029920A (ko) | 2023-03-03 |
Family
ID=79030762
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020237003096A KR20230029920A (ko) | 2020-06-30 | 2021-06-15 | 롤링 셔터 카메라 파이프라인 노출 타임스탬프 에러 결정 |
Country Status (5)
Country | Link |
---|---|
US (2) | US11665334B2 (ko) |
EP (1) | EP4173279A1 (ko) |
KR (1) | KR20230029920A (ko) |
CN (1) | CN115804025A (ko) |
WO (1) | WO2022005734A1 (ko) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113196139B (zh) | 2018-12-20 | 2023-08-11 | 美国斯耐普公司 | 用于生成立体图像的具有双摄像头的柔性眼戴设备 |
US10965931B1 (en) * | 2019-12-06 | 2021-03-30 | Snap Inc. | Sensor misalignment compensation |
US11683450B2 (en) * | 2020-06-04 | 2023-06-20 | FLIR Unmanned Aerial Systems AS | Shutter and light signal synchronization systems and methods |
US11949527B2 (en) | 2022-04-25 | 2024-04-02 | Snap Inc. | Shared augmented reality experience in video chat |
US12003862B2 (en) | 2022-06-21 | 2024-06-04 | Snap Inc. | Camera timestamp validation |
US12069399B2 (en) | 2022-07-07 | 2024-08-20 | Snap Inc. | Dynamically switching between RGB and IR capture |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4473337B1 (ja) * | 2009-07-31 | 2010-06-02 | 株式会社オプトエレクトロニクス | 光学的情報読取装置及び光学的情報読取方法 |
CN104919727B (zh) | 2012-12-27 | 2018-11-23 | 松下电器(美国)知识产权公司 | 信息通信方法、信息通信装置、以及记录介质 |
US11451688B2 (en) * | 2018-09-26 | 2022-09-20 | Zoox, Inc. | Image scan line timestamping |
-
2021
- 2021-03-17 US US17/204,076 patent/US11665334B2/en active Active
- 2021-06-15 EP EP21740307.0A patent/EP4173279A1/en active Pending
- 2021-06-15 WO PCT/US2021/037317 patent/WO2022005734A1/en unknown
- 2021-06-15 CN CN202180046653.1A patent/CN115804025A/zh active Pending
- 2021-06-15 KR KR1020237003096A patent/KR20230029920A/ko active Search and Examination
-
2023
- 2023-05-01 US US18/141,833 patent/US12108027B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
CN115804025A (zh) | 2023-03-14 |
US20230269364A1 (en) | 2023-08-24 |
WO2022005734A1 (en) | 2022-01-06 |
US12108027B2 (en) | 2024-10-01 |
EP4173279A1 (en) | 2023-05-03 |
US11665334B2 (en) | 2023-05-30 |
US20210409678A1 (en) | 2021-12-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US12108027B2 (en) | Rolling shutter camera pipeline exposure timestamp error determination | |
US11763420B2 (en) | Creating shockwaves in three-dimensional depth videos and images | |
US11792379B2 (en) | Depth sculpturing of three-dimensional depth images utilizing two-dimensional input selection | |
US11575874B2 (en) | Sensor misalignment compensation | |
US12058300B2 (en) | Input parameter based image waves | |
US12010286B2 (en) | Separable distortion disparity determination | |
US12073536B2 (en) | Dirty lens image correction | |
EP4042230A1 (en) | Multi-dimensional rendering | |
US20220329776A1 (en) | Portable 3d projector with sharing to multiple viewers |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination |