KR102304891B1 - 터치 경로에 대응하는 디스플레이 패널에 대한 마스크 오버레이를 생성하기 위한 방법 및 시스템 - Google Patents

터치 경로에 대응하는 디스플레이 패널에 대한 마스크 오버레이를 생성하기 위한 방법 및 시스템 Download PDF

Info

Publication number
KR102304891B1
KR102304891B1 KR1020160052470A KR20160052470A KR102304891B1 KR 102304891 B1 KR102304891 B1 KR 102304891B1 KR 1020160052470 A KR1020160052470 A KR 1020160052470A KR 20160052470 A KR20160052470 A KR 20160052470A KR 102304891 B1 KR102304891 B1 KR 102304891B1
Authority
KR
South Korea
Prior art keywords
touch
generating
bin
pixels
edges
Prior art date
Application number
KR1020160052470A
Other languages
English (en)
Other versions
KR20160128926A (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 KR20160128926A publication Critical patent/KR20160128926A/ko
Application granted granted Critical
Publication of KR102304891B1 publication Critical patent/KR102304891B1/ko

Links

Images

Classifications

    • 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/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/0414Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means using force sensing means to determine a position
    • G06F3/04144Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means using force sensing means to determine a position using an array of force sensing means
    • 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/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/0416Control or interface arrangements specially adapted for digitisers
    • 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/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • 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/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/0412Digitisers structurally integrated in a display
    • 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/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/0416Control or interface arrangements specially adapted for digitisers
    • G06F3/04164Connections between sensors and controllers, e.g. routing lines between electrodes and connection pads
    • 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/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/0416Control or interface arrangements specially adapted for digitisers
    • G06F3/0418Control or interface arrangements specially adapted for digitisers for error correction or compensation, e.g. based on parallax, calibration or alignment
    • 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/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • 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/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • G06T11/203Drawing of straight lines or curves
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/40Filling a planar surface by adding surface attributes, e.g. colour or texture

Abstract

터치 경로에 대응하는 디스플레이에 대한 마스크 오버레이를 생성하는 단계로서, 상기 방법은 터치 경로에 대응하는 터치 지점들을 포함하는 터치 경로 데이터를 수신하는 단계, 터치 지점들에 대응하는 정점 어레이의 정점 지점들을 생성하는 단계, 터치 경로의 에지들을 규정하기 위해 정점 지점들의 세트에 대한 다각형을 생성하는 단계, 픽셀들에 행에 대하여 다각형의 시작 및 정지 에지들을 결정하는 단계, 시작 에지들의 각 에지 별로 대응하는 빈 오프셋을 증분시킴으로써 그리고 정지 에지들의 각 에지 별로 후속 빈 오프셋을 감분시킴으로써 에지들을 표시하기 위하여 상기 행에 대응하고 빈 오프셋들을 포함하는 빈 오프셋 값들의 리스트를 생성하는 단계, 픽셀들의 각 픽셀에 대응하여 어큐뮬레이터 값을 생성하는 단계, 어큐뮬레이터 값들이 0보다 더 크거나 같은지를 결정하는 단계, 및 각각의 어큐뮬레이터 값들이 0보다 더 큰지를 결정함으로써 마스크 오버레이를 생성하는 단계를 포함한다.

Description

터치 경로에 대응하는 디스플레이 패널에 대한 마스크 오버레이를 생성하기 위한 방법 및 시스템{METHOD AND SYSTEM FOR GENERATING MASK OVERLAY FOR DISPLAY PANEL CORRESPONDING TO TOUCH PATH}
본 기재는 터치 입력 디바이스들을 구비하는 디스플레이 디바이스들에 관한 것으로, 더 구체적으로, 터치 입력 디바이스 및 디스플레이 디바이스 사이의 디스플레이 랙(display lag)을 줄이기 위한 시스템들 및 방법들에 관한 것이다.
<관련 출원과의 상호 참조>
본 출원은 "A VECTOR FILL SEGMENT METHOD AND APPARATUS TO REDUCE DISPLAY LATENCY OF TOUCH EVENTS"라는 제목으로 2015년 4월 28일에 미국 특허청에 제출된 미국 예비출원번호 62/154,015의 우선권 및 이점을 주장하고, 상기 특허의 전체 개시된 내용은 본원에 참조로서 통합된다.
중첩되어 있는 터치 센서 패널을 통합하는 디스플레이 패널은 터치스크린 디스플레이로서 칭해질 수 있고, 모바일 전화기들, 태블릿 컴퓨터들, 랩탑 컴퓨터들 또는 데스크탑 컴퓨터들과 같은 터치 가능 컴퓨팅 디바이스들에 양방향 시스템(interaction system)을 제공할 수 있다. 그와 같은 컴퓨팅 디바이스들에서, 그래픽이 디스플레이 패널 상에 디스플레이되고, 사용자는 스크린을 터치함으로써(예를 들어, 능동 스타일러스(active stylus), 수동 스타일러스(passive stylus) 또는 손가락과 같은 신체 일부를 사용함으로써) 이 디바이스들과 상호 작용할 수 있고, 이에 의해 직관적인 사용자 인터페이스를 제공할 수 있다.
터치스크린 디스플레이에서, 터치 시스템 및 디스플레이 시스템은 전형적으로는 독자적으로 동작한다. 터치 센서 패널들에 의해 검출되는 터치 사건(touch event)들은 전형적으로는 디바이스의 애플리케이션 프로세서(application processor; AP) 상에서 가동되는 고레벨 애플리케이션 소프트웨어에 의해 프로세싱된다. 즉, 터치 시스템은 터치 센서들에 의해 생성되는 신호들을 프로세싱하고, 터치 사건들에 대응하는, 좌표들과 같은 데이터를 AP로 출력하는 터치 제어기를 포함한다. AP는 일반적으로 디스플레이 외부에 위치된다. AP는 터치 사건들을 프로세싱하고 이에 따라 디스플레이 구성(display composition)을 디스플레이 드라이버 인터페이스 제어기(display driver interface controller; DDIC)로 업데이트한다. DDIC는 AP로부터의 비디오 이미지들을 프로세싱하고 픽셀 구동 신호들을 디스플레이 패널로 출력한다.
터치 센서 패널 및 AP 사이의 많은 프로세싱 동작들뿐만 아니라 AP에서의 비결정성 프로세싱 시간(AP에 의해 수행되는 다른 계산 업무들로 인한 기연을 포함하는)으로 인해 높은 수준의 레이턴시(latency)가 유발되고, 이 레이턴시는 사용자의 터치 입력들에 대한 컴퓨팅 디바이스의 반응성(responsiveness)을 감소시킨다. 예를 들어, 현대의 스마트폰 디바이스들은 손가락 또는 스타일러스를 가지고 스크린상에 쓸 때 약 100 밀리초(즉, 초당 60 프레임에서 약 6 프레임)의 지연을 나타낼 수 있다.
이 배경부에서 개시된 상기 정보는 단지 본 발명의 배경부의 이해를 증진시키기 위한 것이므로, 이것은 종래 기술을 구성하지 않는 정보를 포함할 수 있다.
본 발명의 실시예들은 터치 사건 및 이 터치 사건에 대한 디스플레이 응답 사이의 레이턴시를 줄이는 것에 관한 것이다.
본 발명의 하나 이상의 실시예들에 따르면, 터치 패널 상의 터치 경로에 대응하여 디스플레이 패널에 대한 마스크 오버레이(mask overlay)를 생성하는 방법이 제공되고, 상기 방법은: 터치 경로에 대응하는 터치 지점들을 포함하는 터치 경로 데이터를 수신하는 단계, 터치 지점들에 대응하는 정점 어레이(vertex array)의 정점 지점들을 생성하는 단계, 터치 경로의 에지(edge)들을 규정하기 위하여 정점 지점들의 각각의 세트에 대한 다각형을 생성하는 단계, 픽셀들의 행에 대해 다각형의 시작 에지들 및 정지 에지들을 결정하는 단계, 시작 에지들의 각 에지 별로 대응하는 빈 오프셋(bin offset)을 하나씩 증분시킴으로써, 그리고 정지 에지들의 각 에지 별로 대응하는 후속 빈 오프셋을 하나씩 감분시킴으로써 시작 에지들 및 정지 에지들을 표시하기 위하여 픽셀들의 행에 대응하고 빈 오프셋들을 포함하는 빈 오프셋 값들의 리스트를 생성하는 단계, 각 행의 픽셀들의 각 픽셀에 대응하여 어큐뮬레이터 값(accumulator value)을 생성하는 단계, 어큐뮬레이터 값들의 각 값이 0보다 더 크거나 0과 동일한지를 결정하는 단계, 및 어큐뮬레이터 값들의 각 값이 0보다 더 큰지에 의해 결정되는 값들을 가지는 비트들을 포함하는 마스크 오버레이를 생성하는 단계를 포함한다.
상기 방법은 라인 폭 세팅(line width setting)을 수신하는 단계를 더 포함할 수 있고, 정점 지점들은 라인 폭 세팅에 더 대응할 수 있다.
터치 경로 데이터는 터치 경로에 대응하는 압력 데이터를 더 포함할 수 있고, 그리고 정점 지점들은 압력 데이터에 더 대응할 수 있다.
상기 방법은 터치 지점들 중 인접하는 지점들 사이의 경로에 대응하는 터치 경로 벡터를 생성하는 단계를 더 포함할 수 있고, 그리고 정점 지점들은 터치 경로 벡터에 더 대응할 수 있다.
어큐뮬레이터 값을 생성하는 단계는 계수를 초기화하는 단계, 각각의 빈 오프셋을 순서대로 반복하는 단계, 빈 오프셋들에 기초하여 계수에 추가하거나 계수로부터 공제하는 단계 및 계수를 반복되는 빈 오프셋에 대응하여 어큐뮬레이터 값으로 입력하는 단계를 포함할 수 있다.
마스크 오버레이를 생성하는 단계는 픽셀들 중 대응하는 픽셀들이 다각형의 에지 또는 내부에 대응함을 표시하는 0보다 더 큰 어큐뮬레이터 값들의 각 값 별로 마스크 오버레이에 1 비트 인에이블 신호(enable signal)의 "1"을 생성하는 단계, 및 0과 동일한 어큐뮬레이터 값들의 각 값 별로 마스크 오버레이에 1 비트 인에이블 신호의 "0"을 생성하는 단계를 포함할 수 있다.
상기 방법은 디스플레이 패널 상에 생성된 마스크 오버레이에 대응하여 디스플레이된 터치 경로를 디스플레이하는 단계를 더 포함할 수 있다.
픽셀들의 행에서의 픽셀들의 수, 빈 오프셋 값들의 리스트에서의 빈 오프셋들의 수 및 마스크 오버레이에서의 비트들의 수는 동일하다.
본 발명의 하나 이상의 실시예들에 따르면, 터치 패널 상의 터치 경로에 대응하여 디스플레이 패널에 대한 마스크 오버레이를 생성하는 시스템이 제공되고, 상기 시스템은 정점 지점들을 포함하는 정점 어레이를 수신하도록 구성되고 그리고 정점 어레이에 기초하여 마스크 오버레이를 생성하도록 구성되는 제어 논리 모듈(control logic module)을 포함하고, 제어 논리 모듈은 정점 지점들에 기초하여 터치 경로의 에지들을 규정하는 하나 이상의 다각형들을 결정하도록 구성되고 그리고 픽셀들의 행에서 하나 이상의 다각형들의 시작 에지들 및 정지 에지들에 각각 대응하는 시작 열 오프셋들 및 정지 열 오프셋들을 생성하도록 구성되는 보간 계산기(interpolation calculator), 시작 및 정지 열 오프셋들을 수신하도록 구성되고 그리고 시작 및 정지 열 오프셋들에 기초하여 빈 오프셋 값들의 리스트를 생성하도록 구성되는 히스토그램 모듈(histogram module) 및 빈 오프셋 값들의 리스트를 수신하도록 구성되고 빈 오프셋 값들의 리스트에 기초하여 픽셀들의 행의 각각의 픽셀 별로 어큐뮬레이터 값을 생성하도록 구성되고, 그리고 어큐뮬레이터 값들에 기초하여 마스크 오버레이를 생성하도록 구성되는 어큐뮬레이터 및 픽셀 충전 모듈(accumulator and pixel-fill module)을 포함한다.
상기 시스템은 터치 경로에 대응하는 보간 터치 지점들을 수신하도록 구성되고 그리고 보간 터치 지점들에 기초하여 정점 어레이를 생성하도록 구성되는 검색표(lookup table; LUT) 생성기를 더 포함할 수 있다.
상기 시스템은 LUT 생성기로부터 정점 어레이를 수신하고 저장하도록 구성되고 그리고 제어 논리 모듈에 정점 어레이를 출력하도록 구성되는 LUT 저장 모듈을 더 포함할 수 있다.
LUT 생성기는 라인 폭 모듈을 포함할 수 있다.
LUT 생성기는 라인 폭 세팅을 수신하고 그리고 라인 폭 세팅에 기초하여 정점 어레이를 생성하도록 더 구성될 수 있다.
LUT 생성기는 터치 경로에 대응하여 하나 이상의 벡터들을 결정하고 그리고 하나 이상의 벡터들에 기초하고 라인 폭 세팅에 기초하여 정점 어레이를 생성하도록 더 구성될 수 있다.
빈 오프셋 값들의 리스트는 복수의 빈 오프셋들을 포함할 수 있고, 복수의 빈 오프셋들의 각각은 각각의 열 오프셋에 대응하는 값을 포함한다.
빈 오프셋 값들의 리스트는 행에 있는 픽셀들의 수와 동일한 수의 빈들을 포함할 수 있다.
빈들의 각각은 픽셀들 중 에지 교차점에 있는 픽셀에 대응하는 값을 저장하기 위하여 n-비트 메모리를 포함할 수 있다.
본 발명의 하나 이상의 실시예들에 따르면, 터치 패널 상의 터치 경로에 대응하여 디스플레이 패널에 대한 마스크 오버레이를 생성하는 방법이 제공되고, 상기 방법은 터치 경로의 에지들을 규정하는 정점 어레이에 대응하는 다각형들을 생성하는 단계, 픽셀들의 행에 대해 다각형들의 시작 에지들 및 정지 에지들을 결정하는 단계, 시작 에지들 및 정지 에지들에 대응하는 값들을 포함하는 빈 오프셋들을 생성하는 단계, 빈 오프셋들에 기초하여 픽셀들의 각각에 대응하는 어큐뮬레이터 값을 생성하는 단계 및 어큐뮬레이터 값들의 각각의 값이 0보다 더 큰지에 의해 결정되는 값들을 가지는 비트들을 포함하는 마스크 오버레이를 생성하는 단계를 포함한다.
정점 어레이는 터치 경로의 터치 지점들에 대응하는 정점 지점들을 포함할 수 있다.
정점 지점들은 터치 패널에 대한 압력에 더 대응할 수 있다.
실시예들에 따르면, 터치 사건 및 이 터치 사건에 대한 디스플레이 응답 사이의 레이턴시를 줄일 수 있는 방법 및 시스템이 제공된다.
명세서와 함께 첨부되는 도면들은 본 발명의 예시적인 실시예들을 도시하며, 상세한 설명과 함께 본 발명의 특징들을 설명하는 역할을 한다:
도 1a는 종래 기술의 터치 입력 프로세싱 디바이스를 포함하는 디바이스의 응답을 도시하는 도면;
도 1b는 본 발명의 실시예들에 따른 터치 입력 프로세싱 디바이스를 포함하는 디바이스의 응답을 도시하는 도면;
도 2는 종래 기술의 피드백 경로 및 본 발명의 하나의 실시예에 따른 저 레이턴시 피드백 경로 이 둘 모두의 개략적인 도면;
도 3은 본 발명의 하나의 실시예에 따른, 결합된 디스플레이 이미지를 생성하기 위한 비디오 이미지들, 오버레이 데이터(overlay data) 및 터치 경로 정보의 결합을 개략적으로 도시하는 도면.
도 4a 및 도 4b는 본 발명의 하나의 실시예에 따른 마스크 오버레이(mask overlay)의 생성에 대한 개략적인 도면;
도 5는 픽셀들의 행에 대한 터치 경로들 및 대응하는 마스크 오버레이들의 두 예들을 도시하는 개략적인 도면; 및
도 6은 본 발명의 하나의 실시예에 따른 마스크 오버레이 생성 프로세스를 도시하는 흐름도.
발명의 개념 및 이를 달성하는 방법의 특징들은 다음의 실시예들에 대한 상세한 설명 및 첨부 도면들을 참조함으로써 더 용이하게 이해될 수 있다. 그러나, 본 발명의 개념은 많은 상이한 형태들로 구현될 수 있고 본원에서 진술된 실시예들로 제한되는 것으로 해석되어서는 안 된다. 이후에, 예의 실시예들은 첨부 도면들을 참조하여 더 상세하게 설명될 것이고, 첨부 도면들에서 동일한 참조 번호들은 명세서 전체에 걸쳐 동일한 요소들을 칭한다. 그러나, 본 발명은 다양한 상이한 형태들로 구현될 수 있고, 단지 본원에서 도시된 실시예들로 제한되는 것으로 해석되어서는 안 된다. 오히려, 이 실시예들은 본 명세서가 철저하고 완전하도록, 그리고 본 발명의 양태들 및 특징들을 당업자에게 충분히 전달하도록 예들로서 제공된다. 이에 따라, 본 발명의 양태들 및 특징들의 완전한 이해를 위해 당업자에게 필요하지 않는 프로세스들, 요소들 및 기술들은 설명되지 않을 수 있다. 달리 지적되지 않으면, 동일한 참조 번호들은 첨부된 도면들 및 기재된 설명 전체에 걸쳐 동일한 요소들을 나타내고, 따라서, 이의 설명은 반복되지 않을 것이다. 도면들에서, 요소들, 층들 및 영역들의 상대적 크기는 명료성을 위해 과장될 수 있다.
용어들 "제 1", "제 2", "제 3" 등이 본원에서 다양한 요소들, 구성요소들, 영역들, 층들 및/또는 섹션들을 기술하는 데 사용될지라도, 이 요소들, 구성요소들, 영역들, 층들 및/또는 섹션들은 이 용어들에 의해 제한되지 않아야 함이 이해될 것이다. 이 용어들은 하나의 요소, 구성요소, 영역, 층 또는 섹션을 다른 요소, 구성요소, 영역, 층 또는 섹션과 구분하기 위해 사용된다. 그러므로, 후술되는 제 1 요소, 구성요소, 영역, 층 또는 섹션은 본 발명의 사상 및 범위를 벗어나지 않고 제 2 요소, 구성요소, 영역, 층 또는 섹션으로 칭해질 수 있다.
"밑에", "아래에", "하위의", "하에", "위에", "상위의" 등과 같은 공간 상대적 용어들은 설명의 편의상 본원에서 도면들에 도시되는 바와 같이 하나의 요소 또는 특징의 다른 요소(들) 또는 특징(들)에 대한 관계를 기술하기 위하여 사용될 수 있다. 공간 상대적 용어들은 도면들에서 도시되는 방위 외에 사용 중 또는 동작 중인 디바이스의 상이한 방위들을 포함하도록 의도되는 것임이 이해될 것이다. 예를 들어, 도면들에서의 디바이스가 뒤집어 지면, 다른 요소들 또는 특징들 "아래" 또는 "밑" 또는 "하"로서 기술되는 요소들은 다른 요소들 또는 특징들 "위로" 배향될 것이다. 그러므로, 예의 용어들 "아래" 및 "하"는 위 및 아래의 방위 모두를 포함할 수 있다. 디바이스는 그와 달리 지향(예를 들어, 90도 회전되거나 또는 다른 방위로)될 수 있으므로 본원에서 사용되는 공간 상대적 기술자들은 이에 따라 해석되어야 한다.
요소 또는 층이 다른 요소 또는 층 "상에", "에 접속되는" 또는 "에 결합되는" 것으로 칭해지면, 이는 요소 또는 층이 다른 요소 또는 층 바로 위에 있거나, 접속되거나 결합될 수 있거나, 또는 하나 이상의 개재 요소들 또는 층들이 존재할 수 있음이 이해될 것이다. 게다가, 요소 또는 층이 두 요소들 또는 층들 "사이에" 있는 것으로 칭해지면, 이는 두 요소들 또는 층들 사이에 유일한 요소 또는 층이 있을 수 있거나 또는 하나 이상의 개재 요소들 또는 층들이 또한 존재할 수 있음이 이해될 것이다.
본원에서 사용되는 용어는 단지 특정한 실시예들을 기술하기 위한 것이고 본 발명을 제한하도록 의도되지 않는다. 본원에서 사용되는 바와 같이, 단수 형태들 "a", "an" 및 "the"는 상황이 명확하게 달리 나타내지 않는 한 또한 복수의 형태들을 포함하도록 의도된다. 용어들 "comprises", "comprising", "includes" 및 "including"이 본 명세서에서 사용될 때는, 진술된 특징들, 정수들, 단계들, 동작들, 요소들 및/또는 구성요소들의 존재를 명시하지만 하나 이상의 다른 특징들, 정수들, 단계들, 동작들, 요소들, 구성요소들 및/또는 이들의 그룹의 존재 또는 추가를 배제하지 않음이 더 이해될 것이다. 본원에서 사용되는 바와 같이, 용어 "및/또는"은 연관되는 기재 아이템들 중 하나 이상의 임의의 그리고 모든 결합들을 포함한다. "중 적어도 하나"와 같은 표현들은 요소들의 리스트에 선행할 때, 전체 리스트의 요소들을 한정하고 이 리스트의 개별 요소들을 한정하지 않는다.
본원에서 사용되는 바와 같이, 용어 "실질적으로", "약" 및 유사한 용어들은 근사의 용어들로서 사용되고 정도의 용어들로서 사용되지 않으며 당업자에 의해 인정될 측정 또는 계산 값에 있어서의 내재적인 편차를 나타내도록 의도된다. 더욱이, 본 발명의 실시예들을 기술할 때 "할 수 있다"의 사용은 "본 발명의 하나 이상의 실시예들"을 칭한다. 본원에서 사용되는 바와 같이, 용어들 "use", "using" 및 "used"은 각각 용어들 "utilize", "utilizing" 및 "utilized"와 동의어로 간주될 수 있다. 또한, 용어 "예시의"는 예 또는 실례를 칭하도록 의도된다.
본원에서 기술되는 본 발명의 실시예들에 따른 전자 디바이스들 또는 임의의 다른 관련 디바이스들 또는 구성요소들은 임의의 적절한 하드웨어, 펌웨어(예를 들어, 주문형 반도체(application-specific integrated circuit)), 소프트웨어 또는 소프트웨어, 펌웨어 및 하드웨어의 결합을 사용하여 구현될 수 있다. 예를 들어, 이 디바이스들의 다양한 구성요소들은 하나의 집적 회로(integrated circuit; IC) 칩 상에 또는 개별 IC 칩들 상에 형성될 수 있다. 더욱이, 이 디바이스들의 다양한 구성요소들은 가요성 인쇄 회로 필름, 테이프 캐리어 패키지(tape carrier package; TCP), 인쇄 회로 기판(printed circuit board; PCB) 상에 구현되거나 하나의 기판 상에 형성될 수 있다. 더욱이, 이 디바이스들의 다양한 구성요소들은 본원에서 기술되는 다양한 기능들을 수행하기 위하여 하나 이상의 컴퓨팅 디바이스들 내의 하나 이상의 프로세서들 상에서 가동되고, 컴퓨터 프로그램 명령들을 실행하고, 그리고 다른 시스템 구성요소들과 상호 작용하는 프로세스 또는 스레드(thread)일 수 있다. 컴퓨터 프로그램 명령들은 예를 들어, 랜덤 액세스 메모리(random access memory; RAM)와 같이, 표준 메모리 디바이스를 사용하여 컴퓨팅 디바이스 내에 구현될 수 있는 메모리 내에 저장된다. 컴퓨터 프로그램 명령들은 또한 예를 들어, CD-ROM, 플래시 드라이브 등과 같은 다른 비일시적 컴퓨터 판독 가능 매체 내에 저장될 수 있다. 또한, 당업자는 다양한 컴퓨팅 디바이스들의 기능이 단일 컴퓨팅 디바이스로 결합 또는 통합될 수 있거나, 또는 본 발명의 예시적인 실시예들의 사상 및 범위를 벗어나지 않고 특정한 컴퓨팅 디바이스의 기능이 하나 이상의 다른 컴퓨팅 디바이스들에 걸쳐 분산될 수 있음을 인정할 것이다.
달리 규정되지 않으면, 본원에서 사용되는 모든 용어들(기술 및 과학 용어들을 포함하는)은 본 발명이 속하는 당업계의 통상의 지식을 가진 자에 의해 통상적으로 이해되는 바와 동일한 의미를 가진다. 일반적으로 사용되는 사전들에서 정의되는 바와 같은 용어들은 당업계 및/또는 본 명세서의 상황에서 상기 의미와 일치하는 의미를 가지는 것으로 해석되어야 하고, 그리고 본원에서 이상화되거나 과도하게 정형화된 의미로 표현되지 않는 한 그와 같이 해석되지 않아야 함이 더 이해될 것이다.
다음의 상세한 설명들 중 일부분들은 컴퓨터/서버 메모리 내에서 발생하는 있는 데이터 비트들에 대한 동작들에 대한 알고리즘들 및/또는 심볼 표현으로 제시된다. 이 기술들 및 표현들은 다른 당업자에게 개념들, 구조들 및 방법론들을 전달하기 위하여 데이터 압축의 분야의 당업자에 의해 사용된다. 알고리즘은 원하는 결과를 달성하고 물리적 양들에 대한 물리적 조작들을 필요로 하는 자가 일관(self-consistent) 시퀀스이고, 이는 저장되고, 전송되고, 결합되고, 비교되고, 복제되고, 재생되고, 그리고 이와 달리 조작될 수 있는 전기 자기 신호들의 형태를 취할 수 있다. 그와 같은 신호들은 비트들, 값들, 요소들, 심볼들, 문자들, 항들, 수들 등으로 칭해질 수 있다. 이 용어들 및 유사한 용어들은 적절한 물리적 양들과 연관될 수 있고 이 양들에 대한 표본 라벨들로서 사용될 수 있다. 이에 따라, "프로세싱", "컴퓨팅", "계산", "결정", "디스플레이" 등과 같은 용어들은 레지스터들/메모리들 내의 물리적 양들로서 표현되는 데이터를 저장된/전송된/디스플레이된 물리적 양들에 의해서 또한 표현되는 다른 데이터로 조작하는 컴퓨팅 디바이스 또는 시스템의 행위 및 프로세스를 칭한다.
본 발명의 실시예들은 터치스크린 디스플레이 상에서 터치 사건에 대응하는 라인 세그먼트(segment)들을 충전하는 새로운 방법을 제공한다. 본 발명의 실시예들의 방법은 터치 사건들이 복잡하고 이전에 그려진 라인과 중첩하는 라인을 만들 때조차도 동작이 가능하도록 구성된다. 상기 방법은 룩업 테이블(lookup table; LUT)이 정점 데이터(vertex data)의 세트를 저장하는 것이 가능하고, 이로 인해 라인 세그먼트들의 좌/우 에지(edge)의 분류 또는 구분이 필요하지 않고, 그리고 제어 논리(control logic)가 LUT로부터 마스크 데이터(mask data)를 생성하는 데 필요한 메모리 및 복잡성이 최소화된다. 이에 따라, 본 발명의 실시예는 애플리케이션 프로세서(AP)가 렌더링(rendering)하는 이미지에 앞서 터치 지점들에 기초하여 이미지를 디스플레이함으로써 사용자가 더 빠른 터치 응답을 인지하는 것을 가능하게 한다.
터치 인터페이스용으로 설계되는 소프트웨어는 시각적 피드백(예를 들어, 스와이핑(swiping) 또는 제스처 기반 온 스크린 키보드(gesture-based on-screen keyboard) 상에서의 손가락의 자취, 그림 또는 스케치북 애플리케이션에서의 경로의 자취 및/또는 게임 내에서 그려지는 경로에 대한 피드백)을 제공하기 위해 스크린 상의 의사 "실세계" 물체들의 직접적인 물리적 조작 및/또는 경로들을 그리는 것을 흔히 사용한다.
모바일 전화기들의 공통적인 문제는 사용자 인터페이스의 랙(즉, 랙 시간 또는 레이턴시)이다. 현재의 모바일 전화기들은 터치 행위에 응답하여 디스플레이를 업데이트하는 데 최대 200 밀리초를 소요한다. 예를 들어, 종래 기술의 스마트폰에서 측정되는 바에 따른 터치 사건에 대한 전형적인 디스플레이 응답 시간은 초당 60 프레임(frames per second; FPS)의 리프레시 레이트(refresh rate)에 기초하여 약 100 밀리초이거나 비디오 이미지들의 약 6 프레임일 수 있다. 이 디스플레이 랙은 사용자들 대부분에 의해 인지될 수 있다.
도 1a는 종래 기술의 터치 입력 프로세싱 디바이스를 포함하는 디바이스의 응답을 도시하고, 도 1b는 본 발명의 실시예들에 따른 터치 입력 프로세싱 디바이스를 포함하는 디바이스의 응답을 도시한다.
도 1a를 참조하면, 디스플레이된 라인(예를 들어, 생성되는 터치 경로)(100)은 손가락의 위치 및 디스플레이된 라인(100)의 마지막으로 그려진 부분 사이에 갭(102)을 가진다. 갭(102)은 터치가 터치스크린 디스플레이에 인가된 시간 및 디스플레이된 라인(100)이 디스플레이 상에 보이는 시간 사이의 인지 가능한 디스플레이 랙에 대응한다. 유사한 디스플레이 랙은 전형적으로 능동이든 또는 수동이든, 스타일러스를 사용할 때 마주하게 된다.
도 1b를 참조하면, 디스플레이된 라인(100)이 본 발명의 실시예들의 저 레이턴시 오버레이 시스템에 의해 생성되는 추가 컴퓨팅된 부분(104)을 포함하고, 이에 의해 AP가 렌더링하는 이미지에 앞서 터치 경로 내에 이미지(예를 들어, 컴퓨팅된 부분(104))를 오버레이함으로써 사용자에 의해 인지되는 디스플레이 랙/갭(102)이 줄고 사용자가 더 빠른 터치 응답을 인지하는 것이 가능하다. 디스플레이 상에서의 현재의 터치 접촉점 및 디스플레이된 라인(100) 사이의 갭(102)을 줄임으로써, 인지되는 디스플레이 랙이 줄어들 수 있다. 본원에서 사용되는 바와 같이, 용어 "오버레이(overlay)"는 동사로서 사용되면, 추가 이미지 데이터(예를 들어, 컴퓨팅된 부분(104)에 대응하는 데이터)가 원래의 비디오 이미지들의 일부분을 대체 또는 오버레이하도록 비디오 이미지들을 추가 이미지 데이터와 결합하는 것을 칭한다. 용어 "오버레이"는 명사로서 사용되면(예를 들어, "마스크 오버레이(mask overlay)"), 결합된 디스플레이 이미지 내의 추가 이미지 데이터의 결과로서의 컴퓨팅된 부분(104)의 외형을 또한 칭할 수 있다. 더욱이, 마스크 오버레이를 사용함으로써, 애플리케이션 소프트웨어는 또한 터치 사건에 응답하여 디스플레이된 라인(100)의 영역(예를 들어, 디스플레이 상의 지점), 컬러 및 렌더링 동작을 제어할 수 있다.
도 2는 종래 기술의 피드백 경로 및 본 발명에 따른 하나의 실시예에 따른 저 레이턴시 피드백 경로 이 둘 모두에 대한 개략도이다.
도 2를 참조하면, 본 실시예의 컴퓨팅 디바이스(250)는, 종래 기술의 시스템들과 비교할 때, 애플리케이션 프로세서(202)를 통한 더 긴 레이턴시 경로(210)를 거치는 더 긴 레벨의 레이턴시의 시각 이미지들에 선행하여, 터치 제어기(200) 및 디스플레이 드라이버 인터페이스 제어기(DDIC)(204)를 통하여 저 레이턴시 경로(212)를 거쳐 시각적 피드백을 더 빠르게 제공하는 저 레이턴시 오버레이 시스템에 관한 것이다.
일반적인 터치 스크린 시스템은 전형적으로 대응하는 디스플레이 시스템과는 별개로 동작한다. 터치 센서 패널은 터치 사건들(예를 들어, 터치 센서 패널 상에서의 터치 입력들 또는 사용자의 터치들)을 검출하도록 구성된다. 터치 센서 패널은 터치 제어기(200)(예를 들어, 데이터 버스를 통한)에 공급되는 터치 신호들을 생성하도록 구성된다. 터치 센서 패널에 의해 출력되는 터치 신호들은 신호들 또는 원 데이터(raw data)(예를 들어, 터치 센서 패널의 검출된 터치 지점들에 대응하는 커패시턴스, 전압 또는 전류의 측정치들)에 대응할 수 있거나 또는 프로세싱된 원 데이터에 기초하여 컴퓨팅된 터치 지점들에 대응할 수 있다.
본 실시예의 터치 센서 패널은 능동 스타일러스 또는 수동 스타일러스와 같은 디바이스들 및 손가락 또는 손과 같은 신체 일부들을 포함하는 터치 센서 패널에 의해 검출될 수 있는 임의의 물체를 사용하여 터치 사건들을 검출할 수 있고, 임의의 유형의 터치 입력 패, 예를 들어 저항성 터치 패널들, 표면 탄성파 터치 패널들, 용량성 터치 패널들, 적외선 터치 패널들, 광 터치 패널들 등일 수 있다.
본 실시예의 터치 제어기(200)는 터치 센서 패널로부터의 터치 신호들을 프로세싱할 수 있고, 애플리케이션 프로세서(AP)(202) 및 저 레이턴시 오버레이 시스템(예를 들어, 도 3의 저 레이턴시 오버레이 시스템(310)) 모두에 접속되어 있는 데이터 버스를 통해 터치 지점들(예를 들어, 터치 지점들의 좌표들)을 AP(202)로 출력할 수 있다. 터치 지점들은 컴퓨팅된 터치 지점들에 대응하는 데이터 값들의 스트림일 수 있고, 선택적으로 터치 사건 동안 터치 센서 패널에 가해지는 압력의 양을 표시하는 압력 데이터를 포함할 수 있다.
AP(202)는 DDIC(204)에 접속되고 터치 지점들을 프로세싱한다. AP(202) 상의 애플리케이션 소프트웨어는 디스플레이 패널 상에 이미지를 디스플레이하기 위해 비디오 이미지들(예를 들어, 비디오 이미지, 비디오 이미지들의 하나 이상의 프레임들 또는 비디오 이미지 데이터)을 DDIC(204)로 렌더링함으로써 디스플레이 구성을 업데이트한다. AP(202)는 중앙 처리 장치(central processing unit; CPU), 그래픽 처리 장치(graphical processing unit; GPU) 및 메모리를 포함할 수 있다. AP(202)는 또한 후술되는 바와 같이, 구성 파라미터들 및 마스크 오버레이 데이터를 저 레이턴시 오버레이 시스템으로 출력할 수 있다.
DDIC(204)는 디스플레이 패널에 접속되고 AP(202)로부터 수신되는 비디오 이미지들을 수신 및 프로세싱하고, 픽셀 구동 신호들을 디스플레이 패널로 출력한다. 터치 센서 패널, 터치 제어기(200), DDIC(204) 및 디스플레이 패널은 모두 AP(202)로부터 분리될 수 있는 단일 디스플레이 모듈의 구성요소들일 수 있다. 다른 실시예들에서, 터치 제어기(200)는 더 큰 집적 회로의 일부일 수 있다. 다른 실시예에 따르면, 터치 제어기, AP(202) 및/또는 DDIC(204)는 단일 집적 회로로서 구현될 수 있다. 다른 실시예에 따르면, 터치 센서 패널, 터치 제어기(200), DDIC(204) 및 디스플레이 패널 또는 이의 결합들은 별개의 모듈들 내에 위치할 수 있거나, AP(202)와 결합될 수 있다. 디스플레이 패널은 예를 들어, 유기 발광 다이오드(organic light emitting diode; OLED) 디스플레이 패널 또는 액정 디스플레이(liquid crystal display; LCD) 패널일 수 있다.
도 3은 본 발명의 하나의 실시예에 따른, 결합된 디스플레이 이미지를 생성하기 위한 비디오 이미지들, 오버레이 데이터 및 터치 경로 정보의 결합의 개략도이다.
도 3을 참조하면, 본 실시예에 따르면, 저 레이턴시 오버레이 시스템(310)은 디스플레이 패널(322)이 터치 사건에 응답하여 감소된 랙/갭(102)으로 디스플레이되는 라인(100)을 도시하기 위하여 터치 지점들(304)을 비디오 이미지들(316)과 함께 프로세싱한다. 저 레이턴시 오버레이 시스템(310)은 터치 경로 논리 모듈(330), 벡터 충전 모듈(344)(도 4a 및 도 4b를 참조하여 더 설명되는 바와 같이, 룩업 테이블(lookup table; LUT) 생성기(331), 룩업 테이블(LUT) 저장 모듈(332) 및 제어 논리 모듈(333)을 포함할 수 있는), 및 렌더링 논리 모듈(334)을 포함할 수 있다.
본 실시예에서, 터치 경로 논리 모듈(330)은 터치 제어기(200)에 접속되고 이로부터 터치 지점들(304)을 수신하고, 또한 AP(202)에 접속되고 AP(202)로부터 구성 파라미터들(312)을 수신한다.
터치 경로 논리 모듈(330)은 터치 제어기(200)로부터 수신되는 터치 지점들(304)을 프로세싱할 수 있고, 보간 터치 지점들(예를 들어, 보간 타임 스탬핑(time stamping)된 터치 지점들 또는 추정 터치 경로)(315)을 생성할 수 있다. 터치 경로 논리 모듈(330)은 또한 디스플레이된 라인(100)의 특성을 통제할 수 있는 구성 파라미터들(312)을 프로세싱할 수 있다. 구성 파라미터들(312)은 디폴트 파라미터들일 수 있고/있거나 조정될 수 있고, 예를 들어, 디스플레이되는 라인(100)의 폭, 생성되는 라인 세그먼트들의 스타일(예를 들어, 단순한 직선 선분들 또는 곡선들), 디스플레이되는 라인(100)에 허용되는 디스플레이 패널(322)의 영역(예를 들어, 활성 드로잉 영역), 및 렌더링 동작의 스타일(예를 들어, 안티 에일리어싱(antialiasing) 동작들, 평활화(smoothing) 동작들 및 투명성)을 포함할 수 있다.
터치 경로 논리 모듈(330)은 벡터 충전 모듈(344)에 접속되고, 벡터 충전 모듈(344)에 보간 터치 지점들(315)을 포함하는 터치 경로 데이터 및 구성 파라미터들(312) 모두를 송신함으로써, 벡터 충전 모듈(344)이 디스플레이되는 터치 경로(100)의 형상을 렌더링할 수 있게 된다.
터치 경로 논리 모듈(330)로부터 수신되는 보간 터치 지점들(315)에 기초하여, 벡터 충전 모듈(344)은 모여서 하나 이상의 정점 어레이들을 형성하는 정점 지점들로서 칭해지는 값들의 세트를 생성하도록 구성되고, 정점 어레이들을 저장하도록 구성된다. 정점 지점들 및 정점 어레이들은 도 4a를 참조하여 더 상세하게 설명될 것이다.
벡터 충전 모듈(344)은 또한 마스크 오버레이(335)를 생성하도록 구성된다. 본 실시예의 마스크 오버레이(335)는 픽셀들의 각 라인(예를 들어, 도 4b에 관하여 더 설명되는 바와 같이, 픽셀들(341)의 각각의 행(339) 별로 라인 하나하나에 기초하여(line-by-line basis)(예를 들어, 행 하나하나에 기초하거나 또는 열 하나하나에 기초하여) 생성된다. 벡터 충전 모듈(344)은 렌더링 논리 모듈(334)에 접속되고 "1" 및/또는 "0" 값들의 비트 스트림일 수 있는 마스크 오버레이(335)를 렌더링 논리 모듈(334)에 공급하도록 구성된다.
렌더링 논리 모듈(334)은 또한 AP(202)에 접속될 수 있다. 벡터 충전 모듈(344)로부터 마스크 오버레이(335)를 수신하는 것 외에, 렌더링 논리 모듈(334)은 또한 AP(202)로부터 오버레이 데이터(314)를 수신할 수 있다. 그러나, 오버레이 데이터(314)는 AP(202)로부터의 입력 없이 오버레이 시스템(310) 내에 생성될 수 있거나 또는 오버레이 시스템(310) 내에서 생성되는 데이터 및 AP(202)로부터 수신되는 데이터의 결합을 포함할 수 있음이 주지되어야 한다. 렌더링 논리 모듈(334)은 벡터 충전 모듈(344)로부터 수신되는 마스크 오버레이(335)에 따라 오버레이 데이터(314)를 비디오 이미지들(316)과 결합하도록 구성될 수 있고, 이에 의해 결합된 디스플레이 이미지(337)를 생성하도록 구성될 수 있다. 렌더링 논리 모듈(334)은 일련의 픽셀 구동 신호들(320)을 디스플레이 패널(322)에 송신함으로써 오버레이 데이터(314) 및 비디오 이미지들(316)을 포함하는 결합된 디스플레이 이미지(337)를 공급하도록 디스플레이 패널(322)에 접속될 수 있다. 렌더링 논리 모듈(334)은 비디오 이미지들(316)의 데이터 및 오버레이 데이터(314) 사이에서 선택함으로써 또는 이 둘을 혼합함으로써 결합된 디스플레이 이미지(337)를 생성할 수 있다.
상술한 바와 같이, 본 실시예의 벡터 충전 모듈(344)은 픽셀들의 각 행 별로 행 하나하나에 기초하여 마스크 오버레이(335)를 출력하도록 구성되고, 여기서 소정의 행에 대한 마스크 오버레이(335)는 "1"들 및 "0"들과 같은 수치 값들의 어레이이고, 어레이 내의 각각의 위치는 디스플레이 패널(322) 상의 행에 있는 각각의 픽셀의 위치에 대응하고, 이들 픽셀은 픽셀 구동 신호들(320)에 대응하여 결합된 디스플레이 이미지(337)를 디스플레이할 것이다. 즉, 마스크 오버레이(335)에서의 값들의 상대 위치들은 픽셀들의 상대 위치들에 대응한다(예를 들어, 마스크 오버레이(335)는 결합된 디스플레이 이미지(337)를 디스플레이하는 픽셀들의 위치의 1차원 맵(map)에 대응하는 1차원 어레이로서 생각될 수 있다). 마스크 오버레이(335)의 값들의 각 값은 단일 이진 비트로서 표현될 수 있고, 오버레이 데이터(314)가 결합된 디스플레이 이미지(337) 내에 디스플레이될 수 있는 위치들은 제 1 값(예를 들어, "1")으로 세팅되는 값들을 가질 수 있고, 반면에 오버레이 데이터(314)가 보이지 않아야 하는 (예를 들어, 비디오 이미지들(316)이 보여야 하는) 위치들은 제 2의, 상이한 값(예를 들어, "0")으로 세팅되는 값들을 가질 수 있다.
벡터 충전 모듈(344)은 렌더링 논리 모듈(334)이 비디오 이미지들(316) 내의 대응하는 픽셀들의 행을 프로세싱하는 동안 픽셀들의 소정의 행에 대한 마스크 오버레이(335)가 렌더링 논리 모듈(334)에 공급될 수 있도록, AP(202)로부터의 비디오 이미지들(316)의 대응하는 데이터를 공급하는 것과 동시에 마스크 오버레이(335)의 데이터를 출력할 수 있다. 제어 논리 모듈(333)과 비디오 이미지들(316)의 동기화는 비디오 이미지들(316)의 수평 싱크(horizontal sync; HSYNC) 신호들(338) 및 수직 싱크(vertical sync; VSYNC) 신호들(340)을 오버레이 시스템(310)에(예를 들어, 도 4b에 도시되는 바와 같이, 오버레이 시스템(310)의 행 계수기(343)에) 공급함으로써 달성될 수 있다.
비디오 이미지들(316)의 각각의 픽셀이 렌더링 논리 모듈(334)에 의해 프로세싱될 때, 렌더링 논리 모듈(334)은 마스크 오버레이(335) 내의 대응하는 값을 검색하는데, 이 값의 위치는 비디오 이미지들(316) 내의 픽셀들의 장소에 대응한다. 렌더링 논리 모듈(334)은 원하는 시각 효과들(예를 들어, 투명성 및/또는 안티 에일리어싱)을 달성하기 위하여 마스크 오버레이(335)에 따라, 비디오 이미지들(316)의 픽셀을 오버레이 데이터(314)로 대체할 수 있거나, 또는 비디오 이미지들(316)의 픽셀 및 오버레이 데이터(314)의 혼합을 수행할 수 있다. 즉, 렌더링 논리 모듈(334)은 오버레이 데이터(314), 비디오 이미지들(316)의 데이터, 또는 이들의 혼합을 픽셀 구동 신호(320)를 통해 디스플레이 패널(322)로 출력할 수 있다. 예를 들어, 렌더링 논리 모듈(334)의 렌더링 동작은 마스크 오버레이(335)에서의 값들에 의해 규정되는 바와 같이 단일 비트를 사용하여 명시될 수 있고, 그리고 렌더링 논리 모듈(334)의 출력을, 마스크 오버레이(335) 내의 대응하는 위치에 있는 값에 기초하여 각 픽셀 별로 비디오 이미지들(316) 또는 오버레이 데이터(314)가 되도록 선택할 수 있다.
본 실시예에서, 마스크 오버레이(335)의 값들의 수는 비디오 이미지들(316)의 픽셀들의 수와 동일하고, 결과적으로, 비디오 이미지들(316)의 수는 결합된 디스플레이 이미지(337) 내의 픽셀들의 수와 동일하다. 그러므로, 마스크 오버레이(335) 내의 각각의 값과 비디오 이미지들(316)의 각각의 픽셀 사이에는 일대일 관계가 존재한다. 다른 말로, 렌더링 논리 모듈(334)은 행 하나하나에 기초하여, 마스크 오버레이(335) 내의 각각의 값을 대응하는 비디오 이미지들(316)의 픽셀에 대응시킴으로써, 그리고 비디오 이미지들(316)의 픽셀 또는 오버레이 데이터(314)의 픽셀을 디스플레이 패널(322)에 출력함으로써 동작할 수 있다. 예를 들어, 렌더링 논리 모듈(334)은 마스크 오버레이(335)의 각각의 값을 통하여 반복할 수 있고, 마스크 오버레이(335) 내의 특정한 위치에 "0"의 값이 존재하면, 렌더링 논리 모듈(334)은 비디오 이미지들(316)의 대응하는 픽셀을 출력한다. 한편, 마스크 오버레이(335) 내의 특정한 위치에 "1"의 값이 존재하면, 렌더링 논리 모듈(334)은 오버레이 데이터(314)를 출력한다. 반복 프로세스의 결과로서, 렌더링 논리 모듈(334)은 픽셀 구동 신호(320)에 의해 표현되는 바와 같은 결합된 디스플레이 이미지(337)의 행을 디스플레이 패널(322)로 출력한다. 각 프레임 동안, 프로세스는 프레임에 대한 전체 결합된 디스플레이 이미지(337)를 생성하기 위해 비디오 이미지들(316)의 각각의 행에 대해 반복해서 동작한다.
상술한 바와 같이, 렌더링 논리 모듈(334)은 AP(202)로부터 오버레이 데이터(314) 및 비디오 이미지들(316)을 수신하고 제어 논리 모듈(333)로부터 마스크 오버레이(335)를 수신한다. 다른 실시예에 따르면, 오버레이 데이터(314)는 오버레이 시스템(310)에서 만들어질 수 있고, 오버레이 데이터(314)의 특징들은 렌더링 논리 모듈(334)의 원하는 출력에 의해 결정될 수 있다. 예를 들어, 오버레이 데이터(314)의 특징들은 마스크 오버레이(335)에 따라 렌더링될 때, 결합된 디스플레이 이미지(337)가 이미지 세그먼트(308) 및 오버레이 이미지 세그먼트(306)(예를 들어, 컴퓨팅된 부분(104)) 사이의 중단없는 전이를 도시하도록, 디스플레이되는 라인(100)을 따른 비디오 이미지들(316)의 특징들에 대응될 수 있다. 이 특징들은 컬러를 포함할 수 있다. 예를 들어, 애플리케이션 소프트웨어가 검은 라인을 그리면, 오버레이 데이터(314)는 소프트웨어가 그린 라인/이미지 세그먼트(308)와 동일한 검은 컬러(예를 들어, 모든 픽셀들이 검은 비트맵된 이미지)를 포함할 수 있다. 렌더링 논리 모듈(334)은 검은 라인을 포함하는 결합된 디스플레이 이미지(337)를 디스플레이되는 라인(100)으로서 출력할 수 있고, 이 라인(100)은 마스크 오버레이(335)에 의해 그리고 오버레이 데이터(314)에 의해 결정되는 바와 같이 AP(202)로부터의 이미지 세그먼트(308)(예를 들어, 소프트웨어가 그린 검은 라인) 및 오버레이 이미지 세그먼트(306)를 연결함으로써 형성된다. 오버레이 데이터(314)는 또한 텍스처(texture)화 또는 컬러화될 수 있거나, 비트맵된 이미지 데이터를 포함할 수 있다. 오버레이 데이터(314)의 컨텐츠는 시간의 경과에 따라 동적일 수 있고, AP(202)에 의해 업데이트될 수 있거나 또는 DDIC(204) 내의 메커니즘에 의해 업데이트될 수 있다. 컨텐츠는 또한 크기 및 형상에 있어서 동적일 수 있다.
상기 설명에 관하여, 오버레이 시스템(310)은 DDIC(204)의 구성요소일 수 있거나, 또는 대안으로 오버레이 시스템(310)의 일부분들이 DDIC(204) 내에 그리고/또는 AP(202) 내에 있고, 오버레이 시스템(310)의 다른 일부분들이 터치 제어기(200) 내에 있을 수 있음이 주지되어야 한다. 또한, 터치 경로 논리 모듈(330), 렌더링 논리 모듈(334) 및 벡터 충전 모듈(344)은 각각 상이한 주문형 반도체(application specific integrated circuit; ASIC)들을 사용하여 구현될 수 있다. 대안으로, 위에 기재된 다양한 구성요소들의 다양한 결합들은 단일 ASIC에 의해 구현될 수 있다. 추가로, 필드 프로그래머들 게이트 어레이(field programmable gate array; FPGA)는 터치 경로 논리 모듈(330), 벡터 충전 모듈(344) 및 렌더링 논리 모듈(334)의 각각의 기능들을 수행하도록 프로그램될 수 있다. 더욱이, 터치 경로 논리 모듈(330), 벡터 충전 모듈(344) 및 렌더링 논리 모듈(334) 중 하나 이상의 기능은 AP(202)의 구성요소들로서 구현될 수 있다. 게다가, 터치 경로 논리 모듈(330), 벡터 충전 모듈(344) 및 렌더링 논리 모듈(334)은 DDIC(204)의 구성요소들일 수 있거나 또는 터치 경로 논리 모듈(330), 벡터 충전 모듈(344) 및 렌더링 논리 모듈(334)(또는 이 기능들을 수행할 수 있는 구성요소들) 중 하나 이상은 예를 들어, 터치 제어기(200), AP(202) 또는 별도의 구성요소 내에 위치될 수 있다. 더욱이, 이 구성요소들 또는 이 구성요소들이 수행하는 기능들은 디바이스의 상이한 부분들에 위치될 수 있다. 예를 들어, 터치 경로 논리 모듈(330)은 터치 제어기(200)의 구성요소 또는 기능일 수 있고, 렌더링 논리 모듈(334)은 AP(202)의 구성요소 또는 기능으로서 구현될 수 있다.
도 4a 및 도 4b는 본 발명의 하나의 실시예에 따른 마스크 오버레이의 생성에 대한 개략적인 도면이다.
도 4a 및 도 4b에 도시되는 바와 같이, 도 3의 벡터 충전 모듈(344)의 구성요소일 수 있는 라인 폭 모듈(342)(예를 들어, LUT 생성기(331))은 보간 터치 지점들(315) 및 압력 데이터(319)(예를 들어, 터치 경로 논리 모듈(330)로부터의)를 수신하도록 구성되고, 터치 경로 벡터들(321)을 생성하도록 라인 폭 세팅(317)(예를 들어, AP(202)로부터 또는 소프트웨어로부터)을 수신하도록 구성된다. 생성되는 터치 경로 벡터들(321)에 기초하여, 라인 폭 모듈(342)은 0 이상의 정점 지점들(324)을 포함하는 정점 어레이(325)를 생성하도록 구성되고 또한 인접하는 정점 지점들(324)의 각각의 세트 별로 다각형(327)을 생성하도록 구성된다(예를 들어, 4개의 정점 지점들(324)의 각각의 세트 별로 4변형을 생성하거나 또는 3개의 정점 지점들(324)의 각각의 세트 별로 삼각형을 생성하도록). 정점 지점들(324)은 디스플레이되는 라인(100)의 에지를 결정하는 데 사용될 수 있고, 대응하는 벡터(321)의 180° 내의 정점 지점들(324)은 정점 어레이(325) 내의 좌측 정점 지점(324)에 대응하고, 반면에 대응하는 벡터(321)의 -180° 내의 정점 지점들(324)은 정점 어레이(325) 내의 우측 정점 지점(324)에 대응할 수 있다. 라인 폭 모듈(342)은 그 후에 또한 도 3의 벡터 충전 모듈(344)의 구성요소일 수 있는 LUT 저장 모듈(332)에 정점 어레이(325)를 송신하도록 구성된다.
상술한 바와 같이, 행 계수기(343)는 HSYNC 신호들(338) 및 VSYNC 신호들(340)을 수신하기 위해, 그리고 제어 논리 모듈(333)이 신호를 출력하여 렌더링될 픽셀들(341)의 현재 행(339)(예를 들어, 본 예에서, 11번째 행)을 표시하기 위해 포함될 수 있다.
또한 도 3의 벡터 충전 모듈(344)의 구성요소일 수 있는 제어 논리 모듈(333)은 행 계수기(343)로부터 현재의 행(339)을 표시하는 신호를 수신하도록 구성되고, 그리고 또한 LUT 저장 모듈(332)로부터 정점 어레이(325)를 검색하도록 구성된다. 제어 논리 모듈(333)은 보간 계산기(336), 히스토그램 모듈(348) 및 어큐뮬레이터 및 픽셀 충전 모듈(354)을 포함하고, 이것들은 아래에서 더 상세하게 설명된다.
보간 계산기(336)는 LUT 저장 모듈(332)로부터 정점 어레이(325)를 수신하도록 구성되고 정점 어레이(325)에 기초하여, 그리고 현재 행(339)에서 어떤 픽셀들(341)이 다각형들(327) 중 하나의 시작 에지(355a) 또는 정지 에지(355b)를 포함하는지를 표시하는 교차 지점들(353a, 353b)에 기초하여 시작 및 정지 열 오프셋들(353a, 353b)을 생성하도록 구성된다. 즉, 각각의 교차 지점(353a, 353b)은 시작 열 오프셋(353a) 또는 정지 열 오프셋(353b)에 대응한다. 다른 말로, 다각형들(327)의 하나의 세트로부터, 제 1 교차 에지는 시작 에지(355a)이고, 제 2 교차 에지는 정지 에지(355b)이다. 교차 픽셀 오프셋은 각각 시작 열 오프셋(353a) 또는 정지 열 오프셋(353b)으로서 저장된다. 현재의 행(339)이 다각형 값들(327)과 교차하지 않았다면, 시작 열 오프셋(353a) 또는 정지 열 오프셋(353b)은 저장되지 않을 것이거나, 또는 본 발명의 다른 실시예들에서, 행(339) 및 임의의 다각형들(327) 사이에는 어떠한 교차도 존재하지 않는다는 것을 표시하기 위하여, "-1"과 같은 대안의 플레이스홀더(placeholder) 값이 저장될 수 있다.
본 예에서, 정점 어레이(325)의 정점 지점들(예를 들어, 4개의 정점 지점들)(324)의 각각의 세트 별로, 다각형(예를 들어, 사변형)(327)이 생성되고, 이에 따라, 본 예에서 3개의 4변형들(327)이 도시된다. 픽셀들(341)의 각 행(339) 별로, 정지 및 시작 열 오프셋들(353a, 353b)을 생성하기 위해 각각의 시작 에지(355a)의 교차 지점들(353a) 및 각각의 정지 에지(355b)의 교차 지점들(353b)(예를 들어, 좌에서 우로 이동할 때, 각각의 다각형(327)의 각각의 선행 에지 및 후행 에지)가 결정된다.
현재의 행(339)(즉, 본 예에서 제 11 행)은 세 다각형들(327)의 각각의 다각형 별로 시작 에지(355a) 및 정지 에지(355b)를 횡단한다. 더 상세하게, 제 1 사변형의 시작 에지(355a)는 행(339)의 4번째 픽셀(예를 들어, 좌에서부터 계수하여)에서 발생하고, 정지 에지(355b)는 9번째 픽셀에서 발생한다. 제 2 사변형의 경우, 시작 에지(355a)는 9번째 픽셀에서 발생하고(예를 들어, 제 1 사변형의 정지 에지(355b)가 발생하는 경우), 정지 에지(355b)는 14번째 픽셀에서 발생한다. 제 3 사변형의 경우, 시작 에지(355a)는 4번째 픽셀에서 발생하고(예를 들어, 제 2 사변형의 정지 에지(355b)가 발생하는 경우), 정지 에지(355b)는 18번째 픽셀에서 발생한다. 이에 따라, 행(339)이 다각형들(327)과 교차하는 장소들에서 픽셀들에 대응하는 값들은 각각 시작 및 정지 열 오프셋들(353a, 353b)로서 입력된다.
히스토그램 모듈(348)은 보간 계산기(336)로부터 다각형들(327)의 에지 정보에 대응하는 시작 및 정지 열 오프셋들(353a, 353b)을 수신하도록 구성되고, 그리고 시작 및 정지 열 오프셋들(353a, 353b)이 기초하여, 각각 제각기 현재의 행(339)의 픽셀들(341) 중 하나에 대응하는 복수의 빈 오프셋들(350)을 포함하는 빈 오프셋 값들(352)의 리스트를 생성하도록 구성된다. 즉, 빈 오프셋 값들(352)의 리스트 각각의 엔트리/빈 오프셋(350)은 행(339)의 픽셀들(341)의 각각의 픽셀에 대응한다.
상세하게, 각각의 시작 열 오프셋(353a) 별로, 대응하는 현재의 빈 오프셋(350a)에 1의 값이 추가된다(즉, 4번째, 9번째 및 14번째 시작 열 오프셋들(353a)은 현재의 예에서 제 4, 제 9 및 제 14의 현재 빈 오프셋들(350a)에 대응한다). 그러나, 각각의 정지 열 오프셋(353b) 별로, 대응하는 빈 오프셋(350a) 바로 뒤에 오는 후속 빈 오프셋(350b)으로부터 1의 값이 공제된다. 즉, 대응하는 현재의 빈 오프셋(350a)을 바로 뒤따르는 후속 빈 오프셋(350b)으로부터 1의 값이 공제된다(즉, 제 10, 제 15 및 제 19 빈 오프셋들(350b)은 현재의 예에서 제 9, 제 14 및 제 18 정지 열 오프셋들(353b)에 대응한다). 이에 따라, 동일한 픽셀(341)에서의 시작 에지(355a) 및 정지 에지(355b)는 정지 에지(355b)에 대응하는 값이 빈 오프셋 값들(352)의 리스트 내에서 시작 에지(355a)에 대응하는 값을 따를 것이기 때문에, 히스토그램 모듈(348)에 의해 생성되는 빈 오프셋 값들(352)의 리스트 내에 배치되어 있는 대응하는 값들을 캔슬(cancel)하지 않을 것이다.
어큐뮬레이터 및 픽셀 충전 모듈(354)은 히스토그램 모듈(348)로부터 빈 오프셋 값들(352)의 리스트를 수신하도록 구성되고, 빈 오프셋 값들(352)의 리스트에 기초하여 현재 행(339)의 각 픽셀(341)에 대응하는 어큐뮬레이터 값(356)을 생성하도록 구성된다. 그리고 나서, 어큐뮬레이터 및 픽셀 충전 모듈(354)은 어큐뮬레이터 값들(356)에 기초하여 마스크 오버레이(335)를 생성하도록 구성되고, 마스크 오버레이(335)를 렌더링 논리 모듈(334)에 출력하도록 구성된다.
상세하게, 어큐뮬레이터 및 픽셀 충전 모듈(354)은 픽셀들(341)의 각각의 새 행(339) 별로 계수기를 0으로 초기화함으로써 어큐뮬레이터 값들(356)을 생성한다. 빈 오프셋 값들(352)의 리스트의 빈 오프셋들(350)의 각각의 값 별로, 어큐뮬레이터는 빈 오프셋(350)에서의 값을 대응하는 어큐뮬레이터 값(356)에 추가하거나 이 어큐뮬레이터 값(356)으로부터 공제하고, 이 값을 후속 어큐뮬레이터 값(356)으로 이월시킨다(예를 들어, 진행 중인 계수기로서). 이에 따라, 빈 오프셋(350)에 대응하는 어큐뮬레이터 값(356)이 1이면, 그리고 후속 빈 오프셋(350)이 0(즉, 다각형(327)의 시작 에지(355a) 또는 정지 에지(355b)에 대응하지 않는)이면, 후속 어큐뮬레이터 값(356) 또한 1의 값일 것이다(예를 들어, 1로 남아있을 것이다). 어큐뮬레이터 및 픽셀 충전 모듈(354)은 그 후에 어큐뮬레이터 값들(356)에 기초하여 마스크 오버레이(335)를 생성하는데, 여기서 마스크 오버레이(335)의 각각의 비트는 대응하는 어큐뮬레이터 값(356)을 가진다. 어큐뮬레이터 값(356)이 0보다 더 크면, 마스크 오버레이(335)의 대응하는 비트는 "1"로서, 대응하는 픽셀(341)이 다각형들(327) 중 하나 이상의 에지 또는 내부에 대응함을 표시할 수 있다. 어큐뮬레이터 값(356)이 0이면, 마스크 오버레이(335)의 대응하는 비트는 "0"이고, 결합된 디스플레이 이미지(337)의 대응하는 장소가 디스플레이된 라인(100)의 외부에 있음을 표시할 것이다.
도 5는 픽셀들의 행에 대한 터치 경로들 및 대응하는 마스크 오버레이들의 두 예들을 도시하는 도면이다.
터치 경로의 제 1 예(도 5의 좌측에 있는)는 도 4a 및 도 4b에 관하여 위에 기술되어 있다.
제 2 예(도 5의 우측에 있는)는 제 1 예의 터치 경로의 연속인 터치 경로(359)일 수 있다. 제 2 예에서, 터치 경로(359)는 자가 교차하고 있다. 터치 경로(359)가 자가 교차하고 있기 때문에, 상이한 다각형들(327)의 시작 에지들(355a)은 행(339)에서 동일한 픽셀(341)을 점유할 수 있다. 그와 같은 상황을 커버하기 위해, 종래의 디바이스의 에지 식별자는 추가적인 특수한 프로세스들을 계산함으로써, 추가 계산력을 요구해야만 할 것이다. 그러나, 상술한 실시예들은 심지어 터치 경로(359)가 상대적으로 복잡하고 자가 중첩되어 있을 때라도 더 적은 계산력으로 본 상황을 커버할 수 있는데, 왜냐하면 상술한 실시예들은 터치 경로를 표현하는 이미지의 전체를 분석하는 것과는 반대로, 다각형들의 세트를 분석하기 때문이다. 이에 따라, 본 발명의 실시예들은 이미지 복잡성과는 무관하게 일관된 프로세싱을 제공할 수 있다.
제 2 예에서, 행(339)의 8번째 픽셀은 2개의 시작 열 오프셋들(353a)에 대응한다. 이에 따라, 히스토그램 모듈(348)에 의해 생성되는 빈 오프셋 값들(352)의 리스트의 제 8 빈 오프셋(350)은 내부에 "2"의 값을 저장하게 된다(예를 들어, 2개의 다각형들(327) 모두는 8번째 픽셀에서 시작 에지(355a)를 가진다). 빈 오프셋(350)에 "2"의 값이 저장되므로, 어큐뮬레이터 및 픽셀 충전 모듈(354)은 2개의 정지 열 오프셋들(353b)에 대응하는 2개의 값들이 계수될 때까지(예를 들어, "1"의 값의 발생 없이 빈 오프셋 값들(352)의 리스트에서 2개의 "-1"의 값들이 발생할 때까지) 제 8 어큐뮬레이터 값(356) 이후의 어큐뮬레이터 값들(356)이 0보다 더 클 것이라고 결정할 것이다. 이에 따라, 어큐뮬레이터 및 픽셀 충전 모듈(354)에 의해 생성되는 마스크 오버레이(335)는 8번째 픽셀부터 제 2 정지 열 오프셋(353b)에 대응하는 픽셀(예를 들어, 16번째 픽셀)까지의 모든 픽셀이 디스플레이된 라인(100)에 대응함을 인식할 것이다.
도 6은 본 발명의 하나의 실시예에 따른 마스크 오버레이 생성 프로세스를 도시하는 흐름도이다.
도 6을 참조하면, 동작 S601에서, 터치 경로에 대응하는 보간 타임 스탬핑된(interpolated time stamped) 터치 지점들의 세트를 포함하는 터치 경로 데이터가 수신된다(예를 들어, 라인 폭 모듈(342) 또는 LUT 생성기(331)에서 터치 경로 논리 모듈(330)로부터 수신된다). 동작 S602에서, 라인 폭 세팅이 수신된다(예를 들어, 라인 폭 모듈(342) 또는 LUT 생성기(331)에서 소프트웨어 또는 AP(202)로부터 수신된다).
동작 S603에서, 보간 타임 스탬핑된 터치 지점들 중 인접한 지점들 사이의 경로들에 대응하는 하나 이상의 터치 경로 벡터들이 생성된다(예를 들어, 라인 폭 모듈(342) 또는 LUT 생성기(331)에 의해 생성되는 터치 경로 벡터들(321)). 동작 S604에서, 보간 타임 스탬핑된 터치 지점들, 터치 경로 벡터들 및 라인 폭 세팅에 대응하는 정점 어레이의 0 이상의 정점 지점들이 생성된다(예를 들어, 라인 폭 모듈(342) 또는 LUT 생성기(331)에 의해 생성되는 정점 지점들(324)). 동작 S605에서, 정점 지점들 및 라인 폭 세팅에 기초하여 소정의 폭의 라인 세그먼트의 에지들을 규정하기 위해 4개의 정점 지점들의 각각의 세트들에 대해 하나 이상의 다각형들이 생성된다(예를 들어, 라인 폭 모듈(342) 또는 LUT 생성기(331)에 의해 생성되는 다각형들(327)).
동작 S606에서, 정점 지점들에 기초하는 다각형들의 0 이상의 에지들을 교차하는 픽셀들의 각 행 별로 0 이상의 교차 지점들이 결정된다(예를 들어, 보간 계산기(336)에 의해 결정되는 픽셀들(341)의 제 11 행(339)에 대한 교차 지점들(353a, 353b) 또는 전체가 터치 경로의 외부에 있는 픽셀들(341)의 제 1 행(339)에 대한 0의 교차 지점들). 동작 S607에서, 교차 지점들에 기초하는 다각형들의 각각의 시작 에지들 및 정지 에지들이 결정된다(예를 들어, 보간 계산기(336)에 의해 결정되는 시작 에지들(355a) 및 정지 에지들(355b)). 동작 S608에서 시작 에지들 및 정지 에지들에 기초하여 픽셀들의 각 행 별로 0 이상의 시작 열 오프셋들 및 정지 열 오프셋들이 생성된다(예를 들어, 보간 계산기(336)에 의해 결정되는 시작 열 오프셋들(353a) 및 정지 열 오프셋들(353b)).
동작 S609에서 각각의 시작 열 오프셋 별로 대응하는 빈 오프셋을 하나씩 증분시킴으로써 그리고 각각의 정지 열 오프셋 별로 대응하는 후속 빈 오프셋을 하나씩 감분시킴으로써 시작 에지들 및 정지 에지들을 나타내는 픽셀들의 각각의 행 별로 현재 행에 대한 빈 오프셋 값이 생성된다(예를 들어, 히스토그램 모듈(348))에 의해 생성되는 빈 오프셋 값들(352)의 리스트).
동작 S610에서 0으로 계수를 초기화함으로써, 각각의 빈 오프셋을 반복함으로써, 그리고 빈 오프셋들에 기초하여 이전의 계수에 추가 또는 이전의 계수로부터 공제함으로써 각각의 행의 픽셀들의 각각에 대응하는 어큐뮬레이터 값이 생성된다(예를 들어, 빈 오프셋 값들(352)의 리스트의 각각의 빈 오프셋(350)을 반복함으로써 어큐뮬레이터 및 픽셀 충전 모듈(354)에 의해 생성되는 어큐뮬레이터 값들(356)). 동작 S611에서 어큐뮬레이터 값들의 각각이 0보다 더 큰지 또는 0과 동일한지가 결정된다(예를 들어, 어큐뮬레이터 및 픽셀 충전 모듈(354)에 의해 결정된다). 동작 S612에서 대응하는 픽셀이 에지 또는 다각형의 내부에 대응함을 표시하기 위해 0보다 더 큰 각각의 애큐뮬레이터 값 별로 마스크 오버레이에 1 비트 인에이블 신호의 "1"을 생성함으로써, 그리고 0과 동일한 각각의 애큐뮬레이터 값 별로 마스크 오버레이에 1 비트 인에이블 신호의 "0"을 생성함으로써 마스크 오버레이가 생성된다(예를 들어, 어큐뮬레이터 및 픽셀 충전 모듈(354)에 의해 생성되는 마스크 오버레이(335)).
이에 따라, 본 발명의 상술한 실시예들은 터치 사건 및 이 터치 사건에 대한 디스플레이 응답 사이의 레이턴시를 줄이는 단순하지만 효율적인 해법을 제공할 수 있다.
본 명세서가 현재 본 발명의 실제적인 예시 실시예들인 것으로 간주되는 것과 관련하여 기술되었을지라도, 본 발명은 이 개시된 실시예들로 제한되지 않고, 오히려, 첨부된 청구항들 및 청구항들의 등가물의 사상 및 범위 내에 포함되는 다양한 적절한 수정들 및 등가의 배열들을 포괄하도록 의도된 것임이 이해되어야 한다.

Claims (20)

  1. 터치 패널 상의 터치 경로에 대응하여 디스플레이 패널에 대한 마스크 오버레이(mask overlay)를 생성하기 위한 방법으로서,
    상기 터치 경로에 대응하는 터치 지점들을 포함하는 터치 경로 데이터를 수신하는 단계;
    상기 터치 지점들에 대응하는 정점 어레이(vertex array)의 정점 지점들을 생성하는 단계;
    상기 터치 경로의 에지(edge)들을 규정하기 위하여 상기 정점 지점들의 각각의 세트에 대한 다각형을 생성하는 단계;
    픽셀들의 행에 대해 상기 다각형의 시작 에지들 및 정지 에지들을 결정하는 단계;
    상기 시작 에지들의 각 에지 별로 대응하는 빈 오프셋(bin offset)을 하나씩 증분시킴으로써, 그리고 상기 정지 에지들의 각 에지 별로 대응하는 후속 빈 오프셋을 하나씩 감분시킴으로써 상기 시작 에지들 및 상기 정지 에지들을 표시하기 위하여 상기 픽셀들의 행에 대응하고 빈 오프셋들을 포함하는 빈 오프셋 값들의 리스트를 생성하는 단계;
    각 행의 픽셀들의 각 픽셀에 대응하여 어큐뮬레이터 값(accumulator value)을 생성하는 단계;
    상기 어큐뮬레이터 값들의 각 값이 0보다 더 크거나 0과 동일한지를 결정하는 단계; 및
    상기 어큐뮬레이터 값들의 각 값이 0보다 더 큰지에 의해 결정되는 값들을 가지는 비트들을 포함하는 상기 마스크 오버레이를 생성하는 단계를 포함하는
    방법.
  2. 제1항에 있어서,
    라인 폭 세팅을 수신하는 단계를 더 포함하고,
    상기 정점 지점들은 상기 라인 폭 세팅에 더 대응하는
    방법.
  3. 제1항에 있어서,
    상기 터치 경로 데이터는 상기 터치 경로에 대응하는 압력 데이터를 더 포함하고,
    상기 정점 지점들은 상기 압력 데이터에 더 대응하는
    방법.
  4. 제1항에 있어서,
    상기 터치 지점들 중 인접하는 지점들 사이의 경로에 대응하는 터치 경로 벡터를 생성하는 단계를 더 포함하고,
    상기 정점 지점들은 상기 터치 경로 벡터에 더 대응하는
    방법.
  5. 제1항에 있어서,
    상기 어큐뮬레이터 값을 생성하는 단계는,
    계수를 초기화하는 단계;
    각각의 빈 오프셋을 순서대로 반복하는 단계;
    상기 빈 오프셋들에 기초하여 상기 계수에 추가하거나 상기 계수로부터 공제하는 단계; 및
    상기 계수를 상기 반복되는 빈 오프셋에 대응하여 상기 어큐뮬레이터 값으로 입력하는 단계를 포함하는
    방법.
  6. 제1항에 있어서,
    상기 마스크 오버레이를 생성하는 단계는,
    상기 픽셀들 중 대응하는 픽셀들이 상기 다각형의 에지 또는 내부에 대응함을 표시하기 위해 0보다 더 큰 상기 어큐뮬레이터 값들의 각 값 별로 상기 마스크 오버레이에 1 비트 인에이블 신호(enable signal)의 "1"을 생성하는 단계; 및
    0과 동일한 상기 어큐뮬레이터 값들의 각 값 별로 상기 마스크 오버레이에 상기 1 비트 인에이블 신호의 "0"을 생성하는 단계를 포함하는
    방법.
  7. 제1항에 있어서,
    디스플레이 패널 상에 상기 생성된 마스크 오버레이에 대응하여 디스플레이된 터치 경로를 디스플레이하는 단계를 더 포함하는 방법.
  8. 제1항에 있어서,
    상기 픽셀들의 행에서의 픽셀들의 수, 상기 빈 오프셋 값들의 리스트에서의 빈 오프셋들의 수 및 상기 마스크 오버레이에서의 비트들의 수는 동일한 방법.
  9. 터치 패널 상의 터치 경로에 대응하여 디스플레이 패널에 대한 마스크 오버레이를 생성하는 시스템으로서,
    상기 시스템은 정점 지점들을 포함하는 정점 어레이를 수신하도록 구성되고, 그리고 상기 정점 어레이에 기초하여 상기 마스크 오버레이를 생성하도록 구성되는 제어 논리 모듈을 포함하고,
    상기 제어 논리 모듈은,
    상기 정점 지점들에 기초하여 상기 터치 경로의 에지들을 규정하는 하나 이상의 다각형들을 결정하도록 구성되고, 그리고 픽셀들의 행에서 상기 하나 이상의 다각형들의 시작 에지들 및 정지 에지들에 각각 대응하는 시작 열 오프셋들 및 정지 열 오프셋들을 생성하도록 구성되는 보간 계산기;
    상기 시작 및 정지 열 오프셋들을 수신하도록 구성되고, 그리고 상기 시작 및 정지 열 오프셋들에 기초하여 빈 오프셋 값들의 리스트를 생성하도록 구성되는 히스토그램 모듈; 및
    상기 빈 오프셋 값들의 리스트를 수신하도록 구성되고, 상기 빈 오프셋 값들의 리스트에 기초하여 상기 픽셀들의 상기 행의 각각의 픽셀 별로 어큐뮬레이터 값을 생성하도록 구성되고, 그리고 상기 어큐뮬레이터 값들에 기초하여 마스크 오버레이를 생성하도록 구성되는 어큐뮬레이터 및 픽셀 충전 모듈을 포함하는
    시스템.
  10. 제9항에 있어서,
    상기 터치 경로에 대응하는 보간 터치 지점들을 수신하도록 구성되고, 그리고 상기 보간 터치 지점들에 기초하여 상기 정점 어레이를 생성하도록 구성되는 룩업 테이블(lookup table; LUT) 생성기를 더 포함하는
    시스템.
  11. 제10항에 있어서,
    상기 LUT 생성기로부터 상기 정점 어레이를 수신하고 저장하도록 구성되고, 그리고 상기 제어 논리 모듈에 상기 정점 어레이를 출력하도록 구성되는 LUT 저장 모듈을 더 포함하는
    시스템.
  12. 제10항에 있어서,
    상기 LUT 생성기는 라인 폭 모듈을 포함하는
    시스템.
  13. 제10항에 있어서,
    상기 LUT 생성기는 라인 폭 세팅을 수신하고, 그리고 상기 라인 폭 세팅에 기초하여 상기 정점 어레이를 생성하도록 더 구성되는
    시스템.
  14. 제13항에 있어서,
    상기 LUT 생성기는 상기 터치 경로에 대응하여 하나 이상의 벡터들을 결정하고, 그리고 상기 하나 이상의 벡터들에 기초하고 상기 라인 폭 세팅에 기초하여 상기 정점 어레이를 생성하도록 더 구성되는
    시스템.
  15. 제9항에 있어서,
    상기 빈 오프셋 값들의 리스트는 복수의 빈 오프셋들을 포함하고, 상기 복수의 빈 오프셋들의 각각은 각각의 열 오프셋에 대응하는 값을 포함하는
    시스템.
  16. 제9항에 있어서,
    상기 빈 오프셋 값들의 리스트는 상기 행에 있는 픽셀들의 수와 동일한 수의 빈들을 포함하는
    시스템.
  17. 제16항에 있어서,
    상기 빈들의 각각은 상기 픽셀들 중 에지 교차점에 있는 픽셀에 대응하는 값을 저장하기 위하여 n-비트 메모리를 포함하는
    시스템.
  18. 터치 패널 상의 터치 경로에 대응하여 디스플레이 패널에 대한 마스크 오버레이를 생성하는 방법으로서,
    상기 터치 경로의 에지들을 규정하는 정점 어레이에 대응하는 다각형들을 생성하는 단계;
    픽셀들의 행에 대해 상기 다각형들의 시작 에지들 및 정지 에지들을 결정하는 단계;
    상기 시작 에지들 및 상기 정지 에지들에 대응하는 값들을 포함하는 빈 오프셋들을 생성하는 단계;
    상기 빈 오프셋들에 기초하여 상기 픽셀들의 각각에 대응하는 어큐뮬레이터 값을 생성하는 단계; 및
    상기 어큐뮬레이터 값들의 각각의 값이 0보다 더 큰지에 의해 결정되는 값들을 가지는 비트들을 포함하는 상기 마스크 오버레이를 생성하는 단계를 포함하는
    방법.
  19. 제18항에 있어서,
    상기 정점 어레이는 상기 터치 경로의 터치 지점들에 대응하는 정점 지점들을 포함하는
    방법.
  20. 제19항에 있어서,
    상기 정점 지점들은 상기 터치 패널에 대한 압력에 더 대응하는
    방법.
KR1020160052470A 2015-04-28 2016-04-28 터치 경로에 대응하는 디스플레이 패널에 대한 마스크 오버레이를 생성하기 위한 방법 및 시스템 KR102304891B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201562154015P 2015-04-28 2015-04-28
US62/154,015 2015-04-28
US14/994,104 2016-01-12
US14/994,104 US9804709B2 (en) 2015-04-28 2016-01-12 Vector fill segment method and apparatus to reduce display latency of touch events

Publications (2)

Publication Number Publication Date
KR20160128926A KR20160128926A (ko) 2016-11-08
KR102304891B1 true KR102304891B1 (ko) 2021-09-24

Family

ID=55952972

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160052470A KR102304891B1 (ko) 2015-04-28 2016-04-28 터치 경로에 대응하는 디스플레이 패널에 대한 마스크 오버레이를 생성하기 위한 방법 및 시스템

Country Status (4)

Country Link
US (1) US9804709B2 (ko)
EP (1) EP3089004B1 (ko)
KR (1) KR102304891B1 (ko)
CN (1) CN106095155B (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10521937B2 (en) 2017-02-28 2019-12-31 Corel Corporation Vector graphics based live sketching methods and systems
TWI635441B (zh) * 2017-06-29 2018-09-11 宏碁股份有限公司 行動裝置及其觸控畫面更新方法
KR102469722B1 (ko) * 2018-09-21 2022-11-22 삼성전자주식회사 디스플레이 장치 및 그 제어 방법
CN111583147B (zh) * 2020-05-06 2023-06-06 北京字节跳动网络技术有限公司 图像处理方法、装置、设备及计算机可读存储介质
KR20210137710A (ko) 2020-05-11 2021-11-18 삼성전자주식회사 빠른 터치 반응성을 가지는 터치 및 디스플레이 제어 장치, 이를 포함하는 디스플레이 장치 및 이의 구동 방법
CN114385025B (zh) * 2020-10-22 2024-05-07 青岛海信商用显示股份有限公司 触摸定位方法、装置、设备和存储介质
CN116069187B (zh) * 2023-01-28 2023-09-01 荣耀终端有限公司 一种显示方法及电子设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090060334A1 (en) 2007-08-06 2009-03-05 Apple Inc. Image foreground extraction using a presentation application
US20150091849A1 (en) 2013-10-02 2015-04-02 Synaptics Incorporated Multi-sensor touch integrated display driver configuration for capacitive sensing devices

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5694535A (en) 1995-03-24 1997-12-02 Novell, Inc. Direct interactive, constant-time curve apparatus and method
US6121960A (en) * 1996-08-28 2000-09-19 Via, Inc. Touch screen systems and methods
US6313838B1 (en) 1998-02-17 2001-11-06 Sun Microsystems, Inc. Estimating graphics system performance for polygons
US20050212806A1 (en) * 2002-05-10 2005-09-29 Metod Koselj Graphics engine converting individual commands to spatial image information, and electrical device and memory incorporating the graphics engine
US7652677B2 (en) * 2006-08-03 2010-01-26 Qualcomm Incorporated Graphics system employing pixel mask
JP4400667B2 (ja) 2007-10-04 2010-01-20 セイコーエプソン株式会社 描画装置、画像出力装置及びプログラム
CN101911123B (zh) 2008-01-15 2012-09-26 三菱电机株式会社 图形描绘装置以及图形描绘方法
EP2090971B1 (en) * 2008-02-13 2012-06-27 Research In Motion Limited Three-dimensional touch-sensitive display device
CN101764941B (zh) * 2008-11-04 2013-02-20 新奥特(北京)视频技术有限公司 一种像素空间掩码矩阵的像素类型的确定方法
US8564555B2 (en) * 2009-04-30 2013-10-22 Synaptics Incorporated Operating a touch screen control system according to a plurality of rule sets
KR101126167B1 (ko) * 2010-06-07 2012-03-22 삼성전자주식회사 터치 스크린 및 디스플레이 방법
US8847961B2 (en) * 2010-06-14 2014-09-30 Microsoft Corporation Geometry, speed, pressure, and anti-aliasing for ink rendering
US8725443B2 (en) 2011-01-24 2014-05-13 Microsoft Corporation Latency measurement
JP5706001B2 (ja) * 2011-01-31 2015-04-22 北京壹人壹本信息科技有限公司Beijing Ereneben Information Technology Co., Ltd. 手書き原筆跡の実現方法、実現装置及び電子装置
TW201329821A (zh) 2011-09-27 2013-07-16 Flatfrog Lab Ab 用於觸控決定的影像重建技術
US9250794B2 (en) 2012-01-23 2016-02-02 Victor Manuel SUAREZ ROVERE Method and apparatus for time-varying tomographic touch imaging and interactive system using same
US20130265239A1 (en) * 2012-04-05 2013-10-10 Research In Motion Limited Electronic device and method of controlling display of information on a touch-sensitive display
AU2012202651A1 (en) * 2012-05-04 2013-11-21 Canon Kabushiki Kaisha A method for stroking paths
JP2014203351A (ja) * 2013-04-08 2014-10-27 船井電機株式会社 描画装置、描画方法、及び描画プログラム
US9383840B2 (en) * 2013-04-22 2016-07-05 Samsung Display Co., Ltd. Method and apparatus to reduce display lag using image overlay
US9483176B2 (en) * 2013-07-08 2016-11-01 Samsung Display Co., Ltd. Method and apparatus to reduce display lag of soft keyboard presses
US9529525B2 (en) 2013-08-30 2016-12-27 Nvidia Corporation Methods and apparatus for reducing perceived pen-to-ink latency on touchpad devices
US9710098B2 (en) 2014-03-31 2017-07-18 Samsung Display Co., Ltd. Method and apparatus to reduce latency of touch events

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090060334A1 (en) 2007-08-06 2009-03-05 Apple Inc. Image foreground extraction using a presentation application
US20150091849A1 (en) 2013-10-02 2015-04-02 Synaptics Incorporated Multi-sensor touch integrated display driver configuration for capacitive sensing devices

Also Published As

Publication number Publication date
CN106095155B (zh) 2021-02-05
EP3089004B1 (en) 2018-03-21
US20160320912A1 (en) 2016-11-03
KR20160128926A (ko) 2016-11-08
CN106095155A (zh) 2016-11-09
EP3089004A1 (en) 2016-11-02
US9804709B2 (en) 2017-10-31

Similar Documents

Publication Publication Date Title
KR102304891B1 (ko) 터치 경로에 대응하는 디스플레이 패널에 대한 마스크 오버레이를 생성하기 위한 방법 및 시스템
TWI611354B (zh) 使用圖像重疊減少顯示延遲的系統及方法,以及用於提供回應顯示裝置上所畫路徑之回饋的加速器
US9710098B2 (en) Method and apparatus to reduce latency of touch events
KR102240294B1 (ko) 터치 입력을 이용하여 디스플레이 오버레이 파라미터를 생성하는 시스템 및 그 방법
US10110832B2 (en) Method and apparatus to reduce display lag using scaling
US9697803B2 (en) Method and apparatus to reduce display latency of touch events using image replications
US8952981B2 (en) Subpixel compositing on transparent backgrounds
CN105022580A (zh) 图像显示系统
US9811301B2 (en) Terminal and apparatus and method for reducing display lag
KR102161745B1 (ko) 터치 입력에 시각적 피드백을 제공하는 가속기, 터치 입력에 시각적 피드백을 제공하는 터치 입력 프로세싱 디바이스 및 방법
KR102166684B1 (ko) 터치처리장치 및 이를 구비하는 디스플레이 기기
WO2016163020A1 (ja) フレーム補間装置、フレーム補間方法及びフレーム補間プログラム
CN117854382A (zh) 防窥显示装置、方法、车辆及相关设备
CN114596396A (zh) 呈现扩展现实环境中的三维对象的方法和设备

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant