KR102577965B1 - 디스플레이를 구동하기 위한 시스템 및 방법 - Google Patents

디스플레이를 구동하기 위한 시스템 및 방법 Download PDF

Info

Publication number
KR102577965B1
KR102577965B1 KR1020207037290A KR20207037290A KR102577965B1 KR 102577965 B1 KR102577965 B1 KR 102577965B1 KR 1020207037290 A KR1020207037290 A KR 1020207037290A KR 20207037290 A KR20207037290 A KR 20207037290A KR 102577965 B1 KR102577965 B1 KR 102577965B1
Authority
KR
South Korea
Prior art keywords
image data
display
drive
sequence
module
Prior art date
Application number
KR1020207037290A
Other languages
English (en)
Other versions
KR20210117141A (ko
Inventor
앤드류 이버슨
호워드 고에츠
그렌 산드즈
케빈 훼르구손
Original Assignee
스냅 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 스냅 인코포레이티드 filed Critical 스냅 인코포레이티드
Publication of KR20210117141A publication Critical patent/KR20210117141A/ko
Application granted granted Critical
Publication of KR102577965B1 publication Critical patent/KR102577965B1/ko

Links

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/003Details of a display terminal, the details relating to the control arrangement of the display terminal and to the interfaces thereto
    • G09G5/006Details of the interface to the display terminal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/013Eye tracking input arrangements
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2320/00Control of display operating conditions
    • G09G2320/02Improving the quality of display appearance
    • G09G2320/0261Improving the quality of display appearance in the context of movement of objects on the screen or movement of the observer relative to the screen
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2320/00Control of display operating conditions
    • G09G2320/06Adjustment of display parameters
    • G09G2320/0613The adjustment depending on the type of the information to be displayed
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2320/00Control of display operating conditions
    • G09G2320/08Arrangements within a display terminal for setting, manually or automatically, display parameters of the display terminal
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/04Changes in size, position or resolution of an image
    • G09G2340/0407Resolution change, inclusive of the use of different resolutions for different screen areas
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/14Detecting light within display terminals, e.g. using a single or a plurality of photosensors
    • G09G2360/144Detecting light within display terminals, e.g. using a single or a plurality of photosensors the light being ambient light
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication
    • G09G2370/04Exchange of auxiliary data, i.e. other than image data, between monitor and graphics controller
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication
    • G09G2370/10Use of a protocol of communication by packets in interfaces along the display data pipeline
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication
    • G09G2370/12Use of DVI or HDMI protocol in interfaces along the display data pipeline

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Control Of Indicators Other Than Cathode Ray Tubes (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Studio Devices (AREA)
  • Transforming Electric Information Into Light Information (AREA)

Abstract

이미지 시스템은 이미지 시스템 내의 드라이브 시퀀스를 동적으로 업데이트한다. 드라이브 시퀀스는 이미지 디스플레이 설정 또는 디스플레이가 작동하는 또는 디스플레이 구동 특성이다. 이미지 시스템은 적어도 부분적으로 하나 이상의 센서로부터의 입력을 기반으로 드라이브 시퀀스를 결정한다. 예를 들어 이미지 시스템은 관성 측정 유닛, 광 센서, 카메라, 온도 센서 또는 센서 데이터가 수집되는 기타 센서와 같은, 센서들을 포함하고 있다. 이미지 시스템은 센서 데이터를 분석하여 드라이브 시퀀스 설정을 산출하거나 미리 결정된 여러 드라이브 시퀀스 중에서 드라이브 시퀀스를 선택할 수 있다. 디스플레이에 이미지 콘텐츠의 표시는 디스플레이에 이미지 데이터를 제공하는 것을 포함하며, 다양한 드라이브 시퀀스로 디스플레이를 작동하는 것을 포함한다.

Description

디스플레이를 구동하기 위한 시스템 및 방법
일반적인 이미지 디스플레이 관련 특성은 무엇보다도 이미지 데이터의 프레임 레이트(frame rate), 디스플레이의 픽셀 색 지속 시간 및 디스플레이 밝기를 포함하는데, 이것은 디스플레이를 구동하는 드라이브 회로 및/또는 소프트웨어를 통해 제어할 수 있다. 이러한 디스플레이 특성은 디스플레이된 이미지의 밝기, 해상도, 깊이 인식 및 기타 시각적 효과를 제어하는 데 사용할 수 있다.
일부 기존 이미지 렌더링 기술을 사용하여 디스플레이 특성(예: 프레임 레이트, 디스플레이 밝기 등)을 재구성하는 경우, 이러한 기존 이미지 렌더링 기술에는 디스플레이를 끄거나, 디스플레이가 디스플레이 특성을 재구성하거나 업데이트하기 위해 콘텐츠의 렌더링을 차단하는 것을 포함한다. 경우에 따라 이러한 변경에는 몇 초 정도의 시간이 소요될 수 있으며 이미지 렌더링을 일시적으로 종료해야 하는 경우도 종종 있다. 따라서 이미지 시스템에서 디스플레이 특성을 재구성하는 기존 기법은 예를 들어, 이미지 데이터가 렌더링되는 동안 디스플레이 특성의 실시간 및/또는 동적 재구성을 할 수 없을 수도 있다.
청구된 주요 기술의 다양한 실시예의 기능과 장점이 다음의 상세설명이 진행됨에 따라, 그리고 도면을 참조할 때, 명백해지는데, 여기서 동일한 번호는 동일한 부분을 가리킨다.
도 1A 및 1B는 본 발명의 실시예에 따라 구동 체계를 동적으로 업데이트하도록 구성된 이미지 시스템의 다이어그램의 예이다;
도 2는 본 발명의 실시예에 따른, 구동 체계 알고리즘의 단순화된 흐름도의 예이다;
도 3은 본 발명의 실시예에 따른, 파서(parser) 알고리즘의 단순화된 흐름도의 예이다;
도 4는 본 발명의 실시예에 따른, 병합된 이미지 프레임의 전송 시퀀스 다이어그램의 예이다;
도 5는 본 발명의 실시예에 따른, 병합된 이미지의 전송 시퀀스의 예이다;
도 6A와 6B는 본 발명의 실시예에 따른, 프로세서와 디스플레이 드라이버 사이에 드라이브 시퀀스를 전송하기 위한 통합 이미지 프레임의 예를 도시한다;
도 7A, 7B 및 7C는 본 발명의 실시예에 따른, 프로세서와 디스플레이 드라이버 사이에 드라이브 시퀀스를 전송하기 위한 옵션 제어 구조의 여러 예를 포함하는 병합된 이미지 프레임의 일부에 대한 예를 도시한다; 그리고
도 8은 본 발명의 실시예에 따른, 이미지 시스템의 모듈들의 블록 다이어그램의 예이다.
다음의 상세 설명은 예시적인 실시예에 대한 참조로 진행되지만, 많은 대안, 수정 및 변형은 이 기술에서 숙련된 사람들에게 명백할 것이다.
다음의 상세한 설명에서, 여기에 포함된 도면을 참조할 수 있으며, 이 도면에서 예시를 통해 구현될 수 있는 실시예를 보여준다. 다른 실시예가 활용될 수 있으며, 범위를 벗어나지 않고 구조적 또는 논리적 변경이 이루어질 수 있다는 점을 이해해야 한다. 따라서, 다음과 같은 상세한 설명은 제한적인 의미로 받아들여지지 않으며, 실시예 범위는 추가된 청구 및 그에 상응하는 것으로 정의된다.
다양한 동작은 실시예 이해에 도움이 될 수 있는 방식으로 차례로 많은 별개 동작으로 설명될 수 있지만, 그러나 설명 순서가, 이러한 동작이 그 순서에 따른다는 의미로 해석되어서는 안 된다.
설명은 위/아래, 뒤/앞, 위/아래와 같은 원근법에 기초한 설명을 사용할 수 있다. 그러한 설명은 단순히 토론을 용이하게 하기 위해 사용되며 개시된 실시예의 적용을 제한하기 위한 것이 아니다.
"결부(coupled)" 및 "연결(connected)"라는 용어는 파생어과 함께 사용될 수 있다. 이 용어들은 서로 동의어로 의도된 것이 아니라는 것을 이해해야 한다. 오히려, 특히, "연결"을 사용하여 둘 이상의 요소가 서로 직접 물리적으로 접촉하고 있음을 나타낼 수 있다. "커플링"은 둘 이상의 요소가 직접 물리적 접촉한다는 것을 의미할 수 있다. 그러나 "결부"은 둘 이상의 요소가 서로 직접 접촉하지 않고 여전히 상호 협력하거나 상호작용을 한다는 것을 의미할 수도 있다.
설명을 위해 "A/B", "A 또는 B" 또는 "A 및/또는 B" 형식의 문구는 (A), (B) 또는 (A와 B)를 의미한다. 설명을 위해 "최소한 A, B, C 중 하나" 형태의 구절은 (A), (B), (C), (A와 B), (B와 C) 또는 (A, B와 C)를 의미한다. 설명의 목적상, (A)B" 형식의 문구는 (B) 또는 (AB)를 의미하는데, 이는 "A"는 선택적 요소이다.
설명은 각각 동일하거나 다른 실시예 중 하나 이상을 나타내는 "실시예" 또는 "실시예들"이라는 용어를 사용할 수 있다. 더욱이, 실시예와 관련하여 사용되는 "구성되는", "구성하는", "포함하는", "갖는" 등의 용어는 동의어이며 일반적으로 "개방" 용어로 해석되어야 한다(예: "포함하는"이라는 용어는 "포함하지만 제한되지 않음)으로, "갖는"이라는 용어는 "최소한 포함"으로, "포함한다"는 "포함하지만 제한하지 않는다" 로 해석되어야 한다.)
여기에 있는 복수 및/또는 단수 용어의 사용과 관련하여, 이 기술분야에서 통상의 지식을 가진 사람들은 문맥 및/또는 용도에 적합하게, 복수에서 단수, 단수에서 복수로 변환할 수 있다. 다양한 단수/복수 순열은 명확성을 위해 여기에 명시적으로 설명될 수 있다.
이제 여러 실시예들이 도면에 대한 참조와 함께 설명되며, 여기서 동일한 참조 번호는 전체적으로 동일한 요소를 참조하기 위해 사용된다. 다음의 설명에서는 하나 이상의 실시예에 대한 철저한 이해를 촉진하기 위해 설명을 목적으로 수많은 구체적인 내용을 설명한다. 일부 또는 모든 사례에서 명백해질 것이다. 그러나 아래에 설명된 실시예는 아래에 설명된 특정 설계 세부 사항을 채택하지 않고도 실행될 수 있다는 것은 명백하다.
여기에서 게시된 것은, 이미지 시스템의 디스플레이 특성을 동적으로 재구성하기 위한 이미지 시스템의 실시예이다. 디스플레이에서 이미지 데이터가 렌더링되면, 디스플레이는 여러 디스플레이 특성에 따라 구성된다. 디스플레이 특성은 사용자가 이미지 데이터를 인식하는 방식을 결정할 수 있다. 디스플레이 특성은, 사용자가 디스플레이에 렌더링된 이미지 데이터를 경험하는 방법을 개선하거나 변경하도록 조작할 수 있다. 본 명세서의 이미지 시스템은 이미지 시스템의 디스플레이에서 렌더링되는 이미지 데이터의 디스플레이 및 디스플레이 특성을 동적으로(예: 실시간 및 중단 없이) 재구성할 수 있다.
예를 들어 증강현실(AR) 헤드셋으로 구현된 이미지 시스템에서 디스플레이 특성의 동적 재구성의 이점을 생각해 보자. 사용자가 AR 헤드셋을 착용할 때 헤드셋은 일반적으로 사용자의 실시간 환경의 이미지나 비디오 위에 그래픽, 텍스트, 지침, 컨트롤 또는 기타 정보(즉, 오버레이 데이터)를 오버레이한다. 실시간 환경 데이터는 이미징(스틸, 비디오, 파노라마 또는 기타 카메라를 통해)에 의해 캡처될 수 있으며 사용자가 머리를 왼쪽, 오른쪽, 위 또는 아래로 움직이면 이미지 오버레이 데이터도 업데이트되어 사용자 환경에서 오버레이 데이터가 왼쪽, 오른쪽, 위 또는 아래로 이동한다. 사용자가 머리를 왼쪽, 오른쪽, 위 또는 아래로 움직이면 실시간 환경 데이터도 업데이트될 수 있다. 디스플레이 특성(예: 스틸 또는 비디오 이미지의 디스플레이 특성)을 동적으로 재구성하는 기능을 사용하여, AR 헤드셋은 사용자의 눈이 초점을 맞추지 않는 헤드셋 디스플레이의 영역(예: 픽셀 그룹의 밝기 또는 그레이 스케일 레벨 변경)을 어둡게 할 수 있으며, 사용자의 시선이 집중되어 있는 헤드셋 디스플레이 영역의 밝기를 증가시킬 수 있다. 마찬가지로, AR 헤드셋은 사용자의 눈이 초점을 맞추지 않는 헤드셋 디스플레이 영역에서 이미지 데이터의 해상도 및/또는 프레임레이트을 감소시킬 수 있으며 사용자의 눈이 초점을 맞춘 헤드셋 디스플레이 영역에서 이미지 데이터의 해상도 및/또는 프레임 레이트을 증가시킬 수 있다. 디스플레이 특성의 재구성은 사용자에게 이미지 콘텐츠를 표시하는 것을 중단하지 않고 동적으로 수행되기 때문에 디스플레이 특성의 재구성은 사용자에게 끊김이 없는 것처럼 보일 수 있으며 사용자의 전체적인 시각적 경험 품질을 향상시키는 데 사용될 수 있다. 또한 별개의 장점으로서, 사용자의 선호도(예: 사용자의 실제, 알려진 또는 예상되는 환경에 관한 데이터에 따라 미리 결정된 또는 그 데이터에 근거한)에 따라, 밝기, 그레이 스케일 레벨, 해상도,및/또는 헤드셋 디스플레이의 초점이나 위치의 프레임 레이트의 조정은, 예를 들어 헤드셋 디스플레이의 전력 소비량을 감소시키거나 헤드셋 디스플레이 사용자가 초점을 맞춘 이미지 부분에 대한 가시성을 향상시킬 수 있다. 이러한 예시적 기능은 구동체계를 이미지 데이터와 병합하고 이미지 데이터를 갖는 구동체계를 디스플레이 드라이버(예: 디스플레이 소프트웨어 모듈 및/또는 하드웨어)로 전송함으로써, 디스플레이 특성을 동적으로 재구성하는 실시예의 문단에서 자세히 설명된다.
여기서 사용되는 용어 "구동체계(drive scheme)"와 "드라이브 시퀀스"는 서로 바꾸어 사용되며, 본 발명에 따라, 디스플레이에서 이미지 데이터를 디스플레이하는 데 사용되는 디스플레이 특성이 결정되거나 변경되는 방법을 나타낸다. 용어 "구동 체계" 및 "드라이브 시퀀스"는 디스플레이를 작동 및/또는 구성하기 위해 사용될 수 있으며, 디스플레이가 특정한 방식으로 이미지 데이터를 표시하게 하기 위하여 디스플레이에 적용되는 동작, 전원 수준 및 타이밍 특성의 디스플레이 모드에 대한 설정을 포함할 수 있다.
도 1A와 1B는 디스플레이 특성을 동적으로 재구성하도록 구성된 이미지 시스템(100)의 실시예를 나타내는 것으로서, 이는 본 명세서의 실시예와 일치한다. 이미지 시스템(100)은 디스플레이에서 이미지 데이터가 렌더링되는 방식을 조정하면서 이미지 데이터를 중단 없이 볼 수 있도록 디스플레이 특성을 동적으로 재구성, 업데이트, 시작, 초기화, 조정, 변경 및/또는 수정할 수 있다. 디스플레이에서 이미지 데이터가 렌더링되는 방식을 조정하면 이미지 데이터로 사용자 경험의 동적인 맞춤화를 수행할 수 있다. 이미지 데이터를 이용한 사용자 경험의 동적 맞춤화는, 이미지 시스템(100)에 의하여 수집 또는 감지되거나, 또는 특정 사용자, 특정 사용자의 환경 및/또는 디스플레이 장치가 사용되거나 사용될 특정 환경에 대해 미리 결정된. 예를 들어 사용자 행동의 변화 또는 환경 변수의 변화에 기반하여, 예를 들어, 두 명의 사용자가 동일한 이미지 콘텐츠로 서로 다른 경험을 하게 한다. 이미지 시스템(100)의 이러한 각 기능과 측면에 대해서는 아래에 자세히 설명되어 있다.
도 1A는 본 명세서의 실시예와 일치하는, 디스플레이 특성을 동적으로 재구성하도록 구성된 이미지 시스템(100)의 단순화 도면을 도시한다. 디스플레이 특성의 동적 재구성을 지원하기 위해, 이미지 시스템(100)은 구동 체계 모듈(122), 디스플레이 드라이버 모듈(106) 및 디스플레이(108)를 포함할 수 있다.
구동 체계 모듈(122)은 이미지 데이터(128)과 구동 체계(134)(즉, 디스플레이 특성)를 이미지 데이터 프레임(140)에 결합하도록 구성될 수 있다. 위에서 설명한 바와 같이, 구동 체계(134)(즉, 디스플레이 특성)은 디스플레이(108)의 디스플레이 특성을 재구성, 업데이트, 시작, 초기화, 조정, 변경 및/또는 수정하는 설정을 포함할 수 있다. 이미지 데이터(128)는 프레임 또는 픽셀 값의 배열을 나타내는 데이터 값을 포함할 수 있다. 이미지 데이터(128)는 이미지 데이터 프레임(140)으로 구동 체계(134)와 병합하거나 결합하므로, 구동 체계(134)에 포함된 설정이 이미지 데이터(128)의 전송을 방해하지 않고 디스플레이 드라이버 모듈(106)로 전송될 수 있다. 이미지 데이터 프레임(140)은 예를 들어 하나 이상의 MIPI("모바일 산업 프로세서 인터페이스") 또는 수정된 MIPI 인터페이스 또는 통신 프로토콜에 따라 포맷될 수 있다. 구동 체계 모듈(122)은 통신 채널(142)(예: 전도성 버스, 네트워크, 무선 인터페이스 등)를 통해 이미지 데이터 프레임(140)을 디스플레이 드라이버 모듈(106)으로 전송하도록 구성될 수 있다. 아래에 설명된 바와 같이, 도1B와 관련된 설명에서, 구동 체계 모듈(122)은 추가 기능을 포함할 수 있으며, 하나 이상의 센서로부터 수신된 정보를 기반으로 구동 체계(134)를 적어도 부분적으로 규정하거나 선택하도록 구성될 수 있다.
디스플레이 드라이버 모듈(106)은 구동 체계 모듈(122)로부터 받은 이미지 데이터 프레임(140)을 사용하여 디스플레이(108)을 작동하도록 구성할 수 있다. 디스플레이 드라이버 모듈(106)은 이미지 데이터 프레임(140)에 포함된 정보(예: 구동 체계 134)를 사용하여 디스플레이를 작동할 수 있다. 디스플레이 드라이버 모듈(106)은 이미지 데이터 프레임(140)로부터 이미지 데이터(128) 및 구동 체계 (134)를 분리하거나 파스(parse)할 수 있다. 디스플레이 드라이버 모듈(106)은 이미지 데이터(128)과 구동 체계(134)를 임시적으로 저장할 수 있다. 디스플레이 드라이버 모듈(106)은 구동 체계(134)에 포함된 디스플레이 특성을 사용하여 디스플레이(108)의 동작을 구성할 수 있으며, 디스플레이 드라이버 모듈(106)은 디스플레이(108)에 이미지 데이터(128)을 제공하여 구동 체계(134)로부터 디스플레이 특성과 함께 표시될 수 있다. 디스플레이(108)에 구동 체계(134)를 수신, 파스 및 적용함으로써, 디스플레이 드라이버 모듈(106)은 디스플레이(108)로 디스플레이 특성의 동적 재구성을 지원한다. 아래에 기술한 바와 같이, 도1B와 관련된 설명에서, 디스플레이 드라이버 모듈(106)은 디스플레이(108)로 디스플레이 특성의 동적 재구성을 용이하게 하는 추가 기능을 포함할 수 있다.
디스플레이 드라이버 모듈(106)은 구동 체계(134) 선택 및/또는 규정을 개별적으로 구현할 수 있다. 디스플레이 드라이버 모듈(106)은 구동 체계(134)에 포함된 디스플레이 특성 또는 디스플레이 매개변수(예: 해상도, 전력 레벨 등)를 수신 및 해석하도록 구성될 수 있으므로, 개발자는 구동 체계(134)를 규정하는 고유한 애플리케이션을 만들 수 있다. 다시 말하면, 구동 체계 모듈(122)는 디스플레이 드라이버 모듈(106)과 독립적인 프로세스, 소프트웨어 애플리케이션 또는 회로로 구현되어, 하나 이상의 개발자가 자신의 선호도에 따라 구동체계(134)를 업데이트할 수 있게 한다. 이러한 디스플레이 드라이버 모듈(106) 및 구동 체계 (134)의 특성은 이미지 시스템(100)에 의해 지원되는 디스플레이 특성의 동적 재구성을 다양하고 맞춤화된 애플리케이션을 가능하게 한다.
하나 이상의 프로세서(154)는, 실시예에 따라, 구동체계 모듈(122)에 대한 명령을 실행하는 첫 번째 프로세서를 포함할 수 있으며, 디스플레이 드라이버 모듈 (106)에 대한 명령을 실행하는 두 번째 프로세서를 포함할 수 있다. 첫 번째 프로세서와 두 번째 프로세서는 두 가지 다른 유형의 프로세서로 구현예될 수 있다. 한개 이상의 프로세서(154)는 GPU("그래픽 처리 장치"), SoC("시스템온칩"), CPU("중앙 처리 장치") DSP("디지털 신호 프로세서"), ASIC("애플리케이션별 통합 회로") 등을 포함할 수 있다.
도1B는, 본 발명의 실시예에 따라, 디스플레이 특성의 동적 재구성을 지원하기 위해 이미지 시스템(100)이 포함된, 추가 잠재적 기능을 도시한다. 이미지 시스템(100)은 소프트웨어 모듈, 예를 들어 센서 데이터 수집 모듈(101), 이미지 데이터 처리 모듈(104), 디스플레이 드라이버 모듈(106) 및 디스플레이(108)을 포함할 수 있다. 이러한 구성 요소는 하나 이상의 장치로 구현될 수 있다.
센서 데이터 수집 모듈(101)은 이미지 시스템(100)에 의하여, 다양한 센서로부터 획득할 수 있는 센서 데이터(102)을 가져오거나, 수신 및/또는 저장할 수 있으며, 적어도 하나의 저장 및/또는 메모리 장치를 포함할 수 있다. 구동 체계 모듈(122)와 관련하여 아래에 설명된 바와 같이, 이미지 시스템(100)은 센서 데이터 수집 모듈(101)을 사용하여, 구동 체계(122)와 디스플레이 드라이버 모듈(106) 사이에 전송되는 디스플레이 특성을 선택하거나 규정할 수 있다. 센서 데이터 수집 모듈(101)은, 센서의 구체적이고 비배탁적인 예로서, 관성 측정 센서(110), 주변 광 센서(112), 온도 센서(114), 이미지 센서(116) 및 아이 트래킹 센서(118)로부터의 데이터를 포함할 수 있다. 다른 센서도 사용할 수 있다.
관성 측정 유닛(111)은 하나 이상의 힘, 각속도 및 자기장을 측정하는 장치이다. 이 기술분야에서 통상의 지식을 가진 자에게 명확한 바와 같이, 관성 측정 유닛(111)은, 가속 및/또는 이미지 시스템(100)의 위치 변경을 측정하기 위해, 하나 이상의 가속도계, 자이로스코프 또는 기타 관성 측정 센서(110)을 포함할 수 있다.
주변 광 유닛(113)은 이미지 시스템(100)이 작동하는 환경에서 광 레벨들의 양들을 감지할 수 있다. 주변 광 유닛(113)는 센서 데이터를 생성하기 위한 주변 광 센서(112)를 포함할 수 있다. 주변 광 유닛(113)는, 광 레벨들을 감지하고 사용자 환경에서 감지된 광의 양을 나타내는 숫자를 제공하도록 구성된 저분해능(예: 1.3 메가픽셀) 이미지 센서를 사용하여 구현될 수 있다. 주변 광 유닛(113)는 소니, 온 반도체, 삼성, 샤프, 옴니비젼 등에서 제조한 것들과 같은, 1.3, 2, 3, 5 또는 8 메가픽셀 CMOS 이미지 센서 또는 CCD 이미지 센서일 수 있다. 주변 광 유닛(113)는, 통상의 기술자들에게 명백한 바와 같이, 다른 유형의 주변 조명 센서를 포함하거나, 또는 다른 픽셀 해상도를 가질 수 있다.
온도 유닛(115)은 온도 센서(114)를 포함할 수 있으며, 이미지 시스템(100)이 작동하는 디스플레이 및/또는 환경의 온도를 감지하도록 구성될 수 있다. 온도 유닛(115)은 통상의 기술자에게 알려진, 서미스터, 단일 와이어 디지털 온도 센서 또는 기타 유형의 온도 센서로 구현될 수 있다.
이미지 유닛(117)은 이미지 센서(116)을 포함할 수 있으며, 이미지 시스템(100)이 작동하는 환경에서 이미지 데이터를 수집할 수 있다. 이미지 유닛(117)은 이미지 데이터를 생성하기 위해 주기적인 간격(즉, 프레임 레이트)으로 연속적인 이미지을 획득할 수 있다. 이미지 유닛(117)은 이미지 시스템(100)의 사용자로부터 멀리 떨어져, 이미지 시스템(100)이 작동하는 환경으로부터 이미지 데이터를 캡처할 수 있게 유도된다. 이미지 유닛(117)은 소니, 온 반도체, 삼성, 샤프, 옴니비전 등과 같은 1.3, 2, 3, 5, 8 메가픽셀 CMOS 이미지 센서 또는 CCD 이미지 센서가 포함될 수 있다. 이미지 유닛(117)은, 통상의 기술자들에게 명백한 바와 같이, 다른 유형의 이미지 센서를 포함하거나, 다른 픽셀 해상도를 가질 수 있다.
아이 트래킹 유닛(119)는 아이 트래킹 센서(118)을 포함할 수 있으며, 이미지 시스템(100)을 작동하는 사용자로부터 이미지 데이터를 얻을 수 있다. 아이 트래킹 유닛(119)은 이미지 데이터를 생성하기 위해 주기적으로 연속 이미지을 획득할 수 있다. 아이 트래킹 유닛(119)은 사용자 지향적인 이미지 시스템(100)내에 위치하여, 사용자 눈의 이미지 데이터를 쉽게 획득할 수 있다. 아이 트래킹 유닛(119)는 소니, 온 반도체, 삼성, 샤프, 옴니비전 등과 같은 1.3, 2, 3, 5, 8 메가픽셀 CMOS 이미지 센서 또는 CCD 이미지 센서를 포함할 수 있다. 아이 트래킹 유닛(119)은, 통상의 기술자들에게 명백한 바와 같이, 다른 유형의 이미지 센서를 포함하거나, 다른 픽셀 해상도를 가질 수 있다.
센서 데이터 수집 모듈(101)에 의해 획득되는 센서 데이터(102)는, 위에서 설명되고 통상의 기술자에게 자명한 바와 같이, 관성 측정 유닛(111), 주변 광 유닛(113), 온도 유닛(115), 이미지 유닛(117) 및/또는 아이 트래킹 유닛(119) 중 하나 이상으로부터, 그리고 센서(110, 112, 114, 116 및/또는, 118)로부터 획득될 수 있는 데이터를 의미한다. 본 발명의 실시예에서, 각 센서 유닛(111, 113, 115, 117, 119)은 저장 및/또는 메모리 장치를 포함할 수 있다. 본 발명의 실시예에서, 센서(110, 112, 114, 116 또는 118)은 대응하는 센서 유닛(111, 113, 115, 117, 119)의 내부에 또는 센서 유닛의 외부에 통합될 수 있다. 예를 들어 관성 측정 센서(110)은 관성 측정 유닛(111) 내에 위치하거나 통합될 수 있다.
이미지 데이터 처리 모듈(104)은 센서 데이터 수집 모듈 (101), 센서 데이터(102) 및/또는 위에서 언급한 센서( 110, 112, 114, 116 및 118)에 기초하여, 최소한 부분적으로 디스플레이 특성을 규정하거나 선택하기 위해 사용할 수 있는 모듈(즉, 소프트웨어 모듈)을 포함하고 있다. 이미지 데이터 처리 모듈(104)은 디스플레이 사용자에게 이미지 데이터의 표시를 중단하지 않고 디스플레이 특성의 동적 재구성을 가능하게 하기 위해, 이미지 데이터를 디스플레이 특성과 결합하도록 구성되어 있다. 이 기능을 지원하기 위해, 이미지 데이터 처리 모듈(104)은 이미지 데이터 모듈(120)과 구동체계 모듈(122)을 포함할 수 있다.
본 발명의 실시예에서, 이미지 데이터 모듈(120)은 이미지 데이터를 획득하고 포맷하기 위한 지침을 생성하는 회로 및/또는 소프트웨어 모듈을 포함할 수 있다. 본 발명의 실시예에서, 이미지 데이터 모듈(120)은 이미지 데이터를 획득하고 포맷할 수 있다. 예를 들어, 이미지 데이터 모듈(120)은, 실시예에 따라, 이미지 데이터(124)(예: 생(raw) 이미지 데이터)를 획득 및/또는 수신하고, 포맷 지침(126)을 적용하여 포맷된 이미지 데이터(127)을 생성할 수 있다. 이미지 데이터 모듈(120)은 이미지 시스템(100)이 센서 데이터(102)의 최소 일부를 생성하는 하나 이상의 이미지 센서로부터 이미지 데이터(124)를 획득하도록 할 수 있다. 이미지 데이터 모듈(120)은, 통상의 기술자들에게 자명한 바와 같이, 인터넷에서 다운로드된, 무선 커넥션(예: Wi-Fi, LTE 등)로부터 수신된, 저장장치(예: 하드 디스크 드라이브, 솔리드 스테이트 드라이브 등)에서 수신된, 메모리(예. 랜덤 액세스 메모리, RAM)으로부터 읽혀진 것과 같은, 그러나 여기에 한정되지 않는, 하나 이상의 다른 소스로부터 이미지 데이터(124)를 획득할 수 있다.
이미지 데이터 모듈(120)은 하나 이상의 이미지 포맷으로 이미지 데이터(124)를 수신할 수 있으며, 포맷 지침(126)을 실행하여 이미지 데이터(124)를 하나 이상의 다른 이미지 포맷으로 변환할 수 있다. 이미지 데이터(14)는, 예를 들어, 통상의 기술자에게 알려진 바와 같이, 이미지 데이터를 구성하는 각 이미지의 각 픽셀에 대한 빨간색, 녹색, 파란색(RGB) 값을 포함할 수 있다. 이미지 데이터(124)가 변환될 수 있고 포맷된 이미지 데이터(127)이 포맷될 수 있는 이미지 포맷들의 비-배타적 리스트는 VP8, VP9, AV1, VP6, 소레손 스파크(Sorenson Spark), H.264, H.262, MPEG-1, MPEG-2, 테오라(Theora), 디락(Dirac), MPEG-4, 원도즈 미디어 이미지, 리얼 비디오, H.263, 아도베 플래쉬 플랫폼, 그리고 통상적인 기술을 가진 사람들에게 알려진 다른 이미지 포맷을 포함하지만, 이것들에 한정되지 않는다. 이미지 데이터 모듈(120)은, 실시예에 따라, 상업적으로 이용 가능하거나 오픈 소스, 또는 기타 개발된, 하나 이상의 이미지 데이터 변환 알고리즘을 사용할 수 있다.
본 발명의 실시예에 따르면, 포맷 지침(126)은 이미지 데이터 모듈(120)이 이미지 데이터(122)를 포맷하기 위하여 특정한 픽셀 값을 적용하도록 할 수 있다. 픽셀 값 포맷의 예로는, 비트 평면 포맷, 니블 포맷 및 바이트 포맷이 있다. 이러한 각 포맷 유형은 이미지를 구성하는 개별 픽셀의 색 구성요소를 관리하기 위해 약간 다른 기술을 사용한다.
비트 평면 포맷은, 예를 들어, 이미지 데이터에 있는 모든 픽셀의 모든 빨간색 구성 요소 7비트를 포함할 수 있다. 그런 다음 이들 빨간색 비트들은 메모리에 함께 포장될 수 있으며, 이 프로세스는 모든 색상의 각 비트에 대해 반복될 수 있다.
니블 포맷(nibble format)은 각 픽셀의 각 색상에 대해 4비트 정보를 나타낸다(예: 빨간색에 대해 4비트, 녹색에 대해 4비트, 파란색에 대해 4비트). 니블 포맷된 데이터는, 단일 픽셀의 상위 4비트 빨간색 데이터(예로서)가 다른 이미지 데이터와 분리되도록 메모리에 함께 포장될 수 있으며, 이러한 4비트는 유사한 방식으로 프레임 버퍼에 저장될 수 있다. 이 프로세스는 모든 빨간색 정보가 추출되고 함께 유사하게 포장될 때까지 반복된다. 그런 다음 녹색 및 파란색 픽셀에 대해 프로세스를 반복할 수 있다.
바이트 포맷 프로세스는 니블 프로세스와 유사하지만, 빨간색 데이터의 모든 8비트(예를 들어)를 추출하여 개별적으로 유사하게 포장할 수 있다. 마찬가지로 녹색과 파란색에 대해 이 과정을 반복할 수 있다. 각 픽셀은 정렬상의 이유로 더미 비트와 함께 또는 없이, 색상 당 8비트 이상으로 표시될 수 있다.
구동 체계 모듈(122)은 적어도 부분적으로 센서 데이터(102)에 기반된, 이미지 데이터(128)에 적용할 구동 체계(134)를 규정하거나 선택할 수 있다. 구동 체계 모듈(122)는 디스플레이(108)에서 디스플레이 특성의 동적 재구성을 가능하게 하기 위해 구동 체계(134)를 이미지 데이터(128)과 병합할 수 있다. 여기서 사용되는 "구동 체계"과 "드라이브 시퀀스"라는 용어는 서로 바꾸어 사용하며 디스플레이(108)에 이미지 데이터를 표시하는 데 사용되는 디스플레이를 나타낸다. 구동 체계(134)를 구성하는 디스플레이 특성은 신호 변조 특성, 픽셀의 색상 지속 시간, 프레임 레이트, 색상 서브프레임 레이트, 비트 깊이, 색상 순차 듀티 사이클(조명 효율성), 타이밍, 컬러 게이머트, 감마, 밝기, 지속성, 구동 전압, 조명 타이밍, 조명 강도, 디스플레이로 전송된 개별 비트 평면의 타이밍(이들은 비트 깊이와 온도에 따라 조정되는 각 그레이 레벨에 대해, 액정 디스플레이가 상태를 변경하는 시기를 결정한다), 가능한 각 그레이에 대해 어떤 액정 디스플레이 상태 변경이 일어나는지 결정할 수 있는 LUT(Look Up Tables), 및 시리얼 포트 인터페이스(SPI) 명령(디스플레이 또는 기타 시스템 구성요소로 전송되는 다양한 SPI 명령의 타이밍 및 리터럴 값 포함)을 포함하지만, 이에 한정되는 것은 아니며, 이들은 모두 통상의 기술자들에게 자명한 이미지 특성이다.
구동 체계를 규정하거나 선택하기 위하여 그리고 구동 체계를 이미지 데이터와 병합하기 위하여, 구동 체계 모듈(122)은 구동 체계 알고리즘(130)을 실행하여, 병합된 이미지 데이터(132)를 생성할 수 있다. 구동 체계 알고리즘(130)에 대한 작동 방법의 구현은 방법(200)(도2 참조)과 관련하여 아래에 설명되어 있다.
구동 체계 알고리즘(130)은, 적어도 부분적으로 센서 데이터(102) 또는 센서 데이터 수집 모듈(101)에 근거하여, 이미지 시스템(100)로 하여금 구동 체계(134)를 규정하거나 선택할 수 있다. 위에서 설명한 바와 같이, 센서 데이터(102)의 예들은 관성 측정 센서(110)의 데이터, 주변 광 센서(112)의 데이터, 온도 센서(114)의 데이터, 이미지 센서(116)의 데이터 및 아이 트래킹 추적 센서(118)의 데이터를 포함하지만, 여기에 한정되지 않는다.
구동 체계 알고리즘(130)은, 실시예에 따라, 센서 데이터(102)를 근거하여 구동 체계(134)를 규정한다. 구동 체계 알고리즘(130)은, 미리 결정된 디스플레이 특성과 센서 데이터 특성을 매핑함으로써, 센서 데이터(102)를 근거로 구동 체계(134)를 규정한다. 예를 들어, 아이 트래킹 센서(118)의 데이터는, 이미지 시스템(100)의 사용자가 디스플레이의 왼쪽 가시 영역을 보고 있음을 나타낼 수 있다. 왼쪽을 바라보는 사용자의 눈은, 디스플레이(108)의 오른쪽 가시 영역의 해상도를 감소시키고 디스플레이(108)의 왼쪽 가시 영역의 해상도를 증가시키는 등. 미리 결정된 디스플레이 특성에 매핑되는 미리 결정된 센서 데이터 특성이 될 수 있다. 다른 미리 결정된 센서 특성은 다른 디스플레이 특성과 대응하도록 매핑될 수 있으므로, 센서(110, 112, 114, 116 및 118)로부터의 센서 데이터 값의 조합은 구동 체계(134)를 만들어 내는 디스플레이 특성의 조합을 초래한다. 구동 체계 알고리즘(130)은 또한 하나 이상의 모드 또는 설정을 적어도 부분적으로 근거로 하여, 구동 체계(134)를 규정할 수 있다. 예시적인 모드 또는 설정(setting)은 절전 모드, 3D 향상 모드, 증강현실(AR) 모드, 가상현실(VR) 모드 등이 있다.
구동 체계 알고리즘(130)은, 실시예에 따라, 센서 데이터(102) 또는 센서 데이터 획득 모듈(101)를 적어도 부분적으로 근거로 하여, 미리 결정된 구동 체계(136)로부터 구동 체계(134)를 선택한다. 미리 결정된 구동 체계(136)는 데이터 스토리지(138)(예: 데이터베이스, 데이터 구조, 하드 디스크 드라이브 등)의 이미지 시스템(100) 내에 저장할 수 있다. 구동 체계 알고리즘(130)은, 예를 들어, 이미지 시스템(100)의 낮은/밝은 조명 수준, 사용자 눈 방향(왼쪽, 오른쪽, 위쪽 또는 아래쪽을 바라보는 눈), 증가/감소된 온도, 이동(위, 아래, 왼쪽, 오른쪽), 및 기타 센서 데이터 특성과 관련된 미리 결정된 구동 체계(134)를 기반으로, 구동 체계(134)를 선택할 수 있다.
구동체계 모듈(122)은 디스플레이 드라이버 모듈(106)로 이미지 데이터(128)의 전송을 중단하지 않는 기술을 사용하여 구동 체계(134)를 이미지 데이터(128)와 병합한다. 이미지 데이터(128)는 이미지 데이터(124) 및/또는 포맷된 이미지 데이터(127)를 포함할 수 있다. 병합된 이미지 데이터(132)는 일련의 이미지 데이터 프레임(140)으로서 전송될 수 있다. 데이터 프레임은 일반적으로 디지털 통신에 사용되며, 데이터 프레임의 수신자가 데이터 프레임에서 정보를 추출할 수 있도록 반복되는 포맷을 가진 정보의 행열의 배열을 의미한다. 디지털 이미지 기술 및 디지털 비디오 기술에서, 데이터 프레임은 일반적으로 픽셀 값을 나타내는 수의 행과 열을 포함한다. 각 데이터 프레임은 식별 정보(예: 타임스탬프, 프레임 번호, 픽셀 카운트 등)를 포함하는 프레임 헤더를 갖는다. 몇 프로토콜 구현에서, 실시예에 따라 프레임 헤더가 필요할 수 있다. 각 데이터 프레임은 전송할 데이터(예: 픽셀 값)을 포함하는 프레임 바디를 포함할 수 있다. 통상의 기술자들이 이해하는 바와 같이, 데이터 프레임(맞춤형 또는 표준화된)의 다양한 타입의 포맷들이 사용될 수 있다.
본 명세서의 한 실시예에 따르면, 구동 체계 모듈(122)는 이미지 데이터 프레임(140)을 MIPI 이미지 프레임으로 포맷한다. MIPI 이미지 프레임은 이미지 프레임의 일부 픽셀을 구동 체계(제어 구조) 정보로 교체하도록 수정된다. MIPI 이미지 프레임이 하나의 구체적인 실시예이고, 다른 이미지 또는 비디오 포맷들도 구동 체계 모듈(122)에 의하여 사용될 수 있다. 구동 체계와 이미지 데이터의 동시 전송을 위해 사용되거나 수정될 수 있는 다른 이미지 또는 비디오 형식의 예로는, HDMI(고화질 멀티미디어 인터페이스), DP(디스플레이 포트), PCI-익스프레스, USB, 이더넷 및 Wi-Fi가 있는데, 여기에 제한되지 않는다. 구동 체계로 대체되는 픽셀의 수는 구동 체계를 규정하는 데 사용되는 바이트의 수(예: 256바이트)에 의하여 규정될 수 있다.
병합된 이미지 데이터(132)용 각 이미지 데이터 프레임(140)은 구동 체계(134)용으로 남겨둔 바이트 수와 이미지 데이터(128)용으로 남겨둔 바이트 수를 포함할 수 있다. 각 이미지 데이터 프레임(140)이 구동 체계 모듈(122)에서 디스플레이 드라이버 모듈(106)로 전송되기 때문에, 실시예에 따라, 구동 체계(134)는 이미지 데이터(128)과 함께 전송된다. 구동 체계(134)를 이미지 데이터(128)과 함께 전송하면, 구동 체계 모듈(122)가 디스플레이 특성의 동적 재구성을 할 수 있다. 구동 체계 모듈(122)에 의하여 선택된 구동 체계(134)가 이전에 전송된 구동 체계(134)와 동일하면, 구동 체계(134)가 다시 전송되지 않고 구동 체계(134)에 의해 사용된 이미지 데이터 프레임(140)의 바이트 수가 사용되지 않는다. 정보가 궁극적으로 디스플레이(108)에 의해 이미지 데이터가 표시되는 방식을 제어하는 데 사용될 수 있기 때문에, 이미지 데이터 프레임(140)의 구동 체계(134) 부분을 제어 구조라고 할 수 있다. 구동 체계(134)에 대해 남겨둔 바이트를 사용하는 이미지 데이터 프레임의 예는 도 4에 도시되어 있으며 아래에 자세히 설명되어 있다. 구동 체계 알고리즘(130)은, 통상의 기술자들에게 자명한 바와 같이, 초당 60, 120, 240 등의 프레임의 레이드로 이미지 데이터 프레임(140)을 디스플레이 드라이버 모듈 (106)로 전송할 수 있다.
구동 체계 모듈(122)은 이미지 시스템(100)이 구동 체계(134)를 디스플레이 드라이버 모듈(106)으로 전송하는 다른 기술을 채택하게 한다. 예를 들어, 일부 통신 프로토콜은 사용되지 않은 데이터 프레임을 이미지 프레임 사이의 버퍼로서 전송하는 것을 포함한다. 실시예에서, 구동 체계 모듈(122)은 이미지 시스템(100)이, 이미지 프레임 사이에 포함된 사용되지 않는 버퍼 데이터 프레임에, 구동 체계(134)를 삽입하게 한다. 사용되지 않는 데이터 프레임을 버퍼 또는 빈 간격으로 전송하는 통신 프로토콜의 예로는 MIPI 프로토콜이 있다. 실시예에서, 구동 체계 모듈(122)은 구동 체계(134)를 MIPI 프로토콜 데이터 프레임의 빈 간격에 삽입하여, 구동체계(134)를 이미지 프레임(128)과 함께 디스플레이 드라이버(106)로 전송한다. 구동 체계(134)를 이동하기 위해 블랭킹(blanking) 간격을 사용하는 이미지 데이터 프레임의 예가 도 5에 되시되어 있으며 아래에 자세히 설명되어 있다. 구동 체계(134)를 이미지 데이터(128) 사이의 블랭킹 간격 내에 전송함으로써, 구동 체계 모듈(122)은 디스플레이 특성을 동적으로 재구성할 수 있다.
구동 체계 모듈(122)은, 실시예에 따라, 이미지 시스템(100)이 통신 채널(142)를 통해 이미지 데이터 프레임(140)을 디스플레이 드라이버(104)로 전송한다. 구동 체계 모듈(122)은 이미지 데이터 프레임(140)을 하나 이상의 포맷들내에 통신 채널(142)를 통해 전송할 수 있다. 포맷들의 예로서, HDMI(고화질 멀티미디어 인터페이스), MIPI, DP(디스플레이 포트), PCI-익스프레스, USB, 이더넷 등이 있다. 통신 채널(142)은 유무선 통신 채널(예: USB, PCI-익스프레스, Wi-Fi 등)일 수 있다.
디스플레이 드라이버 모듈(106)은 이미지 데이터 프레임(140)을 수신하고 이미지 데이터 프레임(140)에 포함된 구동 체계(134)로 디스플레이(108)을 제어하도록 구성되어 있다. 디스플레이 드라이버 모듈(106)은 또한 이미지 데이터(128)을 디스플레이(108)에 제공할 수 있으므로, 이미지 데이터(128)는 사용자 보기를 위해 디스플레이(108)에 의해 표시될 수 있다. 디스플레이 드라이버 모듈(106)은, 이미지 데이터(128)의 중단 없는 디스플레이를 제공하면서, 구동 체계(134)에 포함된 디스플레이 특성으로 디스플레이(108)을 재구성하도록 구성할 수 있다.
이미지 시스템(100)내에서 디스플레이 특성을 동적으로 재구성하기 위해, 디스플레이 드라이버 모듈(106)은 파서 모듈(144)과 이미지 출력 모듈(146)을 포함한다. 파서 모듈(144)은, 이미지 데이터 표시의 중단 없이 디스플레이를 동적으로 업데이트하는 것을 지원하기 위하여, 디스플레이 드라이버 모듈(144)이 이미지 데이터(128)와 구동 체계(134)를 모두 처리할 수 있도록 하는 파서 모듈 144 내에서 여러 작업을 수행할 수 있는 파서 알고리즘(148)을 포함한다. 파서 알고리즘(148)은 디스플레이 드라이버 모듈(106)이 이미지 데이터 프레임(140)을 디스플레이 드라이버 모듈(106)로 수신할 수 있게 한다. 파서 알고리즘(148)은 디스플레이 드라이버 모듈(106)이 구동 체계(134) 및 이미지 데이터(128)을 이미지 데이터 프레임(140)으로부터 파스하거나 분리할 수 있게 한다. 파서 알고리즘(148)은, 디스플레이 드라이버 모듈(106)이, 디스플레이(108)에 이미지 데이터(128)를 제공하기 전에, 구동 체계와 이미지 데이터(128)을 예를 들어 임시적으로 저장할 수 있게 한다.
파서 알고리즘(148)은 구동 체계(134) 및 이미지 데이터(128)을 이미지 데이터 프레임(140)에서 분리하기 위하여, 여러 가지 작동에 대한 지침을 포함할 수 있다. 작동의 예로는, 데이터 프레임(140)을 수신하는 것, 데이터 프레임의 부분(예: 첫 번째 행)을 식별하는 하나 이상의 동기화 바이트에 대하여 데이터 프레임(140)을 검색하는 것, 그리고 데이터 프레임의 부분들(예: 바이트, 행, 열 등)을 미리 결정된 변수(예: 데이터 해상도, 명령 세부정보, 조회 테이블의 일부, 이미지 프레임의 픽셀 등) )로 매핑하는 것을 포함하지만, 이에 제한되지 아니다. 이 작동은 변수를 사용하여, 구동 체계(134)를 이미지 데이터(128)에서 분리하는 것과 같은 하위 작업을 수행하는 작업을 포함할 수 있다.
이미지 데이터 프레임(140)에서 구동 체계(134)를 분리하면, 실시예에 따라, 파서 알고리즘(148)은 디스플레이 드라이버 모듈(106)이 구동 체계(134)를 구동 체계 스토리지(150)에 저장하게 한다. 구동 체계 스토리지(150)은 디스플레이 드라이버 모듈(106) 내의 휘발성 또는 비휘발성 메모리일 수 있다. 구동 체계 스토리지(150)은 또한 이미지 시스템(100) 내에서 디스플레이 드라이버 모듈(106)이 사용하도록 할당한 휘발성 또는 비휘발성 메모리로도 구현될 수 있다.
이미지 데이터 프레임(140)에서 이미지 데이터(128)을 분리하면, 파서 알고리즘(148)은 이미지 시스템(100)이 이미지 데이터 스토리지(152)에 이미지 데이터(128)을 저장하게 한다. 이미지 데이터 스토리지(152)는 디스플레이 드라이버 모듈(106)에서 사용하도록 할당된 휘발성 또는 비휘발성 메모리로 구현될 수 있다.
디스플레이 드라이버 모듈(106)은 디스플레이(108)에서 이미지 디스플레이 설정을 재구성하고, 디스플레이 (108)에 이미지 데이터(128)을 표시하기 위하여 디스플레이(108)에 이미지 데이터(128)을 제공하는 이미지 출력 모듈(146)을 포함하고 있다. 이미지 출력 모듈(146)은 구동 체계 스토리지(150)로부터 구동 체계(134)를 읽도록 구성되어 있다. 이미지 출력 모듈(146)은 이미지 데이터 스토지 152에서 이미지 데이터 128을 읽도록 구성할 수 있습니다. 이미지 출력 모듈(146)은, 디스플레이(108)에 디스플레이 특성을 제공함으로써 디스플레이(108)을 재구성하기합니 위하여, 구동 체계(134)의 디스플레이 특성을 사용한다. 결과적으로, 이미지 데이터 처리 모듈(104)와 결부된 디스플레이 드라이버 모듈(106)의 작동은 이미지 시스템(100)이, 디스플레이(108)에 의해 표시되는 이미지 데이터를 중단하지 않고, 디스플레이(108)에 대한 이미지 디스플레이 설정을 동적으로 재구성하게 한다.
이미지 시스템(100)은 센서 데이터 이미지 획득 모듈(101), 이미지 데이터 처리 모듈(104) 및 디스플레이 드라이버 모듈(106)을 작동하도록 구성된 프로세서(154)가 하나 이상 포함한다. 한 실시예에서, 첫 번째 프로세서는 센서 데이터 획득 모듈(예: 소프트웨어 모듈의 지침)과 이미지 데이터 처리 모듈(104)을 실행하고, 두 번째 프로세서는 디스플레이 드라이버 모듈(106)을 작동시킨다. 한 개 이상의 프로세서(154)는 다양한 실시예에 따라, 그리고 통상의 기술자에게 자명한 바와 같이, 칩(SoC), 디지털 신호 프로세서(DSP), 그래픽 처리 장치(GPU), 주문형 집적 회로(ASIC) 및/또는 다른 프로세서들에서 하나 이상의 시스템을 의미한다.
한개 이상의 프로세서(154)는, 실시예에 따라, 첫 번째 메모리(156)로부터 센서 데이터 수집 모듈과 이미지 데이터 처리 모듈(104)를 읽고 실행하도록 구성되어 있다. 하나 이상의 프로세서(154)는, 실시예에 따라, 두 번째 메모리(158)로부터 디스플레이 드라이버 모듈(106)을 읽고 실행하도록 구성되어 있다. 첫 번째 메모리(156) 및 두 번째 메모리(158)은, 여러 실시예에 따라, 공유되거나, 독립적으로 구현된 RAM, 플래시, 다른 휘발성 메모리, 다른 비휘발성 메모리, 하드 디스크 드라이브 및/또는 솔리드 스테이트 드라이브일 수 있다.
디스플레이(108)은, 이미지 데이터를 표시하거나 시각적으로 나타내는데 사용되는 회로 또는 기타 하드웨어를 의미한다. 디스플레이(108)은 마이크로 디스플레이, 터치스크린, 모니터, 프로젝터 또는 통상의 기술자에게 알려진 기타 디스플레이 장치로 구현될 수 있다.
도 2는, 실시예에 따라, 구동체계를 이미지 데이터 프레임의 이미지 데이터와 병합하는 방법(200)을 나타낸다. 방법(200)은 센서 데이터 수집 모듈(101) 및/또는 이미지 데이터 처리 모듈(104)에 의해 수행되는 작동들을 포함한다.
실시예에 따라, 작동(201)에서 방법(200)이 시작된다. 실시예에 따라 작동(201)은 작동(202)으로 진행한다.
작동(202)에서, 방법(200)은 실시예에 따라 센서 데이터를 수신하는 것을 포함한다. 센서 데이터는 하나 이상의 다수의 센서로부터 수신된다. 다수의 센서들은 관성 측정 센서, 주변 광 센서, 온도 센서, 이미지 센서 및 아이 트래킹 센서가 포함될 수 있지만 이에 제한되지는 않는다. 센서 데이터는, 상기 센서들로부터, 또는 상기 센서들을 수용하는 하나 이상의 유닛(예: 관성 측정 유닛, 주변 광 유닛, 온도 유닛, 이미지 유닛, 아이 트래킹 유닛 등)로부터 직접 센서 데이터를 요청하도록 구성된, 센서 데이터 획득(소프트웨어) 모듈에 의하여, 하나 이상의 센서로부터 수집된다. 실시예에 따라, 작동(202)은 작동(204)으로 진행한다.
작동(204)에서 방법(200)은, 실시예에 따라, 이미지 데이터 수신을 포함한다. 이미지 데이터는, 실시예에 따라, 연속적으로 캡처된 여러 이미지의 행과 픽셀 열을 나타내는 데이터일 수 있다. 이미지 데이터는, 예를 들어, 하나 이상의 이미지 센서에서 이미지 데이터를 요청 및/또는 수신하도록 구성된 센서 데이터 수집 모듈로 요청 및 획득될 수 있다. 이미지 데이터는, 네트워크 커넥션로부터, 메모리로부터, 또는 이미지 데이터가 저장되거나 호스팅되는 다른 위치로부터 이미지 데이터를 요청 및/또는 수신하도록 구성된, 이미지 데이터 모듈에 의해 획득될 수 있다. 도 1과 관련하여 위에서 설명한 바와 같이, 이미지 데이터는 여러 이미지 포맷 타입 중 하나 이상의 포맷 타입으로 포맷될 수 있다. 실시예에 따라 작동(204)이 작동(206)로 진행한다.
작동(206)에서, 방법(200)은, 실시예에 따라, 최소한 부분적으로 센서 데이터를 기반으로, 구동체계를 규정하거나 선택하는 것을 포함한다. 구동 체계는, 최소한 부분적으로 센서 데이터를 기반으로, 미리 결정된 다수의 구동 체계 중에서 선택할 수 있다. 구동 체계는, 최소한 부분적으로 센서 데이터를 기반으로 규정될 수 있다(예: 다른 구동 체계는, 다른 환경 광 레벨, 다른 환경 온도, 다른 눈 움직임 등을 나타내는 센서 데이터를 기반으로, 생성될 수 있다). 실시예에 따라, 작동(206)은 작동(208)으로 진행된다.
작동(208)에서, 방법(200)은, 구동 체계를 이미지 데이터 프레임에 있는 이미지 데이터와 동시에 전송하기 위하여, 구동체계를 이미지 데이터를 갖는 이미지 데이터 프레임에 삽입하는 것을 포함한다. 이미지 데이터 프레임의 이미지 데이터와 구동 체계를 동시에 전송함으로써, 방법(200)은, 이미지 시스템이, 디스플레이의 사용자에게의 이미지 표시를 중단함이 없이, 디스플레이 특성을 동적으로 재구성할 수 있게 한다. 실시예에 따라, 작동(208)은 방법(200)이 끝나는 작동(210)으로 진행한다.
예를 들어, 주변 광 센서가, 이미지 시스템이 낮은 조도 환경(예: 어둠 속에서)에서 사용 중임을 나타내는 경우, 방법(200)은 디스플레이의, 또는 디스플레이에 의해 표시되는 이미지 데이터의 조도를 줄이는 구동 체계를 생성, 선택 또는 사용 결정을 할 수 있다. 또 다른 예로, 아이 트래킹 센서가 사용자의 눈이 디스플레이의 왼쪽으로 향하고 있음을 나타내는 경우에, 방법(200)은, 실시예에 따라, 사용자의 몰입 효과를 향상시키고 디스플레이를 보는 동안 사용자의 경험을 개인화하기 위하여, 디스플레이 왼쪽에 표시되는 물체의 초점 또는 해상도를 높이고, 반면에 디스플레이 오른쪽에 표시되는 물체의 초점 또는 해상도를 낮추는 구동체계를 생성, 선택 또는 사용 결정할 수 있다.
도 3은 실시예에 따라, 디스플레이 드라이버 모듈(106)(도 1에 표시)과 같은 디스플레이 드라이버 모듈을 작동하는 방법(300)을 나타낸다. 디스플레이 드라이버 모듈을 작동하는 방법(300)은, 최소한 부분적으로는 파서 알고리즘(148)(도 1 참조)에 의해 수행되는 작동들의 예이다.
작동(301)에서, 실시예에 따라, 방법(300)이 시작된다. 작동(301)은 작동(302)으로 진행한다.
작동(302)에서, 방법(300)은 구동 체계와 이미지 데이터를 포함하는 이미지 데이터 프레임을 수신하는 것을 포함한다. 구동 체계는 특정 방식으로 이미지 데이터를 표시하도록 디스플레이를 재구성하기 위한 디스플레이 특성을 포함한다. 이미지 데이터는, 통상의 기술자에게 알려진 바와 같이, 여러 기존 이미지 데이터 포맷기술 중 하나 이상을 사용하여 포맷된 이미지 데이터이다. 작동(302)은 작동(304)으로 진행한다.
작업(304)에서, 방법(300)은 이미지 데이터 프레임에서 구동 체계와 이미지 데이터를 파스(parse)하는 것을 포함한다. 디스플레이 드라이브 모듈은 통상의 기술자에게 알려진 여러 가지 기술을 사용하여, 이미지 데이터 프레임으로부터 이미지 데이터와 드라이브 구성을 파스하거나 분리할 수 있다. 하나의 실시예에서, 디스플레이 드라이브 모듈은, 이미지 데이터 프레임의 바이트들이 특정 제어 구조 설정을 나타내며 바이트들이 이미지 데이터를 나타내는 하드 코딩된 매핑을 포함한다. 디스플레이 드라이브 모듈은, 추가 작동(예: 이미지 데이터 프레임내에 포함된 저정보를 저장, 전송 등)을 수행하는 데 사용되는 (소프트웨어) 변수에, 바이트 값을 저장할 수 있다. 작동(304)은 작동(306)으로 진행한다.
작동(306)에서, 방법(300)은 구동 체계를 구동 체계 스토리지에 저장하는 것을 포함한다. 구동 체계 스토리지는 디스플레이 드라이버 모듈에 의한 사용을 위해 내부에 포함되거나 또는 할당된 휘발성 및/또는 비휘발성 메모리를 포함한다. 작동(306)은 작동(308)으로 진행한다.
작동(308)에서, 방법(300)은 이미지 데이터 스토리지에 이미지 데이터를 저장하는 것을 포함한다다. 이미지 데이터 스토리지에는 디스플레이 드라이버 모듈에서 사용하도록 내부에 포함되거나 또는 할당된 휘발성 및/또는 비휘발성 메모리를 포함한다. 작동(308)은 작동(310)으로 진행한다.
작동(310)에서, 방법(300)은 구동체계를 이미지 데이터(예: 포맷된 이미지 데이터)와 선택적으로 재결합하는 것을 포함한다. 이미지 포맷 모듈을 사용하여 구동체계를 이미지 데이터와 재결합할 수 있다. 작동(310)은 작동(312)으로 진행한다.
작동(312)에서, 방법(300)은 구동 체계에 의해 규정된 디스플레이 특성에 따라 디스플레이를 구성하는 것을 포함한다. 작동(312)은 작동(314)으로 진행한다.
작동(314)에서, 방법 300은, 구동체계에 의해 규정된 구성을 사용하여 디스플레이가 이미지 데이터를 표시하게 하기 위하여, 이미지 데이터를 디스플레이로 전송하는 것을 포함한다. 디스플레이는 마이크로 디스플레이, 프로젝터, 터치스크린, 모니터, AV 헤드셋, VR 헤드셋, 또는 통상의 기술자들에게 알려진 또 다른 디스플레이일 수 있다. 작동(314)은 방법(300)이 끝나는 작동(316)으로 진행한다.
도 4는 실시예에 따른, 이미지 데이터 프레임(400)의 전송 시퀀스의 예를 나타낸다. 이미지 데이터 프레임(400)의 전송 시퀀스는, 디스플레이(108)에 표시하기 위해, 한 개 이상의 프로세서에 의해 디스플레이 드라이버 모듈(106)로 전송된다. 이미지 데이터 프레임(400)의 전송 시퀀스는 실시예에 따라 드라이브 시퀀스(402)가 포함된 이미지 데이터 프레임, 드라이브 시퀀스(404)가 없는 이미지 데이터 프레임, 드라이브 시퀀스(406)이 포함된 이미지 데이터 프레임을 포함할 수 있다. 드라이브 시퀀스(402)의 이미지 데이터 프레임에는 드라이브 시퀀스 제어 구조 A와, 하나 이상의 프로세서( 154)와 디스플레이 드라이버 모듈(106) 사이의 전송을 위해 함께 병합된 이미지 프레임 A를 포함하고 있다. 드라이브 시퀀스(402)가 포함된 이미지 데이터 프레임은, 실시예에 따라, 드라이브 시퀀스 제어 구조와 이미지 프레임을 모두 포함하는 용량을 가진 확대된 이미지 프레임이다.
드라이브 시퀀스(404)가 없는 이미지 데이터 프레임은, 실시예에 따라, 더미 바이트와 이미지 프레임 N을 포함한다. 더미 바이트는 후속 드라이브 시퀀스 제어 구조의 플레이스 홀더이며, 이미지 프레임 N은, 다양한 실시예에 따라, 하나 이상의 프로세서(154)에서 디스플레이 드라이버 모듈(106)로 전송되는 하나 이상의 이미지 프레임을 나타낸다.
드라이브 시퀀스(406)가 포함된 이미지 데이터 프레임은 드라이브 시퀀스 제어 구조 B와, 하나 이상의 프로세서(154)와 디스플레이 드라이버 모듈(106) 사이의 전송을 위해 함께 병합된 이미지 프레임 X를 포함한다. 드라이브 시퀀스 제어 구조 B는, 실시예에 따라, 디스플레이(108)에 디스플레이 데이터가 표시되는 디스플레이 특성/설정을 동적으로 변경하기 위해, 드라이브 시퀀스 제어 구조 A 얼마 후 이후에 디스플레이 드라이버 모듈(106)로 전송되는 드라이브 시퀀스 제어 구조를 나타낸다.
도 5는, 실시예에 따라, 이미지 데이터 프레임(500)의 전송 시퀀스의 다른 예를 도시한다. 도 5에 도시된, 이미지 데이터 프레임(500)의 전송 시퀀스에서, 실시예에 따라, 드라이브 시퀀스 제어 구조 A와 드라이브 시퀀스 제어 구조 B가 이미지 프레임 사이에 있는 블랭킹 간격에 끼워 넣어진다. 블랭킹 간격(502)(블랭킹 간격 502A, 502B, 502C 포함)는 사용되지 않거나 활용도가 낮은 바이트를 나타내지만, 실시예에 따라 MIPI와 같은 하나 이상의 통신 프로토콜에 의해 요구될 수 있다. 통신 프로토콜 MIPI는 블랭킹 간격(502)을 사용하지만, 실시예에 따르면, 다른 통신 프로토콜은 버퍼 바이트, 패딩 바이트, 또는 하나 이상의 프로세서(154)와 디스플레이 드라이버 모듈(106) 사이에서 드라이브 시퀀스 제어 구조를 전송하는데 사용될 수 있는, 그 밖의 활용되지 않는 공간을 필요로 할 수 있다.
도5의 전송 시퀀스와 유사하게, 본 발명의 실시예은, 이미지 데이터로부터 제어 데이터를 다르게 패킹함으로써, 그러나 아직 그 프레임에 대하여 이미지 데이터 자체와 결합되어 있는, 로시(lossy) 이미지 압축의 어떤 형태를 지원하는데 사용될 수 있다. 다시 말하면, 구동 체계로 이미지 데이터 바이트를 채우는 대신에, 이미지 또는 데이터 포맷 또는 프로토콜의 다른 부분이 디스플레이의 구동 체계를 동적으로 업데이트하기 위해 구동체계를 포함하도록 수정될 수 있다. 예를 들어, MIPI DSI(MIPI display serial interface) 프로토콜에서, 전송 호스트는 이미지 데이터(예: RGB24 패킷이라고 하는 패킷 유형)뿐만 아니라, 통상의 기술자에게 잘 알려진 다른 패킷 유형도 전송할 능력을 갖는다. 또한 이미지의 일부 패킷 유형은 vsync-start 및 vsync-end, hsync-start 및 hsync-end와, 그리고 MIPI 링크를 통해 라인의 이미지 데이터가 전송되는 시간 동안 더미/블랭킹/no-op 패킷을 포함한다. 프로토콜 규정된 일련의 vsync/hsync/rgb24 패킷을 전송함으로써, MIPI 전송기는 필연적으로 이미지 프레임 데이터의 배열을 인코딩한다. 이것이, 예를 들어, 이 MIPI 정보를 수신하는 대부분의 디스플레이 드라이버 칩이 수신한 패킷 유형으로부터 이미지 스트림을 직접 재생성하려고 시도하기 때문에, 휴대 전화 디스플레이에대해서 이미지가 MIPI를 통해 일반적으로 전송되는 방법이다.
다른 패킷 유형이 정보 전송 시간 동안 사용될 수 있으며, 예를 들어, RGB24 패킷이 전송되지 않을 때, 또는 호스트의 MIPI TX 머신이 일반적으로 블랭킹/No-Op 패킷을 보내는 때에, 드라이브 시퀀스 제어 구조를 전송하는 데 사용될 수 있다. 블랭킹/No-Op 패킷은 단순히 이미지 데이터 프레임을 재작성할 때 수신자 측에서 시간을 보내기 하기 위한 플레이스 홀더의 역할을 한다. 본 발명의 실시예에서, 프레임 동안, 블랭킹 패킷을 보내는 대신에, 프로세서가, 전송하는 블랭킹 패킷과 동일한 시간이 걸리는(따라서 수신 측에서 타이밍을 유지할 수 있음) 패킷들을 전송할 수 있으나, 그러나 패킷들은, 디스플레이 드라이버/리시버가 제어 정보를 추출하여 현재 수신 중인 이미지 데이터의 프레임에 사용하기 위해 메모리에 저장하도록, 드라이브 시퀀스를 그들로 인코딩한다. MIPI와 마찬가지로, HDMI 프로토콜도 유사한 기능을 갖고 있다. 이러한 방식으로, HDMI 케이블은 이미지와 오디오 정보를 모두 전달할 수 있다. 오디오는 블랭킹 간격 동안 일반적으로 더미 패킷인 시간을 소비하는 다른 패킷 유형으로 인코딩된다.
선택적으로, 예를 들어 MIPI의 4개 레인이 존재하는 경우에, 4개 레인이 모두 동시에 전송될 수 있다. 이미지 시스템은, 보통의 "덤(dumb)" 디스플레이가 수신하고자 하는 것처럼, 이미지 데이터를 전달하기 위해 레인 0.1.2를 사용하고, 제어 정보에 의한 전용 용도를 위해 레인 3을 남겨둘수 있다. 4개 레인은 모두 호스트 MIPI 송신기에서 동기화되어 처리되어 함께 외부로 전송되지만, 한 레인은 제어 데이터(예: 제어 구조)를 가지며 다른 3개 레인은 이미지 데이터를 포함할 수 있다. 이는, 블랭킹 간격(502)에 패킷을 삽입하고, 4 MIPI 레인에 분산된 전체 패킷 집합을 갖는 것과는 다르다.
도 6A 및 6B는, 실시예에 따라, 하나 이상의 프로세서(154)(도 1, 4, 5에 도시)와 디스플레이 드라이버 모듈(106)(도 1, 4 및 5에 도시) 사이에 드라이브 시퀀스를 전송하기 위한 이미지 데이터 프레임(600)의 예를 나타낸다. 이미지 데이터 프레임(600)은 이미지 데이터 프레임(140)(도 1 참조)의 예시적 실시예이다. 이미지 데이터 프레임(600)은, 실시예에 따라, 제어 구조 헤더(602), 제어 구조(604) 및 이미지 프레임(606)을 포함한다.
이미지 프레임은, 일정 속도로 비트 스트림을 디스플레이 드라이버 모듈(106)로 전달하는 매체를 통해 전송되는 데이터의 "패킷"으로 간주될 수 있다. 이 패킷은 가변 구조를 가지고 있지만, 그러나 디스플레이 드라이버 모듈(106)에서 수신 데이터를 추가로 디코딩하고 LCOS(실리콘 액정) 채널을 제어하는 방법에 대해서 디스플레이 드라이버 모듈(106)에 지시하기 위한 헤더일 수 있다. 제로, 하나, 또는 그 이상의 명령 제어 구조와, 제로, 하나, 또는 그 이상의 비트 평면이 있을 수 있다. 비트 평면은 제어 구조(604) 내에 또는 이미지 프레임(606) 내에 지정된 비트 위치에 대응하는 비트들의 세트이다. 제어 구조(604)는 디스플레이 드라이버 모듈(106)의 각 채널에 대하여 명령 콘텐츠, 조회 테이블(LUT) 콘텐츠 및/또는 직렬 주변 인터페이스(SPI) 콘텐츠를 포함할 수 있다. 비트 평면들을 특정 채널에 할당하거나 "유효하지 않음"으로 표시할 수 있으므로 입력 비트 평면 전송 카덴스에 효과적으로 지연(delay)을 삽입할 수 있다.
디스플레이 드라이버(104)와 MIPI 데이터 구조는 여러가지 다른 사용 시나리오를 지원할 수 있을 만큼 플렉시블하다. 한 실시예에는 감소된 지연시간과 대역폭의 최대 사용을 위해, 비트 평면(제어구조가 아님)만 뒤따르는 LCOS 채널(오직, 0 비트 평면을 갖는 제어 구조)의 초기 설정을 포함할 수 있다. 실시예에서, 디스플레이 드라이버(104)는 모든 프레임에 제어 구조와 비트 평면을 삽입함으로써, 프레임 마다 LCOS 채널의 새로운 설정을 지원할 수 있다.
MIPI "패킷" 구조는 24비트의 데이터를 기반으로 할 수 있다. 24비트는, 그 내부에서 MIPI 데이터 스트림의 "액티브 이미지 부분"으로 간주될 수 있는 단일 "픽셀"을 나타내기 위해 사용될 수 있다. 24비트는 빨간색을 나타내는 8비트, 녹색을 나타내는 8비트, 파란색을 나타내는 8비트로 나눌 수 있다. 대체 비트 수량 및/또는 색상 할당도 또한 사용될 수 있다.
이미지 데이터 프레임(600)은 크기를 조정하기 위한 것이 아니라 MIPI "이미지 프레임"의 예시적 배열과 크기를 시각적으로 보여 주기 위한 것이다. 도시된 바와 같이, 이미지 데이터 프레임(600)에 표시되는 가장 작은 비트 길이 변수는 24비트 "픽셀", 즉 단일 픽셀에 대한 픽셀 데이터 표시를 위해 할당된 3바이트를 나타낸다. 도 6, 7A, 7B 및 7C의 도면의 폭은 MIPI를 통해 전송되는 개시된 기술의 구현을 제한하는 것이 아니다. 데이터를 전송하기 위해 다중 "픽셀"을 사용하는 제어 구조(604)의 변수와 데이터에 대하여, 가장 왼쪽에 있는 "픽셀"은 변수의 가장 중요하지 않은 부분으로 할당될 수 있다. 비트 평면 데이터에서, 가장 왼쪽에 있는 "픽셀"은 비트 평면의 비트 23:0으로 할당될 수 있다. 두 번째 "픽셀"은 비트 [47:24] 등으로 할당될 수 있다.
실시예에서, 다이어그램에서 "픽셀"에 사용되었던 유보된(남겨진) 3바이트의 데이터는 정렬(예: 파서의 디코딩을 더 쉽게 하기 위해)에 될수 있다.
제어 구조 헤더(602)는 (도 1A, 1B, 4 및 5에 도시된) 구동 체계와 드라이브 시퀀스 제어 구조의 일부의 실시예이다. 제어 구조 헤더(602)는 구동 체계를 이미지 데이터와 병합을 용이하게 하기 위한 여러 기능을 포함하고 있다. 예를 들어 제어 구조 헤더(602)는 모든 MIPI "이미지 프레임"에 존재하는 8 x 24비트 "픽셀" 가치의 정보를 포함할 수 있다. 제어 구조 헤더(602)는 MIPI 인터페이스에서 수신한 이미지가 올바른 포맷인지 확인하기 위한 검사로 사용할 수 있는 서명(예: 48비트)을 포함할 수 있다. 서명의 2 "픽셀"이 MIPI 인터페이스에 도착할 경우, 도착하는 첫 번째 "픽셀" 가치의 정보는 48비트 시그니처의 하위 24비트로 간주될 수 있으며, 도착하는 두 번째 "픽셀" 가치의 정보는 48비트 시그니처의 상위 24비트로 처리될 수 있다. 제어 구조 헤더(602)는 얼마나 많은 제어 구조들이 따라야 하는지를 지정하기 위해 몇 개의 비트(예: 24비트)를 포함하는 제어 구조 카운트를 포함할 수 있으며, 파서에 얼마나 많은 데이터의 바이트들이 제어 구조로 해석될 수 있는지를 나타낼 수 있다. 제어 구조 헤더(602)는, 얼마나 많은 유효한 데이터 구조와 유효하지 않은 데이터 구조가 이미지 프레임에 있는지를 지정하기 위해, 비트 수(예: 24비트)를 포함하는 데이터 구조 카운트를 포함할 수 있으며, 이는 얼마나 많은 데이터의 바이트 수가 제어 구조로 해석되어야 하는지를 파서에 나타낼 수 있다. 제어 구조 헤더(602)는 프레임에 대해서 LCOS 채널 작동을 제어하기 위하여 정보를 포함하는 다수의 비트(예: 24비트)를 포함하는 LCOS 채널 제어를 포함할 수 있다. 제어 구조 헤더(602) 타임베이스는, 이 값을 수신하여 타임베이스가 재설정될 때까지, 다수의 "틱(ticks)"을 지정하는 비트(예: 24비트)를 포함하는 재설정(reset)을 딜레이(delay)한다. 0인 경우 타임베이스는 즉시 재설정된다. 제어 구조 헤더(602)는 데이터 구조에서 데이터 "패킹"의 포맷을 지정하기 위한 다수의 비트(예: 24비트)를 포함하는 데이터 디테일을 포함한다. 제어 구조 헤더(602)는 데이터 구조 콘텐츠의 해상도를 지정하기 위해 다수의 비트(예: 24비트)를 포함하는 데이터 해상도를 포함할 수 있다.
제어 구조(604)는 구동 체계를 이미지 데이터와 병합하는 여러 기능을 포함한다. 제어 구조(604)는 제어 구조 포맷의 디테일을 지정하기 위해 다수의 비트(예: 24비트)를 포함하는 채널 ID를 포함하고 있으며, 이는 얼마나 많은 데이터의 바이트가 제어 구조로 해석되는지를 파서에 표시한다. 제어 구조(604)는 명령-선입선출(fifo) 엔트리들을 파스하고 저장하는 데 필요한 다수의 비트(예: 24비트)를 포함하는 명령 디테일을 포함하고 있다. 제어 구조(604)는 LUT 엔트리들을 파스하고 저장하는 다수의 비트(예: 24비트)들을 포함한 LUT 디테일을 포함할 수 있다. 제어 구조(604)는 SPI 명령을 파스하고 저장하는 다수의 비트(예: 24비트)들을 포함하는 직렬 주변 인터페이스(SPI) 디테일을 포함한다. 제어 구조(604)는 채널 명령 선입선출 버퍼에 저장할 명령(예: 최대 4096개의 명령)을 포함한 명령 리스트를 포함하고 있다. 제어 구조(604)는 채널 LUT 선입선출버퍼의 지정된 인스턴스에 저장될 다수의 LUT 값(예: 최대 1024개의 LUT 값)을 포함한 LUT 리스트를 포함하고 있다. 제어 구조(604)는 채널의 SPI 선입선출버퍼에 저장될 다수의 SPI 엔트리(예: 최대 256개의 SPI 엔트리)을 포함하는 SPI 리스트를 포함할 수 있다.
이미지 프레임(606)은 구동 체계를 이미지 데이터와 병합하는 여러 기능을 포함하고 있다. 이미지 프레임(606)은 데이터 구조의 디테일을 지정하기 위해 다수의 비트(예: 24비트)를 포함하는 데이터스트럭(datastruct) 디테일을 포함하며, 이는 얼마나 많은 데이터의 바이트가 이미지 데이터로 해석되는 지를 파서에 나타낸다. 이미지 프레임(606)은 후속 데이터 구조에 있는 다수의 픽셀를 포함하는 데이터스트럭 픽셀 카운트를 포함하고 있으며, 이는 얼마나 많은 데이터의 바이트가 이미지 데이터로 해석되는 지를 파서에 나타낸다. 이미지 프레임(606)은, 데이터 구조의 데이터에 적용하기 위한 유효한 비트와 디더 커널(dither kernel) 엔트리를 규정하는 다수의 비트(예: 72비트)를 포함하는 디더 커널 값을 포함하고 있다. 이미지 프레임(606)은 각 데이터 구조에 비트를 저장할 어드레스를 나타내는 다수의 비트(예: 48비트)를 포함하는 로테이트 스토리지 어드레스를 포함할 수 있다. 이미지 프레임(606)은 픽셀에 패킹된 다수의 비트(예: 픽셀당 24비트)를 포함하는 데이터 구조 데이터를 포함하고 있다.
실시예에서, 각 제어 구조는 25,000픽셀(정확하게 25,096픽셀)을 약간 넘게 차지한다. 예를 들어 MIPI 링크의 이미지 해상도가 초고화질(UHD)(3840x2160)인 경우에, 제어 구조는 2,160개 중 약 6.5개 라인(또는 행)를 차지하므로, 이는 이 UHD 프레임의 병합된 이미지 픽셀에 포함(embeded)되어 전송될 수 있는 총 데이터 양의 약 0.3%가 된다. 디스플레이의 픽셀 수가 변하고, 따라서 제어구조의 크기도 변한다는 것은 통상의 기술자에게 자명하다. 10 Gbps 데이터 레이트에서(MIPI 프로토콜의 v1.2에 따라 D-PHY의 4개 레인을 사용하는 단일 MIPI 채널에서), 25,000 픽셀의 전송은 약 50us가 소요될 것이다. 전송 및 수신 인터페이스 둘다 최대 C-Phy 데이터 레이트(34.2Gbps)로 사용된다면, 이 제어 정보의 전송 시간은 약 17.6us에 불과하다. 본 발명의 실시예에 따라, 드라이브 시퀀스는 동적으로 결정(예: 센서 데이터에 기반)되고, 동적으로 업데이트(예: 병합된 이미지 프레임내의 전송을 통한)되며, 그리고 수십 마이크로초 단위로 활성화될 수 있다. 이러한 기술은 AR/VR 및 기타 개인화된 이미지 이머젼 경험을 혁신할 수 있는 잠재력을 가진다.
도 7A, 7B 및 7C는, 실시예에 따라, 하나 이상의 프로세서(154)와 디스플레이 드라이버 모듈(106)(도 1 참조) 사이에 드라이브 시퀀스를 전송하기 위한, 선택적인 제어 구조의 여러 예를 포함하는 이미지 데이터 프레임(700)의 일부를 도시한다. 이미지 데이터 프레임(700)은, 실시예에 따라, 제어 구조 헤더(702), 첫 번째 제어 구조(704), 두 번째 제어 구조(706), 세 번째 제어 구조(708), 하나 이상의 추가 제어 구조, 그리고 이미지 프레임(710)을 포함한다. 위에서 설명한 이미지 데이터 프레임(600)의 섹션은, 여러 실시예에 따라, 이미지 데이터 프레임(700)의 섹션과 유사하다.
도 8은 본 발명의 실시예에 따른, 이미지 시스템(800)의 소프트웨어 모듈을 포함하는 블록 다이어그램을 도시한다. 이미지 시스템(800)은, 실시예에 따라, 통신 채널(806)을 통해 하나 이상의 프로세서(804)에 통신적으로 결합된 메모리(802)를 포함한다. 메모리(802)는 예를 들어, 실시예에 따라, 휘발성 메모리(예: SDRAM), 비휘발성 메모리(예: NAND), 또는 휘발성 메모리와 비휘발성 메모리의 조합을 포함한다. 하나 이상의 프로세서(804)는, 실시예에 따라, 두 개 이상의 개별 프로세서(예: SoC용 프로세서 하나와 디스플레이 드라이버용 프로세서 하나)를 포함할 수 있다.
메모리(802)는, 실시예에 따라, 하나 이상의 프로세서(804)에 의해 실행될 수 있는 지침(808)을 포함한다. 지침(808)은 이미지 데이터 모듈(810), 드라이브 시퀀스 모듈(812), 센서 캡처 모듈(814), 파서 모듈(816) 및 드라이브 시퀀스를 포함한다. 이미지 데이터 모듈(810)은, 하나 이상의 프로세서(804)에 의해 실행될 때, 하나 이상의 프로세서(804)가 이미지 획득 및/또는 포맷 작업을 실행하도록 하는 지침을 포함한다. 드라이브 시퀀스 모듈(812)은, 하나 이상의 프로세서(804)에 의해 실행될 때, 하나 이상의 프로세서(804)가 드라이브 시퀀스 알고리즘(예: 도 1에 표시된 드라이브 시퀀스 알고리즘 130)을 실행하도록 하는 지침을 포함하고 있다. 센서 캡처 모듈(814)은, 하나 이상의 프로세서(804)에 의해 실행될 때, 하나 이상의 프로세서(804)가 이미지 시스템의 하나 이상의 센서로부터 센서 데이터를 캡처하도록 하는 지침을 포함한다. 위에서 설명되고 본 발명의 실시예에 따라, 파서 모듈(816)은 하나 이상의 프로세서(804)에 의해 실행할 때, 하나 이상의 프로세서가 파서 루틴 및/또는 프로세스를 실행하도록 하는 지침을 포함한다. 드라이브 시퀀스 업데이트 모듈(818)은, 하나 이상의 프로세서(804)에 의해 실행될 때, 실시예에 따라, 하나 이상의 프로세서(804)가 기존 드라이브 시퀀스를 새로운 드라이브 시퀀스(예: 도1에 도시된 디스플레이 드라이버 모듈 106)로 업데이트하도록 하는 지침을 포함한다.
지침(808)은 메모리(802)로부터 읽거나,지침(808)은 그래픽 카드(820) 및/또는 그래픽 처리 장치(822)에 의해 부분적으로 저장 및 실행될 수 있다. 지침(808)은 통신 채널(824)를 통해서 그래픽 카드(820) 및/또는 그래픽 처리 장치(822)에 의해 메모리(802)로부터 읽을 수 있다. 그래픽 카드(820)는 그래픽 처리 장치(822)를 포함하여 캐리(carry)할 수 있다. 그래픽 처리 장치(822)는 선택적으로 프로세서(804)와 동일한 상호 연결 회로(예: 인쇄 회로 보드)에 의하여 캐리될 수 있다.
하나의 실시예에서, 이미지 시스템(800)은 디스플레이(824)(예: 디스플레이 824의 하나 이상의 회로 기판)에 선택적으로 구현된다. 하나의 실시예에서, 프로세서(804)가 디스플레이(824)와 결합되어, 이미지 데이터를 제공하고, 이미지 특성을 갖는 디스플레이 (824)를 구성한다.
여기에 개시된 기술의 실시예는 하드웨어, 소프트웨어, 펌웨어, 또는 이런 구현 접근방식의 조합으로 구현될 수 있다. 본 발명의 실시예는 적어도 하나의 프로세서, 하나의 저장 시스템(휘발성 및 비휘발성 메모리 및/또는 저장 요소 포함), 적어도 하나의 입력 장치 및 적어도 하나의 출력 장치로 구성된 프로그램 코드 또는 컴퓨터 프로그램으로 구현될 수 있다.
여기에서 어떤 실시예에서 사용된 것처럼, 용어 "로직"은 앞에서 언급한 작동 중 하나를 수행하도록 구성된 애플리케이션, 소프트웨어, 펌웨어 및/또는 회로를 지칭할 수 있다. 소프트웨어는 비임시 컴퓨터 읽기 저장 매체에 기록된 소프트웨어 패키지, 코드, 지침, 지침 세트 및/또는 데이터로 구현될 수 있다. 펌웨어는 메모리 장치에 하드 코딩(예: 비휘발성)된 코드, 지침 또는 지침 세트 및/또는 데이터로 구현될 수 있다. 위에서 설명한 바와 같이 소프트웨어 모듈은 프로세서에 의해 실행되는 로직 및/또는 회로를 포함한다. 용어 "로직"은 또한 프로세서 작동에 영향을 미치도록 적용된, 지침 신호 및/또는 데이터의 형식을 가진 모든 정보를 의미한다. 소프트웨어는 그러한 로직의 한 예이다. 프로세서의 예로는, 컴퓨터 프로세서(프로세서), 마이크로프로세서, 디지털 신호 프로세서, 컨트롤러 및 마이크로컨트롤러 등이 있다. 로직은, 예를 들어 RAM(Random Access Memory), ROM(Read-only Memory), 삭제/전기적 소거 가능한 프로그램 가능 읽기 전용 메모리(EPROMS/EEPROMS), 플래시 메모리 등을 포함하는 메모리 또는 스토리지와 같은 비임시 컴퓨터 판독 가능 매체에 저장된 컴퓨터 실행 지침으로부터 형성될 수 있다. 로직은 또한 디지털 및/또는 아날로그 하드웨어회로, 예를 들어, 논리 AND, OR, XOR, NAND, NOR 및 기타 논리 연산을 포함하는 하드웨어 회로로 구성될 수 있다. 로직은 소프트웨어와 하드웨어의 조합으로 구성될 수 있다. 네트워크에서, 로직은 서버 또는 서버 복합체에 프로그래밍될 수 있다. 특정 논리 단위는 네트워크의 단일 논리 위치에 제한되지 않는다.
여기 모든 실시예에 사용되는 "회로"는, 예를 들어, 단일 또는 어떤 조합에서, 유선 연결 회로, 프로그램 가능한 회로, 상태 머신 회로, 논리 및/또는 프로그램 회로에 의해 실행된 지침을 저장하는 펌웨어로 구성될 수 있다. 회로는 집적 회로 칩, 시스템 온 칩(SoC) 등과 같은 집적 회로로서 구성될 수 있다. 일부 실시예에서, 회로는, 여기에 설명된 기능에 대응하는 코드 및/또는 지침 세트합(예: 소프트웨어, 펌웨어 등)을 실행하고, 따라서 범용 프로세서를 하나 이상의 작동을 수행하는 특정 목적의 처리 환경으로 변환하여 여기에 기술된 하나 이상의 작동을 실행하는, 적어도 한 개 이상의 프로세서에 의하여 적어도 부분적으로 형성될 수 있다.
프로세서는 인텔 코퍼레이션에서 만든 셀레온, 코어, 또는 펜티엄 프로세서 선 마이크로시스템스에서 만든 SPARC 프로세서, AMD 코퍼레이션에서 만든 아쓰론, 셈프론, 페놈 또는 옵테론 프로세서와 같이 상용화된 프로세서, 그리고 이용가능하거나 이용가능하게 될 기타 프로세서를 포함할 수 있다. 프로세서의 일부 실시예는 멀티 코어 프로세서라고 불리고 그리고/ 또는 단일 또는 멀티 코어 구성에서 병렬 처리 기술을 이용하게 되는 것을 포함한다. 예를 들어, 멀티코어 아키텍처는 일반적으로 두 개 이상의 프로세서 "실행 코어"로 구성된다. 이 예에서 각 실행 코어는, 독립 프로세서 매트가 다중 스레드(thread)의 병렬 실행을 하는 것처럼 수행한다. 추가로, 이 기술분야에서 통상의 지식을 가진 사람들은, 프로세서가 일반적으로 32 또는 64비트 아키텍처라고 불리는 것으로 구성될 수 있거나, 현재 알려져 있거나 미래에 개발될 수 있는 다른 아키텍처 구성으로 구성될 수 있다는 것을 인정할 것이다. 프로세서는 일반적으로 운영 체제를 실행하는데, 예를 들어 마이크로소프트의 윈도즈 유형 운영 체제; 애플 컴퓨터 코퍼레이션의 Mac OS X 운영 체제; 많은 벤더의 이용가능한 또는 오픈 소스라고 하는 Unix 또는 Linux 형식의 운영 체제; 또 다른 운영 체제 또는 미래의 운영 체제; 또는 이들의 일부 조합 이다. 운영 체제는 잘 알려진 방식으로 펌웨어 및 하드웨어와 인터페이스하며, 프로세서가 다양한 프로그래밍 언어로 작성될 수 있는 다양한 컴퓨터 프로그램의 기능을 조정하고 실행할 수 있도록 지원한다. 운영 체제는, 일반적으로 프로세서와 협력하여, 컴퓨터의 다른 구성 요소의 기능을 조정하고 실행한다. 또한 운영체제는 알려진 기술에 따라, 스케줄링, 입출력 제어, 파일 및 데이터 관리, 메모리 관리, 그리고 통신 제어 및 관련 서비스를 제공한다. 시스템 메모리는, 원하는 정보를 저장하는 데 사용할 수 있고 컴퓨터가 액세스할 수 있는, 여러가지 알려진 또는 미래의 메모리 저장 장치를 포함한다. 컴퓨터 읽을 수 있는 저장 매체는, 컴퓨터 읽을 수 있는 지침, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 모든 방법 또는 기술로 구현된, 비임시 휘발성 및 비휘발성, 제거가능 및 제거불가능한 매체를 포함한다. 예를 들어 일반적으로 사용 가능한 RAM(Random Access Memory), ROM(Read-only Memory), EEPROM(EEPROM), 디지털 다기능 디스크(DVD), 레지던트 하드 디스크 또는 테이프와 같은 자기 매체, 읽기 및 쓰기 콤팩트 디스크와 같은 광학 매체, 및/또는 기타 메모리 저장 장치가 있다. 메모리 저장 장치는 콤팩트 디스크 드라이브, 테이프 드라이브, 이동식 하드 디스크 드라이브, USB 또는 플래시 드라이브, 또는 디스켓 드라이브를 포함하는, 알려져 있거나 또는 미래의 어떤 장치라도 모두 포함된다. 이러한 유형의 메모리 저장 장치는 일반적으로 컴팩트 디스크, 마그네틱 테이프, 이동식 하드 디스크, USB 또는 플래시 드라이브 또는 플로피 디스켓과 같은 프로그램 저장 매체로부터 읽기 그리고/또는 프로그램 저장 매체로 쓰기를 수행한다. 이러한 프로그램 저장 매체 또는 현재 사용 중이거나 나중에 개발될 수 있는 다른 저장 매체는 컴퓨터 프로그램 제품으로 간주된다. 이러한 프로그램 저장 매체는 일반적으로 컴퓨터 소프트웨어 프로그램 및/또는 데이터를 저장한다. 컴퓨터 제어 로직이라고도 하는 컴퓨터 소프트웨어 프로그램은, 일반적으로 시스템 메모리 및/또는 메모리 저장 장치와 함께 사용되는 프로그램 저장 장치에 저장된다. 어떤 실시예에서, 컴퓨터 프로그램 제품은, 제어 로직(프로그램 코드를 포함한 컴퓨터 소프트웨어 프로그램)이 저장된 컴퓨터 사용 가능한 매체로 구성되어 있다. 제어 로직(논리)은, 프로세서에 의해 실행될 때, 프로세서가 여기에 설명된 기능을 수행하도록 한다. 다른 실시예에서, 일부 기능은 주로 하드웨어 상태 기계와 같은 하드웨어에서 구현된다. 여기에 설명된 기능을 수행하기 위해 하드웨어 상태 머신의 구현은 이 기술분야에서 통상의 기술자에게 명백할 것이다. 입출력 컨트롤러는 로컬이든 원격이든 인간이든 기계든 사용자로부터 정보를 수용하고 처리하기 위해 알려진 다양한 장치를 포함한다. 예를 들어 이러한 장치에는 모뎀 카드, 무선 카드, 네트워크 인터페이스 카드, 사운드 카드 또는 알려진 다양한 입력 장치에 대한 다른 유형의 컨트롤러가 포함된다. 출력 컨트롤러는 로컬이든 원격이든 인간이든 기계에 관계없이 사용자에게 정보를 제공하기 위해 알려진 다양한 디스플레이용 컨트롤러를 포함한다. 여기서 개시된 실시예에서, 컴퓨터의 기능적 요소들은 시스템 버스를 통해 서로 통신한다. 컴퓨터의 일부 실시예는 네트워크나 다른 유형의 원격 통신을 사용하여 일부 기능 요소와 통신할 수 있다. 관련 기술에서 통상의 기술자에게 명백한 바와 같이, 기기 제어 및/또는 데이터 처리 애플리케이션은, 소프트웨어에서 구현되는 경우, 시스템 메모리 및/또는 메모리 저장 장치로 로드되고 그로부터 실행될 수 있다. 또한 기기 제어 및/또는 데이터 처리 애플리케이션의 전부 또는 일부는, 기기 제어 및/또는 데이터 처리 애플리케이션이 먼저 입력-출력 컨트롤러를 통해 로드될 필요가 없는 장치와 같은, 읽기 전용 메모리 또는 이와 유사한 메모리 저장 장치에 위치할 수 있다. 관련 기술의 통상의 기술자들은, 기기 제어 및/또는 데이터 처리 애플리케이션 또는 그 일부가 프로세서에 의해, 알려진 방식으로 시스템 메모리 또는 캐시 메모리 또는 둘 모두에, 실행에 유리하게, 로드될 수 있다는 것을 이해하게 될 것이다. 또한 컴퓨터는 하나 이상의 라이브러리 파일, 실험 데이터 파일 및 시스템 메모리에 저장된 인터넷 클라이언트를 포함할 수 있다. 예를 들어, 실험 데이터는 감지된 신호 값 또는 합성(SBS) 실험 또는 프로세스에 의한 하나 이상의 시퀀싱과 관련된 다른 값과 같은, 하나 이상의 실험 또는 측정과 관련된 데이터를 포함할 수 있다. 또한 인터넷 클라이언트는, 네트워크를 사용하여 다른 컴퓨터의 원격 서비스에 액세스할 수 있는 응용프로그램이 포함될 수 있으며, 예를 들어 일반적으로 "웹 브라우저"라고 하는 응용프로그램이 포함될 수 있다. 이 실시예에서, 일반적으로 사용되는 일부 웹 브라우저에는 마이크로 코퍼레이션의 마이크로소프트 인터넷 익스플로어, 모질라 코퍼레이션의 모질라 화이어폭스, 애플 컴퓨터 코퍼에이션의 사파리, 구글 크롬, 또는 현 기술분야에서 알려져 있거나 앞으로 개발될 다른 유형의 웹 브라우저가 포함됩니다. 또한 동일한 또는 다른 실시예에서, 인터넷 클라이언트는 생물학적 응용 프로그램을 위한 데이터 처리 응용 프로그램과 같은 네트워크를 통해 원격 정보에 접근할 수 있는 전문화된 소프트웨어 응용 프로그램을 포함하거나 그 한 요소일 수 있다. 컴퓨터 또는 프로세서는 네트워크의 일부일 수 있다. 네트워크는 이 기술분야에서 널리 알려진, 많은 다양한 유형의 네트워크 중 하나 이상을 포함할 수 있다. 예를 들어, 네트워크는 일반적으로, TCP/IP 프로토콜 통신 스위트라고 하는 것을 사용하는 로컬 또는 광역 네트워크를 포함할 수 있다. 네트워크는, 일반적으로 인터넷이라고 불리는 상호연결 컴퓨터 네트워크의 세계적인 시스템으로 구성된 네트워크를 포함할 수도 있고, 또한 다양한 인트라넷 아키텍츄어를 포함할 수도 있다. 또한 관련 기술의 통상의 기술자들은, 네트워크 환경의 일부 사용자가, 하드웨어 및/또는 소프트웨어 시스템으로 그리고 그로부터의 정보 트래픽을 제어하기 위하여, 일반적으로 "방화벽"(때로는 패킷, 필터, 또는 경계 보호 장치라고도 함)이라고 하는 것을 사용하는 것을 선호할 수 있다는 것을 이해할 것이다. 예를 들어 방화벽은 하드웨어 또는 소프트웨어 요소 또는 이들의 일부 조합으로 구성될 수 있으며, 일반적으로 네트워크 관리자 등과 같은 사용자가 설치한 보안 정책을 시행하도록 설계된다.
특정 실시예들이 여기에서 도시되고 설명되었음에도 불구하고, 동일한 목적을 달성하기 위해 의도된 광범위한 대체 및/또는 동등한 실시예 또는 구현예는 이 범위에서 벗어남이 없이, 도시되고 기술된 실시예로 대체될 수 있다는 것은 이 기술 분야의 통상의 기술자들에 의해 쉽게 이해될 것이다. 통상의 기술자들은 이 실시예들이 매우 다양한 방법으로 구현될 수 있다는 것을 쉽게 인식할 것이다. 이 애플리케이션은 여기에서 논의된 실시예의 모든 채택 또는 변화를 망라하도록 의도되어 있다. 따라서, 실시예는 청구범위와 그에 상응하는 것에 의해서만 제한되어야 한다는 것이 명백하다. 다양한 변형과 변화가 발명의 사상이나 범위를 벗어나지 않고 본 발명에서 이루어질 수 있다는 것은 이 기술분야에 능숙한 사람들에게 자명한다. 따라서, 본 발명은 뒤따르는 청구 범위와 그에 상응하는 범위 내에 있는 경우, 이 발명의 변경과 변화를 포함하도록 의도되어 있다.
여기에 기술된 작동의 실시예은 하나 이상의 프로세서에 의해 실행될 때, 최소한 부분적으로 방법을 수행하는 지침에 저장된 컴퓨터 판독 가능 저장 장치에 구현될 수 있다. 프로세서는, 예를 들어, 프로세싱 유닛 및/또는 프로그래밍 가능한 회로를 포함할 수 있다. 저장 장치에는, 모든 타입의 유형적(有形的)이고 비임시적 저장장치, 예를 들어, 플로피 디스크, 광학 디스크, CD-ROM(Compact Disk Read-only Memory), CD-RW(Compact Disk Rewriteable), 그리고 자기 광학 디스크,를 포함하는 모든 타입의 디스크; 읽기 전용 메모리(ROM), 동적 및 정적 RAM과 같은 랜덤 엑세스 메모리(RAM), 삭제 가능한 프로그램 가능 읽기 전용 메모리(EPROM), 전기적 소거 및 프로그램 가능 읽기 전용 메모리(EEPROM), 플래시 메모리, 자기 또는 광학 카드와 같은 반도체 장치; 또는 전자 지침을 저장하는데 적합한 모든 타입의 저장 장치와 같은, 머신 읽기가능한 저장 장치가 포함될 수 있다.
실시예
본 명세서의 예로는, 아래에서 논의한 바와 같이, 디스플레이 구동에 관련된 방법, 장치(device), 장치(apparatus) 또는 시스템과 같은 주제 내용이 포함된다.
실시예 1
이 실시예에 따르면, 이미지 데이터 수신; 상기 이미지 데이터를 표시할 때 디스플레이에 적용할 드라이브 시퀀스 결정; 상기 드라이브 시퀀스를 하나 이상의 이미지 데이터 프레임에서 이미지 데이터와 병합; 그리고 디스플레이 드라이버가 상기 드라이브 시퀀스로 상기 디스플레이를 구성할 수 있도록 상기 하나 이상의 이미지 데이터 프레임을 상기 디스플레이 드라이버로 전송, 을 포함하는 디스플레이에서 이미지 데이터의 표시를 조정하기 위해 구동 체계 설정을 동적으로 업데이트하는 방법이 제공된다.
실시예2
이 실시예는, 상기 드라이브 시퀀스가 상기 디스플레이의 제어 설정을 포함하는 구동 체계인, 실시예1의 요소들을 포함하고 있다.
실시예3
이 실시예는, 하나 이상의 이미지 센서, 네트워크 커넥션 또는 메모리 위치로부터 상기 이미지 데이터 수신를 추가로 포함하고, 상기 드라이브 시퀀스와 상기 이미지 데이터의 병합은 상기 드라이브 시퀀스를 상기 하나 이상의 이미지 데이터 프레임의 행 및/또는 열에 삽입을 포함하는, 실시예1의 요소들을 포함하고 있다.
실시예4
이 실시예는, 상기 하나 이상의 이미지 데이터 프레임이, MIPI(모바일 산업 프로세서 인터페이스) 포맷, HDMI(고화질 멀티미디어 인터페이스) 포맷, DP(디스플레이 포트) 포맷, PCI-익스프레스 포맷, USB 포맷, 이더넷 포맷 및 Wi-Fi 포맷 중 적어도 하나에서 포맷되는, 실시예1의 요소들을 포함한다.
실시예5
이 실시예는, 상기 드라이브 시퀀스가, 신호 변조 특성, 픽셀에 대한 색상 지속성, 프레임 레이트, 색상 서브프레임 레이트, 비트 깊이, 색상 순차 듀티 사이클, 색 영역(color gamut), 감마, 지속성, 구동 전압, 조명 타이밍, 조명 강도, 상기 디스플레이에 보내진 개별 비트 평면 타이밍 중, LUT(LookUp Tables), 그리고 SPI(Serial Port Interface) 명령들 중에서 적어도 하나를 포함하는, 실시예1의 요소들을 포함한다.
실시예6
이 실시예는, 하나 이상의 센서로부터 센서 데이터 수신; 적어도 부분적으로 상기 센서 데이터를 기반으로 상기 드라이브 시퀀스 결정을 추가로 포함하는, 실시예1의 요소들을 포함한다.
실시예7
이 실시예는, 상기 센서 데이터는 디스플레이에 대한 사용자 눈 방향을 나타내는 이미지 센서 데이터; 그리고 상기 디스플레이가 작동하는 환경의 조도를 나타내는 데이터 중 적어도 하나를 포함하는, 실시예6의 요소들을 포함한다.
실시예8
이 실시예는, 상기 하나 이상의 이미지 데이터 프레임 수신; 상기 이미지 데이터 프레임로부터의 상기 이미지 데이터 및 상기 드라이브 시퀀스 파스; 상기 드라이브 시퀀스로 상기 디스플레이 구성; 그리고 사용자 보기를 위해 이미지 데이터를 표시하기 위하여 상기 디스플레이로 상기 이미지 데이터 전송을 추가로 포함하는, 실시예1의 요소들을 포함한다.
실시예9
이 실시예는, 드라이브 시퀀스의 결정은 이미지 시스템에 의해 저장된 미리 결정된 드라이브 시퀀스의 그룹에서 상기 드라이브 시퀀스 선택을 포함하는, 실시예1의 요소들을 포함한다.
실시예10
이 실시예에 따르면, 디스플레이에 표시되는 이미지 데이터를 조정하기 위해 구동 체계 설정을 동적으로 업데이트하도록 구성되어 있는 이미지 시스템이 제공된다. 상기 이미지 시스템은 이미지 데이터를 획득하기 위한 센서 데이터 획득 모듈을 포함한다. 상기 이미지 시스템은 구동 체계를 결정하고, 이미지 데이터를 갖는 상기 구동 체계를 하나 이상의 이미지 데이터 프레임에 병합하기 위한 구동 체계 모듈을 포함한다. 상기 이미지 시스템은, 상기 드라이브 시퀀스로 나타낸 설정을 갖는 디스플레이에서 이미지 데이터를 표시하기 위하여, 상기 하나 이상의 이미지 데이터 프레임으로부터의 상기 이미지 데이터와 상기 구동체계를 파스하는 디스플레이 드라이버 모듈을 포함한다.
실시예11
이 실시예는, 상기 센서 데이터 획득 모듈은 하나 이상의 다수의 센서들로부터 센서 데이터를 획득하는, 실시예10의 요소들을 포함한다.
실시예12
이 실시예는, 상기 드라이브 시퀀스 모듈은, 적어도 부분적으로 상기 센서 데이터를 기반으로 상기 드라이브 시퀀스를 결정하는, 실시예11의 요소들을 포함한다.
실시예13
이 실시예는, 상기 드라이브 시퀀스 병합은 상기 하나 이상의 이미지 데이터 프레임의 행 및/또는 열에 상기 드라이브 시퀀스를 삽입하는, 실시예10의 요소들을 포함한다.
실시예14
이 실시예는, 상기 구동 체계 모듈은 첫 번째 프로세서에 의해 실행되고 상기 디스플레이 드라이버 모듈은 두 번째 프로세서에 의해 실행되는, 실시예10의 요소들을 포함한다.
실시예15
이 실시예는, 상기 드라이브 시퀀스는, 신호 변조 특성, 픽셀의 색상 지속 시간, 프레임 레이트, 색상 서브프레임 레이트, 비트 깊이, 색상 순차 듀티 사이클, 색 영역, 감마, 지속성, 구동 전압, 조명 타이밍, 그리고 조도 중 적어도 하나를 포함하는, 실시예10의 요소들을 포함한다.
실시예16
이 실시예에 따르면, 디스플레이에 이미지 데이터의 표시를 조정하기 위해 구동 체계를 동적으로 업데이트하는 이미지 시스템이 제공된다. 상기 이미지 시스템은 이미지 데이터를 식별하기 위한 수단; 상기 이미지 데이터를 표시할 때 디스플레이에 적용되는 드라이브 시퀀스를 결정하기 위한 수단; 하나 이상의 이미지 데이터 프레임에서 상기 드라이브 시퀀스를 이미지 데이터와 병합하기 위한 수단; 그리고 디스플레이 드라이브가 드라이브 시퀀스로 상기 디스플레이를 구성하게 하기 위하여 상기 하나 이상의 이미지 데이터 프레임을 상기 디스플레이 드라이버로 전송하기 위한 수단을 포함한다.
실시예17
이 실시예는, 상기 드라이브 시퀀스는 상기 이미지 데이터가 디스플레이에 의해 표시되는 설정을 규정하는, 실시예16의 요소들을 포함한다.
실시예18
이 실시예는, 하나 이상의 센서로부터 센서 데이터를 수신하기 위한 수단; 그리고 적어도 부분적으로 센서 데이터를 기반으로 상기 드라이브 시퀀스를 결정하기 위한 수단을 추가로 포함하는, 실시예16의 요소들을 포함한다.
실시예19
이 실시예는, 상기 드라이브 시퀀스가, 신호 변조 특성, 픽셀의 색상 지속 시간, 프레임 레이트, 색상 서브프레임 레이트, 비트 깊이, 색상 순차 듀티 사이클, 색 영역, 감마, 지속성, 구동 전압, 조명 타이밍, 그리고 조도 중 적어도 하나를 포함하는, 실시예16의 요소들을 포함한다.
실시예20
이 실시예에 따르면, 하나 이상의 프로세서에 의해 실행될 때, 실시예 1부터 9까지의 방법 중 하나를 수행하는 지침들을 저장하는 컴퓨터 판독 가능 저장 장치가 제공된다.
실시예21
이 실시예에 따르면, 프로세서 회로가 추가로 구성된, 실시예 10 에서 15 중 어느 하나의 이미지 시스템이 제공된다.
실시예22
이 실시예에 따르면, 실시예 1에서 9 중 어느 하나의 방법을 수행하기 위한 수단을 포함하는 장치가 제공된다.
여기에 사용된 용어와 표현은 설명의 용어로 사용되어 있으며, 제한되는 것이 아니며, 이러한 용어와 표현을 사용함에 있어, 도시 및 기술된 특징의 등가물(또는 그 부분)을 제외하려는 의도는 없으며, 청구범위 내에서 다양한 수정이 가능하다는 것이 인정된다. 따라서, 이러한 청구범위들은 이러한 모든 동등한 내용을 포함하도록 의도되어 있다.
다양한 특징, 측면 및 실시예가 여기에 설명되어 있다. 특징, 측면 및 실시예는 서로 결합할 수 있을 뿐만 아니라, 이 기술분야에서 통상의 기술자에게 자명한 바와 같이, 변화와 변경을 할 수 있다. 따라서 본 명세서는 그러한 결합, 변화 및 변경을 포함하는 것으로 간주되어야 한다.

Claims (22)

  1. 이미지 시스템(100)의 디스플레이(108)에서 이미지 데이터(128)의 표시를 조정하기 위해 구동 체계 설정을 동적으로 업데이트하는 방법으로서,
    구동체계 모듈(122)이 이미지 센서, 네트워크 커넥션 또는 메모리 위치로부터 이미지 데이터(128)를 수신하는 단계;
    상기 구동체계 모듈(122)에서, 상기 이미지 데이터(128)를 표시할 때 상기 디스플레이(108)에 적용할 구동 체계인 드라이브 시퀀스(134)를 결정하는 단계 - 상기 드라이브 시퀀스는 상기 디스플레이(108)의 디스플레이 특성을 세트하거나 또는 조정하고, 상기 디스플레이에 상기 이미지 데이터의 상기 표시를 제어하기 위한 설정을 포함함 -;
    상기 구동체계 모듈(122)의 상기 드라이브 시퀀스(134)의 상기 설정을 상기 이미지 데이터(128)와 이미지 데이터 프레임들의 시퀀스 내의 하나 이상의 대체 이미지 데이터 프레임(140)으로 병합하는 단계;
    상기 드라이브 시퀀스의 설정이 없는 이미지 데이터를 상기 이미지 데이터 프레임들의 시퀀스 내의 연속적인 대체 이미지 데이터 프레임들의 쌍들(pairs) 사이의 이미지 데이터 프레임으로 병합하는 단계; 및
    상기 이미지 데이터를 표시하기 위해 상기 드라이브 시퀀스의 상기 설정에 따라 디스플레이 드라이버 모듈(106)이 상기 디스플레이(108)를 구동할 수 있도록 상기 드라이브 시퀀스의 상기 설정 및 상기 이미지 데이터를 상기 디스플레이 드라이버 모듈로 동시에 전송함으로써 상기 구동체계 모듈(122)의 상기 하나 이상의 이미지 데이터 프레임(140)을 상기 디스플레이 드라이버 모듈(106)로 전송하는 단계
    를 포함하는 방법.
  2. 삭제
  3. 제1항에 있어서, 상기 이미지 데이터(128)를 수신하는 단계는 하나 이상의 이미지 센서, 네트워크 커넥션 또는 메모리 위치로부터 수신하고, 그리고
    상기 드라이브 시퀀스와 상기 이미지 데이터의 병합하는 단계는 상기 드라이브 시퀀스를 상기 하나 이상의 이미지 데이터 프레임의 행 및/또는 열에 삽입하는 것을 포함하는 방법.
  4. 제1항 또는 제3항에 있어서, 상기 하나 이상의 이미지 데이터 프레임(140)은, MIPI(모바일 산업 프로세서 인터페이스) 포맷, HDMI(고화질 멀티미디어 인터페이스) 포맷, DP(디스플레이 포트) 포맷, PCI-익스프레스 포맷, USB 포맷, 이더넷 포맷 및 Wi-Fi 포맷 중 적어도 하나에서 포맷되는 방법.
  5. 제1항 또는 제3항에 있어서, 상기 드라이브 시퀀스는, 신호 변조 특성, 픽셀에 대한 색상 지속성, 프레임 레이트, 색상 서브프레임 레이트, 비트 깊이, 색상 순차 듀티 사이클, 색 영역(color gamut), 감마, 지속성, 구동 전압, 조명 타이밍, 조명 강도, 상기 디스플레이에 보내진 개별 비트 평면 타이밍 중, LUT(LookUp Tables), 그리고 SPI(Serial Port Interface) 명령들 중에서 적어도 하나를 포함하는 방법.
  6. 제1항에 있어서,
    하나 이상의 센서로부터 센서 데이터를 수신하는 단계; 및
    적어도 부분적으로 상기 센서 데이터를 기반으로 상기 드라이브 시퀀스를 결정하는 단계
    를 추가로 포함하고,
    상기 센서 데이터는,
    디스플레이에 대한 사용자 눈 방향을 나타내는 이미지 센서 데이터; 및
    상기 디스플레이가 작동하는 환경의 조도를 나타내는 데이터
    중 적어도 하나를 포함하는, 방법.
  7. 삭제
  8. 제1항, 제3항, 제6항 중 어느 한항에 있어서, 상기 하나 이상의 이미지 데이터 프레임을 수신하는 단계;
    상기 이미지 데이터 프레임로부터의 상기 이미지 데이터 및 상기 드라이브 시퀀스를 파스하는 단계;
    상기 드라이브 시퀀스로 상기 디스플레이를 구성하는 단계; 그리고
    사용자 보기를 위해 이미지 데이터를 표시하기 위하여 상기 디스플레이로 상기 이미지 데이터를 전송하는 단계:
    를 추가로 포함하는 방법.
  9. 제1항, 제3항, 제6항 중 어느 한항에 있어서, 드라이브 시퀀스를 결정하는 단계는 이미지 시스템에 의해 저장된 미리 결정된 드라이브 시퀀스의 그룹에서 상기 드라이브 시퀀스를 선택하는 것을 포함하는 방법.
  10. 디스플레이에 표시되는 이미지 데이터를 조정하기 위해 구동 체계 설정을 동적으로 업데이트하도록 구성되는 이미지 시스템으로서,
    이미지 데이터(128)를 획득하도록 구성되는 센서 데이터 획득 모듈(101);
    드라이브 시퀀스(134)를 결정하도록 구성되고 - 상기 드라이브 시퀀스는 상기 디스플레이의 디스플레이 특성을 세트하거나 또는 조정하고, 상기 이미지 데이터가 상기 디스플레이에 표시되는 방법을 제어하기 위해 활용되는 설정을 포함함 - 상기 드라이브 시퀀스(134)의 상기 설정을 이미지 데이터(128)와 이미지 데이터 프레임들의 시퀀스 내의 하나 이상의 대체 이미지 데이터 프레임(140)으로 병합하도록 구성되며, 상기 드라이브 시퀀스의 설정이 없는 이미지 데이터를 상기 이미지 데이터 프레임들의 시퀀스 내의 연속적인 대체 이미지 데이터 프레임들의 쌍들 사이의 이미지 데이터 프레임으로 병합하도록 구성되는 구동 체계 모듈(122); 및
    상기 하나 이상의 이미지 데이터 프레임(140)으로부터의 상기 이미지 데이터(128) 및 상기 구동 체계 설정을 파스하고, 상기 구동 체계 설정에 기초하여 디스플레이(108)에서 이미지 데이터(128)를 표시하도록 구성되는 디스플레이 드라이버 모듈(106)
    을 포함하는 이미지 시스템.
  11. 제10항에 있어서,
    상기 센서 데이터 획득 모듈은 하나 이상의 다수의 센서들로부터 센서 데이터를 획득하고,
    상기 구동 체계 모듈은 상기 센서 데이터에 적어도 부분적으로 기초하여 상기 드라이브 시퀀스를 결정하는, 이미지 시스템.
  12. 삭제
  13. 제10항 또는 제11항에 있어서, 상기 드라이브 시퀀스의 병합은 상기 하나 이상의 이미지 데이터 프레임(140)의 행 및/또는 열에 상기 드라이브 시퀀스의 삽입을 포함하고,
    상기 구동 체계 모듈(122)은 첫 번째 프로세서에 의해 실행되고 상기 디스플레이 드라이버 모듈(106)은 두 번째 프로세서에 의해 실행되는 것인, 이미지 시스템.
  14. 삭제
  15. 제10항 또는 제11항에 있어서, 상기 드라이브 시퀀스는, 신호 변조 특성, 픽셀의 색상 지속 시간, 프레임 레이트, 색상 서브프레임 레이트, 비트 깊이, 색상 순차 듀티 사이클, 색 영역, 감마, 지속성, 구동 전압, 조명 타이밍, 그리고 조도 중 적어도 하나를 포함하는, 이미지 시스템.
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 컴퓨터 프로그램이 저장된 컴퓨터 판독 가능 저장 장치로서, 상기 컴퓨터 프로그램은 하나 이상의 프로세서에 의해 실행될 때, 청구항 1, 3 및 6 중 어느 한 항의 방법을 수행하는, 컴퓨터 판독 가능 저장 장치.
  21. 제10항 또는 제11항에 있어서,
    프로세서 회로
    를 더 포함하는 이미지 시스템.
  22. 청구항 1, 3 및 6 중 어느 한 항의 방법을 수행하기 위한 컴퓨터 하드웨어를 포함하는 장치.
KR1020207037290A 2018-05-24 2019-05-23 디스플레이를 구동하기 위한 시스템 및 방법 KR102577965B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201862676061P 2018-05-24 2018-05-24
US62/676,061 2018-05-24
PCT/US2019/033809 WO2019226927A1 (en) 2018-05-24 2019-05-23 Systems and methods for driving a display

Publications (2)

Publication Number Publication Date
KR20210117141A KR20210117141A (ko) 2021-09-28
KR102577965B1 true KR102577965B1 (ko) 2023-09-14

Family

ID=66952025

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020207037290A KR102577965B1 (ko) 2018-05-24 2019-05-23 디스플레이를 구동하기 위한 시스템 및 방법

Country Status (7)

Country Link
US (2) US11580929B2 (ko)
EP (1) EP3803566A1 (ko)
JP (2) JP2021525399A (ko)
KR (1) KR102577965B1 (ko)
CN (1) CN112567329A (ko)
TW (2) TWI803639B (ko)
WO (1) WO2019226927A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11893957B2 (en) 2018-05-24 2024-02-06 Snap Inc. Systems and methods for driving a display

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4088272A1 (en) 2020-01-07 2022-11-16 Snap Inc. Systems and methods of driving a display with high bit depth
CN111312157B (zh) * 2020-03-04 2021-05-25 深圳市艾比森光电股份有限公司 Led显示屏及其更新配置的方法、接收卡、显示模组
KR20240056737A (ko) * 2021-09-18 2024-04-30 제이드 버드 디스플레이(상하이) 리미티드 마이크로 디스플레이 제어 시스템
WO2023153743A1 (ko) * 2022-02-09 2023-08-17 삼성전자주식회사 전자 장치 및 이의 동작 방법
US11995012B2 (en) 2022-03-15 2024-05-28 Samsung Electronics Co., Ltd. High speed interface for multi image sensor device
CN117033267B (zh) * 2023-10-07 2024-01-26 深圳大普微电子股份有限公司 混合存储主控制器及混合存储器

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001166764A (ja) 1999-12-08 2001-06-22 Nec Shizuoka Ltd 画像送信装置と画像表示装置
US20100295760A1 (en) 2009-05-20 2010-11-25 Dialog Semiconductor Gmbh Advanced multi line addressing
US20180054874A1 (en) 2016-08-16 2018-02-22 Rakuten Kobo, Inc. Systems and methods for automated screen color temperature control
US20180053284A1 (en) * 2016-08-22 2018-02-22 Magic Leap, Inc. Virtual, augmented, and mixed reality systems and methods

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5165450A (ja) * 1974-12-03 1976-06-07 Matsushita Electric Ind Co Ltd Koshuhakanetsusochi
JPH0954569A (ja) * 1995-08-15 1997-02-25 Toshiba Corp 画像表示システム及び画像表示方法
JP3505038B2 (ja) * 1996-06-21 2004-03-08 株式会社 日立ディスプレイズ ディスプレイ装置およびコンピュータシステム
US6456340B1 (en) * 1998-08-12 2002-09-24 Pixonics, Llc Apparatus and method for performing image transforms in a digital display system
JP2000338949A (ja) * 1999-05-26 2000-12-08 Nec Corp 電子画像表示システム
US6819310B2 (en) * 2000-04-27 2004-11-16 Manning Ventures, Inc. Active matrix addressed bistable reflective cholesteric displays
JP2002149142A (ja) * 2000-11-15 2002-05-24 Sony Corp 表示装置、送信方法および装置、ならびに、記録媒体
JP2003051931A (ja) * 2001-08-07 2003-02-21 Sharp Corp デジタル画像への情報埋め込み装置
JP4069838B2 (ja) * 2003-09-10 2008-04-02 セイコーエプソン株式会社 表示ドライバ、電気光学装置及び表示ドライバの制御方法
JP2005260651A (ja) * 2004-03-12 2005-09-22 Sony Corp 画像処理装置および方法、表示装置および方法、並びに電子装置
JP2005332885A (ja) * 2004-05-18 2005-12-02 Toshiba Corp 不揮発性半導体記憶装置及びその製造方法
JP5116208B2 (ja) * 2004-11-19 2013-01-09 株式会社ジャパンディスプレイイースト 画像信号表示装置
CN103649904A (zh) * 2011-05-10 2014-03-19 Nds有限公司 自适应内容呈现
JP5904754B2 (ja) * 2011-10-17 2016-04-20 キヤノン株式会社 情報処理システム、情報処理装置、それらの制御方法、およびプログラム
JP6160020B2 (ja) * 2011-12-12 2017-07-12 セイコーエプソン株式会社 透過型表示装置、表示方法および表示プログラム
TW201349856A (zh) * 2012-05-31 2013-12-01 Innocom Tech Shenzhen Co Ltd 影像顯示系統與影像處理方法
US9300880B2 (en) * 2013-12-31 2016-03-29 Google Technology Holdings LLC Methods and systems for providing sensor data and image data to an application processor in a digital image format
KR102135451B1 (ko) * 2014-01-14 2020-07-17 삼성전자주식회사 전자 장치, 디스플레이 장치의 드라이버, 이를 포함하는 통신 장치 및 디스플레이 시스템
EP3324388B1 (en) * 2015-07-14 2022-05-11 Samsung Electronics Co., Ltd. Display driving circuit, display driving method and electronic device
KR102443203B1 (ko) * 2015-10-27 2022-09-15 삼성전자주식회사 전자 장치 운용 방법 및 이를 지원하는 전자 장치
US10379611B2 (en) * 2016-09-16 2019-08-13 Intel Corporation Virtual reality/augmented reality apparatus and method
US11580929B2 (en) 2018-05-24 2023-02-14 Snap Inc. Systems and methods for driving a display

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001166764A (ja) 1999-12-08 2001-06-22 Nec Shizuoka Ltd 画像送信装置と画像表示装置
US20100295760A1 (en) 2009-05-20 2010-11-25 Dialog Semiconductor Gmbh Advanced multi line addressing
US20180054874A1 (en) 2016-08-16 2018-02-22 Rakuten Kobo, Inc. Systems and methods for automated screen color temperature control
US20180053284A1 (en) * 2016-08-22 2018-02-22 Magic Leap, Inc. Virtual, augmented, and mixed reality systems and methods

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11893957B2 (en) 2018-05-24 2024-02-06 Snap Inc. Systems and methods for driving a display

Also Published As

Publication number Publication date
TWI803639B (zh) 2023-06-01
US11580929B2 (en) 2023-02-14
JP2021525399A (ja) 2021-09-24
EP3803566A1 (en) 2021-04-14
TW202011174A (zh) 2020-03-16
US11893957B2 (en) 2024-02-06
CN112567329A (zh) 2021-03-26
JP2024038128A (ja) 2024-03-19
US20210210046A1 (en) 2021-07-08
US20230230558A1 (en) 2023-07-20
KR20210117141A (ko) 2021-09-28
WO2019226927A1 (en) 2019-11-28
TW202336566A (zh) 2023-09-16

Similar Documents

Publication Publication Date Title
KR102577965B1 (ko) 디스플레이를 구동하기 위한 시스템 및 방법
US11741916B2 (en) Video frame rate compensation through adjustment of timing of scanout
KR101994599B1 (ko) 전송 동기화 이벤트에 따라 압축된 픽처의 전송을 제어하는 방법 및 장치
AU2012288349A1 (en) Moving image capture device, information processing system, information processing device, and image data processing method
GB2538797B (en) Managing display data
US20240127735A1 (en) Systems, methods and devices for providing sequence based display drivers
CN113330478B (zh) 一种在虚拟、增强或混合现实系统中的方法
WO2022089083A1 (zh) Led 电视墙的显示方法、电视和计算机可读存储介质
CN108243293B (zh) 一种基于虚拟现实设备的图像显示方法及系统
CN110521212A (zh) 视频录制及处理系统以及方法
CN110741634A (zh) 图像处理方法、头戴显示设备和头戴显示系统
US20180048924A1 (en) Transmission apparatus and transmission method, reception apparatus and reception method, transmission system, and program
US20180068633A1 (en) Transmission apparatus and transmission method, reception apparatus and reception method, transmission system, and program
KR20010058370A (ko) 칼라 그래픽 온 스크린 디스플레이 장치

Legal Events

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