KR20220156331A - 이미지 지연을 보정하기 위한 전자 장치 및 방법 - Google Patents
이미지 지연을 보정하기 위한 전자 장치 및 방법 Download PDFInfo
- Publication number
- KR20220156331A KR20220156331A KR1020210064220A KR20210064220A KR20220156331A KR 20220156331 A KR20220156331 A KR 20220156331A KR 1020210064220 A KR1020210064220 A KR 1020210064220A KR 20210064220 A KR20210064220 A KR 20210064220A KR 20220156331 A KR20220156331 A KR 20220156331A
- Authority
- KR
- South Korea
- Prior art keywords
- image
- pixel
- processor
- depth
- external device
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 33
- 238000004891 communication Methods 0.000 claims abstract description 42
- 238000011017 operating method Methods 0.000 claims description 4
- 239000011521 glass Substances 0.000 description 28
- 230000033001 locomotion Effects 0.000 description 13
- 238000004364 calculation method Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 10
- 238000006073 displacement reaction Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 10
- 230000003190 augmentative effect Effects 0.000 description 8
- 241000226585 Antennaria plantaginifolia Species 0.000 description 5
- 238000012937 correction Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 238000009877 rendering Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 3
- 230000004075 alteration Effects 0.000 description 2
- 210000003128 head Anatomy 0.000 description 2
- 101100510695 Arabidopsis thaliana LUT2 gene Proteins 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000003702 image correction Methods 0.000 description 1
- 238000007654 immersion Methods 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/36—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
- G09G5/363—Graphics controllers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/106—Processing image signals
- H04N13/122—Improving the 3D impression of stereoscopic images by modifying image signal contents, e.g. by filtering or adding monoscopic depth cues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/74—Image or video pattern matching; Proximity measures in feature spaces
- G06V10/75—Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
- G06V10/751—Comparing pixel values or logical combinations thereof, or feature values having positional relevance, e.g. template matching
- G06V10/7515—Shifting the patterns to accommodate for positional errors
-
- G—PHYSICS
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B27/00—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
- G02B27/01—Head-up displays
- G02B27/017—Head mounted
-
- G—PHYSICS
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B27/00—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
- G02B27/01—Head-up displays
- G02B27/0179—Display position adjusting means not related to the information to be displayed
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/50—Image enhancement or restoration using two or more images, e.g. averaging or subtraction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/55—Depth or shape recovery from multiple images
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/106—Processing image signals
- H04N13/128—Adjusting depth or disparity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/106—Processing image signals
- H04N13/167—Synchronising or controlling image signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/30—Image reproducers
- H04N13/332—Displays for viewing with the aid of special glasses or head-mounted displays [HMD]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/30—Image reproducers
- H04N13/363—Image reproducers using image projection screens
-
- G—PHYSICS
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B27/00—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
- G02B27/01—Head-up displays
- G02B27/017—Head mounted
- G02B2027/0178—Eyeglass type
-
- G—PHYSICS
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B27/00—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
- G02B27/01—Head-up displays
- G02B27/0179—Display position adjusting means not related to the information to be displayed
- G02B2027/0187—Display position adjusting means not related to the information to be displayed slaved to motion of at least a part of the body of the user, e.g. head, eye
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2320/00—Control of display operating conditions
- G09G2320/02—Improving the quality of display appearance
- G09G2320/0285—Improving the quality of display appearance using tables for spatial correction of display data
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2340/00—Aspects of display data processing
- G09G2340/04—Changes in size, position or resolution of an image
- G09G2340/0464—Positioning
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2354/00—Aspects of interface with display user
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G3/00—Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes
- G09G3/001—Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes using specific devices not provided for in groups G09G3/02 - G09G3/36, e.g. using an intermediate record carrier such as a film slide; Projection systems; Display of non-alphanumerical information, solely or in combination with alphanumerical information, e.g. digital display on projected diapositive as background
- G09G3/003—Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes using specific devices not provided for in groups G09G3/02 - G09G3/36, e.g. using an intermediate record carrier such as a film slide; Projection systems; Display of non-alphanumerical information, solely or in combination with alphanumerical information, e.g. digital display on projected diapositive as background to produce spatial visual effects
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Optics & Photonics (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Computer Graphics (AREA)
- Computer Hardware Design (AREA)
- Image Processing (AREA)
Abstract
본 개시에 따른 일 실시 예는 통신 모듈 및 프로세서를 포함하고, 프로세서는 통신 모듈을 통해 외부 장치로부터 제1 시점에 전치 왜곡(pre-distortion)을 적용하여 렌더링 된 제1 이미지를 수신하고, 제1 시점과 구별되는 제2 시점에 수신된 제1 이미지의 픽셀 별 픽셀 시프트(pixel shift)를 연산하고, 연산된 픽셀 시프트에 기초하여 제1 이미지를 재투영(reprojection)한 제2 이미지를 생성하고, 생성된 제2 이미지를 통신 모듈을 통해 외부 장치로 전송하는 전자 장치가 개시된다. 이 외에도 명세서를 통해 파악되는 다양한 실시 예가 가능하다.
Description
본 개시에 따른 다양한 실시 예들은, 증강 현실을 구현함에 있어서 이미지 지연을 보정하기 위한 전자 장치 및 방법에 관한 것이다.
증강 현실(augmented reality, AR)은 실제로 존재하는 환경에 가상의 사물이나 정보를 합성하여 마치 원래의 환경에 존재하는 사물처럼 보이도록 하는 기술을 의미한다. 증강 현실의 기술은 음성 인식, 시선 인식 및 손동작 인식과 같은 직관적인 사용자 경험(user experience)을 제공하고, 교육, 산업, 의료 또는 엔터테인먼트 등의 여러 분야에서 다양한 서비스를 제공할 수 있다.
증강 현실은 머리 착용형 디스플레이(head mounted display, HMD) 장치를 통해 구현될 수 있다. 머리 착용형 디스플레이 장치는 사용자의 머리 부분에 장착되어 눈 앞에 직접 영상을 제시할 수 있는 디스플레이 장치를 의미한다. 머리 착용형 디스플레이 장치가 사용자의 머리 부분에 직접적으로 장착되어 사용자의 움직임이 실시간으로 파악되면, 머리 착용형 디스플레이 장치는 사용자의 움직임을 반영한 영상을 디스플레이에 표시하여 증강 현실을 구현할 수 있다.
증강 현실이 구현되는 방식에 있어서, 사용자의 움직임과 디스플레이에 표시되는 영상이 일치하지 않으면 사용자의 몰입이 방해될 수 있다. 사용자의 움직임 및 디스플레이에 표시되는 이미지 간에 시차는 모션 투 포톤 지연(motion to photon latency)이라 할 수 있고, 이를 최소화하기 위한 이미지 보정 방법이 필요하다.
증강 현실 장치는 렌더링된 이미지를 디스플레이에 표시하기 전에 사용자의 최종 포즈를 반영하여 이미지를 보정할 수 있고, 이러한 보정 기술은 타임 워핑(time-warping)으로 지칭될 수 있다. 종래의 타임 워핑은 렌더링 된 이미지에 대해 공간 상의 좌표를 보정하는 재투영(reprojection) 단계 및 재투영을 통해 생성된 이미지가 디스플레이에 표시됨에 따라 발생하게 될 광학 왜곡을 미리 보정하는 전치 왜곡(predistortion) 단계 순으로 수행될 수 있다. 타임 워핑이 2단계로 수행되면, 연산량 및 연산 시간이 늘어남에 따라 이미지 지연(image latency) 정도가 증가할 수 있다. 또한, 타임 워핑이 수행된 최종 출력 이미지는 최초 렌더링 된 이미지와 비교하였을 때 약 80~90%의 데이터만을 포함할 수 있으므로, 데이터의 전달 효율성이 감소할 수 있다.
일 실시 예에서의 전자 장치는 통신 모듈 및 프로세서를 포함하고, 상기 프로세서는 상기 통신 모듈을 통해 외부 장치로부터 제1 시점에 전치 왜곡(pre-distortion)을 적용하여 렌더링 된 제1 이미지를 수신하고, 상기 제1 시점과 구별되는 제2 시점에 상기 수신된 제1 이미지의 픽셀 별 픽셀 시프트(pixel shift)를 연산하고, 상기 연산된 픽셀 시프트에 기초하여 상기 제1 이미지를 재투영(reprojection)한 제2 이미지를 생성하고, 상기 생성된 제2 이미지를 상기 통신 모듈을 통해 상기 외부 장치로 전송할 수 있다.
일 실시 예에서의 전자 장치의 동작 방법은, 통신 모듈을 통해 외부 장치로부터 제1 시점에 전치 왜곡(predistortion)을 적용하여 렌더링 된 제1 이미지를 수신하는 단계, 상기 제1 시점과 구별되는 제2 시점에 상기 수신된 제1 이미지의 픽셀 별 픽셀 시프트(pixel shift)를 연산하는 단계, 상기 연산된 픽셀 시프트에 기초하여 상기 제1 이미지를 재투영(reprojection)한 제2 이미지를 생성하는 단계, 및 상기 생성된 제2 이미지를 상기 통신 모듈을 통해 상기 외부 장치로 전송하는 단계를 포함할 수 있다.
일 실시 예에서의 전자 장치는, 렌더러(renderer), 상기 렌더러를 통해 렌더링 된 이미지 데이터가 포함된 광을 방출하는 프로젝터, 상기 프로젝터로부터 방출된 광이 표시되는 렌즈 모듈 및 프로세서를 포함하고, 상기 프로세서는 상기 렌더러로부터 제1 시점에 전치 왜곡(pre-distortion)을 적용하여 렌더링 된 제1 이미지를 수신하고, 상기 제1 시점과 구별되는 제2 시점에 상기 수신된 제1 이미지의 픽셀 별 픽셀 시프트(pixel shift)를 연산하고, 상기 연산된 픽셀 시프트에 기초하여 상기 제1 이미지를 재투영(re-projection)하여 제2 이미지를 생성하고, 상기 생성된 제2 이미지에 대한 데이터를 상기 프로젝터로 전송하여 상기 프로젝터를 통해 상기 제2 이미지에 대한 데이터가 포함된 광을 상기 렌즈 모듈에 방출하도록 제어할 수 있다.
본 개시에 따른 다양한 실시 예에서의 전자 장치 및 방법은 렌더링 되는 시점에 전치 왜곡이 적용된 이미지를 입력으로 하여 타임 워핑을 수행함에 따라 이미지 지연을 최소화할 수 있다.
또한, 본 개시에 따른 다양한 실시 예에서의 전자 장치 및 방법은 렌더러로부터 전치 왜곡이 적용되어 데이터 크기가 감소된 이미지를 수신함에 따라, 최초 렌더링 된 이미지와 최종 출력 이미지를 비교하였을 때 종래에 데이터의 전달 효율성이 감소하는 것을 개선할 수 있다.
도 1은 일 실시 예에 따른 전자 장치의 구성 요소에 대한 블록도를 도시한다.
도 2는 일 실시 예에 따른 전자 장치가 이미지 지연을 보정하는 흐름도를 도시한다.
도 3은 일 실시 예에 따른 전자 장치의 구성 요소에 대한 블록도를 도시한다.
도 4는 일 실시 예에 따른 전자 장치가 시프트 연산을 수행하는 흐름도를 도시한다.
도 5는 일 실시 예에 따른 전자 장치의 구성 요소가 픽셀 시프트를 연산하는 방법을 설명하기 위한 예시도를 도시한다.
도 6a는 일 실시 예에 따른 전자 장치가 사용자의 제1 움직임에 따라 송수신하는 데이터를 설명하기 위한 예시도를 도시한다.
도 6b는 일 실시 예에 따른 전자 장치가 사용자의 제2 움직임에 따라 송수신하는 데이터를 설명하기 위한 예시도를 도시한다.
도 7은 일 실시 예에 따른 전자 장치가 스캔 라인 별로 픽셀 시프트를 연산하는 방법을 설명하기 위한 예시도를 도시한다.
도 8은 일 실시 예에 따른 전자 장치의 단면도를 도시한다.
도 9a는 일 실시 예에 따른 전자 장치의 연결 방식을 설명하기 위한 예시도를 도시한다.
도 9b는 다른 실시 예에 따른 전자 장치의 연결 방식을 설명하기 위한 예시도를 도시한다.
도 2는 일 실시 예에 따른 전자 장치가 이미지 지연을 보정하는 흐름도를 도시한다.
도 3은 일 실시 예에 따른 전자 장치의 구성 요소에 대한 블록도를 도시한다.
도 4는 일 실시 예에 따른 전자 장치가 시프트 연산을 수행하는 흐름도를 도시한다.
도 5는 일 실시 예에 따른 전자 장치의 구성 요소가 픽셀 시프트를 연산하는 방법을 설명하기 위한 예시도를 도시한다.
도 6a는 일 실시 예에 따른 전자 장치가 사용자의 제1 움직임에 따라 송수신하는 데이터를 설명하기 위한 예시도를 도시한다.
도 6b는 일 실시 예에 따른 전자 장치가 사용자의 제2 움직임에 따라 송수신하는 데이터를 설명하기 위한 예시도를 도시한다.
도 7은 일 실시 예에 따른 전자 장치가 스캔 라인 별로 픽셀 시프트를 연산하는 방법을 설명하기 위한 예시도를 도시한다.
도 8은 일 실시 예에 따른 전자 장치의 단면도를 도시한다.
도 9a는 일 실시 예에 따른 전자 장치의 연결 방식을 설명하기 위한 예시도를 도시한다.
도 9b는 다른 실시 예에 따른 전자 장치의 연결 방식을 설명하기 위한 예시도를 도시한다.
실시 예들에서 사용되는 용어는 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 명세서에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 명세서의 전반에 걸친 내용을 토대로 정의되어야 한다.
본 실시 예들에서 사용되는 "구성된다" 또는 "포함한다" 등의 용어는 명세서 상에 기재된 여러 구성 요소들, 또는 여러 단계들을 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성 요소들 또는 일부 단계들은 포함되지 않을 수도 있고, 또는 추가적인 구성 요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다.
본 실시 예들에서, 어떤 구성요소가 다른 구성요소와 "연결"되어 있다고 할 때, 이는 직접적으로 연결되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 전기적으로 연결되어 있는 경우도 포함할 수 있는 것으로 해석되어야 한다.
또한, 본 실시 예들에서 사용되는 "제 1" 또는 "제 2" 등과 같이 서수를 포함하는 용어는 다양한 구성 요소들을 설명하는데 사용할 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만 사용된다.
아래에서는 첨부한 도면을 참고하여 실시 예에 대하여 상세히 설명한다. 그러나 실시 예는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 예에 한정되지 않는다.
도 1은 일 실시 예에 따른 전자 장치의 구성 요소에 대한 블록도를 도시한다.
도 1을 참조하면, 전자 장치(100)는 프로세서(110) 및 통신 모듈(120)을 포함할 수 있다. 전자 장치(100)는 통신 모듈(120)을 통해 외부 장치(130)와 통신 연결될 수 있다. 예를 들어, 전자 장치(100)는 이미지 지연을 보정하는 장치일 수 있다. 외부 장치(130)는 그래픽 연산을 처리하는 장치일 수 있다. 외부 장치(130)는 그래픽 처리 유닛을 포함하는 그래픽 연산 장치를 포함할 수 있으며, GPU를 포함하는 전자 회로를 포함할 수 있다.
일 실시 예에서, 통신 모듈(120)은 전자 장치(100) 및 외부 장치(130) 간의 유선 또는 무선 통신 채널의 수립, 및 수립된 통신 채널을 통한 통신 수행을 지원할 수 있다. 일 실시 예에서, 통신 모듈(120)은 무선 통신 모듈(예: 셀룰러 통신 모듈, 근거리 무선 통신 모듈, GNSS(global navigation satellite system) 통신 모듈) 또는 유선 통신 모듈을 포함할 수 있다. 일 실시 예에서, 전자 장치(100)는 통신 모듈(120)을 이용하여 네트워크를 통해 외부 장치(130)와 통신할 수 있다. 예를 들어, 전자 장치(100)는 블루투스, WiFi direct 또는 IrDA(infrared data association)와 같은 근거리 통신 네트워크를 통해 외부 장치(130)와 통신할 수 있다. 다른 예를 들어, 전자 장치(100)는 셀룰러 네트워크, 인터넷, 또는 컴퓨터 네트워크(예: LAN 또는 WAN)와 같은 원거리 통신 네트워크를 통해 외부 장치(130)와 통신할 수 있다.
일 실시 예에서, 프로세서(110)는 그래픽 처리 유닛(graphic processing unit, GPU)을 포함할 수 있다. 예를 들어, 프로세서(110)는 통신 모듈(120)을 통해 연결된 외부 장치(130)로부터 수신되는 이미지에 대하여 그래픽 처리 연산을 수행할 수 있다. 일 실시 예에서, 프로세서(110)는 필드 프로그래머블 게이트 어레이(FPGA)를 포함하는 전자 회로의 일부 구성으로 포함될 수 있다.
일 실시 예에서, 프로세서(110)는 소프트웨어(예: 프로그램)를 구동하여 프로세서(110)에 연결된 전자 장치(100)의 적어도 하나의 다른 구성요소(예: 하드웨어 또는 소프트웨어 구성요소)를 제어할 수 있고, 다양한 데이터 처리 및 연산을 수행할 수 있다. 일 실시 예에서, 프로세서(110)는 다른 구성요소로부터 수신된 명령 또는 데이터를 휘발성 메모리에 로드하여 처리하고, 결과 데이터를 비휘발성 메모리에 저장할 수 있다.
일 실시 예에서, 프로세서(110)는 통신 모듈(120)을 통해 외부 장치(130)로부터 전치 왜곡(pre-distortion)이 적용되어 렌더링 된 입력 이미지를 수신할 수 있다. 예를 들어, 입력 이미지는 배럴 왜곡(barrel distortion) 방식으로 전치 왜곡이 적용되어 렌더링 된 이미지를 의미할 수 있다. 배럴 왜곡 방식은 이미지의 중앙부에서 직선 형태이나 가장자리 부분으로 갈수록 바깥으로 볼록하게 휘어지는 형태로 왜곡되는 방식이다.
일 실시 예에서, 프로세서(110)는 전치 왜곡이 적용되어 렌더링 된 입력 이미지의 픽셀 별 픽셀 시프트(pixel shift)를 연산하여, 재투영(re-projection)한 출력 이미지를 생성할 수 있다. 예를 들어, 재투영한 출력 이미지는 전치 왜곡된 입력 이미지에 대해 복수의 픽셀들의 좌표 변위(예: 이동 또는 회전에 의한 변위)가 반영되어 옮겨진 이미지를 의미할 수 있다.
도 2는 일 실시 예에 따른 전자 장치가 이미지 지연을 보정하는 흐름도를 도시한다.
도 2를 참조하면, 프로세서(예: 도 1의 프로세서(110))는 동작 201에서 외부 장치(예: 도 1의 외부 장치(130))로부터 제1 시점에 전치 왜곡을 적용하여 렌더링 된 제1 이미지를 수신할 수 있다. 예를 들어, 외부 장치(130)는 AR 글래스의 디스플레이 상에 가상의 오브젝트를 표시하기 위하여 렌더링 하는 렌더러(renderer)를 포함할 수 있다. 이때, 외부 장치(130)는 증강 현실(AR)과 관련된 어플리케이션의 실행을 통해 제어될 수 있다.
일 실시 예에서, 프로세서(110)는 외부 장치(130)로부터 제1 이미지를 수신하는 시점에, 상기 제1 이미지와 관련된 데이터를 수신할 수 있다. 예를 들어, 제1 이미지와 관련된 데이터는 외부 장치(130)에 의해 렌더링 된 제1 시점에 대한 데이터 및 제1 시점에서의 포즈 관련 데이터(예: Prender)를 포함할 수 있다.
일 실시 예에서, 전치 왜곡된 제1 이미지는 렌더링 시점에 기 설정된 왜곡보정률이 적용된 이미지일 수 있다. 이때, 기 설정된 왜곡보정률은 AR 글래스에 장착된 렌즈의 광학 특성에 기반하여 설정될 수 있다. 예를 들어, 기 설정된 왜곡보정률은 AR 글래스에 장착된 렌즈의 배율(magnification)에 따라 발생하게 될 왜곡(예: 핀쿠션 왜곡)의 정도를 보정하기 위하여 설정되는 반대 왜곡(예: 배럴 왜곡)의 정도를 의미할 수 있다.
일 실시 예에서, 전치 왜곡은 AR 글래스의 디스플레이에 발생하는 광학 왜곡(optics distortion)을 보정하기 위하여 적용될 수 있다. 예를 들어, 전치 왜곡이 적용되지 않은 이미지가 AR 글래스의 디스플레이(또는, 렌즈)에 출력되는 경우에, 상기 이미지는 핀쿠션 왜곡(pincushion distortion) 방식으로 왜곡되어 디스플레이에 출력될 수 있다.
일 실시 예에 따르면, 전자 장치(100)는 동작 203에서 제1 시점과 구별되는 제2 시점에 제1 이미지의 픽셀 별 픽셀 시프트(pixel shift)를 연산할 수 있다. 예를 들어, 픽셀 시프트는 상기 제1 시점부터 상기 제2 시점까지 제1 이미지의 특정 픽셀의 좌표 값이 시프트(shift)한 정도를 의미할 수 있다. 제1 이미지의 픽셀 별 픽셀 시프트를 연산하는 방법은 도 3 및 도 4에서 구체적으로 후술하고자 한다.
일 실시 예에 따르면, 전자 장치(100)는 동작 205에서 연산된 픽셀 시프트에 기초하여 제1 이미지를 재투영한 제2 이미지를 생성할 수 있다. 예를 들어, 재투영(reprojection)한 제2 이미지는 외부 장치(130)로부터 수신된 제1 이미지에 대해 상기 연산된 픽셀 시프트가 반영되어 보정된 출력 이미지를 의미할 수 있다.
일 실시 예에 따르면, 전자 장치(100)는 동작 207에서 제2 이미지를 외부 장치(130)로 전송할 수 있다. 예를 들어, 외부 장치(130)는 제2 이미지를 수신하여 AR 글래스의 디스플레이에 출력할 수 있다. 이때, 전치 왜곡(예: 배럴 왜곡)된 제1 이미지에 대해 광학 왜곡(예: 핀쿠션 왜곡)이 발생함에 따라 왜곡 수차가 보정될 수 있으므로, 상기 제2 이미지는 왜곡 수차가 없는 정상 이미지로 디스플레이에 출력될 수 있다.
도 3은 일 실시 예에 따른 전자 장치의 구성 요소에 대한 블록도를 도시한다.
도 3을 참조하면, 전자 장치(300)는 프로세서(310), 통신 모듈(320) 및 메모리(330)를 포함할 수 있다. 도 3의 프로세서(310) 및 통신 모듈(320)은 도 1의 프로세서(110) 및 통신 모듈(120)에 대응될 수 있으므로, 전술한 내용 중 중복되는 설명은 생략될 수 있다.
일 실시 예에서, 메모리(330)는 전자 장치(300)의 적어도 하나의 구성요소(예: 프로세서(310))에 의해 사용되는 다양한 데이터를 저장할 수 있다. 일 실시 예에서, 메모리(330)는 휘발성 메모리 또는 비휘발성 메모리를 포함할 수 있다.
일 실시 예에서, 메모리(330)는 적어도 하나 이상의 룩업 테이블(lookup table)을 저장할 수 있다. 일 실시 예에서, 메모리(330)는 전치 왜곡된 제1 이미지 및 상기 제1 이미지의 원본 이미지의 관계에 대한 데이터 값을 룩업 테이블의 형태로 저장할 수 있다. 예를 들어, 메모리(330)는 전치 왜곡된 제1 이미지의 픽셀 시프트를 상기 제1 이미지의 원본 이미지의 픽셀 시프트에 대하여 선형 근사(linear approximation)하여 획득된 복수의 데이터 값들을 룩업 테이블의 형태로 저장할 수 있다. 전치 왜곡된 제1 이미지의 픽셀 좌표가 [u', v']로 설정되고, 제1 이미지의 원본 이미지의 픽셀 좌표가 [u, v]로 설정되는 경우에, 프로세서(310)는 제1 이미지의 픽셀 시프트 [du', dv']에 대하여 수식 1을 통해 연산할 수 있다.
[수식 1]
또한, 프로세서(310)는 제1 이미지의 원본 이미지의 픽셀 시프트 [du, dv]에 대하여 수식 2를 통해 연산할 수 있다.
[수식 2]
일 실시 예에서, 메모리(330)는 수식 1에서 상수에 해당하는 데이터 값을 LUT 1의 형태로 저장하고, 수식 2에서 상수에 해당하는 데이터 값을 LUT 2의 형태로 저장할 수 있다. 예를 들어, 메모리(330)는 수식 1에서의 데이터 값들 중 상수(constant) 값인 du'/du, du'/dv, dv'/du 및 dv'/dv의 값을 LUT 1의 형태로 저장할 수 있다. 다른 예를 들어, 메모리(330)는 수식 2에서의 데이터 값들 중 상수인 u-cx 및 v-cy의 값을 LUT 2의 형태로 저장할 수 있다. 다만, 이는 일 예시에 불과할 뿐, 복수의 데이터가 메모리(330)에 저장되는 형태 또는 메모리(330)에 저장되는 데이터 종류는 이에 제한되지 아니한다.
일 실시 예에서, 프로세서(310)는 통신 모듈(320)을 통해 외부 장치(340)로부터 외부에 대한 영상 정보를 수신하여 포즈 변화량을 연산할 수 있다. 예를 들어, 프로세서(310)는 외부 장치(340)의 카메라 모듈을 통해 획득된 영상 정보를 외부 장치(340)로부터 수신할 수 있다. 프로세서(310)는 외부 장치(340)로부터 수신된 영상 정보에 기초하여 제1 시점부터 제2 시점까지의 포즈 변화량(또는, 6자유도(degree of freedom, DoF) 변화량)을 연산할 수 있다. 이때, 제1 시점은 외부 장치(340)에 의해 제1 이미지가 렌더링 된 시점을 의미하고, 제2 시점은 프로세서(310)에 의해 제1 이미지의 픽셀 별 픽셀 시프트가 연산되는 시점을 의미할 수 있다.
일 실시 예에서, 포즈 변화량은 복수의 파라미터 값에 따라 결정될 수 있다. 예를 들어, 포즈 변화량에 대한 복수의 파라미터는 dtx, dty, dtz, dθx, dθy 및 dθz을 포함할 수 있다. 상기 복수의 파라미터 중에서 dtx, dty, dtz는 제1 시점부터 제2 시점까지의 위치(position)에 대한 변위를 의미하고, dθx, dθy, dθz는 제1 시점부터 제2 시점까지의 회전(orientation)에 대한 변위를 의미할 수 있다.
일 실시 예에서, 프로세서(310)는 외부 장치(340)의 카메라 모듈을 통해 획득된 영상 정보에 대하여 SLAM 알고리즘(simultaneous localization and mapping algorithm)을 적용하여 포즈 변화량을 연산할 수 있다. 다른 실시 예에서, 프로세서(310)는 외부 장치(340)의 카메라 모듈을 통해 획득된 영상 정보 및 외부 장치(340)의 센서 모듈(예: IMU 센서)을 통해 획득된 데이터에 기초하여 포즈 변화량을 연산할 수도 있다.
일 실시 예에서, 프로세서(310)는 메모리(330)에 저장된 룩업 테이블의 데이터 값 및 연산된 포즈 변화량에 기초하여 제1 이미지의 픽셀 시프트인 [du', dv']를 연산할 수 있다. 예를 들어, 프로세서(310)는 메모리(330)에 저장된 데이터 값(예: u-cx, v-cy) 및 연산된 포즈 변화량(dtx, dty, dtz, dθx, dθy 및 dθz)을 상기 수식 2에 삽입하여 제1 이미지의 원본 이미지의 픽셀 시프트인 [du, dv]를 연산할 수 있다. 프로세서(310)는 메모리(330)에 저장된 데이터 값(예: du'/du, du'/dv, dv'/du, dv'/dv) 및 연산된 픽셀 시프트인 [du, dv]을 상기 수식 1에 삽입하여 제1 이미지의 픽셀 시프트인 [du', dv']를 연산할 수 있다.
도 4는 일 실시 예에 따른 전자 장치가 시프트 연산을 수행하는 흐름도를 도시한다. 도 4의 설명에 있어서, 전술한 내용과 대응되거나 동일 또는 유사한 내용은 생략될 수 있다.
도 4를 참조하면, 프로세서(예: 도 3의 프로세서(310))는 동작 401에서 메모리(예: 도 3의 메모리(330))로부터 룩업 테이블의 데이터 값을 수신할 수 있다. 일 실시 예에서, 프로세서(310)는 전치 왜곡된 제1 이미지의 원본 이미지에 대한 픽셀 시프트(예: [du, dv])에 기초하여 제1 이미지의 픽셀 시프트(예: [du', dv'])를 연산하기 위한 상수(constant) 값을 메모리(330)로부터 수신할 수 있다. 예를 들어, 프로세서(310)는 메모리(330)에 저장된 복수의 룩업 테이블 중에서 du'/du, du'/dv, dv'/du 및 dv'/dv의 값에 대한 LUT 1 및 u-cx 및 v-cy의 값에 대한 LUT 2를 수신할 수 있다.
일 실시 예에 따르면, 프로세서(310)는 동작 403에서 외부 장치(예: 도 3의 외부 장치(340))로부터 외부 영상 정보를 수신하여 제1 시점부터 제2 시점까지의 포즈 변화량을 연산할 수 있다. 예를 들어, 프로세서(310)는 수신된 외부 영상 정보에 기초하여 포즈 변화량에 대한 복수의 파라미터 (dtx, dty, dtz, dθx, dθy, dθz)의 값을 획득할 수 있다. 외부 장치(340)가 +x 방향으로 3mm 이동하고 +β 방향으로 8.1mrad 회전하는 경우에, 프로세서(310)는 포즈 변화량에 대한 복수의 파라미터에 대하여 (3mm, 0, 0, 0, 8.1mrad, 0)의 값을 획득할 수 있다.
일 실시 예에서, 프로세서(310)는 외부 장치(예: 도 3의 외부 장치(340))의 카메라 모듈을 통해 획득된 외부 영상 정보에 대하여 SLAM 알고리즘을 적용하여 포즈 변화량을 연산할 수 있다. 다른 실시 예에서, 프로세서(310)는 외부 장치(340)의 카메라 모듈을 통해 획득된 외부 영상 정보 및 외부 장치(340)의 센서 모듈(예: IMU 센서)을 통해 획득된 데이터를 통해 포즈 변화량을 연산할 수도 있다.
일 실시 예에 따르면, 프로세서(310)는 동작 405에서 룩업 테이블의 데이터 값 및 포즈 변화량에 기초하여 제1 이미지의 픽셀 별 픽셀 시프트를 연산할 수 있다. 예를 들어, 프로세서(310)는 LUT 1의 du'/du, du'/dv, dv'/du 및 dv'/dv의 값, LUT 2의 u-cx 및 v-cy의 값 및 포즈 변화량(예: dtx, dty, dtz, dθx, dθy, dθz의 값)을 상기 수식 1 및 수식 2에 삽입하여 연산할 수 있다. 이러한 연산을 통해 획득된 제1 이미지의 픽셀 시프트 [du', dv']를 연산할 수 있다.
도 5는 일 실시 예에 따른 전자 장치의 구성 요소가 픽셀 시프트를 연산하는 방법을 설명하기 위한 예시도를 도시한다.
도 5를 참조하면, 전자 장치(300)는 프로세서(310), 통신 모듈(320) 및 메모리(330)를 포함하고, 외부 장치(340)는 렌더러(342), 카메라 모듈(344) 및 센싱 모듈(346)을 포함할 수 있다. 다만, 도 5에서 전자 장치(300) 및 외부 장치(340)는 서로 물리적으로 분리되도록 도시되어 있으나, 전자 장치(300) 및 외부 장치(340) 간의 관계는 이에 제한되지 아니한다. 예를 들어, 전자 장치(300)가 이미지 지연을 보정하기 위한 하드웨어 구성요소(예: 칩)인 경우에, 전자 장치(300)는 외부 장치(340) 내에 포함될 수도 있다.
일 실시 예에서, 프로세서(310)는 통신 모듈(320)을 통해서 외부 장치(340)로부터 제1 이미지(312)를 수신할 수 있다. 제1 이미지(312)는 렌더러(342)에 의해 제1 시점에 전치 왜곡을 적용하여 렌더링 된 이미지를 의미할 수 있다. 예를 들어, 제1 이미지(312)는 렌더러(342)에 의해 제1 시점에 렌더링이 수행됨과 동시에 기 설정된 왜곡보정률이 적용된 이미지일 수 있다.
일 실시 예에서, 렌더러(342)는 제1 시점에 전치 왜곡을 적용하여 렌더링한 제1 이미지(312)를 전자 장치(300)로 전송하면서, 렌더링한 시점인 제1 시점에 대한 데이터 및 제1 시점에서의 포즈 관련 데이터(예: Prender)를 함께 전송할 수 있다.
일 실시 예에서, 프로세서(310)는 외부 장치(340)로부터 외부에 대한 영상 정보를 수신할 수 있다. 예를 들어, 프로세서(310)는 외부 장치(340)의 카메라 모듈(344)을 통해 획득된 주변 환경에 대한 영상 정보를 수신할 수 있다. 일 실시 예에서, 프로세서(310)는 외부에 대한 영상 정보에 기초하여 포즈 변화량을 연산할 수 있다. 예를 들어, 프로세서(310)는 SLAM 알고리즘을 통해서, 외부에 대한 영상 정보에 대한 특징점(feature point)을 추출하고, 상기 추출된 특징점에 기초하여 제2 시점에서의 포즈 관련 데이터(예: Platest)를 획득할 수 있다. 프로세서(310)는 제1 시점 및 제2 시점에서의 포즈 관련 데이터에 기초하여 포즈 변화량을 연산할 수 있다.
일 실시 예에서, 프로세서(310)는 외부 장치(340)로부터 센싱 데이터를 수신할 수도 있다. 예를 들어, 프로세서(310)는 센싱 모듈(346)(예: IMU 센서)을 통해 획득된 센싱 데이터를 수신할 수 있다. 일 실시 예에서, 프로세서(310)는 외부에 대한 영상 정보 및 센싱 데이터에 기초하여 제2 시점에서의 포즈 관련 데이터(예: Platest)를 획득할 수 있다. 프로세서(310)는 제1 시점 및 제2 시점에서의 포즈 관련 데이터에 기초하여 포즈 변화량을 연산할 수 있다.
일 실시 예에서, 프로세서(310)는 메모리(330)로부터 수신된 룩업 테이블(예: LUT 1, LUT 2)의 데이터 값 및 포즈 변화량에 기초하여 제1 이미지(312)의 픽셀 별 픽셀 시프트를 연산(316)할 수 있다. 제1 이미지(312)의 픽셀 별 픽셀 시프트는 렌더러(342)에 의해 제1 이미지가 렌더링 된 제1 시점부터 픽셀 시프트를 연산하는 제2 시점까지의 시프트 값을 의미할 수 있다.
일 실시 예에서, 프로세서(310)는 제1 이미지의 픽셀 시프트에 기초하여 제1 이미지(312)를 재투영한 제2 이미지(314)를 생성할 수 있다. 예를 들어, 재투영한 제2 이미지(314)는 전치 왜곡이 적용된 상태의 이미지에 대해 제1 시점부터 제2 시점까지의 픽셀 시프트가 반영되어 보정된 이미지를 의미할 수 있다. 일 실시 예에서, 프로세서(310)는 통신 모듈(320)을 통해서 외부 장치(340)로 제2 이미지(314)를 전송할 수 있다.
도 6a는 일 실시 예에 따른 전자 장치가 사용자의 제1 움직임에 따라 송수신하는 데이터를 설명하기 위한 예시도를 도시한다. 도 6b는 일 실시 예에 따른 전자 장치가 사용자의 제2 움직임에 따라 송수신하는 데이터를 설명하기 위한 예시도를 도시한다.
도 6a를 참조하면, AR 글래스(605a)를 착용한 사용자(600a)에 의해 AR 글래스(605a)에 위치 및 회전에 대한 변위가 발생하는 경우에, 프로세서(310)는 렌더러(342)로부터 전치 왜곡된 제1 이미지 및 깊이 이미지(630)를 수신할 수 있다. 예를 들어, 사용자(600a)가 +x 방향으로 이동(610)하고 +β 방향으로 회전(620)하는 경우에, 프로세서(310)는 렌더러(342)로부터 전치 왜곡된 제1 이미지 및 상기 제1 이미지에 대응되는 깊이 이미지를 수신할 수 있다.
일 실시 예에서, 렌더러(342)로부터 전치 왜곡된 제1 이미지 및 깊이 이미지(630)를 수신하는 경우에, 프로세서(310)는 제1 이미지 및 깊이 이미지에 기초하여 제1 이미지의 픽셀 별 픽셀 시프트를 연산할 수 있다.
일 실시 예에서, 프로세서(310)는 제1 이미지 및 깊이 이미지에 기초하여 연산된 픽셀 시프트에 기초하여 제2 이미지를 생성할 수 있다. 이때, 프로세서(310)는 제2 이미지의 복수의 픽셀들 중 어느 하나의 픽셀에서 복수의 깊이 값들이 검출되는 경우에, 복수의 깊이 값들 중 가장 작은 깊이 값을 상기 픽셀의 깊이 값으로 판단할 수 있다. 예를 들어, 제2 이미지는 사용자로부터의 거리가 상이한 복수의 객체(예: 사용자로부터 가까운 곳에 '책상' 객체, 먼 곳에 '의자' 객체)를 포함하는 3차원 이미지일 수 있다. 이때, 프로세서(310)는 제2 이미지의 특정 픽셀에서 복수의 객체 각각의 깊이 값들(예: '책상' 객체에 대응되는 깊이 값 및 '의자' 객체에 대응되는 깊이 값)을 검출할 수 있다. 프로세서(310)는 특정 픽셀에 대하여, 복수의 객체 각각의 깊이 값들을 비교한 후에 가장 작은 깊이 값을 상기 픽셀의 깊이 값으로 판단할 수 있다. 즉, 프로세서(310)는 사용자(600a)로부터 가까운 곳에 위치하는 '책상' 객체의 깊이 값이 먼 곳에 위치하는 '의자' 객체의 깊이 값보다 작으므로, '책상' 객체의 깊이 값을 특정 픽셀의 깊이 값으로 판단할 수 있다.
일 실시 예에서, 프로세서(310)는 제2 이미지의 복수의 픽셀들 중 제1 픽셀의 픽셀 값이 0인 경우에, 제1 픽셀에 인접하게 배치되는 제2 픽셀의 픽셀 값을 제1 픽셀에 삽입할 수 있다. 예를 들어, 제1 이미지를 재투영(reprojection)하는 과정에서 특정 픽셀에 대한 픽셀 값이 누락될 수 있다. 픽셀 값이 누락된 특정 픽셀에 대하여, 프로세서(310)는 인접하게 배치되는 픽셀의 픽셀 값을 삽입할 수 있다.
도 6a는 사용자(600a)에 의해 AR 글래스(605a)에 위치 및 회전에 대한 변위가 발생하는 경우에 렌더러(342)로부터 깊이 이미지가 수신되는 실시 예만을 도시하고 있으나, 이에 제한되지 아니한다. 다른 실시 예에서, AR 글래스(605a)를 착용한 사용자(600a)에 의해 위치 및 회전에 대한 변위가 발생하는 경우에, 프로세서(310)는 렌더러(342)로부터 전치 왜곡된 제1 이미지 및 깊이 이미지의 대표 깊이 값을 수신할 수도 있다. 즉, 렌더러(342)로부터 전치 왜곡된 제1 이미지 및 깊이 이미지의 대표 깊이 값을 수신하는 경우에, 프로세서(310)는 제1 이미지 및 대표 깊이 값에 기초하여 제1 이미지의 픽셀 별 픽셀 시프트를 연산할 수도 있다.
도 6b를 참조하면, AR 글래스(605b)를 착용한 사용자(600b)에 의해 AR 글래스(605a)에 회전에 대한 변위만이 발생하는 경우에, 프로세서(310)는 렌더러(342)로부터 전치 왜곡된 제1 이미지(650)만을 수신할 수 있다. 예를 들어, 사용자(600b)가 +β 방향으로 회전(620)하는 경우에, 프로세서(310)는 렌더러(342)로부터 전치 왜곡된 제1 이미지만을 수신할 수 있다.
일 실시 예에서, 렌더러(342)로부터 전치 왜곡된 제1 이미지(650)만을 수신하는 경우에, 프로세서(310)는 제1 이미지에 기초하여 제1 이미지의 픽셀 별 픽셀 시프트를 연산할 수 있다.
AR 글래스를 착용한 사용자에 의해 위치에 대한 변위가 발생하지 않는 경우에, 포즈 변화량에 대한 복수의 파라미터인 dtx, dty, dtz, dθx, dθy 및 dθz 중에서 위치에 대한 변위에 해당하는 dtx, dty 및 dtz의 값은 0이 될 수 있다. dtx, dty 및 dtz의 값이 0이 되면, 프로세서(310)는 상기 수식 2의 행렬 곱(matrix multiplication)에서 깊이 값(Pz)에 대한 별도의 데이터를 수신할 필요가 없다. 따라서, AR 글래스에서 회전에 대한 변위만이 발생하는 경우에, 프로세서(310)는 렌더러(342)로부터 전치 왜곡된 제1 이미지만을 수신할 수 있다.
도 7은 일 실시 예에 따른 전자 장치가 스캔 라인 별로 픽셀 시프트를 연산하는 방법을 설명하기 위한 예시도를 도시한다.
도 7을 참조하면, 프로세서(예: 도 3의 프로세서(310))는 입력 이미지(700), 복수의 룩업 테이블(710) 및 파라미터(720)를 통해 출력 이미지를 생성하여 출력 버퍼(730)에 저장할 수 있다.
일 실시 예에서, 프로세서(310)는 외부 장치(예: 도 3의 외부 장치(340))로부터 수신된 입력 이미지(700)에 대해 스캔 라인(scanline) 별 이미지 데이터를 획득할 수 있다. 예를 들어, 입력 이미지(700)는 복수의 행과 열의 형태를 갖는 복수의 픽셀들로 구성될 수 있다. 프로세서(310)는 입력 이미지(700)에서 개별 행(row)을 라인(line)으로 설정하고, 스캔 라인 별로 이미지 데이터를 획득할 수 있다.
일 실시 예에서, 프로세서(310)는 상기 스캔 라인 별 이미지 데이터에 대응되는 데이터 값을 획득하기 위하여, 메모리(예: 도 3의 메모리(330))로부터 복수의 룩업 테이블(710)을 수신할 수 있다. 일 실시 예에서, 프로세서(310)는 수신된 복수의 룩업 테이블(710)의 데이터 값과 파라미터(720)에 기초하여 시프트 연산(shift calculation)을 수행할 수 있다. 이때, 시프트 연산은 입력 이미지(700)의 스캔 라인 내 픽셀 시프트에 대한 연산을 의미할 수 있다. 일 실시 예에서, 파라미터(720)는 사용자의 움직임에 의한 파라미터(예: dtx, dty, dtz, dθx, dθy 및 dθz) 및 렌즈의 고유 특성에 대한 파라미터(예: fu, fv, 1/d)를 포함할 수 있다.
일 실시 예에서, 프로세서(310)는 시프트 연산(예: 수식 2)을 수행하여 전치 왜곡된 입력 이미지(700)의 픽셀 시프트 [du', dv']를 획득할 수 있다. 일 실시 예에서, 프로세서(310)는 스캔 라인 별 획득된 이미지 데이터에 대하여 픽셀 시프트 [du', dv']를 적용할 수 있다. 일 실시 예에서, 프로세서(310)는 입력 이미지(700)의 픽셀 시프트 [du', dv']에 기초하여 목표 지점(target address)의 픽셀 값을 등록(registration)할 수 있다.
일 실시 예에서, 프로세서(310)는 스캔 라인을 순차적으로 연산하여 복수의 목표 지점에 대해 픽셀 값을 등록함에 따라 출력 이미지를 생성할 수 있다. 일 실시 예에서, 프로세서(310)는 생성된 출력 이미지를 출력 버퍼(730)에 저장하고, 개별 행 별로 스캔하여 프로젝터(740)로 전송할 수 있다.
도 8은 다른 실시 예에 따른 전자 장치의 단면도를 도시한다.
도 8을 참조하면, 전자 장치(800)는 프로세서(310), 메모리(330), 렌더러(342), 프로젝터(830), 렌즈 모듈(840), 빔 스플리터(beam splitter)(850), 거울(852) 및 카메라(860)를 포함할 수 있다. 이때, 전자 장치(800)는 도 3의 전자 장치(300)가 포함되는 AR 글래스에 해당할 수 있다. 따라서, 도 8의 설명에 있어서 전술한 내용과 대응되거나 동일 또는 유사한 내용은 생략될 수 있다.
일 실시 예에서, 프로세서(310)는 메모리(330)로부터 수신된 룩업 테이블의 데이터 값과 카메라(860)를 통해 획득된 영상 정보에 기초하여 연산된 포즈 변화량에 기초하여 출력 이미지(예: 도 5의 제2 이미지(314))를 생성할 수 있다. 일 실시 예에서, 프로세서(310)는 출력 이미지(314)에 대한 데이터를 프로젝터(830)로 전송할 수 있다. 예를 들어, 프로세서(310)는 전치 왜곡된 입력 이미지(예: 도 5의 제1 이미지(312))에 대해 이미지 지연이 보정된 출력 이미지(314)를 생성하고, 출력 이미지(314)에 대한 데이터를 프로젝터(830)에 전송할 수 있다.
일 실시 예에서, 프로젝터(830)는 출력 이미지(314)에 대한 데이터가 포함된 광을 렌즈 모듈(840)에 대해 방출할 수 있다. 예를 들어, 프로세서(310)는 프로젝터(830)를 통해 출력 이미지(314)에 대한 데이터가 포함된 광이 렌즈 모듈(840)에 방출되도록 제어할 수 있다. 이때, 프로젝터(830)로부터 방출된 광은 빔 스플리터(850) 및 거울(852)에 의해 반사되어 렌즈 모듈(840)에 도달할 수 있다.
일 실시 예에서, 사용자가 전자 장치(800)를 착용함에 따라, 렌즈 모듈(840)은 사용자 눈으로부터 일정 거리(예: 5cm)만큼 이격되어 위치할 수 있다. 또한, 렌즈 모듈(840)은 출력 이미지에 대한 데이터가 포함된 광이 표시됨에 따라, 사용자에게 가상 화면(870)을 제공할 수 있다. 가상 화면(870)에는 렌즈 모듈(840)의 광학 특성에 따라 발생하게 될 왜곡(예: 핀쿠션 왜곡)이 보정됨에 따라 왜곡 수차가 없는 정상 이미지가 표시될 수 있다.
도 9a는 일 실시 예에 따른 전자 장치의 연결 방식을 설명하기 위한 예시도를 도시한다. 도 9b는 다른 실시 예에 따른 전자 장치의 연결 방식을 설명하기 위한 예시도를 도시한다.
도 9a를 참조하면, 전자 장치(예: 도 3의 전자 장치(300)) 및 렌더러(예: 도 5의 렌더러(342))는 AR 글래스(900)와 일체로 결합되어 구성될 수 있다. 예를 들어, 전자 장치(300) 및 렌더러(342)는 AR 글래스(900)의 적어도 일부 영역에 전자 회로의 형태로 부착되거나 적어도 일부 영역에 내장되어 결합될 수 있다. 일 실시 예에서, 전자 장치(300)는 타임워핑 프로세싱 유닛(timewarping processing unit)(910)을 포함하고, 렌더러(342)는 GPU(911)를 포함할 수 있다.
일 실시 예에서, 렌더러(342)는 AR 글래스(900)의 프로세서와 전기적 및/또는 물리적으로 가까운 위치에서 연결되어 그래픽과 관련된 연산을 빠르게 처리할 수 있다. 그래픽과 관련된 연산은 AR 글래스(900)를 통해 촬영되는 이미지에 대한 픽셀 당 처리, AR 글래스(900) 및/또는 사용자의 움직임과 관련된 그래픽 처리 또는 방향 및 움직임에 따른 이미지 처리를 포함할 수 있다.
도 9b를 참조하면, 전자 장치(300)는 AR 글래스(900)와 일체로 결합되어 구성되고, 렌더러(342)는 AR 글래스(900)와 통신 모듈을 통해 통신 연결될 수 있다. 예를 들어, 렌더러(342)는 테더드 방식으로 Host(920)에 장착되거나 내장되어 그래픽 연산을 처리할 수 있다.
일 실시 예에서, 렌더러(342)는 AR 글래스(900)와 일체로 결합되지 않고 그래픽과 관련된 연산을 처리할 수 있다. 예를 들어, 렌더러(342)는 AR 글래스(900)를 통해 수신한 이미지를 렌더링하고 렌더링 결과를 AR 글래스(900)로 전송할 수 있다. 렌더러(342)는 GPU(예: 도 9a의 GPU(911))를 이용하여 그래픽 연산을 처리할 수 있고, AR 글래스(900)에 포함될 수 있는 전자 장치(300)는 타임워핑 프로세싱 유닛(910)을 통해 타임워핑을 처리할 수 있다.
일 실시 예에서, 전자 장치는 통신 모듈 및 프로세서를 포함하고, 프로세서는 통신 모듈을 통해 외부 장치로부터 제1 시점에 전치 왜곡(pre-distortion)을 적용하여 렌더링 된 제1 이미지를 수신하고, 제1 시점과 구별되는 제2 시점에 수신된 제1 이미지의 픽셀 별 픽셀 시프트(pixel shift)를 연산하고, 연산된 픽셀 시프트에 기초하여 제1 이미지를 재투영(reprojection)한 제2 이미지를 생성하고, 생성된 제2 이미지를 통신 모듈을 통해 외부 장치로 전송할 수 있다.
일 실시 예에서, 전자 장치는 적어도 하나 이상의 룩업 테이블을 저장하는 메모리를 더 포함하고, 프로세서는 메모리로부터 룩업 테이블의 데이터 값을 수신하고, 외부 장치로부터 외부에 대한 영상 정보를 수신하여 제1 시점부터 제2 시점까지의 포즈 변화량을 연산하고, 룩업 테이블의 데이터 값 및 포즈 변화량에 기초하여 제1 이미지의 픽셀 별 픽셀 시프트를 연산할 수 있다.
일 실시 예에서, 메모리는 제1 이미지의 픽셀 시프트를 제1 이미지의 원본 이미지의 픽셀 시프트에 대하여 선형 근사(linear approximation)한 복수의 데이터 값들을 룩업 테이블로 저장할 수 있다.
일 실시 예에서, 프로세서는 수신된 제1 이미지에 대해 스캔 라인(scanline) 별 이미지 데이터를 획득하고, 메모리로부터 스캔 라인에 대응되는 룩업 테이블의 데이터 값을 수신하고, 스캔 라인에 대응되는 룩업 테이블의 데이터 값 및 포즈 변화량에 기초하여 스캔 라인 내 픽셀 시프트를 연산할 수 있다.
일 실시 예에서, 프로세서는 외부 장치로부터 제1 이미지에 대응되는 깊이 이미지(depth image)를 수신하고, 제1 이미지 및 깊이 이미지에 기초하여 제1 이미지의 픽셀 별 픽셀 시프트를 연산할 수 있다.
일 실시 예에서, 프로세서는 제2 이미지의 복수의 픽셀들 중 어느 하나의 픽셀에서 복수의 깊이 값들이 검출되는 경우에, 복수의 깊이 값들 중 가장 작은 깊이 값을 픽셀의 깊이 값으로 판단할 수 있다.
일 실시 예에서, 프로세서는 외부 장치로부터 제1 이미지에 대응되는 깊이 이미지의 대표 깊이 값을 수신하고, 제1 이미지 및 대표 깊이 값에 기초하여 제1 이미지의 픽셀 별 픽셀 시프트를 연산할 수 있다.
일 실시 예에서, 프로세서는 제2 이미지의 복수의 픽셀들 중에서 제1 픽셀의 픽셀 값이 0인 경우에, 제1 픽셀에 인접하게 배치되는 제2 픽셀의 픽셀 값을 제1 픽셀에 삽입하여 외부 장치로 전송할 수 있다.
일 실시 예에서, 전자 장치의 동작 방법은 통신 모듈을 통해 외부 장치로부터 제1 시점에 전치 왜곡(predistortion)을 적용하여 렌더링 된 제1 이미지를 수신하는 단계, 제1 시점과 구별되는 제2 시점에 수신된 제1 이미지의 픽셀 별 픽셀 시프트(pixel shift)를 연산하는 단계, 연산된 픽셀 시프트에 기초하여 제1 이미지를 재투영(reprojection)한 제2 이미지를 생성하는 단계, 및 생성된 제2 이미지를 통신 모듈을 통해 외부 장치로 전송하는 단계를 포함할 수 있다.
일 실시 예에서, 전자 장치의 동작 방법은 메모리로부터 룩업 테이블의 데이터 값을 수신하는 단계, 외부 장치로부터 외부에 대한 영상 정보를 수신하여 제1 시점부터 제2 시점까지의 포즈 변화량을 연산하는 단계, 및 룩업 테이블의 데이터 값 및 포즈 변화량에 기초하여 제1 이미지의 픽셀 별 픽셀 시프트를 연산하는 단계를 포함할 수 있다.
일 실시 예에서, 전자 장치의 동작 방법은 수신된 제1 이미지에 대해 스캔 라인(scanline) 별 이미지 데이터를 획득하는 단계, 메모리로부터 스캔 라인에 대응되는 룩업 테이블의 데이터 값을 수신하는 단계, 및 스캔 라인에 대응되는 룩업 테이블의 데이터 값 및 포즈 변화량에 기초하여 스캔 라인 내 픽셀 시프트를 연산하는 단계를 포함할 수 있다.
일 실시 예에서, 전자 장치의 동작 방법은 외부 장치로부터 제1 이미지에 대응되는 깊이 이미지(depth image)를 수신하는 단계, 및 제1 이미지 및 깊이 이미지에 기초하여 제1 이미지의 픽셀 별 픽셀 시프트를 연산하는 단계를 포함할 수 있다.
일 실시 예에서, 전자 장치의 동작 방법은 제2 이미지의 복수의 픽셀들 중 어느 하나의 픽셀에서 복수의 깊이 값들이 검출되는 경우에 복수의 깊이 값들 중 가장 작은 깊이 값을 픽셀의 깊이 값으로 판단하는 단계를 포함할 수 있다.
일 실시 예에서, 전자 장치의 동작 방법은 외부 장치로부터 제1 이미지에 대응되는 깊이 이미지의 대표 깊이 값을 수신하는 단계, 및 제1 이미지 및 대표 깊이 값에 기초하여 제1 이미지의 픽셀 별 픽셀 시프트를 연산하는 단계를 포함할 수 있다.
일 실시 예에서, 전자 장치의 동작 방법은 제2 이미지의 복수의 픽셀들 중에서 제1 픽셀의 픽셀 값이 0인 경우에, 제1 픽셀에 인접하게 배치되는 제2 픽셀의 픽셀 값을 제1 픽셀에 삽입하여 외부 장치로 전송하는 단계를 포함할 수 있다.
일 실시 예에서, 전자 장치는 렌더러(renderer), 렌더러를 통해 렌더링 된 이미지 데이터가 포함된 광을 방출하는 프로젝터, 프로젝터로부터 방출된 광이 표시되는 렌즈 모듈, 및 프로세서를 포함하고, 프로세서는 렌더러로부터 제1 시점에 전치 왜곡(predistortion)을 적용하여 렌더링 된 제1 이미지를 수신하고, 제1 시점과 구별되는 제2 시점에 수신된 제1 이미지의 픽셀 별 픽셀 시프트(pixel shift)를 연산하고, 연산된 픽셀 시프트에 기초하여 제1 이미지를 재투영(reprojection)하여 제2 이미지를 생성하고, 생성된 제2 이미지에 대한 데이터를 프로젝터로 전송하여 프로젝터를 통해 제2 이미지에 대한 데이터가 포함된 광을 렌즈 모듈에 방출하도록 제어할 수 있다.
일 실시 예에서, 전자 장치는 외부에 대한 영상 정보를 획득하는 카메라, 및 적어도 하나 이상의 룩업 테이블을 저장하는 메모리를 더 포함하고, 프로세서는 메모리로부터 룩업 테이블의 데이터 값을 수신하고, 카메라를 통해 획득된 영상 정보를 수신하여 제1 시점부터 제2 시점까지의 포즈 변화량을 연산하고, 룩업 테이블의 데이터 값 및 포즈 변화량에 기초하여 제1 이미지의 픽셀 별 픽셀 시프트를 연산할 수 있다.
일 실시 예에서, 메모리는 제1 이미지의 픽셀 시프트를 제1 이미지의 원본 이미지의 픽셀 시프트에 대하여 선형 근사(linear approximation)한 복수의 데이터 값들을 룩업 테이블로 저장할 수 있다.
일 실시 예에서, 프로세서는 렌더러로부터 제1 이미지에 대응되는 깊이 이미지(depth image)를 수신하고, 제1 이미지 및 깊이 이미지에 기초하여 제1 이미지의 픽셀 별 픽셀 시프트를 연산할 수 있다.
일 실시 예에서, 프로세서는 렌더러로부터 제1 이미지에 대응되는 깊이 이미지의 대표 깊이 값을 수신하고, 제1 이미지 및 대표 깊이 값에 기초하여 제1 이미지의 픽셀 별 픽셀 시프트를 연산할 수 있다.
본 실시 예와 관련된 기술 분야에서 통상의 지식을 가진 자는 상기된 기재의 본질적인 특성에서 벗어나지 않는 범위에서 실시 예가 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시 예는 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 권리 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 실시 예에 포함된 것으로 해석되어야 할 것이다.
Claims (20)
- 전자 장치에 있어서,
통신 모듈; 및
프로세서를 포함하고,
상기 프로세서는,
상기 통신 모듈을 통해 외부 장치로부터 제1 시점에 전치 왜곡(pre-distortion)을 적용하여 렌더링 된 제1 이미지를 수신하고,
상기 제1 시점과 구별되는 제2 시점에 상기 수신된 제1 이미지의 픽셀 별 픽셀 시프트(pixel shift)를 연산하고,
상기 연산된 픽셀 시프트에 기초하여 상기 제1 이미지를 재투영(reprojection)한 제2 이미지를 생성하고,
상기 생성된 제2 이미지를 상기 통신 모듈을 통해 상기 외부 장치로 전송하는, 장치. - 제1항에 있어서,
적어도 하나 이상의 룩업 테이블을 저장하는 메모리를 더 포함하고,
상기 프로세서는,
상기 메모리로부터 상기 룩업 테이블의 데이터 값을 수신하고,
상기 외부 장치로부터 외부에 대한 영상 정보를 수신하여 상기 제1 시점부터 상기 제2 시점까지의 포즈 변화량을 연산하고,
상기 룩업 테이블의 데이터 값 및 상기 포즈 변화량에 기초하여 상기 제1 이미지의 픽셀 별 픽셀 시프트를 연산하는, 장치. - 제2항에 있어서,
상기 메모리는,
상기 제1 이미지의 픽셀 시프트를 상기 제1 이미지의 원본 이미지의 픽셀 시프트에 대하여 선형 근사(linear approximation)한 복수의 데이터 값들을 상기 룩업 테이블로 저장하는, 장치. - 제2항에 있어서,
상기 프로세서는,
상기 수신된 제1 이미지에 대해 스캔 라인(scanline) 별 이미지 데이터를 획득하고,
상기 메모리로부터 상기 스캔 라인에 대응되는 상기 룩업 테이블의 데이터 값을 수신하고,
상기 스캔 라인에 대응되는 상기 룩업 테이블의 데이터 값 및 상기 포즈 변화량에 기초하여 상기 스캔 라인 내 픽셀 시프트를 연산하는, 장치. - 제1항에 있어서,
상기 프로세서는,
상기 외부 장치로부터 상기 제1 이미지에 대응되는 깊이 이미지(depth image)를 수신하고,
상기 제1 이미지 및 상기 깊이 이미지에 기초하여, 상기 제1 이미지의 픽셀 별 픽셀 시프트를 연산하는, 장치. - 제5항에 있어서,
상기 프로세서는,
상기 제2 이미지의 복수의 픽셀들 중 어느 하나의 픽셀에서 복수의 깊이 값들이 검출되는 경우에, 상기 복수의 깊이 값들 중 가장 작은 깊이 값을 상기 픽셀의 깊이 값으로 판단하는, 장치. - 제1항에 있어서,
상기 프로세서는,
상기 외부 장치로부터 상기 제1 이미지에 대응되는 깊이 이미지의 대표 깊이 값을 수신하고,
상기 제1 이미지 및 상기 대표 깊이 값에 기초하여, 상기 제1 이미지의 픽셀 별 픽셀 시프트를 연산하는, 장치. - 제1항에 있어서,
상기 프로세서는,
상기 제2 이미지의 복수의 픽셀들 중에서 제1 픽셀의 픽셀 값이 0인 경우에, 상기 제1 픽셀에 인접하게 배치되는 제2 픽셀의 픽셀 값을 상기 제1 픽셀에 삽입하여 상기 외부 장치로 전송하는, 장치. - 전자 장치의 동작 방법에 있어서,
통신 모듈을 통해 외부 장치로부터 제1 시점에 전치 왜곡(pre-distortion)을 적용하여 렌더링 된 제1 이미지를 수신하는 단계;
상기 제1 시점과 구별되는 제2 시점에 상기 수신된 제1 이미지의 픽셀 별 픽셀 시프트(pixel shift)를 연산하는 단계;
상기 연산된 픽셀 시프트에 기초하여 상기 제1 이미지를 재투영(reprojection)한 제2 이미지를 생성하는 단계; 및
상기 생성된 제2 이미지를 상기 통신 모듈을 통해 상기 외부 장치로 전송하는 단계를 포함하는, 방법. - 제9항에 있어서,
메모리로부터 룩업 테이블의 데이터 값을 수신하는 단계;
상기 외부 장치로부터 외부에 대한 영상 정보를 수신하여 상기 제1 시점부터 상기 제2 시점까지의 포즈 변화량을 연산하는 단계; 및
상기 룩업 테이블의 데이터 값 및 상기 포즈 변화량에 기초하여 상기 제1 이미지의 픽셀 별 픽셀 시프트를 연산하는 단계를 포함하는, 방법. - 제10항에 있어서,
상기 수신된 제1 이미지에 대해 스캔 라인(scanline) 별 이미지 데이터를 획득하는 단계;
상기 메모리로부터 상기 스캔 라인에 대응되는 상기 룩업 테이블의 데이터 값을 수신하는 단계; 및
상기 스캔 라인에 대응되는 상기 룩업 테이블의 데이터 값 및 상기 포즈 변화량에 기초하여 상기 스캔 라인 내 픽셀 시프트를 연산하는 단계를 포함하는, 방법. - 제9항에 있어서,
상기 외부 장치로부터 상기 제1 이미지에 대응되는 깊이 이미지(depth image)를 수신하는 단계; 및
상기 제1 이미지 및 상기 깊이 이미지에 기초하여, 상기 제1 이미지의 픽셀 별 픽셀 시프트를 연산하는 단계를 포함하는, 방법. - 제12항에 있어서,
상기 제2 이미지의 복수의 픽셀들 중 어느 하나의 픽셀에서 복수의 깊이 값들이 검출되는 경우에, 상기 복수의 깊이 값들 중 가장 작은 깊이 값을 상기 픽셀의 깊이 값으로 판단하는 단계를 포함하는, 방법. - 제9항에 있어서,
상기 외부 장치로부터 상기 제1 이미지에 대응되는 깊이 이미지의 대표 깊이 값을 수신하는 단계; 및
상기 제1 이미지 및 상기 대표 깊이 값에 기초하여, 상기 제1 이미지의 픽셀 별 픽셀 시프트를 연산하는 단계를 포함하는, 방법. - 제9항에 있어서,
상기 제2 이미지의 복수의 픽셀들 중에서 제1 픽셀의 픽셀 값이 0인 경우에, 상기 제1 픽셀에 인접하게 배치되는 제2 픽셀의 픽셀 값을 상기 제1 픽셀에 삽입하여 상기 외부 장치로 전송하는 단계를 포함하는, 방법. - 전자 장치에 있어서,
렌더러(renderer);
상기 렌더러를 통해 렌더링 된 이미지 데이터가 포함된 광을 방출하는 프로젝터;
상기 프로젝터로부터 방출된 광이 표시되는 렌즈 모듈; 및
프로세서를 포함하고,
상기 프로세서는,
상기 렌더러로부터 제1 시점에 전치 왜곡(pre-distortion)을 적용하여 렌더링 된 제1 이미지를 수신하고,
상기 제1 시점과 구별되는 제2 시점에 상기 수신된 제1 이미지의 픽셀 별 픽셀 시프트(pixel shift)를 연산하고,
상기 연산된 픽셀 시프트에 기초하여 상기 제1 이미지를 재투영(reprojection)하여 제2 이미지를 생성하고,
상기 생성된 제2 이미지에 대한 데이터를 상기 프로젝터로 전송하여, 상기 프로젝터를 통해 상기 제2 이미지에 대한 데이터가 포함된 광이 상기 렌즈 모듈에 방출되도록 제어하는, 장치. - 제16항에 있어서,
외부에 대한 영상 정보를 획득하는 카메라; 및
적어도 하나 이상의 룩업 테이블을 저장하는 메모리를 더 포함하고,
상기 프로세서는,
상기 메모리로부터 상기 룩업 테이블의 데이터 값을 수신하고,
상기 카메라를 통해 획득된 상기 영상 정보를 수신하여 상기 제1 시점부터 상기 제2 시점까지의 포즈 변화량을 연산하고,
상기 룩업 테이블의 데이터 값 및 상기 포즈 변화량에 기초하여 상기 제1 이미지의 픽셀 별 픽셀 시프트를 연산하는, 장치. - 제17항에 있어서,
상기 메모리는,
상기 제1 이미지의 픽셀 시프트를 상기 제1 이미지의 원본 이미지의 픽셀 시프트에 대하여 선형 근사(linear approximation)한 복수의 데이터 값들을 상기 룩업 테이블로 저장하는, 장치. - 제16항에 있어서,
상기 프로세서는,
상기 렌더러로부터 상기 제1 이미지에 대응되는 깊이 이미지(depth image)를 수신하고,
상기 제1 이미지 및 상기 깊이 이미지에 기초하여, 상기 제1 이미지의 픽셀 별 픽셀 시프트를 연산하는, 장치. - 제16항에 있어서,
상기 프로세서는,
상기 렌더러로부터 상기 제1 이미지에 대응되는 깊이 이미지의 대표 깊이 값을 수신하고,
상기 제1 이미지 및 상기 대표 깊이 값에 기초하여, 상기 제1 이미지의 픽셀 별 픽셀 시프트를 연산하는, 장치.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210064220A KR20220156331A (ko) | 2021-05-18 | 2021-05-18 | 이미지 지연을 보정하기 위한 전자 장치 및 방법 |
US17/570,712 US11721084B2 (en) | 2021-05-18 | 2022-01-07 | Electronic device and method for correcting image latency |
EP22162549.4A EP4092665A3 (en) | 2021-05-18 | 2022-03-16 | Electronic device and method for correcting image latency |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210064220A KR20220156331A (ko) | 2021-05-18 | 2021-05-18 | 이미지 지연을 보정하기 위한 전자 장치 및 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20220156331A true KR20220156331A (ko) | 2022-11-25 |
Family
ID=81307349
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210064220A KR20220156331A (ko) | 2021-05-18 | 2021-05-18 | 이미지 지연을 보정하기 위한 전자 장치 및 방법 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11721084B2 (ko) |
EP (1) | EP4092665A3 (ko) |
KR (1) | KR20220156331A (ko) |
Family Cites Families (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2153641B2 (en) | 2007-04-13 | 2021-10-27 | Ari M. Presler | Digital cinema camera system for recording, editing and visualizing images |
US9348141B2 (en) * | 2010-10-27 | 2016-05-24 | Microsoft Technology Licensing, Llc | Low-latency fusing of virtual and real content |
KR20130054868A (ko) | 2011-11-17 | 2013-05-27 | 한국전자통신연구원 | 회귀 베지어 패치 분할에 기반하는 기하 보정 장치 및 방법 |
US9180053B2 (en) | 2013-01-29 | 2015-11-10 | Xerox Corporation | Central vision impairment compensation |
US9514571B2 (en) * | 2013-07-25 | 2016-12-06 | Microsoft Technology Licensing, Llc | Late stage reprojection |
US9652893B2 (en) * | 2014-04-29 | 2017-05-16 | Microsoft Technology Licensing, Llc | Stabilization plane determination based on gaze location |
WO2016014718A1 (en) * | 2014-07-23 | 2016-01-28 | Kineticor, Inc. | Systems, devices, and methods for tracking and compensating for patient motion during a medical imaging scan |
WO2016073557A1 (en) * | 2014-11-04 | 2016-05-12 | The University Of North Carolina At Chapel Hill | Minimal-latency tracking and display for matching real and virtual worlds |
US9824498B2 (en) | 2014-12-30 | 2017-11-21 | Sony Interactive Entertainment Inc. | Scanning display system in head-mounted display for virtual reality |
CN107850777B (zh) * | 2015-04-22 | 2021-10-22 | 易赛特股份有限公司 | 光学像差校正的方法和装置 |
US10089790B2 (en) * | 2015-06-30 | 2018-10-02 | Ariadne's Thread (Usa), Inc. | Predictive virtual reality display system with post rendering correction |
WO2017147178A1 (en) | 2016-02-22 | 2017-08-31 | Google Inc. | Separate time-warping for a scene and an object for display of virtual reality content |
US10602126B2 (en) * | 2016-06-10 | 2020-03-24 | Lucid VR, Inc. | Digital camera device for 3D imaging |
JP6880174B2 (ja) * | 2016-08-22 | 2021-06-02 | マジック リープ, インコーポレイテッドMagic Leap,Inc. | 仮想現実、拡張現実、および複合現実システムおよび方法 |
KR102424864B1 (ko) | 2016-08-26 | 2022-07-22 | 매직 립, 인코포레이티드 | 가상 및 증강 현실 디스플레이 시스템들 및 방법들을 위한 연속 시간 와핑 및 양안 시간 와핑 |
KR20180052156A (ko) * | 2016-11-09 | 2018-05-18 | 삼성디스플레이 주식회사 | 이동 단말기 및 그 제어 방법 |
US10373384B2 (en) * | 2016-12-12 | 2019-08-06 | Google Llc | Lightfield compression using disparity predicted replacement |
KR20180075732A (ko) * | 2016-12-26 | 2018-07-05 | 엘지디스플레이 주식회사 | 헤드 마운티드 디스플레이 및 그 제어 방법 |
KR20180082658A (ko) * | 2017-01-09 | 2018-07-19 | 삼성디스플레이 주식회사 | 헤드 마운트 디스플레이 장치 및 헤드 마운트 표시 장치의 영상 보정 방법 |
US10242654B2 (en) | 2017-01-25 | 2019-03-26 | Microsoft Technology Licensing, Llc | No miss cache structure for real-time image transformations |
US10504397B2 (en) * | 2017-01-31 | 2019-12-10 | Microsoft Technology Licensing, Llc | Curved narrowband illuminant display for head mounted display |
US20190045213A1 (en) | 2017-08-03 | 2019-02-07 | Intel Corporation | Reference frame reprojection for improved video coding |
US10735649B2 (en) * | 2018-02-22 | 2020-08-04 | Magic Leap, Inc. | Virtual and augmented reality systems and methods using display system control information embedded in image data |
US10410372B1 (en) * | 2018-06-14 | 2019-09-10 | The University Of North Carolina At Chapel Hill | Methods, systems, and computer-readable media for utilizing radial distortion to estimate a pose configuration |
US20200029057A1 (en) | 2018-07-17 | 2020-01-23 | Qualcomm Incorporated | Systems and methods for correcting color separation in field-sequential displays |
WO2020023383A1 (en) * | 2018-07-23 | 2020-01-30 | Magic Leap, Inc. | Mixed reality system with virtual content warping and method of generating virtual content using same |
WO2020170455A1 (ja) | 2019-02-22 | 2020-08-27 | 株式会社ソニー・インタラクティブエンタテインメント | ヘッドマウントディスプレイおよび画像表示方法 |
US11315328B2 (en) * | 2019-03-18 | 2022-04-26 | Facebook Technologies, Llc | Systems and methods of rendering real world objects using depth information |
US11011123B1 (en) * | 2019-08-13 | 2021-05-18 | Facebook Technologies, Llc | Pan-warping and modifying sub-frames with an up-sampled frame rate |
KR20220093985A (ko) * | 2020-12-28 | 2022-07-05 | 삼성전자주식회사 | 이미지 지연 보정 방법 및 이를 이용한 장치 |
-
2021
- 2021-05-18 KR KR1020210064220A patent/KR20220156331A/ko active Search and Examination
-
2022
- 2022-01-07 US US17/570,712 patent/US11721084B2/en active Active
- 2022-03-16 EP EP22162549.4A patent/EP4092665A3/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US11721084B2 (en) | 2023-08-08 |
EP4092665A3 (en) | 2022-12-21 |
US20220375196A1 (en) | 2022-11-24 |
EP4092665A2 (en) | 2022-11-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10078367B2 (en) | Stabilization plane determination based on gaze location | |
KR101761751B1 (ko) | 직접적인 기하학적 모델링이 행해지는 hmd 보정 | |
KR102373813B1 (ko) | 증강 현실 경험을 위한 재투영 oled 디스플레이 | |
JP4578294B2 (ja) | 立体視画像表示装置、立体視画像表示方法及びコンピュータプログラム | |
US10382699B2 (en) | Imaging system and method of producing images for display apparatus | |
US20170213388A1 (en) | Frame Projection For Augmented Reality Environments | |
US10237531B2 (en) | Discontinuity-aware reprojection | |
US11156843B2 (en) | End-to-end artificial reality calibration testing | |
US11960086B2 (en) | Image generation device, head-mounted display, and image generation method | |
CN114945853A (zh) | 用于头戴式显示系统中的变形的补偿 | |
US20220113543A1 (en) | Head-mounted display and image display method | |
WO2020090316A1 (ja) | 情報処理装置、情報処理方法、及びプログラム | |
US11218691B1 (en) | Upsampling content for head-mounted displays | |
CN112805755B (zh) | 信息处理装置、信息处理方法和记录介质 | |
US20220113794A1 (en) | Display device and image display method | |
US20200396436A1 (en) | Apparatus and method for generating view images | |
KR20220156331A (ko) | 이미지 지연을 보정하기 위한 전자 장치 및 방법 | |
JP6394107B2 (ja) | キャリブレーション装置、キャリブレーション方法、表示制御装置および表示制御方法 | |
US11936986B2 (en) | Image adjustment system, image adjustment device, and image adjustment method | |
US11150470B2 (en) | Inertial measurement unit signal based image reprojection | |
KR20220093985A (ko) | 이미지 지연 보정 방법 및 이를 이용한 장치 | |
US20240046575A1 (en) | Video See-Through Augmented Reality | |
JP2024081406A (ja) | 画像処理装置及び方法、プログラム、記憶媒体 | |
JP2021157458A5 (ko) | ||
CN115375825A (zh) | 利用注视点渲染的透视矫正矢量图形 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination |