KR102199357B1 - 터치 이벤트들의 레이턴시를 감소시키는 방법 및 그 시스템 - Google Patents

터치 이벤트들의 레이턴시를 감소시키는 방법 및 그 시스템 Download PDF

Info

Publication number
KR102199357B1
KR102199357B1 KR1020150045514A KR20150045514A KR102199357B1 KR 102199357 B1 KR102199357 B1 KR 102199357B1 KR 1020150045514 A KR1020150045514 A KR 1020150045514A KR 20150045514 A KR20150045514 A KR 20150045514A KR 102199357 B1 KR102199357 B1 KR 102199357B1
Authority
KR
South Korea
Prior art keywords
row
points
mask
touch
entry
Prior art date
Application number
KR1020150045514A
Other languages
English (en)
Other versions
KR20150114433A (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 KR20150114433A publication Critical patent/KR20150114433A/ko
Application granted granted Critical
Publication of KR102199357B1 publication Critical patent/KR102199357B1/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/0416Control or interface arrangements specially adapted for digitisers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment
    • H04N5/262Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
    • H04N5/265Mixing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/18Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast

Abstract

시스템은: 복수의 터치 이벤트들을 수신하고 터치 이벤트들에 기초하여 출력을 생성하기 위한 터치 경로 모듈; 및 비디오 이미지를 수신하고; 터치 경로 모듈의 출력을 수신하고; 형상의 경계를 정의하는 복수의 포인트들을 결정하고 ―형상은 터치 경로 모듈의 출력에 기초하여 결정됨―; 결합된 디스플레이 이미지를 생성하기 위해 복수의 포인트들에 따라 비디오 이미지를 오버레이 데이터와 결합하고; 결합된 디스플레이 이미지를 출력하기 위한 렌더링 모듈을 포함한다.

Description

터치 이벤트들의 레이턴시를 감소시키는 방법 및 그 시스템{METHOD AND SYSTEM TO REDUCE LATENCY OF TOUCH EVENTS}
관련 출원(들)에 대한 상호참조
본 출원은, 2014년 3월 31일에 미국 특허 상표청에 출원되고 발명의 명칭이 "MEMORY-EFFICIENT METHOD AND APPARATUS TO REDUCE DISPLAY LATENCY OF TOUCH EVENTS"인 미국 가특허출원 제 61/973,149호에 대해 우선권 및 이익을 주장하며, 상기 가특허출원의 전체 개시는 참조로 본원에 통합된다.
기술분야
본 발명의 실시예들은 터치 입력 디바이스들을 갖는 디스플레이 디바이스들에 관련되고, 더 구체적으로는, 터치 입력 디바이스와 디스플레이 디바이스 사이에서 디스플레이 랙(lag)을 감소시키기 위한 시스템들 및 방법들에 관한 것이다.
오버레이된 터치 센서 패널들에 통합 또는 연결된 디스플레이 패널들은 (모바일 폰들, 태블릿 컴퓨터들, 랩탑 컴퓨터들 또는 데스크탑 컴퓨터들과 같은) 터치-가능 컴퓨팅 디바이스들에 대한 상호작용 시스템을 제공한다. 이러한 컴퓨팅 디바이스들에서, 그래픽들은 디스플레이 패널 상에 디스플레이되고, 사용자는, 스크린을 (예를 들어, 능동 스타일러스, 수동 스타일러스, 또는 손가락과 같은 신체 일부를 이용하여) 터치함으로써 이러한 디바이스들과 상호작용할 수 있고, 그에 따라 직관적 사용자 인터페이스를 제공한다.
터치 센서 패널들에 의해 검출된 터치 이벤트들은 통상적으로, 디바이스의 애플리케이션 프로세서(AP) 상에서 구동되는 고레벨 애플리케이션 소프트웨어에 의해 프로세싱된다. 터치 센서 패널과 AP 사이의 많은 프로세싱 동작들 및 AP 상에서의 비결정적 프로세싱 시간(AP에 의해 수행되고 있는 다른 연산 작업들로 인한 지연들을 포함함)은, 사용자의 터치 입력들에 대한 컴퓨팅 디바이스의 응답성을 감소시키는 높은 레벨들의 레이턴시(예를 들어, 70 내지 100 밀리초)를 도입시킨다.
본 발명의 실시예들이 해결하고자 하는 과제는 터치 이벤트와 이러한 터치 이벤트에 대한 디스플레이 응답 사이의 레이턴시를 감소시키는 것이다.
본 발명의 일 실시예에 따르면, 시스템은: 복수의 터치 이벤트들을 수신하고 터치 이벤트들에 기초하여 출력을 생성하기 위한 터치 경로 모듈; 및 비디오 이미지를 수신하고; 터치 경로 모듈의 출력을 수신하고; 형상의 경계를 정의하는 복수의 포인트들을 결정하고 ―형상은 터치 경로 모듈의 출력에 기초하여 결정됨―; 결합된 디스플레이 이미지를 생성하기 위해 복수의 포인트들에 따라 비디오 이미지를 오버레이 데이터와 결합하고; 결합된 디스플레이 이미지를 출력하기 위한 렌더링 모듈을 포함한다.
결합된 디스플레이 이미지는 복수의 행들을 포함할 수 있고, 포인트들 각각은 행 좌표를 포함하고, 렌더링 모듈은 추가로, 포인트들을 좌측 엣지 포인트들 및 우측 엣지 포인트들 중 하나 이상으로 분류하고; 좌측 엣지 포인트들을 행 좌표로 정렬시키고; 우측 엣지 포인트들을 행 좌표로 정렬시키고, 렌더링 모듈은 추가로, 결합된 디스플레이 이미지의 복수의 행들의 현재의 행에 대해, 좌측 엣지 포인트들 중 제 1 좌측 엣지 포인트 및 좌측 엣지 포인트들 중 제 2 좌측 엣지 포인트에 의해 정의되는 좌측 엣지와 현재의 행 사이의 좌측 교차점에 기초하여 시작 엔트리를 결정하고; 우측 엣지 포인트들 중 제 1 우측 엣지 포인트 및 우측 엣지 포인트들 중 제 2 우측 엣지 포인트에 의해 정의되는 라인과 현재의 행 사이의 우측 교차점에 기초하여 정지 엔트리를 결정하고; 시작 엔트리 및 정지 엔트리에 기초하여 현재의 행에 대한 복수의 엔트리들을 포함하는 행 마스크를 생성하고; 그리고 행 마스크에 따라 현재의 행에 대한 오버레이 데이터와 비디오 이미지를 결합한다.
현재의 행은 복수의 엔트리들을 포함할 수 있고, 행 마스크의 엔트리들 각각은 제 1 마스크 값 또는 제 2 마스크 값을 갖고, 렌더링 모듈은 추가로, 현재의 행의 각각의 엔트리에 대해, 행 마스크의 대응하는 엔트리가 제 1 값을 갖는 경우 오버레이 데이터를 출력하고; 그리고 행 마스크의 대응하는 엔트리가 제 2 값을 갖는 경우 비디오 이미지를 출력할 수 있다.
시작 엔트리와 정지 엔트리 사이에서 행 마스크의 엔트리들 각각은 제 1 마스크 값을 가질 수 있다.
시스템은 좌측 엣지 포인트들 및 우측 엣지 포인트들을 룩업 테이블에 저장하기 위한 메모리를 더 포함할 수 있다.
렌더링 모듈은 추가로, 라인 폭 파라미터에 기초하여 형상의 경계를 정의하는 복수의 포인트들을 결정할 수 있다.
터치 이벤트들은 터치 압력 정보를 포함할 수 있고, 렌더링 모듈은 추가로, 터치 압력 정보에 기초하여 형상의 경계를 정의하는 복수의 포인트들을 결정하도록 구성될 수 있다.
본 발명의 일 실시예에 따르면, 오버레이 데이터를 비디오 이미지와 결합하기 위한 방법은, 비디오 이미지를 수신하는 단계; 터치 경로 모듈로부터 터치 경로를 수신하는 단계; 형상의 경계를 정의하는 복수의 포인트들을 결정하는 단계 ―형상은 터치 경로에 기초하여 결정됨―; 결합된 디스플레이 이미지를 생성하기 위해 비디오 이미지를 오버레이 데이터와 결합하는 단계; 및 결합된 디스플레이 이미지를 출력하는 단계를 포함한다.
결합된 디스플레이 이미지는, 복수의 행들을 포함할 수 있고, 포인트들 각각은 행 좌표를 포함하고, 방법은, 포인트들을 좌측 엣지 포인트들 및 우측 엣지 포인트들 중 하나 이상으로 분류하는 단계; 좌측 엣지 포인트들을 행 좌표로 정렬시키는 단계; 우측 엣지 포인트들을 행 좌표로 정렬시키는 단계; 좌측 엣지 포인트들 중 제 1 좌측 엣지 포인트 및 좌측 엣지 포인트들 중 제 2 좌측 엣지 포인트에 의해 정의되는 좌측 엣지와 현재의 행 사이의 좌측 교차점에 기초하여 행들의 현재의 행에 대한 시작 엔트리를 결정하는 단계; 우측 엣지 포인트들 중 제 1 우측 엣지 포인트 및 우측 엣지 포인트들 중 제 2 우측 엣지 포인트에 의해 정의되는 우측 엣지와 현재의 행 사이의 우측 교차점에 기초하여 현재의 행에 대한 정지 엔트리를 결정하는 단계; 시작 엔트리 및 정지 엔트리에 기초하여 현재의 행에 대한 복수의 엔트리들을 포함하는 행 마스크를 생성하는 단계; 및 행 마스크에 따라 현재의 행에 대한 오버레이 데이터와 비디오 이미지를 결합하는 단계를 더 포함할 수 있다.
현재의 행은 복수의 엔트리들을 포함할 수 있고, 행 마스크의 엔트리들 각각은 제 1 마스크 값 또는 제 2 마스크 값을 갖고, 비디오 이미지를 오버레이 데이터와 결합하는 단계는, 행 마스크의 대응하는 엔트리가 제 1 값을 갖는 경우 오버레이 데이터를 출력하는 단계; 및 행 마스크의 대응하는 엔트리가 제 2 값을 갖는 경우 비디오 이미지를 출력하는 단계를 포함할 수 있다.
시작 엔트리와 정지 엔트리 사이에서 행 마스크의 엔트리들 각각은 제 1 마스크 값을 가질 수 있다.
상기 방법은, 좌측 엣지 포인트들 및 우측 엣지 포인트들을 룩업 테이블에 저장하는 단계를 더 포함할 수 있다.
상기 방법은, 라인 폭 파라미터에 기초하여 형상의 경계를 정의하는 복수의 포인트들을 결정하는 단계를 더 포함할 수 있다.
터치 경로는 터치 압력 정보를 포함할 수 있고, 방법은, 터치 압력 정보에 기초하여 형상의 경계를 정의하는 복수의 포인트들을 결정하는 단계를 더 포함할 수 있다.
본 발명의 일 실시예에 따르면, 시스템은, 터치 패널; 디스플레이 패널; 애플리케이션 프로세서; 터치 패널로부터 복수의 터치 이벤트들을 수신하고 터치 이벤트들에 기초하여 출력을 생성하기 위한 터치 경로 모듈; 및 애플리케이션 프로세서로부터 비디오 이미지를 수신하고; 터치 경로 모듈의 출력을 수신하고; 형상의 경계를 정의하는 복수의 포인트들을 결정하고 ― 형상은 터치 경로 모듈의 출력에 기초하여 결정됨―; 결합된 디스플레이 이미지를 생성하기 위해 복수의 포인트들에 따라 비디오 이미지를 오버레이 데이터와 결합하고; 그리고 결합된 디스플레이 이미지를 디스플레이 패널에 출력하기 위한 렌더링 모듈을 포함한다.
결합된 디스플레이 이미지는, 복수의 행들을 포함할 수 있고, 포인트들 각각은 행 좌표를 포함하고, 렌더링 모듈은 추가로, 포인트들을 좌측 엣지 포인트들 및 우측 엣지 포인트들 중 하나 이상으로 분류하고; 좌측 엣지 포인트들을 행 좌표로 정렬시키고; 그리고 우측 엣지 포인트들을 행 좌표로 정렬시키도록 구성될 수 있고, 렌더링 모듈은 추가로, 결합된 디스플레이 이미지의 복수의 행들의 현재의 행에 대해, 좌측 엣지 포인트들 중 제 1 좌측 엣지 포인트 및 좌측 엣지 포인트들 중 제 2 좌측 엣지 포인트에 의해 정의되는 좌측 엣지와 현재의 행 사이의 좌측 교차점에 기초하여 시작 엔트리를 결정하고; 우측 엣지 포인트들 중 제 1 우측 엣지 포인트 및 우측 엣지 포인트들 중 제 2 우측 엣지 포인트에 의해 정의되는 라인과 현재의 행 사이의 우측 교차점에 기초하여 정지 엔트리를 결정하고; 시작 엔트리 및 정지 엔트리에 기초하여 현재의 행에 대한 복수의 엔트리들을 포함하는 행 마스크를 생성하고; 그리고 행 마스크에 따라 현재의 행에 대한 오버레이 데이터와 비디오 이미지를 결합할 수 있다.
현재의 행은 복수의 엔트리들을 포함할 수 있고, 행 마스크의 엔트리들 각각은 제 1 마스크 값 또는 제 2 마스크 값을 갖고, 렌더링 모듈은 추가로, 현재의 행의 각각의 엔트리에 대해, 행 마스크의 대응하는 엔트리가 제 1 값을 갖는 경우 오버레이 데이터를 디스플레이 패널에 출력하고; 그리고 행 마스크의 대응하는 엔트리가 제 2 값을 갖는 경우 비디오 이미지를 디스플레이 패널에 출력하도록 구성될 수 있고, 시작 엔트리와 정지 엔트리 사이에서 행 마스크의 엔트리들 각각은 제 1 마스크 값을 갖는다.
상기 시스템은, 좌측 엣지 포인트들 및 우측 엣지 포인트들을 룩업 테이블에 저장하기 위한 메모리를 더 포함할 수 있다.
렌더링 모듈은 추가로, 애플리케이션 프로세서로부터 수신된 라인 폭 파라미터에 기초하여 형상의 경계를 정의하는 복수의 포인트들을 결정할 수 있다.
터치 이벤트들은 터치 압력 정보를 더 포함할 수 있고, 렌더링 모듈은 추가로, 터치 압력 정보에 기초하여 형상의 경계를 정의하는 복수의 포인트들을 결정하도록 구성할 수 있다.
본 발명의 실시예에 따르면 터치 입력 디바이스와 디스플레이 디바이스 사이에서 디스플레이 랙(lag)을 감소시킬 수 있다.
도 1a는, 종래 기술의 터치 입력 프로세싱 디바이스를 포함하는 디바이스의 응답을 예시하고, 도 1b는, 본 발명의 실시예들에 따른 터치 입력 프로세싱 디바이스를 포함하는 디바이스의 응답을 예시한다.
도 2는, 본 발명의 실시예들의 일 양상에 따른 낮은 레이턴시 피드백 경로 및 종래 기술의 피드백 경로 둘 모두의 개략적 예시이다.
도 3은, 본 발명의 일 실시예에 따른 낮은 레이턴시 오버레이 시스템을 포함하는 디바이스를 예시하는 블록도이다.
도 4는, 본 발명의 일 실시예에 따른 낮은 레이턴시 오버레이 시스템 내의 컴포넌트들을 예시하는 블록도이다.
도 5a는, 본 발명의 일 실시예에 따라, 결합된 디스플레이 이미지를 생성하기 위한 비디오 이미지 데이터, 오버레이 데이터 및 터치 경로 정보의 결합의 개략적 예시이다.
도 5b는, 본 발명의 일 실시예에 따라, 결합된 디스플레이 이미지를 생성하기 위해 오버레이 데이터를 비디오 이미지와 결합하기 위한 방법을 예시하는 흐름도이다.
도 6a는, 본 발명의 일 실시예에 따른 룩업 테이블 생성 모듈의 개략적 예시이고, 룩업 테이블 생성 모듈은 터치 입력 데이터에 기초한 마스크에 대응하여 룩업 테이블들을 생성하도록 구성된다.
도 6b는, 본 발명의 일 실시예에 따라 터치 입력 데이터에 기초하여 룩업 테이블을 생성하기 위한 방법을 예시하는 흐름도이다.
도 7a는, 본 발명의 일 실시예에 따라, 형상의 윤곽의 좌표들에 기초하여 형상의 "L" 엣지들의 세트 및 "R" 엣지들의 세트를 결정하기 위한 방법의 예시이다.
도 7b는, 본 발명의 일 실시예에 따라, 형상의 윤곽의 좌표들에 기초하여 형상의 "L" 엣지들의 세트 및 "R" 엣지들의 세트를 생성하기 위한 방법을 예시하는 흐름도이다.
도 8a는, 본 발명의 일 실시예에 따른, 형상을 표현하는 룩업 테이블들에 기초한 마스크의 행의 생성에 대한 개략도이다.
도 8b는, 본 발명의 일 실시예에 따른, 형상을 표현하는 룩업 테이블들에 기초한 마스크의 행을 생성하기 위한 방법을 예시하는 흐름도이다.
도 9는, 본 발명의 일 실시예에 따라 계산기의 츨력에 기초하여 마스크의 행을 생성하는 경우의 픽셀 충진 모듈의 동작을 예시하는 개략도이다.
다음의 상세한 설명에서, 본 발명의 오직 특정한 예시적인 실시예들이 예시의 방식으로 도시되고 설명된다. 당업자들이 인식할 바와 같이, 본 발명은 많은 상이한 형태들로 구현될 수 있고, 본 명세서에서 기술되는 실시예들로 제한되는 것으로 해석되어서는 안 된다. 유사한 참조 부호들은 명세서 전반에 걸쳐 유사한 요소들을 지정한다.
본 명세서에서 사용되는 용어는 오직 특정한 실시예들을 설명하기 위한 목적이며, 창작적 개념의 제한으로 의도되는 것은 아니다. 본 명세서에서 사용되는 바와 같이, 단수 형태들("a", "an" 및 "the")은, 문맥에서 달리 명시적으로 표시되지 않는 한 복수 형태들을 또한 포함하는 것으로 의도된다. 본 명세서에서 사용되는 경우, 용어들 "포함하다" 및/또는 "포함하는"은, 언급된 특징들, 정수들, 단계들, 동작들, 요소들, 및/또는 컴포넌트들의 존재를 특정하지만, 하나 또는 그 초과의 다른 특징들, 정수들, 단계들, 동작들, 요소들, 컴포넌트들, 및/또는 그들의 그룹들의 존재 또는 부가를 배제하지 않음이 추가로 이해될 것이다. 본 명세서에서 사용되는 바와 같이, 용어 "및/또는"은 연관된 나열된 항목들 중 하나 이상의 임의의 그리고 모든 조합들을 포함한다. "적어도 하나"와 같은 표현들은 요소들의 리스트에 선행하는 경우, 요소들의 전체 리스트를 변형하고, 리스트의 개별적인 요소들을 변형하지는 않는다. 추가로, 창작적 개념의 실시예들을 설명하는 경우 "할 수 있는"의 사용은, "창작적 개념의 하나 이상의 실시예들"을 지칭한다. 또한, 용어 "예시적인"은 예 또는 예시를 지칭하도록 의도된다. 본 명세서에서 사용되는 바와 같이, 용어들 "이용하다", "이용하는" 및 "이용된"은 용어 "활용하다", "활용하는" 및 "활용된"과 각각 동의어로 고려될 수 있다. 제 1 요소가 제 2 요소에 "연결된" 또는 "접속된" 것으로 설명되는 경우, 제 1 요소는 제 2 요소에 직접 "연결될" 또는 "접속될" 수 있거나 또는 제 1 요소와 제 2 요소 사이에 하나 이상의 다른 개입 요소들이 위치될 수 있다.
본 발명의 실시예들은, 애플리케이션 프로세서 렌더링된 이미지에 앞서 터치 위치들에 기초하여 이미지를 디스플레이함으로써 사용자가 더 신속한 터치 응답을 인지하도록 허용한다.
터치 인터페이스들을 위해 설계된 소프트웨어는 종종, (예를 들어, 스위핑(swiping) 또는 제스쳐-기반의 스크린 상의 키보드 상에서 손가락의 추적에 대해, 드로잉 또는 스케치북 애플리케이션에서 경로의 추적에 대해, 그리고 게임에서 드로잉된 경로에 대해) 시각적 피드백을 제공하기 위해, 의사(pseudo) "실세계" 물체들 및/또는 스크린 상의 경로들의 드로잉의 직접적인 물리적 조작의 은유(metaphor)를 활용한다.
모바일 폰들의 공통된 문제는 사용자 인터페이스(UI)의 랙(또는 랙 시간 또는 레이턴시)이다. 현재의 모바일 폰들은 통상적으로 터치 동작에 대한 응답으로 디스플레이를 업데이트하기 위해 50 내지 200 밀리초를 소요한다. 예를 들어, 종래 기술의 스마트 폰에 대해 측정된 터치 이벤트에 대한 통상적인 디스플레이 응답 시간은 60 FPS(frames per second)의 리프레시 레이트에 기초하여, 100 밀리초 초과 또는 대략적으로 비디오 이미지들의 6 프레임 초과일 수 있고, 이것은 사용자들 대부분에게 인식가능하다.
도 1a는, 종래 기술의 터치 입력 프로세싱 디바이스를 포함하는 디바이스의 응답을 예시하며, 여기서, 디스플레이된 라인(100)은 손가락의 위치와 디스플레이된 라인(100)의 마지막으로 드로잉된(drawn) 부분 사이의 갭(102)을 갖는다. 갭(102)은 사용자의 터치와 디스플레이된 라인 사이에 인식가능한 디스플레이 랙을 유발한다. 능동이든 또는 수동이든 스타일러스를 이용하는 경우에도 유사한 디스플레이 랙이 또한 통상적으로 직면된다.
본 발명의 실시예들은, AP 렌더링된 이미지에 앞서 터치 경로에 이미지를 오버레이함으로써 사용자가 더 신속한 터치 응답을 인지하도록 허용한다. 스크린 상에서 (손가락을 이용하든, 스타일러스를 이용하든 또는 다른 기구를 이용하든) 사용자의 터치 포인트와 라인의 드로잉 사이의 갭을 폐쇄함으로써, 인지된 디스플레이 랙은 감소될 수 있다. 본 명세서에서 사용되는 바와 같이, 용어 "오버레이"는 동사로 사용되는 경우, 추가적인 이미지 데이터가 원래 비디오 이미지들의 몇몇 부분을 대체(또는 "오버레이")하도록 비디오 이미지들(예를 들어, AP 렌더링된 이미지) 및 추가적인 이미지 데이터를 결합하는 것을 지칭한다. 용어 "오버레이"는 명사로 사용되는 경우, 결합된 디스플레이 이미지에서 그 추가적인 이미지 데이터의 등장을 또한 지칭할 수 있다.
또한, 오버레이 방법을 이용함으로써, 애플리케이션 소프트웨어는 또한 구역(예를 들어, 디스플레이 상의 위치), 색, 및 터치 이벤트에 대한 디스플레이된 응답의 렌더링 동작을 제어할 수 있다.
도 1b는, 본 발명의 실시예들에 따른 터치 입력 프로세싱 디바이스를 포함하는 디바이스의 디스플레이된 응답을 예시하고, 여기서, 디스플레이된 라인은, 본 발명의 실시예들에 따른 낮은 레이턴시 오버레이 시스템에 의해 드로잉되어 사용자에 의해 인지되는 디스플레이 랙을 감소시키는 추정되거나 컴퓨팅된 부분(104)을 포함한다.
도 2를 참조하면, 종래 기술의 시스템들에 대한 대안으로서 컴퓨팅 디바이스(250)에서, 본 발명의 실시예들은, 터치 제어기(200) 및 디스플레이 드라이버 인터페이스 제어기(DDIC)(204)를 통한 낮은 레이턴시 경로(212)를 통해 즉시 또는 더 신속하게 시각적 피드백을 제공하고, 그에 후속하여, 애플리케이션 프로세서(202)를 통한 더 긴 레이턴시 경로(210)를 통해 더 긴 레벨의 레이턴시의 시각적 이미지들을 제공하는 낮은 레이턴시 오버레이 시스템("가속기" 또는 "시각적 피드백 가속기"로 지칭될 수 있음)에 관한 것이다.
도 3을 참조하면, 통상적으로 터치 스크린 시스템 및 디스플레이 시스템은 독립적으로 동작한다. 터치 제어기(200)는 터치 센서 패널(300)로부터의 터치 신호들(302)을 프로세싱하고, 좌표들과 같은 터치 이벤트들(304)을 애플리케이션 프로세서(AP)(202)에 출력한다.
도 3을 참조하면, 터치 센서 패널(300)은, 사용자의 터치들을 검출하고, 그에 따라, 데이터 버스를 통해 터치 제어기(200)에 공급되는 터치 신호들(302)을 생성한다. 본 발명의 실시예들은, 신체 일부(예를 들어, 손가락), 스타일러스 등과 같은 임의의 타입(또는 종류)의 포인팅 기구를 이용하여 사용자의 터치를 검출하는 터치 센서 패널들(300)과 함께 이용될 수 있다. 본 명세서에서 사용되는 바와 같이, 용어 "포인팅 구현"은, (능동 스타일러스 또는 수동 스타일러스와 같은) 디바이스들 및 (손가락 또는 손과 같은) 신체 일부들을 포함하는 터치 센서 패널(300)에 의해 검출될 수 있는 물체들을 지칭한다. 본 발명의 실시예들은, 저항성 터치 패널들, 표면 탄성파 터치 패널들, 용량성 터치 패널들, 적외선 터치 패널들 또는 광학 터치 패널들과 같은 임의의 다양한 타입들(또는 종류들)의 터치 입력 패널들과 함께 이용될 수 있다. 일 실시예에서, 터치 신호들(302)은, 터치 센서 패널의 각각의 위치에 대한 커패시턴스 또는 전압 또는 전류의 측정들과 같은, 터치 센서 패널(300)에 의해 공급되는 미처리 데이터에 대응한다. 다른 실시예에서, 터치 신호들(302)은 프로세싱된 미처리 데이터에 기초한 터치의 컴퓨팅된 위치들에 대응한다. 터치 이벤트들(304)에 대한 데이터 버스는 AP(202) 및 낮은 레이턴시 오버레이 시스템(310) 둘 모두에 접속된다. 터치 이벤트들(304)은, 사용자에 의한 터치들이 검출된 위치들에 대응하는 데이터 값들의 스트림(예를 들어, 터치 이벤트의 검출을 구성하는 충분히 높은 값의 커패시턴스 또는 전압 또는 전류의 변화들)일 수 있다. 몇몇 실시예들에서, 터치 이벤트들(304)은, 터치 센서 패널에 적용된 압력을 나타내는 압력 데이터를 포함한다.
AP(202)는, 터치 이벤트들(304)을 프로세싱하고, AP(202)로부터 구동되는 애플리케이션 소프트웨어는 그에 따라, 디스플레이 패널(322) 상에 디스플레이하기 위해 비디오 이미지들(316)(또는 프레임들 또는 비디오 이미지 데이터들)을 DDIC(204)에 렌더링함으로써 디스플레이 조성을 업데이트한다. AP(202)는, 중앙 처리 장치(CPU), 그래픽 처리 장치(GPU) 및 메모리를 포함할 수 있다. 디스플레이 패널(322)은, 예를 들어, 유기 발광 다이오드(OLED) 디스플레이 패널 또는 액정 디스플레이(LCD) 패널일 수 있다.
AP(202)는 DDIC(204)에 접속되고, 그 다음, DDIC(204)는 디스플레이 패널(322)에 접속된다. DDIC(204)는 AP(202)로부터 비디오 이미지들(316)을 수신하고, 픽셀 구동 신호들(320)을 디스플레이 패널(322)에 공급한다.
일 실시예에서, 터치 센서 패널(300), 터치 제어기(200), DDIC(204) 및 디스플레이 패널(322)은 모두 디스플레이 모듈의 컴포넌트들이고, AP(202)와 별개일 수 있다. 다른 실시예에서, 터치 센서 패널(300), 터치 제어기(200), DDIC(204) 및 디스플레이 패널(322) 또는 이들의 조합들은 별개의 모듈들에 상주할 수 있거나 AP(202)와 결합될 수 있다.
DDIC(204)는 AP(202)로부터 수신된 비디오 이미지들(또는 비디오 이미지들의 프레임들)(316)을 프로세싱하고, 픽셀 구동 신호들(320)을 디스플레이 패널(322)에 출력한다.
파라미터(312) 및 오버레이 데이터(314)의 기능들은 아래에서 더 상세히 설명될 것이다.
본 발명의 실시예들에 따르면, 낮은 레이턴시 오버레이 시스템(310)은, 디스플레이 패널(322)이 터치 이벤트에 대한 시각적 응답들을 종래 기술의 구현들에서보다 더 신속하게 나타내도록, 터치 이벤트들(304)을 비디오 이미지들(316)과 프로세싱한다. 몇몇 종래 기술의 디바이스들에서의 대략(또는 약) 6 프레임들 또는 그 초과의 디스플레이 랙과는 반대로, 본 발명의 실시예들은 랙을 1 내지 2 프레임들로 감소시킬 수 있다.
더 상세하게, 도 4는, 본 발명의 일 실시예에 따른 낮은 레이턴시 오버레이 시스템(310) 내의 컴포넌트들을 예시하는 블록도이다. 도 4를 참조하면, 본 발명의 실시예들은 6개의 부분들, 즉, 터치 경로 모듈(또는 로직)(400), 룩업 테이블 생성기(401), 룩업 테이블(402), 제어 모듈(또는 로직)(403), 렌더링 모듈(또는 로직)(404) 및 오버레이 버퍼(406)를 포함한다. 오버레이 시스템(310)은, DDIC(204)의 컴포넌트로서 포함될 수 있거나, 오버레이 시스템(310)의 부분들은 DDIC(204) 또는 AP(202)에 포함될 수 있고, 다른 부분들은 터치 제어기(200)에 포함될 수 있다.
도 4에 도시된 바와 같이, 일 실시예에서, 터치 경로 모듈(400)은 터치 제어기(200)에 접속되고, 터치 제어기(200)로부터 터치 이벤트들(304)을 수신한다. 터치 경로 모듈(400)은 또한 구성 파라미터들(312)을 수신하기 위해 AP(202)에 접속될 수 있다. 터치 경로 모듈(400)은 또한 룩업 테이블 생성기(401)에 접속되고, 룩업 테이블 생성기(401)는 룩업 테이블(또는 "LUT")(402)에 저장되는 값들(또는 "좌표 어레이들")을 생성한다. 제어 모듈은, 행 단위로 마스크를 생성하기 위해 LUT(402)에 저장된 좌표 어레이들을 이용하고, 마스크 데이터(500)를 (예를 들어, "1" 및/또는 "0" 값들의 비트 스트림으로서) 렌더링 모듈(404)에 공급한다.
일 실시예에 따르면, 오버레이 버퍼(406)는, AP(202)에 접속되고 AP(202)로부터 수신된 오버레이 데이터(314)를 저장하는, DDIC(204) 내의 메모리 디바이스이다. 오버레이 버퍼(406)는 저장된 오버레이 데이터(314)를 렌더링 모듈(404)에 공급하도록 구성된다. 그러나, 본 발명의 실시예들은 이에 제한되지 않는다. 예를 들어, 일 실시예에서, 오버레이 데이터(314)는 AP(202)로부터의 입력들 없이 오버레이 시스템(310)에 대해 내부적으로 생성될 수 있다. 또 다른 실시예에서, 오버레이 데이터(314)는 오버레이 시스템(310)에 대해 내부적으로 생성된 데이터 및 AP(202)로부터의 입력들에 대응하는 데이터의 결합일 수 있다.
일 실시예에 따르면, 렌더링 모듈(404)은 AP(202) 및 오버레이 버퍼(406)에 연결되고, 제어 모듈(403)에 의해 출력되는 마스크에 따라 오버레이 데이터(314)를 비디오 이미지들(316)과 결합하도록 구성된다. 렌더링 모듈(404)의 출력은, 오버레이 데이터(314) 및 비디오 이미지들(316)의 결합된 디스플레이 이미지들을 픽셀 구동 신호들(320)로서 디스플레이 패널(322)에 공급하기 위해 디스플레이 패널(322)에 접속된다.
그러나, 본 발명의 실시예들은 이에 제한되지 않는다.
예를 들어, 일 실시예에서, 터치 경로 모듈(400), 룩업 테이블 생성기(401), LUT(402), 제어 모듈(403), 렌더링 모듈(404) 및 오버레이 버퍼(406)는 각각 상이한 주문형 집적 회로들(ASIC들)을 이용하여 구현된다. 본 발명의 다른 실시예들에서, 다양한 컴포넌트들의 다양한 결합들(컴포넌트들 전부를 포함함)이 단일 ASIC에 의해 구현된다(예를 들어, 터치 경로 모듈(400), LUT 생성기(401), LUT(402) 및 제어 모듈(403) 전부가 동일한 ASIC를 이용하여 구현될 수 있다). 본 발명의 또 다른 실시예들에서, 터치 경로 모듈(400), 룩업 테이블 생성기(401), LUT(402), 제어 모듈(403), 렌더링 모듈(404) 및 오버레이 버퍼(406) 각각의 기능들을 수행하도록 필드 프로그래밍가능 게이트 어레이(FPGA)가 프로그래밍된다. 또 다른 실시예들에서, 터치 경로 모듈(400), 룩업 테이블 생성기(401), LUT(402), 제어 모듈(403), 렌더링 모듈(404) 및 오버레이 버퍼(406) 중 하나 이상의 기능은 AP(202)의 컴포넌트들로서 구현된다.
게다가, 터치 경로 모듈(400), 룩업 테이블 생성기(401), LUT(402), 제어 모듈(403), 렌더링 모듈(404) 및 오버레이 버퍼(406)는 DDIC(204)의 컴포넌트들인 것으로 도 4에 도시되었지만, 본 발명의 실시예들은 이에 제한되지 않는다. 몇몇 실시예들에서, 터치 경로 모듈(400), 룩업 테이블 생성기(401), LUT(402), 제어 모듈(403), 렌더링 모듈(404) 및 오버레이 버퍼(406)(또는 이러한 기능들을 수행할 수 있는 컴포넌트들) 중 하나 이상은, 예를 들어, 터치 제어기(200), AP(202) 내에 위치되거나 또는 별개의 컴포넌트로서 위치된다. 또한, 컴포넌트들 또는 컴포넌트들이 수행하는 기능들은 디바이스의 다른 부분들에 위치될 수 있다. 예를 들어, 터치 경로 모듈(400)은 터치 제어기(200)의 컴포넌트 또는 기능으로서 구현될 수 있고, 오버레이 버퍼(406) 및 렌더링 모듈(404) 둘 모두는 AP(202)의 컴포넌트(또는 컴포넌트들) 또는 기능(또는 기능들)으로서 구현될 수 있다.
또한, 터치 제어기(200)는 물리적으로 별개인 컴포넌트로서 예시되지만, 본 발명의 몇몇 실시예들에서 터치 제어기(200)는 더 큰 집적 회로의 일부이다. 예를 들어, 터치 제어기는 AP(202) 및/또는 DDIC(204)와 함께 동일한 집적 회로에 구현될 수 있다.
도 5a는, 본 발명의 일 실시예에 따라, 결합된 디스플레이 이미지를 생성하기 위한 비디오 이미지 데이터(316), 오버레이 데이터(314) 및 터치 이벤트들(304)의 결합에 대한 개략적 예시이다. 도 5a를 참조하면, 터치 경로 모듈(400)은 터치 제어기로부터의 터치 이벤트들(304)을 프로세싱하고, 다수의 이전의 연속적인 프레임들(예를 들어, 지난 X 프레임들)에 걸쳐, 예를 들어, 연속적인 터치 이벤트들의 세트와 같은 수신된 터치 이벤트들의 서브세트의 위치들 사이에서 내삽 및/또는 외삽함으로써 추정된 터치 경로를 생성한다. 그 다음, LUT(402)에 저장된 좌표 어레이들의 세트를 생성하기 위해, 추정된 터치 경로(또는 "내삽된 터치 포인트들")가 LUT 생성기(401)에 의해 분석된다. 제어 모듈(403)은 행 단위로 마스크 데이터(500)를 생성하기 위해 LUT(402)에 저장된 좌표 어레이들을 이용하고, 마스크 데이터(500)를 렌더링 모듈(404)에 공급한다. 렌더링 모듈(404)은, 오버레이 데이터(314)와 비디오 이미지들(316) 사이에서 선택(또는 혼합)함으로써 결합된 디스플레이 이미지(510)를 생성하기 위해, 제어 모듈(403)에 의해 출력된 마스크 데이터에 따라 AP(202)로부터의 비디오 이미지(316)와 오버레이 버퍼(406)에 저장된 오버레이 데이터(314)를 결합한다.
일 실시예에 따르면, 제어 모듈(403)은 행 단위로 마스크 데이터(500)를 출력하고, 여기서, 주어진 행에 대한 마스크 데이터는 수치적 값들의 어레이이고, 어레이에서의 위치는 디스플레이 패널(322)의 행에서의 픽셀의 위치에 대응하고, 어레이에서의 값들의 상대적 위치들은 디스플레이 패널(322)의 행에서의 픽셀들의 상대적 위치들에 대응한다 (예를 들어, 마스크 데이터는 결합된 디스플레이 이미지(510)의 행에서의 픽셀 위치들의 1차원 맵에 대응하는 1차원 어레이인 것으로 고려될 수 있다). 일 실시예에 따르면, 마스크 데이터(500)의 값들 각각은 단일 비트로서 표현되고, 마스크 데이터 어레이에서의 값들의 위치들은 결합된 디스플레이 이미지의 행에서의 위치들에 대응한다. 결합된 디스플레이 이미지의 주어진 행에서 오버레이 데이터가 도시되는 위치들은 제 1 값(예를 들어, "1")으로 설정된 값들을 갖고, 오버레이 데이터가 도시되지 않는(예를 들어, 비디오 이미지 데이터(316)가 도시되는) 위치들은 제 2의 상이한 값(예를 들어, "0")으로 설정된 값들을 갖는다. 제어 모듈(403)은, 주어진 행에 대한 마스크 데이터가 렌더링 모듈(404)에 공급되는 동안 렌더링 모듈(404)이 비디오 데이터(316)의 대응하는 행을 프로세싱하도록, AP(202)로부터의 비디오 데이터(316)의 공급과 동기식으로 마스크 데이터를 방출할 수 있다. 비디오 데이터(316)와 제어 모듈(403)의 동기화는, 비디오 데이터(316)의 수평 동기(HSYNC) 및 수직 동기(VSYNC) 신호들을 오버레이 시스템(310)에 공급함으로써 달성될 수 있다.
본 발명의 다른 실시예들에 따르면, 마스크 데이터(500)의 수치적 값들 각각은 다수의 비트들(예를 들어, 8 비트)로 표현되고, 여기서, 마스크 데이터의 수치적 값은 디스플레이의 각각의 위치에서 오버레이 데이터의 "투명도"를 지칭한다. 본 명세서에서 사용되는 바와 같이, 용어 "투명도"는, 결합된 디스플레이 이미지(510)가 오버레이 데이터(314) 및 비디오 이미지(316) 둘 모두의 특징들을 취하도록 오버레이 데이터(314) 및 비디오 이미지(316)의 혼합(예를 들어, 병합)을 나타낸다.
일 실시예에서, 각각의 비디오 프레임에 대해, 터치 경로 모듈(400)은 고정된 수의 비디오 프레임들에 대응하는 터치 이벤트들의 서브세트에 기초하여 추정된 터치 경로를 생성한다.
다른 실시예에서, 비디오 프레임들의 수는 AP(202)로부터의 디스플레이 랙과 관련하여 구성가능하다.
다른 실시예에서, 터치 경로 모듈(400)은 가변적 수의 비디오 프레임들에 대한 터치 경로를 생성한다. 비디오 프레임들의 수는 AP(202)로부터의 지난 비디오 이미지들(316)에 기초하여 외부 모듈로부터 결정될 수 있다.
파라미터들(312)의 세트는, 추정된 터치 경로가 생성된 경우, 그 경로의 특징들을 지배한다. 파라미터들은 시동 디폴트를 가질 수 있지만, 소프트웨어 또는 다른 메커니즘들에 의해 실행 시간 동안 필요에 따라 조정될 수 있다. 이러한 파라미터들은, 생성된 경로의 폭; 단순한 직선 세그먼트들 또는 곡선들과 같은 생성된 라인 세그먼트들의 스타일; 경로가 허용되는 디스플레이의 구역(예를 들어, 능동 드로잉 영역); 및 렌더링 동작의 스타일(예를 들어, 안티엘리어싱 동작들, 평활화 동작들 및 투명도)를 포함하지만 이에 제한되는 것은 아니다.
예를 들어, 본 발명의 실시예들이 드로잉을 위한 소프트웨어 애플리케이션(예를 들어, 디지털 스케치북)의 상황에서 이용되는 경우, 결합된 디스플레이 이미지(510)의 일부인 오버레이 이미지 세그먼트(508)(또한 컴퓨팅된 부분(104)으로 지칭될 수 있음)는 오직 능동 드로잉 영역에 대응하는 디스플레이의 부분들에만 적용된다. 오버레이 시스템(310)은 일반적으로 능동 드로잉 영역 외부의 디스플레이 부분들 위에는 오버레이 데이터를 적용하지 않는다. 따라서, 파라미터들(312)은 추정된 터치 경로를, 능동 드로잉 영역에 대응하는 디스플레이의 부분으로 제한하도록 설정될 수 있다. 다른 예에서, 파라미터들(312)은 드로잉된 라인의 라인 폭을 포함할 수 있다. 터치 경로 모듈(400)은, AP(202)로부터의 AP-생성된 라인(또는 이미지 세그먼트)(506)에 앞서 마스크 데이터(500)의 라인의 형상을 렌더링하기 위해 터치 이벤트들(304)로부터의 압력 데이터와 함께 이 파라미터를 이용할 것이다 (이미지 세그먼트(506)는 또한 디스플레이된 라인(100)으로 지칭될 수 있다).
본 발명의 몇몇 실시예들에서, 터치 경로 모듈(400)은 LUT 생성기에 라인 폭 및 압력 정보를 공급한다. 터치 경로 모듈(400)보다는 LUT 생성기(401)가 드로잉된 라인의 형상을 렌더링한다.
비디오 이미지(316)의 각각의 픽셀이 렌더링 모듈(404)에 의해 프로세싱됨에 따라, 렌더링 모듈(404)은 마스크 데이터(500)의 값을 조회하고 ―마스크 데이터에서의 값의 위치(예를 들어, 매트릭스에서의 위치)는 비디오 이미지(316)에서 픽셀의 위치에 대응함―, 원하는 시각적 효과들(예를 들어, 투명도 및/또는 안티엘리어싱)을 달성하기 위해, 오버레이 데이터(314)로 비디오 이미지(316)의 픽셀의 대체, 또는 마스크 데이터(500)의 값에 따라 오버레이 데이터(314) 및 비디오 이미지(316)의 픽셀의 혼합을 수행하고, 오버레이 데이터(314) 또는 비디오 이미지(316)의 픽셀 중 어느 하나, 또는 이들의 혼합을 픽셀 구동 신호(320)를 통해 디스플레이 패널(322)에 출력한다.
예를 들어, 본 발명의 대체 실시예에서, 렌더링 모듈(404)의 렌더링 동작은 마스크 데이터(500)의 값들에 정의되는 단일 비트를 이용하여 특정될 수 있다. 렌더링 동작은, 결합된 디스플레이 이미지(510)에서의 픽셀의 위치에 대응하는 마스크 데이터(500)에서의 위치의 값에 기초하여 각각의 픽셀에 대한 오버레이 데이터(314) 또는 비디오 이미지(316) 중 어느 하나로 렌더링 모듈의 출력을 선택한다.
본 발명의 일 실시예에서, 마스크 데이터(500)의 (또는 그 크기의) 값들의 수는 비디오 이미지들(316)의 하나의 행에서의 픽셀들의 수와 동일하고, 그 다음, 이 수는 결합된 디스플레이 이미지(510)의 하나의 행에서의 픽셀들의 수와 동일하다. 따라서, 마스크 데이터(500)의 각각의 값과 비디오 이미지(316)의 행에서의 각각의 픽셀 사이에 일대일 관계가 존재한다. 즉, 렌더링 모듈(404)의 대체 실시예는, 마스크 데이터(500)의 각각의 값을 비디오 이미지(316)의 현재의 행에서의 대응하는 픽셀에 매칭시키고, 오버레이 데이터(314) 또는 비디오 이미지(316)의 픽셀 중 어느 하나를 디스플레이 패널(322)에 출력함으로써 행 단위로 수행된다. 예를 들어, 일 실시예에서, 렌더링 모듈(404)은 마스크 데이터(500)의 각각의 값을 통해 반복된다. 마스크 데이터(500)의 특정한 위치에 "0"의 값이 존재하면, 렌더링 모듈(404)은 비디오 이미지(316)의 대응하는 픽셀을 출력한다. 한편, 마스크 데이터(500)의 특정한 위치에 "1"의 값이 존재하면, 렌더링 모듈(404)은 오버레이 데이터(314)를 출력한다. 반복적 프로세스의 결과로서, 렌더링 모듈(404)은 픽셀 구동 신호(320)에서 표현되는 결합된 디스플레이 이미지(510)의 행을 디스플레이 패널(322)에 출력한다. 각각의 프레임 동안, 프로세스는 비디오 이미지들(316)의 각각의 행에 대해 반복적으로 동작하여, 전체 결합된 디스플레이 이미지를 생성한다.
본 발명의 다른 실시예에서, 마스크 데이터(500)에서의 값들의 수는, 비디오 이미지들(316)의 프레임의 행에서의 픽셀들의 수보다 적을 수 있다. 따라서, 마스크 데이터(500)의 각각의 값은, 마스크 데이터(500)에서의 값이 비디오 이미지(316)의 다수의 픽셀들에 대응하여, 마스크 데이터(500)의 크기를 감소시키고 룩업 테이블(402)의 메모리 요건들을 감소시키도록, 비디오 이미지들(316)의 픽셀들에 대해 일대다 관계를 가질 수 있다.
또한, 몇몇 실시예들에서, 동일한 마스크 데이터(500)가 다수의 행들에 대해 이용되어, 마스크 데이터의 값들과 비디오 이미지들의 픽셀들 사이에 일대다 관계를 또한 생성할 수 있다.
그러나, 본 발명의 실시예들은 이에 제한되지 않는다. 본 발명의 혼합 실시예에서, 렌더링 모듈(404)의 렌더링 동작은 마스크 데이터(500)의 값들에 의해 정의되는 다수의 비트들을 이용하여 특정될 수 있다. 예를 들어, 마스크 데이터(500)에서의 값들은, 렌더링 모듈(404)에 의해 렌더링되는 혼합의 레벨(예를 들어, 투명도의 레벨)을 식별할 수 있다. 다른 예에서, 다수의 렌더링 동작들이 렌더링 모듈(404)에 의해 지원되면, 마스크 데이터(500)에서의 값들의 하나 이상의 비트들은 원하는 렌더링 동작을 정의하기 위해 이용될 수 있는 한편, 다른 비트들은 이러한 렌더링 동작들의 규격들을 조정하기 위해 이용될 수 있다. 렌더링 모듈(404)은 비디오 이미지(316)에서 운반되는 정보와 오버레이 데이터(314)에서 운반되는 정보, 예를 들어, 엣지 강화, 닷지(dodge)(밝게 함), 번(burn)(어둡게 함) 등 사이에서 다양한 렌더링 동작들을 수행할 수 있다. 다른 실시예들에서, 렌더링 동작은 비디오 이미지(316) 부분들의 색 또는 광도(luminosity)를 변경하여, 투명한 컬러링(또는 더 강조하는) 효과 또는 알파(alpha) 합성 효과를 생성할 수 있다.
렌더링 모듈(404)은 2개의 입력들을 수신할 수 있고, 제 1 입력은 AP(202)로부터의 비디오 이미지들(316)을 포함하고, 제 2 입력은 오버레이 버퍼(406)로부터의 오버레이 데이터(314)를 포함한다. 오버레이 버퍼(406)는 렌더링 모듈(404)에 의해 프로세싱될 오버레이 데이터(314)를 저장한다. 오버레이 데이터(314)는 AP(202)에 의해 제공될 수 있거나 오버레이 시스템(310)에서 내부적으로 생성될 수 있고, 오버레이 데이터(314)의 특징들은 렌더링 모듈(404)의 원하는 출력에 의해 결정된다. 일 실시예에서, 오버레이 데이터(314)의 특징들(예를 들어, 외관)은, 마스크 데이터(500)에 따라 렌더링되는 경우 결합된 디스플레이 이미지(510)가 이미지 세그먼트(506)와 오버레이 이미지 세그먼트(508) 사이에 끊김없는 전이를 포함하도록, 디스플레이된 라인(100)을 따라 비디오 이미지(316)의 특징들(예를 들어, 외관)에 매칭된다. 이러한 특징들은 색을 포함할 수 있다. 예를 들어, 애플리케이션 소프트웨어가 흑색 라인을 드로잉하면, 오버레이 데이터(314)는 AP(202)에 의해 제공되거나 오버레이 시스템(310)에 의해 내부적으로 생성되어, 소프트웨어-드로잉된 라인과 동일한 흑색(예를 들어, 모든 픽셀들이 흑색인 경우의 비트매핑된 이미지)을 포함할 것이다. 렌더링 모듈(404)은, 마스크 데이터(500) 및 오버레이 데이터(314)에 의해 결정되는 바와 같은 오버레이 이미지 세그먼트(508) 및 AP(202)로부터의 이미지 세그먼트(506)(예를 들어, 소프트웨어-드로잉된 흑색 라인)을 결합함으로써 형성되는 흑색 라인을 포함하는 결합된 디스플레이 이미지(510)를 출력할 것이다. 오버레이 데이터(314)는 또한 텍스쳐링 또는 컬러링될 수 있거나 또는 비트매핑된 이미지 데이터를 포함할 수 있다. 오버레이 데이터(314)의 컨텐츠는 시간에 걸쳐 동적일 수 있고, AP(202)에 의해 업데이트될 수 있거나, DDIC(204) 내의 메커니즘에 의해 업데이트될 수 있다. 컨텐츠는 또한 크기 및 형상에서 동적일 수 있다.
본 발명의 일 실시예에서, 다수의 오버레이들을 표현하는 오버레이 데이터(314)의 다수의 상이한 세트들이 오버레이 버퍼(406)에 저장될 수 있는데, 예를 들어, 각각의 세트는 상이한 색, 상이한 이미지 또는 상이한 텍스쳐를 갖는다. 오버레이 데이터(314)의 이러한 세트들은 본 명세서에서 "페이지들"로 지칭될 수 있다. 이러한 실시예들에서, 마스크 데이터(500)에서의 값들은 또한, 렌더링 모듈(404)이 오버레이 데이터(314)의 특정한 페이지(들)를 식별하고 렌더링 동작 동안 식별된 페이지(들)만을 이용하도록 허용하기 위한 정보를 포함할 수 있다. 따라서, 몇몇 실시예들에서, 마스크 데이터(500)의 값들은, 렌더링 모듈(404)이 렌더링 동작들 동안 오버레이 데이터(314)의 상이한 페이지들 사이에서 스위칭하도록 허용하기 위한 오버레이 데이터(314)의 페이지들에 대한 인덱스들을 포함한다.
본 발명의 일 실시예에서, 오버레이 데이터(314)의 각각의 페이지의 (또는 그 크기의) 값들의 수는 비디오 이미지들(316)의 하나의 프레임에서의 픽셀들의 수와 동일하고, 그 다음, 이 수는 결합된 디스플레이 이미지(510)의 픽셀들의 수와 동일하다. 따라서, 오버레이 데이터(314)의 각각의 페이지의 각각의 값과 비디오 이미지(316)의 각각의 픽셀 사이에 일대일 관계가 존재한다.
본 발명의 다른 실시예에서, 오버레이 데이터(314)의 각각의 페이지의 (또는 그 크기의) 값들의 수는 비디오 이미지들의 프레임에서 픽셀들의 수보다 적을 수 있다. 따라서, 오버레이 데이터(314)의 각각의 페이지의 값이 비디오 이미지(316)의 다수의 픽셀들에 대응하여, 오버레이 데이터(314)의 크기를 감소시키고 오버레이 버퍼(406)의 메모리 요건들을 감소시키도록, 오버레이 데이터(314)의 각각의 페이지의 각각의 값은, 비디오 이미지들(316)의 픽셀들에 대응하는 일대다 관계를 가질 수 있다. 예를 들어, 몇몇 실시예들에서, 오버레이 데이터(314)는 RGB(적색 녹색 청색) 색 값과 같은 단일 색 값을 포함하고, 여기서, 전체 오버레이 이미지(또는 오버레이 이미지 세그먼트)(508)는 그 단일 색 값으로 드로잉된다. 다른 실시예들에서, 오버레이 데이터(314)의 상이한 페이지들은 단일 색들(예를 들어, 상이한 색들)에 대응하는 단일 값들이다. 또 다른 실시예들에서, 단일 값들은, 오버레이 데이터(314) 내의 다른 값들 또는 비트매핑된 이미지들을 포함하는 다른 페이지들과 섞일 수 있다.
도 5b는, 본 발명의 일 실시예에 따라 결합된 디스플레이 이미지를 생성하기 위해 오버레이 데이터를 비디오 이미지와 결합하기 위한 방법을 예시하는 흐름도이다. 본 발명의 일 실시예에 따라 도 5b를 참조하면, 동작(552)에서, 터치 이벤트들이 터치 제어기(200)로부터 수신된다. 예를 들어, 터치 이벤트들 사이를 내삽 또는 외삽함으로써, 터치 경로 모듈(400)에 의해 동작(554)에서 터치 경로(또는 추정된 터치 경로)가 터치 이벤트들로부터 생성된다. LUT(402)에 저장되는 좌표 어레이들을 생성하기 위해 동작(556)에서, 내삽된 터치 포인트들이 LUT 생성기(401)에 의해 프로세싱된다. 동작(558)에서, 제어 모듈(403)은, LUT(402)에 저장된 좌표 어레이들을 이용하여 각각의 행에 대해 마스크 데이터(500)를 생성하고, 여기서, 마스크 데이터는, 결합된 디스플레이 이미지의 대응하는 픽셀이 오버레이 버퍼(406)로부터의 오버레이 데이터 또는 AP(202)로부터의 비디오 이미지 데이터 중 어느 하나를 포함해야 하는지 또는 이들의 혼합된 조합을 포함해야 하는지를 나타낸다.
동작(560)에서, 오버레이 버퍼(406)로부터의 오버레이 데이터 또는 AP(202)로부터의 비디오 이미지 중 어느 하나 또는 이들의 혼합을 선택적으로 출력하기 위해, 디스플레이 패널에서 픽셀들의 현재 프로세싱되는 행의 위치들에 대응하는 마스크 데이터(500)의 값들이 렌더링 모듈(404)에 의해 이용된다.
동작(562)에서, 주어진 행에 대한 비디오 이미지와 혼합된 오버레이 데이터(314)를 디스플레이하기 위해, 디스플레이 이미지의 결합된 행이 출력되고 디스플레이 패널에 공급된다. 이 프로세스는, 결합된 데이터(또는 전체 결합된 이미지 프레임)를 생성하기 위해 이미지의 각각의 행에 적용된다.
도 6a는, 본 발명의 일 실시예에 따른 룩업 테이블 생성기(401)의 개략적 예시이다. 룩업 테이블 생성기(401)은 터치 입력 데이터에 기초하여 마스크에 대응하는 룩업 테이블들을 생성하도록 구성된다.
도 6b는, 본 발명의 일 실시예에 따라, 동작(556)에서와 같이, 터치 입력 데이터에 기초하여 룩업 테이블에 저장될 라인의 형상을 표현하는 좌표 어레이들을 생성하기 위한 방법을 예시하는 흐름도이다.
도 6a 및 도 6b를 참조하면, 동작(652)에서, 룩업 테이블 생성기(401)의 라인 폭 모듈(602)이, 예를 들어, 터치 경로 모듈(400)로부터 내삽된 포인트들(및 압력 정보)를 수신한다. 도 6a에 도시된 바와 같이, 동작 예에서, 사용자에 의해 드로잉된 라인의 내삽된 터치 포인트들은 좌표들 [(14,5), (10,9), (10,15), (12,18)]을 포함한다. 동작(654)에서, 라인 폭 모듈(602)은 또한 소프트웨어로부터 라인 폭 세팅을 (예를 들어, AP(202)로부터 수신되는 파라미터들(312) 중 하나로서) 수신한다.
동작(656)에서, 라인 폭 모듈(602)은, 사용자에 의해 드로잉된 라인의 "확장된" 버전에 대응하는 포인트들의 세트를 생성한다. 도 6a에 도시된 동작 예에서, 라인 폭 세팅은 4개의 픽셀들이고, 라인 폭 모듈(602)은, 터치 경로에 수직인 방향을 따라 터치 포인트로부터 떨어진 2개의 픽셀들(라인 폭/2)인 좌표들을 식별한다. 본 발명의 일 실시예에서, 터치 경로에 수직인 방향은, 인접한 포인트들 사이의 기울기들의 평균들의 역을 컴퓨팅함으로써 추정될 수 있다.
예를 들어, 포인트 (10,9)의 경우, 이전의 터치 포인트(14,5)로부터 (10,9)까지의 기울기는 "1"인데, 이는, (14,5)가 (10,9)에 대해 우측으로 4개의 열들 및 위로 4개의 행들에 있고 4/4=1이기 때문이다. 다음 터치 포인트 (10,15)에 대한 기울기는 "0"인데, 이는, (10,15)가 (10,9)와 동일한 행에 있기 때문이다. 따라서, 이전의 터치 포인트 및 다음 터치 포인트로부터의 기울기의 평균은 1/2이다. 따라서, 이 기울기에 수직인 라인의 기울기는 -2이다. 기울기 -2로 (10,9)를 통과하는 라인을 따르는 방향에서 2 픽셀들 떨어진 가장 가까운 픽셀들은 (12,10) 및 (8,8)에 있다.
예를 들어, 아래의 표 1에 나타낸 바와 같이, 라인의 좌표들 각각은 좌표들의 2개의 쌍들에 매핑된다.
Line Outline
(14,5) (16,7) (12,3)
(10,9) (12,10) (8,8)
(10,15) (12,14) (8,16)
(12,18) (14,17) (10,19)
본 발명의 몇몇 실시예들에서, 각각의 터치 포인트에서 라인의 폭을 바꾸기 위해 압력 정보가 또한 이용된다. 예를 들어, 결과적인 라인 폭이 높은 압력의 위치들에서 더 넓고, 낮은 압력의 위치들에서 더 좁게 설정되도록, 각각의 터치 포인트에서 프로세서로부터의 라인 폭 세팅을 스케일링하기 위해 압력 정보가 이용될 수 있다.
따라서, 동작(656)에서, 윤곽 포인트들의 세트가, 생성될 마스크의 형상의 윤곽을 제공한다. 윤곽 포인트들은 LUT 생성기(401)의 엣지 식별자 모듈(604)에 공급된다.
동작(658)에서, 엣지 식별자 모듈(604)은 윤곽 포인트들로부터 좌측 엣지 포인트들(예를 들어, 도 7a에 "L" 포인트들로서 표시된, 윤곽의 좌측 엣지를 정의하는 포인트들) 및 우측 엣지 포인트들(도 7a에서 "R" 포인트들로 표시됨)을 식별한다. 좌측 엣지 포인트들은, 좌측으로부터 우측으로 형상에 "진입하는" 경우 통과되는, 형상의 경계들에 대응하는 좌측 엣지들을 정의한다. 유사하게, 우측 엣지 포인트들은, 좌측으로부터 우측으로 형상을 "빠져나가는" 경우 통과되는, 형상의 경계들에 대응하는 우측 엣지들을 정의하며, 여기서, 원래의 터치 포인트들(도 7a에서 X들로 표시됨)은 형상의 "내부"에 있는 것으로 간주된다. 좌측 엣지 포인트들은 좌측 엣지 어레이에 저장되고, 우측 엣지 포인트들은 우측 엣지 어레이에 저장된다. 포인트들에 추가하여, 각각의 어레이는 또한, (도 7a를 참조하여 아래에서 설명되는) 할당된 인덱스를 포함한다.
동작(660)에서, 정렬 모듈(606)은, 정렬된 좌표 어레이들을 생성하기 위해 행 좌표로 좌측 엣지 포인트들을 좌측 엣지 어레이에 그리고 우측 엣지 포인트들을 우측 엣지 어레이에 정렬하고, 그 다음, 정렬된 좌표 어레이들은 LUT(402)에 저장된다.
도 7a는, 본 발명의 일 실시예에 따른 형상의 윤곽의 좌표들에 기초하여, 형상의 좌측 엣지들의 세트 및 우측 엣지들의 세트를 결정하기 위한 방법의 예시이다.
도 7a에 도시된 바와 같이, 일 실시예에서, 엣지 식별자(604)는 좌측 엣지의 일부인 좌측 엣지 포인트들을 좌측 엣지 어레이에 추가하고, 우측 엣지의 일부인 포인트들을 우측 엣지 어레이에 추가한다. 좌측 및 우측 엣지들 사이의 전이들에 대응하는 몇몇 포인트들은 좌측 및 우측 엣지 어레이들 둘 모두에 나타난다(예를 들어, 도 7a에 도시된 바와 같은 (16,7), (12,14), (8,16) 및 (14,17)). 좌측 및 우측 엣지 어레이들의 각각의 포인트에는 인덱스가 할당된다. 인덱스 값에서의 갭은, 2개의 엔트리들이 분리된 것을 나타내기 위해 발생한다. 예를 들어, (16,7)부터 (12,3)까지, (12,3)부터 (8,8)까지 및 (8,8)부터 (8,16)까지의 엣지들은 모두 "L" 엣지들이고, 따라서 좌표들 (16,7), (12,3), (8,8) 및 (8,16)은 각각 L0, L1, L2 및 L3으로 라벨링된다. 그러나, (12,14)부터 (14,17)까지의 다음 "L" 엣지들은 다른 "L" 엣지들로부터 분리된다. 따라서, 좌표 L4는 존재하지 않고, 좌표들 (12,14) 및 (14,17)은 각각 L5 및 L6으로 라벨링된다.
(8,8)부터 (8,16)까지 및 (12,10)부터 (12,14)까지의 엣지들과 같은 수평 엣지들은, 결과에 대한 어떠한 변경없이 "L" 엣지들 또는 "R" 엣지들로 라벨링될 수 있다.
도 7b는, 본 발명의 일 실시예에 따라 형상의 윤곽의 좌표들에 기초하여 형상의 좌측 엣지들의 세트 및 우측 엣지들의 세트를 생성하기 위한 방법을 예시하는 흐름도이다. 도 7b를 참조하면, 동작(751)에서, 엣지 식별자(604)는 라인 폭 모듈(602)로부터의 윤곽에 대응하고 라인에 대응하는 좌표들을 수신하도록 구성된다. 터치 좌표들은, 연속적인 터치 좌표들의 쌍들로, 대응하는 윤곽 좌표들(예를 들어, 도 7a에 도시된 바와 같이, 제 1 그룹은 포인트들 (12,3), (8,8), (16,7) 및 (12,10)를 포함하고, 제 2 그룹은 포인트들 (8,8), (8,16), (12,14) 및 (12,10)를 포함하고, 제 3 그룹은 포인트들 (8,16), (10,19), (14,17) 및 (12,14)를 포함함)을 따라 그룹화될 수 있다 (예를 들어, 제 1 그룹은 제 1 및 제 2 터치 좌표들을 포함하고, 제 2 그룹은 제 2 및 제 3 터치 좌표들을 포함하고, 제 3 그룹은 제 3 및 제 4 터치 좌표들을 포함한다). 그룹들 각각은 동작(753)에서 한번에 하나씩 선택된다. 동작(755)에서, 중심 포인트는 2개의 인접한 터치 좌표들 사이의 중앙점에 기초하여 컴퓨팅된다. 예를 들어, 도 7a에 도시된 바와 같이, 제 1 그룹("1"로 라벨링됨)의 중심 포인트는, (14,5) 및 (10,9)에 있는 제 1 그룹의 2개의 터치 포인트들 사이의 중앙점인 (12,7)에 위치된다.
동작(757)에서, 그룹의 윤곽 좌표들은, "상단", "하단", "좌측" 및 "우측" 좌표들로 분류되고, 여기서, 윤곽 좌표의 각각의 타입은 4개의 타입들의 좌표들 중 정확히 하나로 분류된다. 최소 y 값을 갖는 좌표는 "하단" 좌표로 분류되고, 최대 y 값을 갖는 좌표는 "상단"으로 식별된다. 또한, 최소 x 값을 갖는 윤곽 좌표는 "좌측"으로 분류되고, 최대 x 값을 갖는 윤곽 좌표는 "우측"으로 분류된다. 임의의 포인트들이 동일한 y-값을 가지면, 어느 것이든 "상단" 또는 "하단" 포인트로 기능하도록 선택될 수 있다. 유사하게, 임의의 포인트들이 동일한 x-값을 가지면, 어느 것이든 "좌측" 또는 "우측" 포인트로서 기능하도록 선택될 수 있다. 그 다음, 이 포인트들은 라인 세그먼트들을 형성하기 위해 이용된다. 동작(759)에서, 좌측 좌표(예를 들어, 도 7a의 제 1 그룹에 대한 (12,3))를 포함하는 세그먼트들은 "L" 엣지들로 분류되고(예를 들어, (12,3)과 (8,8) 사이의 세그먼트 및 (12,3)과 (16,7) 사이의 세그먼트), 동작(761)에서, 모든 다른 세그먼트들은 "R" 엣지들로 분류된다(예를 들어, (8,8)과 (12,10) 사이의 세그먼트 및 (16,7)과 (12,10) 사이의 세그먼트).
동작(763)에서, 식별된 세그먼트들은 엣지 어레이들에 이미 존재하는 엣지들에 대해 비교된다. 이것은 제 1 그룹에 있기 때문에, 엣지 어레이들에 어떠한 엣지들도 존재하지 않고, 따라서, 이들 모든 4개의 엣지들은 모두 동작(765)에서 엣지 어레이들에 추가된다. 동작(767)에서, 엣지 식별자(604)는, 프로세싱할 더 많은 그룹들이 존재하는지 여부를 결정한다. 예를 들어, 엣지 식별자는 제 2 및 제 3 터치 좌표들(예를 들어, 도 7a의 (10,9) 및 (10,15))에 기초하여 제 2 그룹을 식별할 수 있고, 프로세스는 제 2 그룹에 대해 반복될 수 있다. 제 2 그룹을 프로세싱하는 경우, 세그먼트들 중 하나는 포인트들 (8,8) 및 (12,10)을 연결할 것이다. 제 1 그룹을 프로세싱하는 경우 그 세그먼트는 이미 우측-엣지 어레이에 추가되었기 때문에, 그 세그먼트는 동작(763)에서 우측-엣지 어레이로부터 제거되고, 동작(765)에서 재삽입되지 않는데, 이는, 이 세그먼트가 "내부" 엣지(또는 형상에 대해 내부)이기 때문이다.
그룹들 전부가 프로세싱된 후, 좌측 및 우측 엣지 어레이들은 동작(769)에서 출력된다.
도 8a는 본 발명의 일 실시예에 따른, 형상을 표현하는 룩업 테이블들에 기초하여 마스크의 행의 생성에 대한 개략도이다. 상세하게는, 도 8a는, 마스크의 행들 전부를 생성하기 위해 이용되는 동작들의 예로서 마스크 데이터의 제 11 행의 생성을 도시한다. 도 8b는, 본 발명의 일 실시예에 따른, 동작(558)(예를 들어, 도 5b 참조)에서 형상을 표현하는 룩업 테이블들에 기초하여 마스크의 행을 생성하기 위한 방법을 예시하는 흐름도이다.
도 8a 및 도 8b를 참조하면, 제어 모듈(403)의 행 카운터 모듈(802)이 AP(202)와 같은 외부 소스로부터 HSYNC 및 VSYNC 신호들을 수신한다. 동작(851)에서, 행 카운터 모듈(802)은 HSYNC 및 VSYNC 신호들과 동기식으로 현재의 행 식별자들을 (예를 들어, 제 1 행부터 최종 행까지 카운팅하여) 생성한다. 예를 들어, 일 실시예에서, 행 카운터 모듈(802)은, 제 r HSYNC 신호를 수신하는 것에 대한 응답으로 수 r을 출력하고, 새로운 프레임의 시작을 나타내는 VSYNC 신호를 수신할 때마다 카운터를 리셋한다. 도 8a의 예에 도시된 바와 같이, 행 카운터(802)는 현재의 행으로 "11"을 출력하고 있다.
동작(853)에서, 현재의 행 r 근처의 엣지 위치들은 LUT(402)에서 엔트리들을 발견함으로써 식별되고, 여기서, 행 좌표들은 현재의 행 r의 k개의 행들 내에 있다(즉, 엔트리들은 r-k와 r+k 사이에 속한다). 도 8a의 예에서, k는 3으로 설정되어, LUT(402)는, (도 8a의 점선들로 표시된) 행들 8과 14 사이에 있는 엔트리들을 리턴하고, (16,7)을 배제하는데, 이는, 행 16이 인근의 행들의 범위 밖이기 때문이다.
좌측 및 우측 엣지 어레이들은 계산기(804)에 공급되고, 동작(855)에서, 계산기(804)는 식별된 엣지 위치들에 기초하여 하나 이상의 시작 및 정지 위치들을 계산한다. 시작 및 정지 위치들을 식별하기 위해, 계산기(804)는, 인접한 포인트들(예를 들어, (2,8,8) 및 (3,8,16)과 같은 연속적인 제 1 값들을 갖는 포인트들)을 식별함으로써 인근의 행들 사이로부터 엣지들을 식별한다. 그 다음, 계산기(804)는, 이 엣지들 각각이 현재의 행을 통과하는지 여부, 및 통과한다면, 엣지들이 현재의 행을 통과하는 열을 결정한다(예를 들어, (1,12,3)과 (2,8,8) 사이의 엣지는 열 4에서 행 11을 통과한다). 그 다음, 시작 및 정지 위치들이 수집되고, 열 번호로 정렬되고, 픽셀 충진 모듈(806)에 공급된다.
도 9는, 본 발명의 일 실시예에 따른 계산기의 출력에 기초하여 마스크의 행을 생성하는 경우 픽셀 충진 모듈(806)의 동작을 예시하는 개략도이다. 픽셀 충진 모듈(806)은 계산기로부터 시작 및 정지 위치들을 수신하고, 마스크의 길이와 동일한 길이를 갖는, 하나의 행의 마스크 데이터를 출력한다. 일 실시예에서, 동작(857)에서, 픽셀 충진 모듈(806)은, 어레이를 제 1 값(예를 들어, "0")으로 초기화하고, 그 다음, 시작 위치부터 정지 위치까지의 비트들 전부를 제 2 값(예를 들어, "1")으로 설정함으로써, 픽셀 충진 동작들을 수행한다. 다른 실시예에서, 픽셀 충진 모듈(806)은, 현재의 위치가 시작 위치와 정지 위치 사이에 있는지 여부에 따라, 어레이에서의 값들 각각을 반복적으로 제 1 값 또는 제 2 값으로 설정한다.
일 실시예에서, 다수의 시작 및 정지 위치들이 존재하고, 따라서, 픽셀 충진 모듈(806)은 각각의 행에 대한 다수의 어레이들을 계산한다. 픽셀 충진 모듈(806)은 비트 단위 or 동작을 이용하여 다수의 어레이들을 결합한다.
동작(859)에서, 픽셀 충진 모듈(806)은 렌더링 모듈(404)을 제어하기 위해 픽셀 충진된 비트 스트림을 하나의 행의 마스크 데이터로서 출력한다. 도 5a 및 도 5b에 대해 앞서 설명된 바와 같이, 마스크 데이터(500)는, 결합된 데이터를 생성하기 위해, 비디오 프레임들(316)과 오버레이 버퍼(406)의 결합을 제어하기 위해 이용된다.
따라서, 본 발명의 실시예들은 계산된 터치 경로의 오버레이에 대해 마스크 데이터를 생성하기 위한 시스템들 및 방법들에 관한 것이고, 여기서, 마스크 데이터는 룩업 테이블에 저장되고 감소된 메모리 요건들을 갖는다.
낮은 레이턴시 디스플레이 이미지들은, 터치 경로로부터 생성된 마스크 데이터(500)로부터의 정보, 오버레이 버퍼로부터의 오버레이 데이터(314) 및 AP(202)로부터의 높은 레이턴시 비디오 이미지를 결합함으로써 생성될 수 있다. 터치 경로는 시간에 걸쳐 기록된 터치 이벤트들(예를 들어, 터치 제어기로부터의 출력들)로부터 계산된다. 오버레이 데이터(314)는 AP(202)에 의해 제공되거나 오버레이 시스템에서 생성될 수 있다.
색, 차원(예를 들어, 폭), 지속성, 음영 및 타이밍을 포함하지만 이에 제한되는 것은 아닌 오버레이 특징들은 동적으로 조정될 수 있다. 이러한 조정들은 파라미터들의 세트로서 AP(202)에 의해 제공될 수 있거나, 예를 들어, AP(202)로부터의 비디오 이미지들을 분석함으로써 오버레이 시스템 내에서 유도될 수 있다. 조정들은 또한 터치 동작에 의해 결정될 수 있다. 예를 들어, 결과적 라인의 폭은, 터치 센서 패널에 적용된 압력에 따라 조정될 수 있다(예를 들어, 폭 파라미터는 터치 이벤트들의 측정된 압력에 비례한다).
디스플레이 이미지는, 터치 경로로부터 계산된 마스크 데이터(500)를 통해 오버레이 시스템에 의해 생성된다. 매핑 및 스케일링 파라미터들은 AP(202)에 의해 제공될 수 있거나, 예를 들어, AP(202)로부터의 비디오 이미지들 또는 터치 이벤트들을 분석함으로써 오버레이 시스템 내에서 계산될 수 있다.
오버레이 데이터는 렌더링 모듈에 의해 픽셀 레벨에서 AP(202)로부터의 비디오 이미지들과 병합될 수 있다. 일 실시예에서, 비디오 이미지들로부터의 픽셀 특징들은 마스크 데이터의 값들에 따라 오버레이 데이터로부터의 픽셀 특징들로 대체된다. 다른 실시예들에서, 새로운 픽셀 특징들은, 비디오 이미지들 및 오버레이 데이터로부터의 각각의 픽셀 특징들의 혼합에 기초하여 생성된다.
본 발명이 특정한 예시적인 실시예들과 관련하여 설명되었지만, 본 발명은 개시된 실시예들로 제한되는 것이 아니라, 반대로, 첨부된 청구항들의 사상 및 범주 및 이들의 균등물들 내에 포함되는 다양한 변형들 및 균등한 배열들을 커버하도록 의도됨을 이해해야 한다.

Claims (20)

  1. 복수의 터치 이벤트들을 수신하고 상기 터치 이벤트들에 기초하여 출력을 생성하기 위한 터치 경로 모듈; 및
    비디오 이미지를 수신하고;
    상기 터치 경로 모듈의 출력을 수신하고;
    형상의 경계를 정의하는 복수의 포인트들을 결정하고 ―상기 형상은 상기 터치 경로 모듈의 출력에 기초하여 결정됨―;
    상기 형상에 따라 마스크를 생성하고;
    결합된 디스플레이 이미지를 생성하기 위해 상기 복수의 포인트들에 따라 상기 비디오 이미지를 오버레이 데이터와 결합하고; 그리고
    상기 결합된 디스플레이 이미지를 출력하기 위한
    렌더링 모듈을 포함하고,
    상기 결합된 디스플레이 이미지는, 복수의 행들을 포함하고, 상기 포인트들 각각은 행 좌표를 포함하고,
    상기 렌더링 모듈은 추가로,
    상기 포인트들을 좌측 엣지 포인트들 및 우측 엣지 포인트들 중 하나 이상으로 분류하고;
    상기 좌측 엣지 포인트들을 상기 행 좌표로 정렬시키고; 그리고
    상기 우측 엣지 포인트들을 상기 행 좌표로 정렬시키고,
    상기 렌더링 모듈은 추가로, 상기 결합된 디스플레이 이미지의 복수의 행들의 현재의 행에 대해,
    상기 좌측 엣지 포인트들 중 제 1 좌측 엣지 포인트 및 상기 좌측 엣지 포인트들 중 제 2 좌측 엣지 포인트에 의해 정의되는 좌측 엣지와 상기 현재의 행 사이의 좌측 교차점에 기초하여 시작 엔트리를 결정하고;
    상기 우측 엣지 포인트들 중 제 1 우측 엣지 포인트 및 상기 우측 엣지 포인트들 중 제 2 우측 엣지 포인트에 의해 정의되는 라인과 상기 현재의 행 사이의 우측 교차점에 기초하여 정지 엔트리를 결정하고;
    상기 시작 엔트리 및 상기 정지 엔트리에 기초하여 상기 현재의 행에 대한 복수의 엔트리들을 포함하는 행 마스크를 생성하고; 그리고
    상기 행 마스크에 따라 상기 현재의 행에 대한 오버레이 데이터와 상기 비디오 이미지를 결합하는, 시스템.
  2. 삭제
  3. 제 1 항에 있어서,
    상기 현재의 행은 복수의 엔트리들을 포함하고,
    상기 행 마스크의 엔트리들 각각은 제 1 마스크 값 또는 제 2 마스크 값을 갖고,
    상기 렌더링 모듈은 추가로, 상기 현재의 행의 각각의 엔트리에 대해,
    상기 행 마스크의 대응하는 엔트리가 상기 제 1 마스크 값을 갖는 경우 상기 오버레이 데이터를 출력하고; 그리고
    상기 행 마스크의 상기 대응하는 엔트리가 상기 제 2 마스크 값을 갖는 경우 상기 비디오 이미지를 출력하는, 시스템.
  4. 제 3 항에 있어서,
    상기 시작 엔트리와 상기 정지 엔트리 사이에서 상기 행 마스크의 엔트리들 각각은 상기 제 1 마스크 값을 갖는, 시스템.
  5. 제 1 항에 있어서,
    상기 좌측 엣지 포인트들 및 상기 우측 엣지 포인트들을 룩업 테이블에 저장하기 위한 메모리를 더 포함하는, 시스템.
  6. 제 1 항에 있어서,
    상기 렌더링 모듈은 추가로, 라인 폭 파라미터에 기초하여 상기 형상의 경계를 정의하는 상기 복수의 포인트들을 결정하는, 시스템.
  7. 제 1 항에 있어서,
    상기 터치 이벤트들은 터치 압력 정보를 포함하고,
    상기 렌더링 모듈은 추가로, 상기 터치 압력 정보에 기초하여 상기 형상의 경계를 정의하는 상기 복수의 포인트들을 결정하도록 구성되는, 시스템.
  8. 오버레이 데이터를 비디오 이미지와 결합하기 위한 방법으로서,
    비디오 이미지를 수신하는 단계;
    터치 경로 모듈로부터 터치 경로를 수신하는 단계;
    형상의 경계를 정의하는 복수의 포인트들을 결정하는 단계 ―상기 형상은 상기 터치 경로에 기초하여 결정됨―;
    상기 형상에 따라 마스크를 생성하는 단계;
    결합된 디스플레이 이미지를 생성하기 위해 상기 비디오 이미지를 상기 오버레이 데이터와 결합하는 단계; 및
    상기 결합된 디스플레이 이미지를 출력하는 단계를 포함하고,
    상기 결합된 디스플레이 이미지는, 복수의 행들을 포함하고, 상기 포인트들 각각은 행 좌표를 포함하고,
    상기 방법은,
    상기 포인트들을 좌측 엣지 포인트들 및 우측 엣지 포인트들 중 하나 이상으로 분류하는 단계;
    상기 좌측 엣지 포인트들을 상기 행 좌표로 정렬시키는 단계;
    상기 우측 엣지 포인트들을 상기 행 좌표로 정렬시키는 단계;
    상기 좌측 엣지 포인트들 중 제 1 좌측 엣지 포인트 및 상기 좌측 엣지 포인트들 중 제 2 좌측 엣지 포인트에 의해 정의되는 좌측 엣지와 현재의 행 사이의 좌측 교차점에 기초하여 상기 행들의 상기 현재의 행에 대한 시작 엔트리를 결정하는 단계;
    상기 우측 엣지 포인트들 중 제 1 우측 엣지 포인트 및 상기 우측 엣지 포인트들 중 제 2 우측 엣지 포인트에 의해 정의되는 우측 엣지와 상기 현재의 행 사이의 우측 교차점에 기초하여 상기 현재의 행에 대한 정지 엔트리를 결정하는 단계;
    상기 시작 엔트리 및 상기 정지 엔트리에 기초하여 상기 현재의 행에 대한 복수의 엔트리들을 포함하는 행 마스크를 생성하는 단계; 및
    상기 행 마스크에 따라 상기 현재의 행에 대한 오버레이 데이터와 상기 비디오 이미지를 결합하는 단계를 더 포함하는, 방법.
  9. 삭제
  10. 제 8 항에 있어서,
    상기 현재의 행은 복수의 엔트리들을 포함하고,
    상기 행 마스크의 엔트리들 각각은 제 1 마스크 값 또는 제 2 마스크 값을 갖고,
    상기 비디오 이미지를 상기 오버레이 데이터와 결합하는 단계는,
    상기 행 마스크의 대응하는 엔트리가 상기 제 1 마스크 값을 갖는 경우 상기 오버레이 데이터를 출력하는 단계; 및
    상기 행 마스크의 상기 대응하는 엔트리가 상기 제 2 마스크 값을 갖는 경우 상기 비디오 이미지를 출력하는 단계를 포함하는, 방법.
  11. 제 10 항에 있어서,
    상기 시작 엔트리와 상기 정지 엔트리 사이에서 상기 행 마스크의 엔트리들 각각은 상기 제 1 마스크 값을 갖는, 방법.
  12. 제 8 항에 있어서,
    상기 좌측 엣지 포인트들 및 상기 우측 엣지 포인트들을 룩업 테이블에 저장하는 단계를 더 포함하는, 방법.
  13. 제 8 항에 있어서,
    라인 폭 파라미터에 기초하여 상기 형상의 경계를 정의하는 상기 복수의 포인트들을 결정하는 단계를 더 포함하는, 방법.
  14. 제 8 항에 있어서,
    상기 터치 경로는 터치 압력 정보를 포함하고,
    상기 방법은, 상기 터치 압력 정보에 기초하여 상기 형상의 경계를 정의하는 상기 복수의 포인트들을 결정하는 단계를 더 포함하는, 방법.
  15. 터치 패널;
    디스플레이 패널;
    애플리케이션 프로세서;
    상기 터치 패널로부터 복수의 터치 이벤트들을 수신하고 상기 터치 이벤트들에 기초하여 출력을 생성하기 위한 터치 경로 모듈; 및
    상기 애플리케이션 프로세서로부터 비디오 이미지를 수신하고;
    상기 터치 경로 모듈의 출력을 수신하고;
    형상의 경계를 정의하는 복수의 포인트들을 결정하고 ―상기 형상은 상기 터치 경로 모듈의 출력에 기초하여 결정됨―;
    상기 형상에 따라 마스크를 생성하고;
    결합된 디스플레이 이미지를 생성하기 위해 상기 복수의 포인트들에 따라 상기 비디오 이미지를 오버레이 데이터와 결합하고; 그리고
    상기 결합된 디스플레이 이미지를 상기 디스플레이 패널에 출력하기 위한 렌더링 모듈을 포함하고,
    상기 결합된 디스플레이 이미지는, 복수의 행들을 포함하고, 상기 포인트들 각각은 행 좌표를 포함하고,
    상기 렌더링 모듈은 추가로,
    상기 포인트들을 좌측 엣지 포인트들 및 우측 엣지 포인트들 중 하나 이상으로 분류하고;
    상기 좌측 엣지 포인트들을 상기 행 좌표로 정렬시키고; 그리고
    상기 우측 엣지 포인트들을 상기 행 좌표로 정렬시키고,
    상기 렌더링 모듈은 추가로, 상기 결합된 디스플레이 이미지의 복수의 행들의 현재의 행에 대해,
    상기 좌측 엣지 포인트들 중 제 1 좌측 엣지 포인트 및 상기 좌측 엣지 포인트들 중 제 2 좌측 엣지 포인트에 의해 정의되는 좌측 엣지와 상기 현재의 행 사이의 좌측 교차점에 기초하여 시작 엔트리를 결정하고;
    상기 우측 엣지 포인트들 중 제 1 우측 엣지 포인트 및 상기 우측 엣지 포인트들 중 제 2 우측 엣지 포인트에 의해 정의되는 라인과 상기 현재의 행 사이의 우측 교차점에 기초하여 정지 엔트리를 결정하고;
    상기 시작 엔트리 및 상기 정지 엔트리에 기초하여 상기 현재의 행에 대한 복수의 엔트리들을 포함하는 행 마스크를 생성하고; 그리고
    상기 행 마스크에 따라 상기 현재의 행에 대한 오버레이 데이터와 상기 비디오 이미지를 결합하는, 시스템.
  16. 삭제
  17. 제 15 항에 있어서,
    상기 현재의 행은 복수의 엔트리들을 포함하고,
    상기 행 마스크의 엔트리들 각각은 제 1 마스크 값 또는 제 2 마스크 값을 갖고,
    상기 렌더링 모듈은 추가로, 상기 현재의 행의 각각의 엔트리에 대해,
    상기 행 마스크의 대응하는 엔트리가 상기 제 1 마스크 값을 갖는 경우 상기 오버레이 데이터를 상기 디스플레이 패널에 출력하고; 그리고
    상기 행 마스크의 상기 대응하는 엔트리가 상기 제 2 마스크 값을 갖는 경우 상기 비디오 이미지를 상기 디스플레이 패널에 출력하고,
    상기 시작 엔트리와 상기 정지 엔트리 사이에서 상기 행 마스크의 엔트리들 각각은 상기 제 1 마스크 값을 갖는, 시스템.
  18. 제 15 항에 있어서,
    상기 좌측 엣지 포인트들 및 상기 우측 엣지 포인트들을 룩업 테이블에 저장하기 위한 메모리를 더 포함하는, 시스템.
  19. 제 15 항에 있어서,
    상기 렌더링 모듈은 추가로, 상기 애플리케이션 프로세서로부터 수신된 라인 폭 파라미터에 기초하여 상기 형상의 경계를 정의하는 상기 복수의 포인트들을 결정하는, 시스템.
  20. 제 15 항에 있어서,
    상기 터치 이벤트들은 터치 압력 정보를 포함하고,
    상기 렌더링 모듈은 추가로, 상기 터치 압력 정보에 기초하여 상기 형상의 경계를 정의하는 상기 복수의 포인트들을 결정하도록 구성되는, 시스템.
KR1020150045514A 2014-03-31 2015-03-31 터치 이벤트들의 레이턴시를 감소시키는 방법 및 그 시스템 KR102199357B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201461973149P 2014-03-31 2014-03-31
US61/973,149 2014-03-31
US14/663,399 2015-03-19
US14/663,399 US9710098B2 (en) 2014-03-31 2015-03-19 Method and apparatus to reduce latency of touch events

Publications (2)

Publication Number Publication Date
KR20150114433A KR20150114433A (ko) 2015-10-12
KR102199357B1 true KR102199357B1 (ko) 2021-01-07

Family

ID=52807615

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150045514A KR102199357B1 (ko) 2014-03-31 2015-03-31 터치 이벤트들의 레이턴시를 감소시키는 방법 및 그 시스템

Country Status (4)

Country Link
US (1) US9710098B2 (ko)
EP (1) EP2927794B1 (ko)
KR (1) KR102199357B1 (ko)
CN (1) CN104951129B (ko)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9483176B2 (en) * 2013-07-08 2016-11-01 Samsung Display Co., Ltd. Method and apparatus to reduce display lag of soft keyboard presses
KR102314110B1 (ko) * 2014-09-16 2021-10-18 삼성디스플레이 주식회사 시각화 가속부를 포함하는 터치 표시 장치
US9804709B2 (en) * 2015-04-28 2017-10-31 Samsung Display Co., Ltd. Vector fill segment method and apparatus to reduce display latency of touch events
US9740310B2 (en) * 2015-05-22 2017-08-22 Adobe Systems Incorporated Intuitive control of pressure-sensitive stroke attributes
EP3306452B1 (en) * 2015-05-28 2022-04-20 Mitsubishi Electric Corporation Input display device and input display method
US9767590B2 (en) * 2015-10-23 2017-09-19 Apple Inc. Techniques for transforming a multi-frame asset into a single image
JP2019505045A (ja) * 2016-02-02 2019-02-21 タクチュアル ラブズ シーオー. レイテンシを最小化するために入力検知、レンダリング、および表示の時間を測定するためのシステムおよびその方法
JP6784115B2 (ja) * 2016-09-23 2020-11-11 コニカミノルタ株式会社 超音波診断装置及びプログラム
US20190087060A1 (en) * 2017-09-19 2019-03-21 Sling Media Inc. Dynamic adjustment of media thumbnail image size based on touchscreen pressure
KR102452620B1 (ko) 2017-09-29 2022-10-07 삼성전자주식회사 터치 검출을 위한 장치 및 방법
CN110083430B (zh) * 2019-04-30 2022-03-29 成都映潮科技股份有限公司 一种系统主题色更换方法、装置及介质
KR20210137710A (ko) * 2020-05-11 2021-11-18 삼성전자주식회사 빠른 터치 반응성을 가지는 터치 및 디스플레이 제어 장치, 이를 포함하는 디스플레이 장치 및 이의 구동 방법

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6121960A (en) * 1996-08-28 2000-09-19 Via, Inc. Touch screen systems and methods
US7170502B2 (en) 2003-04-04 2007-01-30 Seiko Epson Corporation Method for implementing a partial ink layer for a pen-based computing device
US8184102B2 (en) 2008-12-17 2012-05-22 Cypress Semiconductor Corporation Finger gesture recognition for touch sensing surface
US8564555B2 (en) * 2009-04-30 2013-10-22 Synaptics Incorporated Operating a touch screen control system according to a plurality of rule sets
US8890771B2 (en) * 2010-01-06 2014-11-18 Apple Inc. Transparent electronic device
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
KR20110138095A (ko) 2010-06-18 2011-12-26 삼성전자주식회사 터치 시스템에서 좌표 보정 방법 및 장치
US9189147B2 (en) * 2010-06-22 2015-11-17 Microsoft Technology Licensing, Llc Ink lag compensation techniques
US8913056B2 (en) * 2010-08-04 2014-12-16 Apple Inc. Three dimensional user interface effects on a display by using properties of motion
TW201316240A (zh) * 2011-10-06 2013-04-16 Rich Ip Technology Inc 利用圖形用戶介面影像之觸碰處理方法及系統
KR20130050606A (ko) 2011-11-08 2013-05-16 삼성전자주식회사 터치스크린을 구비한 전자 기기에서 독서 실행 방법 및 장치
US9612739B2 (en) * 2012-02-02 2017-04-04 Microsoft Technology Licensing, Llc Low-latency touch-input device
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
US20130271487A1 (en) * 2012-04-11 2013-10-17 Research In Motion Limited Position lag reduction for computer drawing
AU2012202651A1 (en) 2012-05-04 2013-11-21 Canon Kabushiki Kaisha A method for stroking paths
US20140098072A1 (en) * 2012-10-04 2014-04-10 Research In Motion Limited Method and apparatus pertaining to predicting movement of a stylus
US9507500B2 (en) * 2012-10-05 2016-11-29 Tactual Labs Co. Hybrid systems and methods for low-latency user input processing and feedback
US9529525B2 (en) * 2013-08-30 2016-12-27 Nvidia Corporation Methods and apparatus for reducing perceived pen-to-ink latency on touchpad devices

Also Published As

Publication number Publication date
US20150277653A1 (en) 2015-10-01
CN104951129A (zh) 2015-09-30
US9710098B2 (en) 2017-07-18
KR20150114433A (ko) 2015-10-12
EP2927794B1 (en) 2017-02-01
EP2927794A1 (en) 2015-10-07
CN104951129B (zh) 2019-12-24

Similar Documents

Publication Publication Date Title
KR102199357B1 (ko) 터치 이벤트들의 레이턴시를 감소시키는 방법 및 그 시스템
US9383840B2 (en) Method and apparatus to reduce display lag using image overlay
US10127700B2 (en) Generation of display overlay parameters utilizing touch inputs
JP6545996B2 (ja) 映像表示システム
US10110832B2 (en) Method and apparatus to reduce display lag using scaling
EP3089004B1 (en) A vector fill segment method and apparatus to reduce display latency of touch events
US9811301B2 (en) Terminal and apparatus and method for reducing display lag

Legal Events

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