KR20160004217A - Accelerator for providing visual feedback to touch input, touch input processing device and method for providing visual feedback to touch input - Google Patents

Accelerator for providing visual feedback to touch input, touch input processing device and method for providing visual feedback to touch input Download PDF

Info

Publication number
KR20160004217A
KR20160004217A KR1020150094199A KR20150094199A KR20160004217A KR 20160004217 A KR20160004217 A KR 20160004217A KR 1020150094199 A KR1020150094199 A KR 1020150094199A KR 20150094199 A KR20150094199 A KR 20150094199A KR 20160004217 A KR20160004217 A KR 20160004217A
Authority
KR
South Korea
Prior art keywords
touch
video frame
overlay segment
display
touch events
Prior art date
Application number
KR1020150094199A
Other languages
Korean (ko)
Other versions
KR102161745B1 (en
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
Priority claimed from US14/749,437 external-priority patent/US9697803B2/en
Application filed by 삼성디스플레이 주식회사 filed Critical 삼성디스플레이 주식회사
Publication of KR20160004217A publication Critical patent/KR20160004217A/en
Application granted granted Critical
Publication of KR102161745B1 publication Critical patent/KR102161745B1/en

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
    • 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]
    • 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/04886Interaction 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 by partitioning the display area of the touch-screen or the surface of the digitising tablet into independently controllable areas, e.g. virtual keyboards or menus

Abstract

A method for providing visual feedback to touch input includes the following steps: receiving a plurality of touch events from a touch sensor coupled to a display; generating an overlay segment based on the touch events; receiving a video frame; coupling the video frame to the overlay segment in accordance with the touch events in order to generate a composite video frame; and supplying the composite video frame to the display.

Description

터치 입력에 시각적 피드백을 제공하는 가속기, 터치 입력에 시각적 피드백을 제공하는 터치 입력 프로세싱 디바이스 및 방법{ACCELERATOR FOR PROVIDING VISUAL FEEDBACK TO TOUCH INPUT, TOUCH INPUT PROCESSING DEVICE AND METHOD FOR PROVIDING VISUAL FEEDBACK TO TOUCH INPUT}Field of the Invention [0001] The present invention relates to an accelerator for providing visual feedback to a touch input, a touch input processing device and method for providing visual feedback to a touch input,

본 발명의 실시예들은 터치 입력 디바이스들을 구비하는 디스플레이 디바이스들에 관한 것으로, 더 구체적으로, 터치 입력 디바이스 및 디스플레이 디바이스 사이의 디스플레이 랙(display lag)을 줄이기 위한 시스템들 및 방법들에 관한 것이다.Embodiments of the present invention relate to display devices having touch input devices, and more particularly to systems and methods for reducing a display lag between a touch input device and a display device.

최근에, 터치스크린 디바이스들은 모바일 전화기들, 태블릿들, 랩탑들 등과 같은 개인용 모바일 디바이스들이 인기를 얻으면서 흔해졌다. 휴대용 디바이스들 외에, 터치스크린들은 키보드 및 마우스 시스템들로 사용자가 디스플레이의 컨텐츠와 빠르거나, 직관적이거나 또는 정확하게 상호 작용하는 것이 가능하지 않은 산업에서 그리고 자동차들 및 키오스크(kiosk)들과 같은 곳들에서 사용되고 있다.Recently, touch screen devices have become commonplace as personal mobile devices such as mobile phones, tablets, laptops, etc. have become popular. In addition to portable devices, touch screens are used in industries where keyboard and mouse systems are not possible for users to interact quickly, intuitively or accurately with the contents of the display and in places such as automobiles and kiosks have.

터치스크린 디스플레이들은 예를 들어, 스크린을 터치하는 것(또는 탭(tap)하는 것을 감지함으로써, 또는 터치스크린에 아주 근접한 사용자의 손가락들 또는 손 제스처들을 감지함으로써 사용자 입력을 인식한다. 터치스크린은 이미지가 투사되고 터치가 감지될 수 있는 임의의 면일 수 있다.The touch screen displays recognize user input, for example, by sensing (or tapping) a screen, or by detecting user's fingers or hand gestures that are very close to the touch screen. May be any surface that can be projected and the touch sensed.

터치 센서 패널들에 의해 검출되는 터치 사건(touch event)들은 전형적으로 디바이스의 애플리케이션 프로세서(application processor; AP)에서 가동 중인 고레벨 애플리케이션 소프트웨어에 의해 프로세싱된다. 터치 센서 패널 및 AP 사이의 많은 프로세싱 단계들 및 AP에서의 비결정 프로세싱 시간(디바이스의 운영 시스템 및 다른 애플리케이션들을 가동하는 것과 같이, AP에 의해 수행되는 다른 계산 업무들로 인한 지연들을 포함한다)으로 인하여 컴퓨팅 디바이스의 사용자의 터치 입력들에 대한 반응성을 감소시키는 고레벨들의 레이턴시(latency)(예를 들어, 70 내지 100 밀리초들)가 유입된다.Touch events detected by the touch sensor panels are typically processed by high level application software running on the device's application processor (AP). Due to the many processing steps between the touch sensor panel and the AP and the non-deterministic processing time at the AP (including delays due to other computational tasks performed by the AP, such as operating the device's operating system and other applications) High levels of latency (e.g., 70 to 100 milliseconds) are introduced to reduce the responsiveness of the computing device to the user ' s touch inputs.

일부 실증적 연구들은 대부분의 사람들이 터치 하고 보는 것과 같은 감각들 사이에서 심지어 30 밀리초의 비동시성을 검출할 수 있다고 지적해 왔다(예를 들어, 런던 Taylor & Francis Group의 Keetels, M 및 Vroomen, J의 Perception of Synchrony Between the Senses 및 M. M. Murray 및 M. T. Wallace (편집자)의 Frontiers in the neural basis of multisensory processes (페이지 147~177)를 참조할 것). 50 내지 200 밀리초의 지연들은 이 컴퓨팅 디바이스들의 사용자들의 대부분에게 검출될 수 있을 것이고, 이는 사용자의 입력에 피드백을 즉시 제공하도록 디바이스를 계산하지 못함으로써 사용자의 불만의 증가로 이어질 수 있다.Some empirical studies have indicated that most people can detect even as much as 30 milliseconds of asynchrony between senses such as touching and seeing (for example, Keetels, M and Vroomen, J of London Taylor & Francis Group Perception of Synchrony Between the Senses and MM Murray and MT Wallace (eds.), Frontiers in the Neural Basis of Multisensory Processes, pp. 147-177). Delays of 50 to 200 milliseconds may be detected for most of the users of these computing devices and this may lead to an increase in user dissatisfaction by not computing the device to immediately provide feedback to the user's input.

그러나, 시스템 프로세서가 또한 디바이스의 다른 프로세스들을 관리하므로(예를 들어, 디바이스의 운영 시스템 및 많은 다른 애플리케이션들을 가동하여), 가상 키보드의 외양을 갱신하는 데 필요한 응답 시간이 더 느려질 수 있고, 사용자가 키를 터치하는 시간 및 사용자에게 키 누름(key press)에 대한 시각적 피드백이 제공되는 시간 사이에는 현저한 랙이 있을 수 있다.However, since the system processor also manages other processes of the device (e.g., by running the operating system of the device and many other applications), the response time required to update the appearance of the virtual keyboard may be slower, There may be a significant rack between the time the key is touched and the time the user is provided with visual feedback on the key press.

본 발명의 목적은 상술한 문제를 해결하기 위한 것으로, 구체적으로 터치 사건들의 디스플레이 레이턴시를 줄일 수 있는, 터치 입력에 시각적 피드백을 제공하는 가속기, 터치 입력 프로세싱 디바이스 및 방법을 제공하는 것이다.It is an object of the present invention to provide an accelerator, a touch input processing device, and a method for providing visual feedback to a touch input, which can reduce the display latency of touch events in detail.

본 발명의 실시예들의 양태들은 터치 사건 및 상기 터치 사건에 대한 디스플레이 응답 사이의 레이턴시를 줄이는 것에 관한 것이다.Aspects of embodiments of the present invention relate to reducing the latency between a touch event and a display response to the touch event.

본 발명의 하나 이상의 실시예들에 따르면, 터치 입력에 시각적 피드백을 제공하는 방법이 제공되고, 상기 방법은: 디스플레이에 결합되는 터치 센서로부터 복수의 터치 사건들을 수신하는 단계; 복수의 터치 사건들에 기초하여 오버레이 세그먼트(overlay segment)를 생성하는 단계; 비디오 프레임을 수신하는 단계; 합성 비디오 프레임(composite video frame)을 생성하기 위해 터치 사건들에 따라 비디오 프레임을 오버레이 세그먼트와 결합하는 단계; 및 합성 비디오 프레임을 디스플레이에 공급하는 단계를 포함한다.According to one or more embodiments of the present invention, there is provided a method of providing visual feedback to a touch input, the method comprising: receiving a plurality of touch events from a touch sensor coupled to a display; Creating an overlay segment based on the plurality of touch events; Receiving a video frame; Combining a video frame with an overlay segment according to touch events to generate a composite video frame; And providing a composite video frame to the display.

하나의 실시예에서, 비디오 프레임은 디스플레이된 라인을 포함하고, 오버레이 세그먼트의 특성들은 디스플레이된 라인의 특성들과 정합한다.In one embodiment, the video frame includes the displayed line, and the properties of the overlay segment match those of the displayed line.

하나의 실시예에서, 오버레이 세그먼트를 생성하는 단계는: 터치 사건들의 장소(location)들에 기초하여 추정 터치 경로를 계산하는 단계; 추정 터치 경로에 대응하는 비디오 프레임들의 유효 영역을 결정하는 단계; 비디오 프레임들의 연속 프레임들에서의 차(difference)들을 결정하기 위해 유효 영역에 대응하는 비디오 프레임들의 부분들을 비교하는 단계; 차들을 메모리 버퍼(memory buffer) 내에 저장하는 단계; 및 저장되는 차들에 기초하여 오버레이 세그먼트를 생성하는 단계를 포함하고, 오버레이 세그먼트는 저장되는 차들의 특성들과 정합한다.In one embodiment, generating an overlay segment comprises: calculating an estimated touch path based on locations of touch events; Determining a valid region of video frames corresponding to the estimated touch path; Comparing portions of video frames corresponding to valid regions to determine differences in successive frames of video frames; Storing the differences in a memory buffer; And generating an overlay segment based on the cars to be stored, wherein the overlay segment matches the characteristics of the cars to be stored.

하나의 실시예에서, 저장되는 차들에 기초하여 오버레이 세그먼트를 생성하는 단계는 오버레이 세그먼트에 저장되는 차들의 픽셀들의 상대 속성(relative property)들을 유지하는 단계를 포함한다.In one embodiment, generating an overlay segment based on stored cars comprises maintaining relative properties of pixels of the cars stored in the overlay segment.

하나의 실시예에서, 상대 속성들은 추정 터치 경로를 따른 국지의 이동축들까지의 거리, 픽셀들 사이의 공간 분리들 및 픽셀들 사이의 컬러 그래디언트(color gradient)들을 포함한다.In one embodiment, the relative attributes include the distance to local motion axes along the estimated touch path, spatial separations between pixels, and color gradients between pixels.

하나의 실시예에서, 저장되는 차들에 기초하여 오버레이 세그먼트를 생성하는 단계는 애플리케이션 프로세서에 의해 유입되는 지연에 대응하여 저장되는 차들의 픽셀들을 추정 터치 경로를 따른 장소들로 시프트(shift)하는 단계를 포함한다.In one embodiment, generating an overlay segment based on stored cars comprises shifting the pixels of the cars stored corresponding to the delay introduced by the application processor to locations along the estimated touch path .

하나의 실시예에서, 추정 터치 경로는 고정된 수의 프레임들에 대응하는 터치 사건들의 하위세트(subset)에 기초하여 계산되고, 그리고 고정된 수의 프레임들은 애플리케이션 프로세서에 의해 유입되는 지연에 대응한다.In one embodiment, the estimated touch path is calculated based on a subset of touch events corresponding to a fixed number of frames, and a fixed number of frames corresponds to a delay introduced by the application processor .

하나의 실시예에서, 터치 사건들에 따라 비디오 프레임을 오버레이 세그먼트와 결합하는 단계는: 터치 사건들에 기초하여 마스크(mask)를 생성하는 단계를 포함하고, 마스크는 수치 값들의 매트릭스를 포함하고, 수치 값들의 각각은 합성 비디오 프레임을 제작하기 위한 동작을 식별하고, 매트릭스 내의 수치 값들의 위치들은 합성 비디오 프레임 내의 픽셀들의 위치들에 대응한다.In one embodiment, combining the video frame with the overlay segment in accordance with the touch events comprises: generating a mask based on the touch events, the mask comprising a matrix of numerical values, Each of the numerical values identifies an operation for producing a composite video frame, and the positions of the numerical values in the matrix correspond to the positions of the pixels in the composite video frame.

하나의 실시예에서, 상기 방법은 합성 비디오 프레임 내의 각 픽셀 별로, 마스크 내의 대응하는 위치에 있는 값에 따라 오버레이 세그먼트 또는 비디오 프레임의 대응하는 픽셀을 출력할지를 결정하는 단계를 더 포함한다.In one embodiment, the method further comprises determining, for each pixel in the composite video frame, whether to output the corresponding pixel of the overlay segment or video frame according to a value at a corresponding location in the mask.

하나의 실시예에서, 마스크의 수치 값들의 각각은 합성 비디오 프레임 내의 하나의 픽셀에 대응하거나 또는 합성 비디오 프레임 내의 하나를 초과하는 픽셀들에 대응한다.In one embodiment, each of the numerical values of the mask corresponds to one pixel in the composite video frame or one pixel in the composite video frame.

하나의 실시예에서, 터치 사건들은 포인팅 도구(pointing implement) 및 터치 센서 사이의 상호 작용의 결과로서 발생된다.In one embodiment, touch events are generated as a result of the interaction between the pointing implement and the touch sensor.

본 발명의 하나 이상의 실시예들에 따르면, 터치 입력에 시각적 피드백을 제공하는 가속기(accelerator)가 제공되고, 가속기는: 프로세서; 및 내부에 저장되는 명령들을 가지는 메모리를 포함하고, 명령들은 프로세서에 의해 실행될 때, 프로세서로 하여금: 디스플레이에 결합되는 터치 센서로부터 복수의 터치 사건들을 수신하고; 복수의 터치 사건들에 기초하여 오버레이 세그먼트를 생성하고; 비디오 프레임을 수신하고; 합성 비디오 프레임을 생성하기 위해 터치 사건들에 따라 비디오 프레임을 오버레이 세그먼트와 결합하고; 그리고 합성 비디오 프레임을 디스플레이에 공급하는 것을 수행하도록 한다.According to one or more embodiments of the present invention, there is provided an accelerator for providing visual feedback to a touch input, the accelerator comprising: a processor; And a memory having instructions stored therein, the instructions, when executed by the processor, cause the processor to: receive a plurality of touch events from a touch sensor coupled to the display; Generate an overlay segment based on the plurality of touch events; Receiving a video frame; Combine a video frame with an overlay segment according to touch events to generate a composite video frame; And to provide a composite video frame to the display.

하나의 실시예에서, 오버레이 세그먼트를 생성하는 것은: 터치 사건들의 장소들에 기초하여 추정 터치 경로를 계산하고; 추정 터치 경로에 대응하는 비디오 프레임들의 유효 영역을 결정하고; 비디오 프레임들의 연속 프레임들에서의 차들을 결정하기 위해 유효 영역에 대응하는 비디오 프레임들의 부분들을 비교하고; 차들을 메모리 버퍼 내에 저장하고; 그리고 저장되는 차들에 기초하여 오버레이 세그먼트를 생성하는 것을 포함하고, 오버레이 세그먼트는 저장되는 차들의 특성들과 정합한다.In one embodiment, creating an overlay segment comprises: calculating an estimated touch path based on locations of touch events; Determining a valid region of video frames corresponding to the estimated touch path; Compare portions of video frames corresponding to valid regions to determine differences in successive frames of video frames; Storing the differences in a memory buffer; And generating an overlay segment based on the cars to be stored, wherein the overlay segment matches properties of the cars to be stored.

하나의 실시예에서, 저장되는 차들에 기초하여 오버레이 세그먼트를 생성하는 것은 오버레이 세그먼트에 저장되는 차들의 픽셀들의 상대 속성들을 유지하는 것을 포함하고, 그리고 상대 속성들은 추정 터치 경로를 따른 국지의 이동축들까지의 거리들, 픽셀들 사이의 공간 분리들 및 픽셀들 사이의 컬러 그래디언트들을 포함한다.In one embodiment, generating the overlay segment based on the stored cars includes maintaining relative properties of the pixels of the cars stored in the overlay segment, and the relative properties include locally shifting axes along the estimated touch path , Spatial separations between pixels, and color gradients between pixels.

하나의 실시예에서, 저장된 차들에 기초하여 오버레이 세그먼트를 생성하는 것은 애플리케이션 프로세서에 의해 유입되는 지연에 대응하여 저장되는 차들의 픽셀들을 추정 터치 경로에 따른 장소들로 시프트하는 것을 포함한다.In one embodiment, generating an overlay segment based on the stored cars includes shifting the pixels of the cars stored corresponding to the delay introduced by the application processor to locations along the estimated touch path.

하나의 실시예에서, 추정 터치 경로는 고정된 수의 프레임들에 대응하는 터치 사건들의 하위세트에 기초하여 계산되고, 그리고 고정된 수의 프레임들은 애플리케이션 프로세서에 의해 유입되는 지연에 대응한다.In one embodiment, the estimated touch path is computed based on a subset of touch events corresponding to a fixed number of frames, and a fixed number of frames corresponds to a delay introduced by the application processor.

하나의 실시예에서, 터치 사건들에 따라 비디오 프레임을 오버레이 세그먼트와 결합하는 것은: 터치 사건들에 기초하여 마스크를 생성하는 것을 포함하고, 마스크는 수치 값들의 매트릭스를 포함하고, 수치 값들의 각각은 합성 비디오 프레임을 제작하기 위한 동작을 식별하고, 매트릭스 내의 수치 값들의 위치들은 합성 비디오 프레임 내의 픽셀들의 위치들에 대응한다.In one embodiment, combining a video frame with an overlay segment in accordance with touch events comprises: generating a mask based on touch events, wherein the mask comprises a matrix of numerical values, Identifies an operation for producing a composite video frame, and the positions of the numerical values in the matrix correspond to the positions of the pixels in the composite video frame.

하나의 실시예에서, 가속기는 합성 비디오 프레임 내의 각 픽셀 별로, 마스크 내의 대응하는 위치에 있는 값에 따라 오버레이 세그먼트 또는 비디오 프레임의 대응하는 픽셀을 출력할지를 결정하는 것을 더 포함한다.In one embodiment, the accelerator further comprises, for each pixel in the composite video frame, determining whether to output the corresponding pixel of the overlay segment or video frame according to the value at the corresponding position in the mask.

본 발명의 하나 이상의 실시예들에 따르면, 터치 입력에 시각적 피드백을 제공하는 터치 입력 프로세싱 디바이스가 제공되고, 터치 감응 디스플레이 디바이스는: 비디오 프레임들을 디스플레이하도록 구성되는 디스플레이; 터치 센서로서, 디스플레이에 결합되고 포인팅 도구 및 터치 센서 사이의 상호 작용의 결과로서 복수의 터치 사건들을 발생시키도록 구성되는, 터치 센서; 프로세서; 및 내부에 저장되는 명령들을 가지는 메모리를 포함하고, 명령들은 프로세서에 의해 실행될 때, 프로세서로 하여금: 터치 센서로부터 복수의 터치 사건들을 수신하고; 복수의 터치 사건들에 기초하여 오버레이 세그먼트를 생성하고; 비디오 프레임들의 비디오 프레임을 수신하고; 합성 비디오 프레임을 생성하기 위해 터치 사건들에 따라 비디오 프레임을 오버레이 세그먼트와 결합하고; 그리고 합성 비디오 프레임을 디스플레이에 공급하는 것을 수행하도록 한다.According to one or more embodiments of the present invention there is provided a touch input processing device for providing visual feedback to a touch input, the touch sensitive display device comprising: a display configured to display video frames; A touch sensor, comprising: a touch sensor coupled to a display and configured to generate a plurality of touch events as a result of interaction between a pointing tool and a touch sensor; A processor; And a memory having instructions stored therein, wherein the instructions, when executed by the processor, cause the processor to: receive a plurality of touch events from the touch sensor; Generate an overlay segment based on the plurality of touch events; Receiving a video frame of video frames; Combine a video frame with an overlay segment according to touch events to generate a composite video frame; And to provide a composite video frame to the display.

하나의 실시예에서, 실행되는 명령들은 부가적으로 프로세서로 하여금 터치 감응 디스플레이 디바이스 외부에 있는 애플리케이션 프로세서로부터 비디오 프레임들의 비디오 프레임을 수신하는 것을 수행하도록 한다.In one embodiment, the instructions to be executed further cause the processor to perform receiving a video frame of video frames from an application processor external to the touch sensitive display device.

본 발명의 실시예들에 따르면, 디스플레이 디바이스(예를 들어, 터치스크린 디바이스)의 디스플레이의 지각되는 응답 시간을 줄이기 위한 방법 및 장치가 제공되며, 기존 프로세서 및/또는 운영 시스템에 대한 변경을 요구할 필요가 없다.According to embodiments of the present invention, there is provided a method and apparatus for reducing the perceived response time of a display of a display device (e.g., a touch screen device), and is capable of requiring a change to an existing processor and / There is no.

첨부 도면들은 명세서와 함께, 본 발명의 예시 실시예들을 도시하고, 해설과 함께 본 발명의 원리들을 설명하는 역할을 한다.
도 1a는 종래의 터치 입력 프로세싱 디바이스를 포함하는 디바이스의 응답을 도시하고 도 1b는 본 발명의 일부 예시 실시예들에 따라 터치 입력 프로세싱 디바이스를 포함하는 디바이스의 응답을 도시하는 도면들.
도 2는 사용자 터치 사건을 감지하는 것에서 사용자에게 시각적 피드백을 제공하기 위해 디스플레이 스크린을 갱신하는 것까지, 종래의 피드백 경로 및 본 발명의 예시 실시예들에 따른 감소된 레이턴시 피드백 경로를 도시하는 터치 입력 프로세싱 디바이스의 개략적인 블록도.
도 3은 본 발명의 예시 실시예에 따라, 사용자에게 지각되는 디스플레이 피드백 레이턴시를 줄이기 위하여 가속기를 사용하는 터치 입력 프로세싱 디바이스의 개략적인 블록도.
도 4a 및 도 4b는 본 발명의 예시 실시예들에 따라 터치 경로를 보간(interpolate)하고 가속기에 의해 비디오 프레임 내의 유효 영역을 규정하는 프로세스를 도시하는 도면들.
도 5a 내지 도 5c는 본 발명의 예시 실시예들에 따라 3개의 연속하는 렌더링(rendering)된 비디오 프레임들 및 사용자의 터치의 터치 경로를 추적하는 유효 영역을 도시하는 도면. 도 5d는 본 발명의 예시 실시예들에 따라, 연속하는 비디오 프레임들 사이의 차들을 가속기에 의해 기록되고 저장된 바에 따라 표현하는 이미지 세그먼트(image segment)들을 도시하는 도면.
도 6은 본 발명의 예시 실시예들에 따라, 애플리케이션 프로세서에 의해 렌더링되는 비디오 프레임 및 사용자의 터치 포인트 사이의 갭(gap)을 메우기 위하여 가속기에 의해 저장되는 픽셀들을 복제하는 프로세스를 도시하는 도면.
도 7은 본 발명의 예시 실시예들에 따라 합성 비디오 프레임을 생성하기 위하여 오버레이 세그먼트(overlay segment) 및 현재의 비디오 프레임의 결합을 개략적으로 도시하는 도면.
도 8은 본 발명의 예시 실시예들에 따라 터치 입력에 시각적 피드백을 제공하기 위한 프로세스의 흐름도.
BRIEF DESCRIPTION OF THE DRAWINGS The accompanying drawings, together with the specification, illustrate exemplary embodiments of the invention and, together with the description, serve to explain the principles of the invention.
FIG. 1A illustrates the response of a device including a conventional touch input processing device, and FIG. 1B illustrates a response of a device including a touch input processing device according to some exemplary embodiments of the present invention.
FIG. 2 is a block diagram of a conventional touch screen display, including a conventional feedback path, and a touch input showing a reduced latency feedback path according to exemplary embodiments of the present invention, from sensing a user touch event to updating a display screen to provide visual feedback to a user. A schematic block diagram of a processing device.
3 is a schematic block diagram of a touch input processing device using an accelerator to reduce the display feedback latency perceived by a user, in accordance with an exemplary embodiment of the present invention.
Figures 4A and 4B illustrate a process for interpolating a touch path and defining an effective area in a video frame by an accelerator in accordance with exemplary embodiments of the present invention.
Figures 5A-5C illustrate three consecutive rendered video frames and a valid region tracking the touch path of a user's touch in accordance with exemplary embodiments of the present invention. Figure 5d illustrates image segments that represent differences between successive video frames as recorded and stored by an accelerator, in accordance with exemplary embodiments of the present invention.
6 illustrates a process for duplicating pixels stored by an accelerator to fill a gap between a video frame rendered by an application processor and a user ' s touch point, in accordance with exemplary embodiments of the present invention.
Figure 7 schematically illustrates a combination of an overlay segment and a current video frame to produce a composite video frame in accordance with exemplary embodiments of the present invention.
8 is a flow diagram of a process for providing visual feedback to a touch input in accordance with exemplary embodiments of the present invention.

다음의 상세한 설명에서는, 본 발명의 특정한 예시 실시예들만이 실례로서 도시되고 설명된다. 당업자가 인식하는 바와 같이, 본 발명은 많은 상이한 형태들로 구현될 수 있고 본원에서 진술되는 실시예들로 제한되는 것으로 해석되어서는 안 된다. 동일한 참조 번호들은 명세서 전체에 걸쳐 동일한 요소들을 지정한다.In the following detailed description, only certain exemplary embodiments of the invention are shown and described by way of illustration. As will be appreciated by those skilled in the art, the present invention may be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. The same reference numerals designate the same elements throughout the specification.

본 발명의 실시예들은 애플리케이션 프로세서에 의해 렌더링되는 이미지 전에 터치 장소들에 기초하여 이미지를 디스플레이함으로써 사용자가 더 빠른 터치 응답을 지각하는 것을 가능하게 한다.Embodiments of the present invention enable a user to perceive a faster touch response by displaying an image based on touch locations before the image rendered by the application processor.

터치 인터페이스들을 위해 설계되는 소프트웨어는 흔히 의사(pseudo) "실세계" 물체들의 직접 물리적 조작의 메타포(metaphor) 및/또는 스크린 상에서의 경로들의 드로잉(drawing)을 활용하여 시각적 피드백을 제공한다(예를 들어, 스와이핑(swiping) 또는 제스처 기반 온-스크린(on-screen) 키보드 상에서 손가락을 추적하기 위하여, 드로잉 또는 스케치북 애플리케이션에서의 경로를 추적하기 위하여, 그리고 게임에서 드로잉되는 경로를 위하여).Software designed for touch interfaces often provides visual feedback utilizing a metaphor of direct physical manipulation of pseudo "real world" objects and / or a drawing of paths on the screen (e.g., For tracking fingers on a swiping or gesture-based on-screen keyboard, for tracking paths in a drawing or sketchbook application, and for paths drawn in a game).

모바일 디바이스들에 대한 흔한 불만은 사용자 인터페이스(user interface; UI)의 랙(lag)이다. 현재의 모바일 디바이스들은 터치 행동에 응답하여 디스플레이를 갱신하는 데 50 내지 200 밀리초가 걸릴 수 있다. 예를 들어, 모바일 디바이스 상의 터치 사건에 대한 전형적인 디스플레이 응답 시간은 60의 초당 프레임(frames per second; FPS)의 리프레쉬 레이트(refresh rate)에 기초하여, 100 밀리초를 초과하거나 대략 6 이상의 비디오 이미지들의 프레임들일 수 있고, 이는 사용자들 대부분의 눈에 현저할 수 있다.A common complaint for mobile devices is the lag of the user interface (UI). Current mobile devices may take between 50 and 200 milliseconds to update the display in response to a touching behavior. For example, a typical display response time for a touch event on a mobile device may be greater than 100 milliseconds, or based on a refresh rate of 60 frames per second (FPS) Frames, which can be noticeable to most users.

도 1a는 비교 가능한 터치 입력 프로세싱 디바이스를 포함하는 디바이스의 응답을 도시하고, 도 1a에서 디스플레이된 라인(100)은 손가락의 위치 및 디스플레이된 라인(100)의 마지막 드로잉된 부분 사이에 갭(102)을 가짐으로써, 사용자의 터치 및 디스플레이된 라인 사이에 현저한 디스플레이 랙이 발생된다. 능동이든 수동이든, 스타일러스를 사용할 때에는 유사한 디스플레이 랙에 또한 직면할 수 있다.1A shows the response of a device including a comparable touch input processing device, wherein line 100 displayed in FIG. 1A includes a gap 102 between the position of the finger and the last drawn portion of the displayed line 100, , A significant display rack is generated between the user's touch and the displayed lines. Whether active or passive, you can also face a similar display rack when using the stylus.

본 발명의 실시예들은 AP에 의해 렌더링되는 이미지에 앞서 터치 경로 내에 이미지를 오버레이함으로써 사용자가 더 빠른 터치 응답을 지각하는 것을 가능하게 한다. 사용자의 터치 포인트(손가락, 스타일러스 또는 다른 도구를 사용하든) 및 스크린 상의 라인의 드로잉 사이의 갭을 좁힘으로써, 지각되는 디스플레이 랙이 감소될 수 있다. 본원에서 사용되는 바와 같이, 용어 "오버레이(overlay)"는 동사로서 사용될 때에는 추가 이미지 데이터가 원래의 비디오 프레임들의 어떤 부분을 대체(또는 "오버레이")하도록 비디오 프레임들 또는 이미지들(예를 들어, AP에 의해 렌더링되는 이미지 또는 프레임) 및 추가 이미지 데이터를 결합하는 것을 칭한다. 용어 "오버레이"가 명사로서 사용될 때는 또한 결합된 디스플레이 이미지 내에서 상기 추가 이미지 데이터가 나타나는 것을 칭할 수 있다.Embodiments of the present invention enable a user to perceive a faster touch response by overlaying the image in the touch path prior to the image rendered by the AP. By narrowing the gap between the user's touch points (whether using a finger, stylus, or other tool) and the drawing of lines on the screen, the perceived display rack can be reduced. As used herein, the term "overlay ", when used as a verb, is intended to refer to a video frame or images (e. G., An " overlay " An image or frame rendered by the AP) and additional image data. When the term "overlay" is used as a noun, it may also refer to the appearance of the additional image data within the combined display image.

게다가, 오버레이 방법을 사용함으로써, 애플리케이션 소프트웨어는 또한 영역(예를 들어, 디스플레이 상의 장소), 컬러 및 터치 사건에 대하여 디스플레이되는 응답의 렌더링 동작을 제어할 수 있다.In addition, by using the overlay method, the application software can also control the rendering operation of the displayed response to an area (e.g., a location on the display), color, and touch events.

도 1b는 본 발명의 예시 실시예에 따라 터치 입력 프로세싱 디바이스를 포함하는 디바이스의 디스플레이되는 응답을 도시하고, 도 1b에서 디스플레이된 라인은 본 발명의 예시 실시예들에 따라 저 레이턴시 가속기(300)에 의해 드로잉된 추정 또는 계산된 세그먼트(104)를 포함함으로써, 사용자에 의해 지각되는 디스플레이 랙을 감소시킨다.1B illustrates a displayed response of a device including a touch input processing device in accordance with an exemplary embodiment of the present invention, and the line displayed in FIG. 1B is displayed on a low latency accelerator 300 in accordance with exemplary embodiments of the present invention. Thereby reducing the display rack perceived by the user. ≪ RTI ID = 0.0 >

도 2는 본 발명의 예시 실시예들에 따른 터치 입력 프로세싱 디바이스(200)의 개략적인 블록도이다. 도 2는 사용자 터치 사건을 감지하는 것에서부터 사용자에게 시각적 피드백을 제공하기 위해 디스플레이 스크린을 갱신하는 것까지의, 종래의 피드백 경로(예를 들어, 터치 대 디스플레이 루프(touch-to-display loop)(TDL) 및 본 발명의 예시 실시예들에 따른 감소된 레이턴시 피드백 경로(예를 들어, 감소된 레이턴시 터치 대 디스플레이 루프(reduced-latency touch-to-display loop)(RTDL)를 더 도시한다.2 is a schematic block diagram of a touch input processing device 200 in accordance with exemplary embodiments of the present invention. Figure 2 illustrates a conventional feedback path (e. G., A touch-to-display loop (e. G., A touch-to-display loop TDL) and a reduced latency feedback path (e.g., a reduced latency touch-to-display loop (RTDL)) in accordance with exemplary embodiments of the present invention.

본 실시예에 따르면, 터치 입력 프로세싱 디바이스(예를 들어, 터치 감응 디스플레이 디바이스)(200)는 터치 센서(예를 들어, 터치 센서 패널)(202), 터치 제어기(204), 애플리케이션 프로세서(AP)(210), 디스플레이 드라이버 인터페이스 제어기(display driver interface controller; DDIC)(220) 및 디스플레이 유닛(230)을 포함한다. DDIC(220)는 링크 수신기(222), 프레임 버퍼(224) 및 디스플레이 드라이버(또한 타이밍 제어기로 칭해진다)(226)를 포함할 수 있다. 일부 실시예들에 따르면, DDIC(220)는 가속기(또한 시각적 피드백 가속기 또는 저 레이턴시 가속기 또는 오버레이 시스템으로 칭해진다)(300)를 더 포함한다. 본 발명의 일부 실시예들에서, DDIC(220)는 터치 제어기(204)와 통합될 수 있다. AP(210)는 중앙 처리 장치(central processing unit; CPU)(212), 애플리케이션 소프트웨어(SW)(214) 및 그래픽 처리 장치(graphical processing unit; GPU)를 포함할 수 있다.According to the present embodiment, a touch input processing device (e.g., a touch sensitive display device) 200 includes a touch sensor (e.g., touch sensor panel) 202, a touch controller 204, A display driver interface controller (DDIC) 220, and a display unit 230. In addition, The DDIC 220 may include a link receiver 222, a frame buffer 224, and a display driver (also referred to as a timing controller) According to some embodiments, the DDIC 220 further includes an accelerator (also referred to as a visual feedback accelerator or a low latency accelerator or an overlay system) In some embodiments of the invention, the DDIC 220 may be integrated with the touch controller 204. The AP 210 may include a central processing unit (CPU) 212, application software (SW) 214 and a graphical processing unit (GPU).

터치 센서(예를 들어, 터치 센서 패널 또는 터치 스크린)(202)는 탭 또는 제스처와 같은 터치 사건을 검출하고 대응하는 터치 신호들(203)을 터치 제어기(204)로 송신한다. 본 발명의 실시예들은 신체 일부(예를 들어, 손가락), 스타일러스 등과 같은 임의의 유형의 포인팅 도구를 사용하는 사용자의 터치를 검출하는 터치 센서(202)를 활용할 수 있다. 본원에서 사용되는 바와 같이, 용어 "포인팅 도구(pointing implement)"는 디바이스들(능동 스타일러스 및 수동 스타일러스와 같은) 및 신체 일부들(손가락 또는 손과 같은)을 포함하여, 터치 센서(202)에 의해 검출될 수 있는 물체들을 칭한다. 본 발명의 실시예들은 저항성 터치 패널들, 표면 탄성파(surface acoustic wave) 터치 패널들, 용량성 터치 패널들, 적외선 터치 패널들, 광 터치 패널들 등과 같은 다양한 유형들의 터치 센서들 중 임의의 센서를 활용할 수 있다. 일부 실시예들에서, 터치 신호들(203)은 터치 센서(202) 내의 각 장소별 커패시턴스 또는 전압 또는 전류의 측정치들과 같이, 터치 센서(202)에 의해 공급되는 원시 데이터(raw data)에 대응한다. 터치 사건들(205)에 대한 데이터 버스는 AP(210) 및 저 레이턴시 가속기(300) 모두에 접속된다. 터치 사건들(205)은 사용자에 의한 하나 이상의 터치들이 검출되었던 장소들(예를 들어, 터치 사건의 검출을 이루기 위한 충분히 높은 값의 커패시턴스 또는 전압 또는 전류의 변경)에 대응하는 데이터 값들의 스트림일 수 있다. 일부 실시예들에서, 터치 사건들(205)은 터치 센서(202)에 인가되었던 압력을 나타내는 압력 데이터를 포함한다.A touch sensor (e.g., a touch sensor panel or touch screen) 202 detects touch events such as taps or gestures and transmits corresponding touch signals 203 to the touch controller 204. Embodiments of the present invention may utilize a touch sensor 202 that detects a user's touch using any type of pointing tool, such as a body part (e.g., a finger), a stylus, or the like. As used herein, the term "pointing implement" is used herein to refer to a pointing device, including devices (such as active stylus and manual stylus) and body parts (such as a finger or a hand) Refers to objects that can be detected. Embodiments of the present invention can be applied to any one of various types of touch sensors, such as resistive touch panels, surface acoustic wave touch panels, capacitive touch panels, infrared touch panels, optical touch panels, Can be utilized. In some embodiments, the touch signals 203 correspond to the raw data supplied by the touch sensor 202, such as respective site-specific capacitances or measurements of voltage or current within the touch sensor 202 do. The data bus for touch events 205 is connected to both the AP 210 and the low latency accelerator 300. Touch events 205 are a stream of data values corresponding to locations where one or more touches by the user were detected (e.g., a change in voltage or current of a sufficiently high value to effect detection of a touch event) . In some embodiments, the touch events 205 include pressure data indicative of the pressure that was applied to the touch sensor 202.

AP(210)는 선택 사건을 프로세싱하고 CPU(212)에서 작동 중인 SW(214)는 이에 따라 디스플레이 구성(예를 들어, 디스플레이 유닛(230)에 의해 디스프레이될 정보)을 갱신한다. GPU(216)는 디스플레이 구성을 프로세싱하고 디스플레이 유닛(230)에 디스플레이하기 위하여 DDIC(220)에 전송할 적절한 비디오 프레임들(예를 들어, 디스플레이될 이미지들)을 렌더링한다. DDIC(220)에 의해 수신되는 전송 신호는 아날로그 포맷 상태일 수 있고 인코딩(encoding)될 수 있으며, 이 경우에, 링크 수신기(222)는 AP(210)로부터 전송된 아날로그 신호들을 이미지 비트들로 변환하고, 이 비트들을 디코딩(decoding)하고, 비디오 프레임들(예를 들어, 비디오 이미지들)을 생성한다. 비디오 프레임들은 그 후에 사용자에게 디스플레이하기 위하여 디스플레이 유닛(230)에 순차적으로 전송되기 전에 프레임 버퍼(224) 내에 저장된다. DDIC(220)는 디스플레이 전에 비디오 프레임들에 대한 감마 보정(gamma correction)을 수행하기 위한 픽셀 조정 유닛을 더 포함할 수 있다. 픽셀 조정 유닛은 디스플레이 유닛(예를 들어, 디스플레이 패널 또는 광 프로젝터)(230)의 특성들에 대하여 보정할 비디오 프레임들의 시각 품질(예를 들어, 밝기, 감마 레벨들 등)을 조정할(예를 들어, 향상시킬) 수 있다. 디스플레이 드라이버(226)는 조정된 비디오 프레임들에 따라 디스플레이 유닛(230)의 개별 픽셀들을 구동하기 위한 회로를 포함한다.The AP 210 processes the selection event and the SW 214 operating in the CPU 212 updates the display configuration accordingly (e.g., information to be displayed by the display unit 230). GPU 216 renders appropriate video frames (e.g., images to be displayed) to be transmitted to DDIC 220 to process the display configuration and display on display unit 230. The transmit signal received by the DDIC 220 may be in an analog format and encoded, in which case the link receiver 222 may convert the analog signals transmitted from the AP 210 to image bits Decodes these bits, and generates video frames (e.g., video images). The video frames are then stored in the frame buffer 224 before being sequentially transmitted to the display unit 230 for display to the user. The DDIC 220 may further include a pixel adjustment unit for performing gamma correction on video frames before display. The pixel adjustment unit may adjust the visual quality (e.g., brightness, gamma levels, etc.) of the video frames to be corrected for the characteristics of the display unit (e.g., display panel or light projector) 230 , ≪ / RTI > Display driver 226 includes circuitry for driving the individual pixels of display unit 230 in accordance with the adjusted video frames.

일부 실시예들에서, 터치 센서(202), 터치 제어기(204), DDIC(220) 및 디스플레이 유닛(230)은 모두 애플리케이션 프로세서(210)과 분리될 수 있는 디스플레이 모듈의 구성요소들이다. 다른 실시예들에서, 터치 센서(202), 터치 제어기(204), DDIC(220) 및 디스플레이 유닛(230) 또는 이들의 결합들은 별개의 모듈들 내에 상주되거나 애플리케이션 프로세서(210)와 결합될 수 있다.In some embodiments, the touch sensor 202, the touch controller 204, the DDIC 220, and the display unit 230 are both components of a display module that can be separated from the application processor 210. In other embodiments, touch sensor 202, touch controller 204, DDIC 220, and display unit 230, or combinations thereof, may reside within separate modules or may be combined with application processor 210 .

본 발명의 가속기(300)를 사용하지 않을 경우, 사용자 터치 입력에서 디스플레이 출력까지의 경로가 길기 때문에(피드백 경로(TDL)에 의해 표현되는 바와 같이), 사용자는 사용자의 터치 및 디스플레이되는 비디오 프레임 사이의 현저한 랙을 지각할 수 있다. 이 레이턴시는 예를 들어, 약 100ms 또는 그보다 더 길 수 있고, 이 레이턴시는 사용자에 의해 지각될 수 있다. 피드백 경로(TDL)에 의해 발생되는 지연의 일부는 터치 센서(202)의 응답 시간 및 터치 제어기(204)의 프로세싱 시간으로부터 기인할 수 있는데, 이 응답 시간 및 터치 제어기의 프로세싱 시간은 결정론적이고 약 20ms 미만일 수 있다. 더욱이, 지연의 일부는 AP(210)의 프로세싱 시간으로부터 기인할 수 있는데, 이 프로세싱 시간은 CPU(212)가 임의의 소정의 시간에 하나 이상의 상위 우선순위 프로세스들을 가동하느라 분주할 수 있거나 분주하지 않을 수 있으므로 비결정론적이다(예를 들어, 약 60ms 내지 약 100ms).If the accelerator 300 of the present invention is not used, since the path from the user touch input to the display output is long (as represented by the feedback path (TDL)), Can be perceived as a remarkable rack of. This latency may be, for example, about 100 ms or longer, and this latency may be perceived by the user. Part of the delay caused by the feedback path (TDL) may result from the response time of the touch sensor 202 and the processing time of the touch controller 204, which response time and the processing time of the touch controller are deterministic and about 20 ms ≪ / RTI > Moreover, some of the delay may result from the processing time of the AP 210, which may or may not be busy with the CPU 212 running one or more higher priority processes at any given time (E.g., from about 60 ms to about 100 ms).

가속기(300)를 사용함으로써, 본 발명의 실시예들은 감소된 응답 랙 또는 레이턴시라 해석되는 더 짧은 터치 대 디스플레이 경로(감소된 레이턴시 피드백 경로(RTDL)에 의해 표현되는 바와 같이)가 가능하다. 예를 들어, 일부 비교 가능한 디바이스들에서의 대략 6 프레임들 이상의 디스플레이 랙과는 대조적으로, 본 발명의 실시예들은 랙을 1 내지 2 프레임들로 줄일 수 있다.By using the accelerator 300, embodiments of the present invention are capable of a shorter touch-to-display path (as represented by a reduced latency feedback path (RTDL)) that is interpreted as a reduced response rack or latency. For example, in contrast to a display rack of approximately six frames or more in some comparable devices, embodiments of the present invention may reduce the rack to one or two frames.

본 발명의 일부 실시예들에서, 가속기(300)는 애플리케이션 소프트웨어를 통해 사용 가능(enable)하고/하거나 사용 불가(disable)할 수 있다.In some embodiments of the present invention, accelerator 300 may be enabled and / or disabled via application software.

가속기(300)는 별개의 구성요소로서 구현될 수 있거나, 터치 제어기(204), AP(210) 및/또는 DDIC(220) 중 임의의 하나에 통합될 수 있다. 예를 들어, 도 2는 가속기(300)가 DDIC(220)와 통합되는 일부 실시예들을 도시한다.Accelerator 300 may be implemented as a separate component or integrated into any one of touch controller 204, AP 210 and / or DDIC 220. For example, FIG. 2 illustrates some embodiments in which accelerator 300 is integrated with DDIC 220.

도 3은 본 발명의 예시 실시예들에 따라, 사용자에게 지각되는 디스플레이 피드백 레이턴시를 줄이기 위하여 가속기(300)를 사용하는 터치 입력 프로세싱 디바이스(200)의 개략적인 블록도이다.3 is a schematic block diagram of a touch input processing device 200 that uses an accelerator 300 to reduce the display feedback latency perceived by the user, in accordance with exemplary embodiments of the present invention.

도 3을 참조하면, 구성요소들 사이의 이미지 플로우의 경로들은 실선의 지시 화살표들로 도시되고, 반면에 구성요소들 사이의 제어 경로들은 파선들을 가지는 지시 화살표들로 도시된다.Referring to Figure 3, the paths of the image flow between the components are shown with solid arrowheads, while the control paths between the components are shown with arrowheads with dashed lines.

본 발명의 일부 실시예들에 따르면, 가속기(300)는 터치 검출기(302), 이동 이미지 검출기(304), 이동 이미지 복제기(306), 출력 타이밍 제어기(308) 및 출력 논리 유닛(310)을 포함한다. 가속기(300)는 DDIC(220)의 구성요소로서 포함될 수 있거나 또는 가속기(300)의 부분들은 DDIC(220) 또는 AP(210) 내에 포함될 수 있고 다른 부분들은 터치 제어기(204) 내에 포함될 수 있다.Accelerator 300 includes a touch detector 302, a moving image detector 304, a moving image replicator 306, an output timing controller 308 and an output logic unit 310, according to some embodiments of the present invention. do. Accelerator 300 may be included as a component of DDIC 220 or portions of accelerator 300 may be included in DDIC 220 or AP 210 and other portions may be included in touch controller 204.

일부 실시예들에서 터치 검출기(302)는 터치 제어기(204)에 접속되고 터치 제어기(204)로부터 터치 사건들(205)을 수신한다. 터치 검출기(302)는 디스플레이 유닛(230) 상에서 또는 그 근처에서의 사용자 손가락 또는 도구의 이동 경로(또는 추정 터치 경로)를 결정하기 위해서 디스플레이 유닛(230) 상에서의 터치 사건들의 장소들을 사용한다. 이동 경로에 기초하여, 터치 검출기(302)는 이동 경로를 둘러싸는 유효 영역(예를 들어, 관련 영역)을 식별하고 추가 분석을 위해 유효 영역을 이동 이미지 검출기(304)에 공급한다.In some embodiments, the touch detector 302 is connected to the touch controller 204 and receives touch events 205 from the touch controller 204. The touch detector 302 uses the locations of touch events on the display unit 230 to determine the travel path (or estimated touch path) of the user's finger or tool on or near the display unit 230. Based on the travel path, the touch detector 302 identifies a valid area (e.g., an associated area) surrounding the travel path and provides a valid area to the moving image detector 304 for further analysis.

일부 실시예들에서, 이동 이미지 검출기(304)는 링크 수신기(222) 및 프레임 버퍼(224) 중 하나 이상에 결합되고, 이 검출기(304)는 프레임 버퍼(224)로부터 현재 렌더링된 비디오 프레임들(또는 비디오 이미지들)을 그리고 링크 수신기(222)로부터 다음에 렌더링될 비디오 프레임들을 수신한다. 이동 이미지 검출기(304)는 유효 영역에서 나타나는 비디오 프레임들의 변경들(또는 차들)을 검출하고 저장하기 위해 유효 영역의 연속하는 비디오 프레임들을 비교한다.In some embodiments, the moving image detector 304 is coupled to one or more of a link receiver 222 and a frame buffer 224, which detects the current rendered video frames (< RTI ID = 0.0 > Or video images) and receives video frames to be rendered next from the link receiver 222. [ Moving image detector 304 compares successive video frames of the valid region to detect and store changes (or differences) of video frames appearing in the valid region.

이동 이미지 복제기(306)는 터치 사건들의 장소 및 AP(210)에 의해 렌더링된 현재의 비디오 프레임 사이의 갭을 메우기 위하여 저장된 차들에 기초하여 오버레이 이미지 세그먼트를 생성한다. 오버레이 이미지 세그먼트는 AP(210)에 의해 현재 렌더링되어 있는 비디오 프레임 및 AP(210)가 터치 사건의 현재 장소를 따라 잡았을 경우에 렌더링되었을 비디오 프레임 사이에서의 차에 대한 계산된 추정이다.The moving image replicator 306 generates an overlay image segment based on the stored cars to fill the gap between the location of the touch events and the current video frame rendered by the AP 210. [ The overlay image segment is a computed estimate of the difference between the video frame that is currently rendered by the AP 210 and the video frame that the AP 210 would have rendered if it caught up with the current location of the touch event.

이동 이미지 복제기(306)에 의해 제공되는 정보를 사용하여, 출력 타이밍 제어기(308)는 픽셀 하나하나씩 출력 논리 유닛(310)이 AP(210)로부터 렌더링된 비디오 프레임(예를 들어, 가장 현재 렌더링된 비디오 프레임) 또는 오버레이 이미지 세그먼트를 언제 출력해야 하는지를 결정한다.Using the information provided by the moving image replicator 306, the output timing controller 308 determines whether the output logic unit 310, one pixel at a time, has received the rendered video frame from the AP 210 (e.g., Video frame) or an overlay image segment.

출력 타이밍 제어기(308)로부터의 제어 입력에 기초하여, 출력 논리 유닛(310)은 AP에 의해 렌더링된 비디오 프레임 및 오버레이 이미지 세그먼트를 사용하여 합성 이미지를 생성한다. 출력 논리 유닛(310)은 그 후에 합성 이미지를 사용자에게 디스플레이하기 위하여 합성 이미지를 디스플레이 드라이버(226)에 전송하여 디스플레이 유닛(230)에 전송할 대응하는 픽셀 구성 신호들을 생성한다. 일부 실시예들에서, DDIC(220)는 출력 논리 유닛(310)에 의해 제작되는 합성 이미지를 디스플레이 디바이스(226)에 공급하기 전에 이를 더 프로세싱할 수 있다. 예를 들어, DDIC(220)는 디스플레이 유닛(230)의 특성들에 대하여 보정될 합성 이미지에 대해 감마 보정을 수행할 수 있다.Based on the control input from the output timing controller 308, the output logic unit 310 generates a composite image using the video frame and overlay image segment rendered by the AP. The output logic unit 310 then sends the composite image to the display driver 226 to generate the corresponding pixel configuration signals to be sent to the display unit 230 to display the composite image to the user. In some embodiments, the DDIC 220 may further process the composite image produced by the output logic unit 310 before supplying it to the display device 226. For example, the DDIC 220 may perform gamma correction on the composite image to be corrected for the characteristics of the display unit 230. For example,

따라서, 가속기(300)는 단지 AP(210)로부터의 입력만으로 AP에 의해 렌더링되는 비디오 프레임들에 의해서 사용자에게 제공되는 시각적 피드백을 가속할(또는 사용자 터치에 대한 시스템 응답 시에 사용자에 의해 지각되는 시간을 줄일) 수 있다. 일부 실시예들에서, 가속기(300)에 의해 수행되는 동작들은 1 보다 더 적은 프레임 간격의 시간 범위(time span) 내에서 발생할 수 있다.Accelerator 300 therefore accelerates the visual feedback provided to the user by video frames rendered by the AP only with input from AP 210 (or, in the case of a system response to a user touch, Time). In some embodiments, the operations performed by the accelerator 300 may occur within a time span of less than one frame interval.

일부 실시예들에 따르면, 터치 검출기(302), 이동 이미지 검출기(304), 이동 이미지 복제기(306), 출력 타이밍 제어기(308) 및 출력 논리 유닛(310)은 각각 상이한 주문형 반도체(application specific integrated circuit; ASIC)들을 사용하여 구현된다. 본 발명의 다른 실시예들에서, 모든 기능들을 구현하는 데 단일 ASIC가 사용된다. 본 발명의 또 다른 실시예들에서, 필드 프로그램 가능 게이트 어레이(field programmable gate array; FPGA)는 터치 검출기(302), 이동 이미지 검출기(304), 이동 이미지 복제기(306), 출력 타이밍 제어기(308) 및 출력 논리 유닛(310) 각각의 기능들을 수행하도록 프로그램된다. 대안으로, 범용 프로세서는 터치 검출기(302), 이동 이미지 검출기(304), 이동 이미지 복제기(306), 출력 타이밍 제어기(308) 및 출력 논리 유닛(310)의 각각의 기능들을 수행하도록 프로그램될 수 있다(예를 들어, 범용 프로세서에 접속되는 메모리 내에 저장된 명령들에 의해). 또 다른 실시예들에서, 터치 검출기(302), 이동 이미지 검출기(304), 이동 이미지 복제기(306), 출력 타이밍 제어기(308) 및 출력 논리 유닛(310) 중 하나 이상의 기능은 애플리케이션 프로세서(210)의 구성요소들로서 구현된다.According to some embodiments, the touch detector 302, the moving image detector 304, the moving image replicator 306, the output timing controller 308, and the output logic unit 310 may each be a different application specific integrated circuit ; ASICs). In other embodiments of the present invention, a single ASIC is used to implement all functions. In another embodiment of the present invention, a field programmable gate array (FPGA) includes a touch detector 302, a moving image detector 304, a moving image replicator 306, an output timing controller 308, And output logic unit 310, respectively. Alternatively, the general purpose processor may be programmed to perform the respective functions of the touch detector 302, the moving image detector 304, the moving image replicator 306, the output timing controller 308 and the output logic unit 310 (E.g., by instructions stored in a memory connected to a general purpose processor). In yet other embodiments, the functionality of one or more of the touch detector 302, the moving image detector 304, the moving image replicator 306, the output timing controller 308, and the output logic unit 310 is controlled by the application processor 210, As shown in FIG.

더욱이, 터치 검출기(302), 이동 이미지 검출기(304), 이동 이미지 복제기(306), 출력 타이밍 제어기(308) 및 출력 논리 유닛(310)이 도 3에서 DDIC(220)의 구성요소들인 것으로 도시될지라도, 본 발명의 실시예들은 이로 제한되지 않는다. 일부 실시예들에서, 터치 검출기(302), 이동 이미지 검출기(304), 이동 이미지 복제기(306), 출력 타이밍 제어기(308) 및 출력 논리 유닛(310)(또는 이 기능들을 수행할 수 있는 구성요소들) 중 하나 이상은 예를 들어, 터치 제어기(204), AP(210) 내에 또는 별개의 구성요소들로서 위치된다. 게다가, 구성요소들 또는 이 구성요소들이 수행하는 기능들은 디바이스의 상이한 부분들에 위치될 수 있다. 예를 들어, 터치 검출기(302)는 터치 제어기(204)의 구성요소 또는 기능으로서 구현될 수 있고, 이동 이미지 검출기(304), 이동 이미지 복제기(306), 출력 타이밍 제어기(308) 및 출력 논리 유닛(310)은 AP(210)의 구성요소(또는 구성요소들) 또는 기능(또는 기능들)로서 구현될 수 있다.Furthermore, it is shown that the touch detector 302, the moving image detector 304, the moving image replicator 306, the output timing controller 308 and the output logic unit 310 are components of the DDIC 220 in FIG. 3 However, the embodiments of the present invention are not limited thereto. In some embodiments, a touch detector 302, a moving image detector 304, a moving image replicator 306, an output timing controller 308 and an output logic unit 310 (or a component capable of performing these functions May be located within the touch controller 204, the AP 210, or as separate components, for example. In addition, the components or functions performed by these components may be located in different parts of the device. For example, the touch detector 302 may be implemented as a component or function of the touch controller 204 and may include a moving image detector 304, a moving image replicator 306, an output timing controller 308, (Or components) or functions (or functions) of the AP 210. The APs 310 may be implemented as part

게다가, 터치 제어기(204)가 물리적으로 분리되어 있는 구성요소로서 도시될지라도, 본 발명의 일부 실시예들에서 터치 제어기(204)는 더 큰 집적 회로의 일부이다. 예를 들어, 터치 제어기는 AP(210) 및/또는 DDIC(220)와 함께 동일한 집적 회로 내에서 구현될 수 있다.In addition, although the touch controller 204 is shown as a physically separate component, in some embodiments of the present invention, the touch controller 204 is part of a larger integrated circuit. For example, the touch controller may be implemented within the same integrated circuit with the AP 210 and / or the DDIC 220.

가속기(300) 및 이의 구성을 이루는 구성요소들의 동작은 도 4 내지 도 7을 참조하여 아래에서 더 설명될 것이다.The operation of the accelerator 300 and its constituent components will be further described below with reference to Figures 4-7.

도 4a 및 도 4b는 본 발명의 예시 실시예에 따라 터치 경로를 보간하고 가속기(300)(예를 들어, 터치 검출기(302))에 의해 비디오 프레임 내에 유효 영역을 규정하는 프로세스를 도시한다.4A and 4B illustrate a process of interpolating a touch path and defining an effective area within a video frame by the accelerator 300 (e.g., the touch detector 302) in accordance with an exemplary embodiment of the present invention.

일부 실시예들에 따르면, 터치 검출기(302)는 터치 제어기(204)로부터 터치 사건들의 장소들을 수신하고 터치 장소들을 비디오 프레임(40) 내의 픽셀 위치들로 매핑(mapping)한다. 도 4a 및 도 4b에 도시되는 바와 같이, 터치 제어기(204)에 의해 제공되는 터치 장소들(402)(도 4a 및 도 4b에서 'X'로 표기되는)은 사용자의 실제 터치 경로의 이산의 샘플들이고, 그러므로 연속하는 터치 장소들(402)은 여러 픽셀들에 의해 분리될 수 있다. 터치 검출기(302)는 연속하는 터치 장소들(402) 사이의 갭들을 메우기 위해 터치 장소들(402)을 보간하여 보간 포인트들(404)(도 4a 및 도 4b에서 'O'로 표기됨)의 세트를 구성한다.According to some embodiments, the touch detector 302 receives the locations of touch events from the touch controller 204 and maps the touch locations to pixel locations within the video frame 40. 4A and 4B, the touch locations 402 (denoted by 'X' in FIGS. 4A and 4B) provided by the touch controller 204 are used to store the discrete samples of the user's actual touch path And therefore the consecutive touch points 402 can be separated by several pixels. The touch detector 302 interpolates the touch points 402 to fill gaps between consecutive touch points 402 to form interpolation points 404 (labeled 'O' in FIGS. 4A and 4B) Thereby constituting a set.

터치 검출기(302)는 보간 포인트들(404)를 생성하기 위해 다양한 적절한 곡선 피팅(curve fitting) 알고리즘들 중 임의의 하나를 활용할 수 있다. 예를 들어, 보간 포인트들(404)은 터치 장소들(402)로의 정확한 핏(fit)들 또는 터치 검출기(302)에 의해 수행되는 완만화 동작(smoothing operation)의 결과일 수 있다. 보간된 터치 포인트들(404)은 사용자의 실제 터치 이동 경로의 계산된 추정인 추정 터치 경로를 따를 수 있다. 추정 터치 경로는 사용되는 곡선 피팅 알고리즘 및 장소(402)에 있어서의 불확실성에 따라 터치 장소들(402)의 일부 또는 모두를 횡단할 수 있다. 추정 터치 경로는 애플리케이션 프로세서에 의해 유입되는 지연(비디오 프레임들의 단위들로)보다 더 크거나 동일한 고정된 수의 프레임들에 대응하는 터치 사건들의 하위세트에 기초하여 계산될 수 있다.The touch detector 302 may utilize any one of a variety of suitable curve fitting algorithms to generate the interpolation points 404. For example, interpolation points 404 may be accurate fits to touch points 402 or a result of a smoothing operation performed by touch detector 302. [ The interpolated touch points 404 may follow the estimated touch path, which is a computed estimate of the user's actual touch travel path. The estimated touch path may traverse some or all of the touch locations 402 depending on the curve fitting algorithm used and the uncertainty in place 402. [ The estimated touch path may be computed based on a subset of touch events corresponding to a fixed number of frames that are greater than or equal to the delay (in units of video frames) introduced by the application processor.

일부 실시예들에 따르면, 터치 검출기(302)는 터치 장소들(402)의 각각 그리고 보간 포인트들(404)(총칭하여 추정 터치 경로를 따른 "포인트들"로 칭해진다) 주위의 유효 에어리어(406)를 식별한다. 유효 에어리어들(406)이 모임으로써 유효 영역(408)이 형성되고 이 유효 영역(408)은 이동 이미지 검출기(304)에 의해 연속 프레임들의 변경들을 결정하는 데 사용될 수 있는 추정 터치 경로의 주위의 영역을 지정한다. 일부 실시예들에서, 유효 에어리어(406) 또는 유효 영역(408)은 전체 비디오 프레임(400)과 동일하게 세팅될 수 있다. 그러나, 가속기(300)에 의해 모든 프레임 내의 모든 픽셀을 프로세싱하는 것은 계산에 있어서 비용이 많이 들고 상당한 메모리를 필요로 할 수 있다. 그러므로, 가속기(300)의 성능을 개선하기 위해, 본 발명의 실시예들은 전형적으로 비디오 프레임의 단지 일부만을 이루는 유효 에어리어들(406)을 활용한다. 일부 실시예들에서, 유효 에어리어(406)는 반경 R(가장 가까운 픽셀로 라운딩(rounding)될 수 있다)을 가지는 원이다. 다른 실시예들에서, 유효 에어리어(406)는 가장 가까운 픽셀로 라운딩되는 측 길이를 가지는 정사각형 또는 직사각형이다. 또 다른 실시예들에서, 유효 에어리어(406)는 자체의 장축 및 단축을 따르며 가장 가까운 픽셀로 라운딩되는 길이들을 가지는 타원형일 수 있다. 그러나, 본 발명의 실시예들은 이로 제한되지 않고, 유효 에어리어(406)는 임의의 적절한 형상을 가질 수 있다. 유효 에어리어(406)의 크기(dimension)들은 예를 들어 사용자의 터치의 이동율(또는 속도) 및 터치 장소들(402)의 불확실성에 기초하여 결정될 수 있다. 이동율 또는 속도는 연속하는 터치 장소들(402) 사이의 거리(예를 들어, 픽셀들의 수에 의해 측정되는 바에 따른)에 의해 결정될 수 있다. 터치 장소들에 있어서의 불확실성은 보간 포인트들(404)를 생성하는데 사용되는 피팅된 곡선 및 터치 장소들(402) 사이의 편차들에 의해 결정될 수 있다. 일부 실시예들에서, 이동률 및/또는 불확실성이 증가함에 따라 유효 에어리어(406)의 크기도 증가한다(예를 들어, 원형의 유효 에어리어(406)의 반경(R)이 증가할 수 있다).According to some embodiments, the touch detector 302 is configured to detect an effective area 406 around each of the touch locations 402 and around interpolation points 404 (collectively referred to as "points " along the estimated touch path) ). A valid area 408 is formed by a collection of valid areas 406 and this valid area 408 is defined by an area around the estimated touch path that can be used by mobile image detector 304 to determine changes in successive frames . In some embodiments, the effective area 406 or the effective area 408 may be set the same as the entire video frame 400. However, processing all pixels in all frames by the accelerator 300 can be expensive in computation and may require significant memory. Therefore, to improve the performance of the accelerator 300, embodiments of the present invention utilize the effective areas 406, which typically comprise only a portion of the video frame. In some embodiments, the effective area 406 is a circle with a radius R (which may be rounded to the nearest pixel). In other embodiments, the effective area 406 is a square or rectangle having a side length that is rounded to the nearest pixel. In still other embodiments, the effective area 406 may be elliptical with lengths that are rounded to the nearest pixel along their major and minor axes. However, the embodiments of the present invention are not limited thereto, and the effective area 406 may have any suitable shape. The dimensions of the effective area 406 may be determined based on, for example, the rate of movement (or speed) of the user's touch and the uncertainty of the touch points 402. The rate of travel or speed may be determined by the distance between successive touch points 402 (e.g., as measured by the number of pixels). The uncertainty in the touch points can be determined by the deviations between the fitted curves and the touch points 402 used to create the interpolation points 404. In some embodiments, the size of the effective area 406 also increases (e.g., the radius R of the circular effective area 406 may increase) as the rate of travel and / or uncertainty increases.

유효 영역(408)은 사용자의 터치 이동을 추적하고, 이에 따라 사용자의 터치가 이동 경로를 따라 이동할 때 형상을 변경할 수 있다. 일부 실시예들에서, 유효 영역(408)을 구성하는 유효 에어리어들(406)의 수(즉, 유효 영역(408)의 길이)는 고정된 미리 세팅된 값일 수 있다. 다른 실시예들에서, 가속기(300)는 예를 들어, 시스템 랙(예를 들어, 비디오 프레임들의 수에 의해 표현되는 바와 따른)에 기초하여 유효 영역(408)의 길이를 가변적으로(또는 동적으로) 세팅할 수 있다. 일부 실시예들에서, 유효 영역(408)의 길이는 시스템 랙을 표현하는 프레임들의 수를 표현하는 값보다 더 큰 값이다.The valid region 408 tracks the touch movement of the user, thereby changing the shape as the user's touch moves along the movement path. In some embodiments, the number of valid areas 406 constituting the valid area 408 (i.e., the length of the valid area 408) may be a fixed pre-set value. In other embodiments, the accelerator 300 may vary (e.g., dynamically) the length of the valid region 408 based on, for example, a system rack (e.g., as represented by the number of video frames) ) Can be set. In some embodiments, the length of the valid area 408 is greater than a value representing the number of frames representing the system rack.

도 4a 및 도 4b에 도시되는 비디오 프레임(400)은 적은 수의 픽셀들(401)을 도시한다; 그러나, 이것은 단지 용이하게 설명하기 위한 것이고, 당업자에 의해 인정되는 바와 같이 프레임을 구성하는 픽셀들(401)의 수는 임의로 높을 수 있고 단지 사용되는 기술에 의해서만 제한될 수 있다.The video frame 400 shown in Figures 4A and 4B shows a small number of pixels 401; However, this is only for ease of explanation, and the number of pixels 401 constituting the frame, as recognized by those skilled in the art, may be arbitrarily high and may be limited only by the technique used.

도 5a 내지 도 5c는 본 발명의 일부 실시예들에 따라 3개의 연속하는 렌더링된 비디오 프레임들(502, 504 및 506) 및 사용자의 터치의 이동 경로를 추적한 유효 영역(408)을 도시한다. 도 5d는 본 발명의 예시 실시예들에 따라, 3개의 연속하는 비디오 프레임들(502, 504 및 506)의 차들을 가속기(300)(예를 들어, 이동 이미지 검출기(304))에 의해 기록되고 저장된 바에 따라 표현하는 이미지 세그먼트들을 도시한다.Figures 5A-5C illustrate three consecutive rendered video frames 502, 504, and 506 in accordance with some embodiments of the present invention and a valid region 408 that traces the movement path of the user's touch. Figure 5d illustrates that the differences between three consecutive video frames 502, 504 and 506 are recorded by the accelerator 300 (e.g., moving image detector 304), in accordance with exemplary embodiments of the present invention ≪ / RTI > showing the image segments represented by stored bars.

본 발명의 실시예들에 따르면, 이동 이미지 검출기(304)는 유효 영역(408) 내에서 렌더링된 비디오 프레임들의 임의의 변경들을 검출하기 위해 AP(210)에 의해 렌더링되는 연속적인 비디오 프레임들의 유효 영역(408)을 분석한다. 일부 실시예들에서, 이동 이미지 검출기(304)는 유효 영역(408) 내에서, 링크 수신기(222)로부터의 다음의 비디오 프레임을 프레임 버퍼(224)로부터 수신되는 현재의 비디오 프레임과 비교한다(동작 1). 이동 이미지 검출기(304)는 그 후에 예를 들어, 픽셀 하나하나씩 다음의 비디오 프레임으로부터 현재의 비디오 프레임을 공제함으로써, 현재 및 다음의 비디오 프레임들 사이의 차들을 계산한다(동작 2). 이동 이미지 검출기는 그 후에 이동 메모리 버퍼에 계산된 차를 저장한다(동작 3), 약술된 프로세스(동작들 1 내지 3)은 적어도 N회 반복될 수 있고, 여기서 N은 사용자 터치 입력 및 AP에 의해 생성되는 디스플레이 응답 사이의 예상 레이턴시를 프레임들의 단위들로 나타낸다. 일부 예들에서, N은 4 내지 10의 범위이지만 전형적으로 7일 수 있다. 일부 실시예들에서, N은 디스플레이 장치의 실증적 성능 데이터에 기초하여 미리 세팅된 고정 수이다. 다른 실시예들에서, 수 N은 시간의 경과에 따라 가속기(300)에 의해 측정되는 바에 따른 레이턴시의 변화들에 기초하여 가속기(300)에 의해 동적으로 조정될 수 있다.In accordance with embodiments of the present invention, moving image detector 304 is configured to detect a valid region of successive video frames rendered by AP 210 to detect any changes in rendered video frames within valid region 408 (408). In some embodiments, the moving image detector 304 compares the next video frame from the link receiver 222 with the current video frame received from the frame buffer 224, within the valid region 408 One). Moving image detector 304 then calculates the differences between the current and next video frames (act 2), for example, by subtracting the current video frame from the next video frame, one pixel by one pixel. The motion picture detector then stores the computed difference in the motion memory buffer (act 3), the outlined process (operations 1 to 3) can be repeated at least N times, where N is the user touch input and AP The expected latency between generated display responses is expressed in units of frames. In some instances, N ranges from 4 to 10, but typically can be 7. In some embodiments, N is a fixed number preset based on empirical performance data of the display device. In other embodiments, the number N can be dynamically adjusted by the accelerator 300 based on changes in latency as measured by the accelerator 300 over time.

도 5a 내지 도 5d는 본 발명의 실시예들이 드로잉을 위한 소프트웨어 애플리케이션(예를 들어, 디지털 스케치북)의 상황에서 사용되는 하나의 예를 도시한다. 그와 같은 예에서, 유효 영역(408)은 라인이 드로잉되고 있는 능동 드로잉 에어리어를 나타낼 수 있다. 라인 세그먼트들(510, 512 및 514)은 AP(210)에 의해 제 1 비디오 프레임(502), 제 2 비디오 프레임(504) 및 제 3 비디오 프레임(506)에 각각 렌더링되는 바와 같이 라인의 이동 이미지들을 표현한다. 도 5d를 참조하면, 제 1 이미지 세그먼트(S2-1)는 제 2 및 제 1 비디오 프레임들(504 및 502) 사이의 차를 표현하고, 제 2 이미지 세그먼트(S3-2)는 제 3 및 제 2 비디오 프레임들(506 및 504) 사이의 차를 표현한다. 이동 이미지 검출기(304)는 가속기(300) 내부에(예를 들어, 이동 이미지 검출기(304) 내부에) 있을 수 있는 이동 버퍼 내에 제 1 및 제 2 이미지 세그먼트들(S2-1 및 S3-2)(총칭하여 저장 또는 계산된 세그먼트(520))을 저장한다. 임의의 소정의 시간에, 이동 버퍼는 N개의 연속하는 프레임들의 유효 영역들의 차들을 표현하는 N-1 이미지 세그먼트들을 저장할 수 있고, 여기서 N은 사용자 터치 입력 및 AP에 의해 생성되는 디스플레이 응답 사이의 예상 레이턴시를 프레임들의 단위들로 표현한다. 그러나, 본 발명의 실시예들은 이로 제한되지 않고 이동 버퍼는 N개 이상의 이미지 세그먼트들을 저장할 수 있다.5A-5D illustrate one example in which embodiments of the present invention are used in the context of a software application (e.g., a digital sketchbook) for drawing. In such an example, the effective area 408 may represent the active drawing area in which the line is being drawn. The line segments 510,512 and 514 may be moved by the AP 210 into the first video frame 502, the second video frame 504 and the third video frame 506, respectively, Lt; / RTI > 5D, the first image segment S2-1 represents the difference between the second and first video frames 504 and 502, the second image segment S3-2 represents the difference between the third and the third video segments, Lt; RTI ID = 0.0 > 506 < / RTI > Moving image detector 304 may include first and second image segments S2-1 and S3-2 in a moving buffer that may be within accelerator 300 (e.g., within moving image detector 304) (Collectively stored or computed segment 520). At any given time, the mobile buffer may store N-1 image segments representing the differences of valid regions of N consecutive frames, where N is the expected Express latency in units of frames. However, embodiments of the present invention are not limited thereto, and the moving buffer may store N or more image segments.

설명의 용이성을 위해, 도 5a 내지 도 5c에서, 유효 영역(408)은 정적인 것으로 도시되고 반면에 AP(210)는 드로잉된 라인을 렌더링하는 것을 통하여 진행된다; 그러나, 실제로, 유효 영역(408)은 터치 모션을 적절하게 추적하기 위해 프레임에서 프레임으로 변경될 수 있다.For ease of description, in Figures 5A-5C, the coverage area 408 is shown as being static, while the AP 210 proceeds through rendering the drawn line; However, in effect, the valid area 408 may be changed from frame to frame to suitably track the touch motion.

도 6은 본 발명의 예시 실시예들에 따라, 사용자의 터치 포인트 및 AP에 의해 렌더링된 비디오 프레임 사이의 갭들을 메우기 위해 가속기(300)(예를 들어, 이동 이미지 복제기(306))에 의해 저장된 픽셀들을 복제하는 프로세스를 도시한다.FIG. 6 illustrates an example of a video image stored by an accelerator 300 (e.g., a moving image replicator 306) to fill gaps between a user's touch point and an image frame rendered by the AP, in accordance with exemplary embodiments of the present invention. Lt; / RTI > illustrates the process of copying pixels.

일부 실시예들에서, 이동 이미지 복제기(306)는 이동 경로를 따라 갭(602)을 커버하기 위하여 저장된 세그먼트(520)를 사용하여 오버레이 세그먼트(예를 들어, 오버레이 이미지 세그먼트 또는 복제된 이미지 세그먼트)를 생성(또는 외삽(extrapolate))한다. 갭(602)은 AP(210)가 아직 대응하는 이미지를 렌더링하지 않은(예를 들어, 스크린 상에 라인을 드로잉하는 것을 따라가지 않은) 이동 경로를 따른 터치 포인트들(손가락, 스타일러스 또는 다른 도구를 사용하는 실체 터치 장소들이든 또는 보간된 포인트들이든)(604)을 포함한다.In some embodiments, the moving image replicator 306 may use an overlay segment (e.g., an overlay image segment or a duplicated image segment) using the stored segment 520 to cover the gap 602 along the path of travel. (Or extrapolate) it. Gap 602 is used to indicate that touch points (finger, stylus, or other tool) along the path of travel that AP 210 has not yet rendered a corresponding image (e.g., does not follow along drawing a line on the screen) (Such as entity touch locations or interpolated points).

오버레이 세그먼트(600)를 생성하면서, 이동 이미지 복제기(306)는 저장된 세그먼트(520)의 픽셀들의 상대 속성들을 유지한다. 상대 속성들은 픽셀들의 이동 축들까지의 거리들, 픽셀들 사이의 공간 분리들, 픽셀들 사이의 컬러 그래디언트들 등을 포함할 수 있다. 일부 실시예들에서, 이동 이미지 복제기(306)는 저장된 세그먼트(520)의 픽셀들의 오버레이 세그먼트(600)로의 일대일 매핑을 수행한다. 예를 들어, 도 6에 도시되는 바와 같이, 이동 이미지 복제기(306)는 저장된 세그먼트로부터 (I)번째 터치 포인트(604)(여기서 I는 0보다 큰 정수이다) 주위의 픽셀들을 (I+M)번째 터치 포인트(604)(여기서 M은 N보다 더 크거나 같은 정수이다) 주위의 대응하는 픽셀들로 시프트할 수 있다. (I+M)번째 터치 포인트(604) 주위의 대응하는 픽셀들(즉, 시프트된 픽셀들)은 (I+M)번째 터치 포인트(604)에서 국지의 이동 축(610)까지 상대 거리를 가질 수 있고(픽셀들의 단위들로) 이 상대 거리는 상기 픽셀들의 저장된 차 세그먼트(520)(즉, 저장된 차 픽셀들)로부터 국지의 이동 축(612)까지의 상대 거리와 동일하다. 시프트된 픽셀은 저장된 차 픽셀과 동일한 컬러 특성들(예를 들어, 동일한 컬러)을 가질 수 있다.While creating the overlay segment 600, the moving image replicator 306 maintains the relative attributes of the pixels of the stored segment 520. Relative properties may include distances to the moving axes of pixels, spatial separations between pixels, color gradients between pixels, and the like. In some embodiments, the moving image replicator 306 performs a one-to-one mapping of the pixels of the stored segment 520 to the overlay segment 600. 6, the moving image replicator 306 transforms the pixels around the (I) touch point 604 (where I is an integer greater than 0) from the stored segment to (I + M) Th touch point 604 (where M is an integer greater than or equal to N). The corresponding pixels (i.e., shifted pixels) around the (I + M) th touch point 604 have a relative distance from the (I + M) th touch point 604 to the local shift axis 610 (In units of pixels) and this relative distance is equal to the relative distance from the stored difference segment 520 (i.e., stored car pixels) of the pixels to the local moving axis 612. The shifted pixel may have the same color characteristics (e.g., the same color) as the stored difference pixel.

본 발명의 일부 실시예들이 픽셀 시프트 방법을 활용할지라도, 본 발명의 실시예들은 이로 제한되지 않고 당업자에게 공지되어 있는 많은 이미지 프로세싱 알고리즘들 중 임의의 알고리즘 또는 이들의 결합들이 오버레이 세그먼트(600)의 생성 프로세스(예를 들어, 복제 프로세스) 중에 사용될 수 있다.Although some embodiments of the present invention utilize a pixel shift method, embodiments of the present invention are not limited thereto, and any of the many image processing algorithms or combinations thereof known to those skilled in the art may be used to generate the overlay segment 600 Process (e. G., A replication process).

도 7은 본 발명의 예시 실시예들에 따라 합성 비디오 프레임(예를 들어, 합성 프레임 이미지)(704)를 생성하기 위하여 오버레이 세그먼트(600) 및 현재의 비디오 프레임(702)을 결합하는 것의 개략도이다.7 is a schematic diagram of combining an overlay segment 600 and a current video frame 702 to produce a composite video frame (e.g., a composite frame image) 704 in accordance with the illustrative embodiments of the present invention .

일부 실시예들에서, 출력 타이밍 제어기(308)는 픽셀 하나하나씩 프레임 버퍼(224)로부터 현재 AP에 의해 생성되는 비디오 프레임(702)을 또는 이동 이미지 복제기(306)로부터 오버레이 세그먼트(600)를 언제 출력할지를 결정하기 위하여 마스크(706)를 생성한다. 이 결정은 비디오 타이밍, 이동 경로 상에서의 터치 검출기(302)로부터의 픽셀 위치들 및 오버레이 세그먼트(600)의 픽셀 위치들에 기초할 수 있다. 출력 논리 유닛(310)은 오버레이 세그먼트(600) 및 현재의 비디오 프레임(702) 사이에서 선택함으로써 합성 비디오 프레임(704)을 생성하기 위해 마스크(706)를 사용하여 오버레이 세그먼트(600)를 현재의 비디오 프레임(702)과 결합한다.In some embodiments, the output timing controller 308 may output a video frame 702 generated by the current AP from the frame buffer 224, one pixel at a time, or an overlay segment 600 from the moving image replicator 306, Gt; 706 < / RTI > This determination may be based on video timing, pixel locations from the touch detector 302 on the travel path, and pixel locations of the overlay segment 600. Output logic unit 310 uses mask 706 to generate overlay segment 600 to generate a composite video frame 704 by selecting between overlay segment 600 and current video frame 702. [ 0.0 > 702 < / RTI >

일부 실시예들에 따르면, 마스크(706)는 수치 값들의 매트릭스(matrix)이고, 매트릭스 내의 위치는 디스플레이 유닛(230) 내의 픽셀(또는 픽셀들)의 위치에 대응하고 매트릭스 내의 값들의 상대 위치들은 디스플레이 유닛(230) 내의 픽셀들의 상대 위치들에 대응한다(예를 들어, 마스크(706)는 합성 비디오 프레임(704)에서 픽셀 위치들의 2차원 맵에 대응하는 2차원 매트릭스로서 생각될 수 있다). 그러므로 마스크(706) 내의 각각의 값 및 현재 및 합성 비디오 프레임들(702 및 704)의 각각의 픽셀 사이의 일대일 관계가 있다.According to some embodiments, the mask 706 is a matrix of numerical values, the position in the matrix corresponds to the position of the pixel (or pixels) in the display unit 230 and the relative positions of the values in the matrix (E.g., mask 706 may be thought of as a two-dimensional matrix corresponding to a two-dimensional map of pixel locations in composite video frame 704). There is therefore a one-to-one relationship between each value in the mask 706 and each pixel in the current and composite video frames 702 and 704.

일부 실시예들에 따르면, 마스크(706)의 값들의 각각은 단일 비트로 표현되고, 마스크 매트릭스 내의 값들의 위치들은 합성 비디오 프레임(704) 내의 위치들에 대응한다. 오버레이 세그먼트(600)가 합성 비디오 프레임(704) 내에서 보일 수 있는 위치들은 제 1 값(예를 들어, "1")로 세팅된 값들을 가지고 오버레이 데이터가 보이지 않을 수 있는(예를 들어, 현재의 비디오 프레임(702)이 보일 수 있는) 위치들은 제 2의 상이한 값(예를 들어, "0")으로 세팅된 값들을 가진다. 일부 예들에서, 마스크(706)의 수치 값들의 각각은 합성 비디오 프레임(704) 내의 정확히 하나의 픽셀에 대응하거나 합성 비디오 프레임(704) 내의 하나를 초과하는 픽셀들에 대응한다.According to some embodiments, each of the values of the mask 706 is represented by a single bit, and the positions of the values in the mask matrix correspond to positions in the composite video frame 704. [ The locations where the overlay segment 600 may be visible in the composite video frame 704 may be those where the overlay data may not be visible with values set to a first value (e.g., "1 ") (E. G., "0") of the video frame 702 of the video frame 702) may have values set to a second different value In some examples, each of the numerical values of the mask 706 corresponds to exactly one pixel in the composite video frame 704 or to more than one pixel in the composite video frame 704.

일부 실시예들에서, 출력 논리 유닛(310)은 합성 비디오 프레임(704) 내의 픽셀의 위치에 대응하는 마스크(706) 내의 위치에서의 값에 기초하여 각 픽셀 별로 현재 비디오 프레임(702) 또는 오버레이 세그먼트(600)를 출력하는 멀티플렉서(multiplexer)로서 동작한다. 즉, 출력 논리 유닛(310)은 마스크(706) 내의 각각의 값을 현재의 비디오 프레임(702) 내의 대응하는 픽셀에 정합시키고 현재의 비디오 프레임(702)의 픽셀 또는 오버레이 세그먼트(600)를 디스플레이 유닛(230)으로 출력한다. 일부 실시예들에서, 출력 논리 유닛(310)은 마스크(706)의 각각의 값을 통하면서 반복한다. 0의 값이 마스크(706) 내의 특정 위치에 존재하면, 출력 논리 유닛(310)은 현재의 비디오 프레임(702)의 대응하는 픽셀을 출력한다. 한편, 1의 값이 마스크(706) 내의 특정 위치에 존재하면, 출력 논리 유닛(310)은 오버레이 세그먼트(600)를 출력한다. 반복 프로세스의 결과로서, 출력 논리 유닛(310)은 합성 비디오 프레임(704)을 디스플레이 유닛(230)으로 출력한다. 반복 프로세스가 가속기(300)에 의해 실행되는 속도는 비디오 타이밍에 의해 제어된다.In some embodiments, the output logic unit 310 may generate a current video frame 702 or an overlay segment 702 for each pixel based on a value at a location within the mask 706 corresponding to the location of the pixel in the composite video frame 704. [ The multiplexer 600 outputs the multiplexed signal. That is, the output logic unit 310 matches each value in the mask 706 to a corresponding pixel in the current video frame 702 and outputs the pixel or overlay segment 600 of the current video frame 702 to the display unit 600. [ (230). In some embodiments, the output logic unit 310 repeats through each value in the mask 706. If a value of zero is present at a particular position in the mask 706, the output logic unit 310 outputs the corresponding pixel of the current video frame 702. On the other hand, if a value of 1 is present at a particular position in the mask 706, the output logic unit 310 outputs the overlay segment 600. As a result of the iterative process, the output logic unit 310 outputs the composite video frame 704 to the display unit 230. The speed at which the iterative process is performed by the accelerator 300 is controlled by video timing.

도 8은 본 발명의 예시 실시예들에 따라 터치 입력에 시각적 피드백을 제공하는 프로세스(800)의 흐름도이다.Figure 8 is a flow diagram of a process 800 for providing visual feedback to a touch input in accordance with exemplary embodiments of the present invention.

일부 실시예들에서, 동작 802에서, 가속기(300)(예를 들어, 터치 검출기(302))는 터치 센서(202)에 결합되는 터치 제어기(204)로부터 복수의 터치 사건들을 수신한다. 터치 사건들은 터치 제어기(204)에 의해 포인팅 도구(예를 들어, 사용자 손가락, 스타일러스 펜 등) 및 터치 센서(202) 사이의 상호 작용의 결과로서 발생될 수 있다.In some embodiments, at operation 802, the accelerator 300 (e.g., the touch detector 302) receives a plurality of touch events from the touch controller 204 coupled to the touch sensor 202. Touch events can be generated by the touch controller 204 as a result of the interaction between the pointing tool (e.g., a user finger, a stylus pen, etc.) and the touch sensor 202.

동작 804에서, 가속기(300)(예를 들어, 이동 이미지 복제기(306))는 수신되는 터치 사건들에 기초하여 오버레이 세그먼트(600)를 생성한다. 일부 실시예들에서, 가속기(300)(예를 들어, 이동 이미지 검출기(304))는 터치 사건들의 장소들에 기초하여 추정 터치 경로를 계산하고 추정 터치 경로에 대응하여 비디오 프레임들 내에 유효 영역(408)을 결정한다. 가속기(300)(예를 들어, 이동 이미지 복제기(306))는 비디오 프레임들의 연속 프레임들에서의 차들(예를 들어, S2-1 및 S3-2)을 결정하기 위해 비디오 프레임들을 비교하고 이 차들(520)을 메모리 버퍼 내에 저장한다. 오버레이 세그먼트(600)는 저장된 차 세그먼트(520)의 특성들과 정합할 수 있다. 예를 들어, 가속기(300)(예를 들어, 이동 이미지 복제기(306))는 오버레이 세그먼트(600)에서 저장된 차 세그먼트(520)의 픽셀들의 상대 속성들을 유지할 수 있다. 상대 속성들은 추정 터치 경로를 따른 국지의 이동 축들까지의 거리들, 픽셀들 사이의 공간 분리들 및 픽셀들 사이의 컬러 그래디언트들을 포함할 수 있다. 일부 실시예들에서, 가속기(300)(예를 들어, 이동 이미지 복제기(306))는 저장된 차 세그먼트(520)의 픽셀들을 AP(210)에 의해 유입되는 지연에 대응하여 추정 터치 경로를 따른 장소들로 시프트한다.At operation 804, the accelerator 300 (e.g., the moving image replicator 306) generates the overlay segment 600 based on the received touch events. In some embodiments, the accelerator 300 (e.g., the moving image detector 304) may calculate the estimated touch path based on the locations of touch events and determine the effective area (e.g., 408). Accelerator 300 (e.g., moving image replicator 306) compares the video frames to determine the differences (e.g., S2-1 and S3-2) in successive frames of video frames, (520) in the memory buffer. The overlay segment 600 may match the characteristics of the stored car segment 520. [ For example, accelerator 300 (e.g., moving image replicator 306) may maintain the relative attributes of the pixels of the stored car segment 520 in overlay segment 600. Relative properties may include distances to localized motion axes along the estimated touch path, spatial separations between pixels, and color gradients between pixels. In some embodiments, the accelerator 300 (e.g., the moving image replicator 306) may send the pixels of the stored car segment 520 to a location along the estimated touch path corresponding to the delay introduced by the AP 210 .

동작 806에서, 가속기(300)(예를 들어, 출력 논리 유닛(310))는 프레임 버퍼(224)로부터 오버레이 세그먼트(600)와 결합할 현재의 비디오 프레임(702)을 수신한다.In operation 806, accelerator 300 (e.g., output logic unit 310) receives the current video frame 702 from frame buffer 224 to combine with overlay segment 600.

동작 808에서, 가속기(300)(예를 들어, 출력 논리 유닛(310))는 합성 비디오 프레임(704)을 생성하기 위하여 터치 사건들에 따라 현재의 비디오 프레임(702)을 오버레이 세그먼트(600)와 결합한다. 일부 실시예들에서, 가속기(300)(예를 들어, 출력 타이밍 제어기(308))는 터치 사건들에 기초하여 마스크(706)를 생성한다. 마스크는 합성 비디오 프레임을 제작하기 위하여 동작을 식별하는 수치 값들(예를 들어 '0'들 및 '1'들)의 매트릭스를 포함한다. 매트릭스 내의 수치 값들의 위치들은 합성 비디오 프레임(704) 내의 픽셀들의 위치들에 대응할 수 있다. 가속기(300)(예를 들어, 출력 논리 유닛(310))는 합성 비디오 프레임(704) 내의 각 픽셀 별로, 현재의 비디오 프레임(702) 또는 오버레이 세그먼트(600)의 대응하는 픽셀을 마스크(706) 내의 대응하는 위치 내의 값에 따라 출력할지를 결정한다.At the operation 808, the accelerator 300 (e.g., the output logic unit 310) generates the current video frame 702 according to the touch events to generate the composite video frame 704 with the overlay segment 600 . In some embodiments, accelerator 300 (e.g., output timing controller 308) generates mask 706 based on touch events. The mask includes a matrix of numerical values (e.g., '0's and' 1's) identifying the operation to produce a composite video frame. The positions of the numerical values in the matrix may correspond to the positions of the pixels in the composite video frame 704. Accelerator 300 (e.g., output logic unit 310) may mask mask 706 the corresponding pixel of current video frame 702 or overlay segment 600 for each pixel in composite video frame 704. [ In accordance with the value in the corresponding position in the output signal.

동작 810에서, 가속기(300)(예를 들어, 출력 논리 유닛(310))는 합성 비디오 프레임(704)을 디스플레이 유닛(230)에 공급한다(디스플레이 드라이버(226)를 통해). 가속기(300)는 그 결과에 따른 프레임을 디스플레이 드라이버(226)에 출력하기 전에 합성 비디오 프레임(704)에 대한 추가 프로세스들을 수행할 수 있다.At act 810, accelerator 300 (e.g., output logic unit 310) provides synthesized video frame 704 to display unit 230 (via display driver 226). The accelerator 300 may perform additional processes for the composite video frame 704 before outputting the resulting frame to the display driver 226. [

본원에서 다양한 요소들, 구성요소들, 영역들, 계층들 및/또는 섹션들을 기술하는데 용어들 "제 1", "제 2", "제 3" 등이 사용될 수 있을지라도, 이 요소들, 구성요소들, 영역들, 계층들 및/또는 섹션들은 이 용어들에 의해 제한되지 않아야 함이 이해될 것이다. 이 용어들은 하나의 요소, 구성요소, 영역, 계층 또는 섹션을 다른 요소, 구성요소, 영역, 계층 또는 섹션과 구별하는 데 사용된다. 그러므로, 아래에서 논의되는 제 1 요소, 구성요소, 영역, 계층 또는 섹션은 본 발명의 개념의 사상 및 범위를 벗어나지 않고 제 2 요소, 구성요소, 영역, 계층 또는 섹션으로 지칭될 수 있다.Although the terms "first", "second", "third", etc. may be used herein to describe various elements, components, regions, layers and / or sections, It is to be understood that elements, regions, layers and / or sections should not be limited by these terms. These terms are used to distinguish one element, element, region, layer or section from another element, element, region, layer or section. Thus, the first element, component, region, layer or section discussed below may be referred to as a second element, component, region, layer or section without departing from the spirit and scope of the inventive concept.

본원에서 사용되는 용어는 특정한 실시예들을 설명하기 위한 것이며 본 발명의 개념을 제한하고자 의도되지 않는다. 본원에서 사용되는 바와 같이, 단수 형태들 "a" 및 "an"은 상황이 명백하게 달리 나타내지 않으면, 또한 복수의 형태들을 포함하도록 의도된다. 용어들 "include", "including", "comprises" 및/또는 "comprising"이 본 명세서에서 사용될 때, 진술된 특징들, 정수들, 단계들, 동작들, 요소들 및/또는 구성요소들의 존재를 명시하지만 하나 이상의 다른 특징들, 정수들, 단계들, 동작들, 요소들, 구성요소들 및/또는 이들의 그룹들의 존재 또는 추가를 배제하지 않음이 더 이해될 것이다. 본원에서 사용되는 바와 같이, 용어 "및/또는"은 연관되는 기재된 아이템들 중 하나 이상의 임의의 그리고 모든 결합들을 포함한다. "중 적어도 하나"와 같은 표현들은 요소들의 목록에 선행하면, 요소들의 전체 목록을 수정하고 목록의 개별 요소들을 수정하지 않는다. 더욱이, "수 있다"의 사용이 본 발명의 개념의 실시예들을 기술할 때 "본 발명의 개념의 하나 이상의 실시예들"을 칭한다. 또한 용어 "예시"는 예 또는 실례를 칭하도록 의도된다.The terminology used herein is for the purpose of describing particular embodiments only and is not intended to limit the inventive concept. As used herein, the singular forms "a" and "an" are intended to also include the plural forms, unless the context clearly indicates otherwise. When the terms "include", "including", "comprises" and / or "comprising" are used in this application, the presence of stated features, integers, steps, operations, elements, and / But do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, elements, and / or groups thereof. As used herein, the term "and / or" includes any and all combinations of one or more of the listed listed items of association. Expressions such as "at least one of" precedes the list of elements, modifying the entire list of elements and not modifying the individual elements of the list. Furthermore, the use of "can" refers to "one or more embodiments of the inventive concept" when describing embodiments of the inventive concept. The term "exemplary" is also intended to refer to an example or instance.

요소 또는 계층이 다른 요소 또는 계층 "상에", "에 접속되는", "에 결합되는" 또는 "에 인접하는" 것으로 칭해지면, 그것이 직접적으로 다른 요소 또는 계층 상에 있거나, 접속되거나, 결합되거나, 또는 인접할 수 있거나, 또는 하나 이상의 개재 요소들 또는 계층들이 존재할 수 있다. 요소 또는 계층이 다른 요소 또는 계층에 "직접적으로 상에", "직접적으로 접속되는", "직접적으로 결합되는" 또는 "바로 인접하는" 것으로 칭해지면, 어떠한 개재 요소들 또는 층들도 존재하지 않는다.When an element or layer is referred to as being "on," "connected to," "coupled to," or "adjacent to" another element or layer, it is directly on another element or layer, , Or contiguous, or one or more intervening elements or layers may be present. When an element or layer is referred to as being "directly on," "directly connected to," "directly coupled to," or "directly adjacent" to another element or layer, there are no intervening elements or layers.

본원에서 사용되는 바와 같이, 용어 "실질적으로", "약" 및 유사한 용어들은 근사의 용어들로서 사용되고 정도의 용어들로서 사용되지 않으며, 당업자에 의해 인정될 측정 또는 계산된 값들에 내재하는 변화들에 대해 말하는 것으로 의도된다.As used herein, the terms " substantially ", "about" and similar terms are used herein as approximate terms and are not to be taken as severity of terms and should not be construed as limiting the scope of the present invention to variations inherent in measured or calculated values It is intended to speak.

본원에서 사용되는 바와 같이, 용어들 "사용한다", "사용하는" 및 "사용되는"은 각각 용어들 "활용하다", "활용하는" 및 "활용되는"과 동의어로 간주될 수 있다.As used herein, the terms "use", "use of" and "used" may be considered synonymous with the terms "utilizing," "utilizing" and "utilizing".

또한, 본원에서 언급되는 임의의 수의 범위는 언급된 범위 내에 포함되는 동일한 수의 정확도의 모든 하위 범위들을 포함하도록 의도된다. 예를 들어, "1.0 내지 10.0"의 범위는 1.0의 언급된 최소 값 및 10.0의 언급된 최대 값 사이(및 포함하는)의, 즉 1.0과 같거나 더 큰 최소 값 및 10.0과 같거나 더 작은 최대 값을 가지는 모든 하위 범위들, 예를 들어 2.4 내지 7.6을 포함하도록 의도된다. 본원에서 언급되는 임의의 최대의 수의 제한은 이 안에 포함되는 모든 더 낮은 수의 제한들을 포함하도록 의도되고 본 명세서에서 언급되는 임의의 최소의 수의 제한은 이 안에 포함되는 모든 더 높은 수의 제한들을 포함하도록 의도된다. 따라서, 출원인은 본원에서 명백하게 언급된 범위들 내에 포함되는 임의의 하위 범위를 명백하게 언급하기 위해 청구항들을 포함하여 본 명세서를 수정할 권한을 보유한다.Also, any number of ranges referred to herein are intended to include all subranges of the same number of degrees of accuracy that are included within the stated ranges. For example, a range of "1.0 to 10.0" may be defined as being between a stated minimum value of 1.0 and a stated maximum value of 10.0 (and inclusive), i.e. a minimum value equal to or greater than 1.0 and a maximum Values, for example, 2.4 to 7.6, inclusive. Any maximum number of limitations recited herein is intended to encompass all the lower number limitations encompassed therein, and any minimum number limitations referred to herein may be applied to all higher number limitations . Accordingly, applicants reserve the right to modify this specification including the claims, to explicitly state any subranges included within the scope explicitly recited herein.

본원에서 기술되는 본 발명의 실시예들에 따른 디스플레이 장치 및/또는 임의의 다른 관련 디바이스들 또는 구성요소들은 임의의 적절한 하드웨어, 펌웨어(예를 들어, 주문형 반도체), 소프트웨어 또는 소프트웨어, 펌웨어 및 하드웨어의 적절한 결합을 활용하여 구현될 수 있다. 예를 들어, 디스플레이 장치의 다양한 구성요소들은 하나의 집적 회로(integrated circuit; IC) 칩 상에 또는 별개의 IC 칩들 상에 형성될 수 있다. 더욱이, 디스플레이 장치의 다양한 구성요소들은 플렉서블 인쇄 회로 필름(flexible printed circuit film), 테이프 캐리어 패키지(tape carrier package; TCP), 인쇄 회로 기판(printed circuit board; PCB) 상에 구현되거나 또는 디스플레이 장치와 동일한 기판 상에 형성될 수 있다. 더욱이, 디스플레이 장치의 다양한 구성요소들은 하나 이상의 컴퓨팅 디바이스들에서 본원에서 기술된 다양한 기능들을 수행하기 위해 컴퓨터 프로그램 명령들을 실행하고 다른 시스템 구성요소들과 상호 작용하는 하나 이상의 프로세서들 상에서 작동하는 프로세스 또는 스레드(thread)일 수 있다. 컴퓨터 프로그램 명령들은 예를 들어, 랜덤 액세스 메모리(random access memory; RAM)과 같은 표준 메모리 디바이스를 사용하여 컴퓨팅 디바이스 내에서 구현될 수 있는 메모리 내에 저장된다. 컴퓨터 프로그램 명령들은 또한 예를 들어, CD-ROM. 플래시 드라이브 등과 같은 다른 비일시적 컴퓨터 판독 가능 매체 내에 저장될 수 있다. 또한, 당업자는 본 발명의 예시 실시예들의 범위를 벗어나지 않고 다양한 컴퓨팅 디바이스들의 기능이 결합되거나 단일 컴퓨팅 디바이스로 통합될 수 있거나, 특정한 컴퓨팅 디바이스의 기능이 하나 이상의 다른 컴퓨팅 디바이스들에 걸쳐 분산될 수 있음을 인정해야만 한다.The display device and / or any other related devices or components in accordance with embodiments of the invention described herein may be implemented in any suitable hardware, firmware (e.g., on-demand semiconductor), software or software, firmware and hardware May be implemented utilizing appropriate coupling. For example, the various components of the display device may be formed on one integrated circuit (IC) chip or on separate IC chips. Moreover, the various components of the display device may be implemented on a flexible printed circuit film, a tape carrier package (TCP), a printed circuit board (PCB) May be formed on the substrate. Moreover, the various components of the display device may be implemented as a process or thread that operates on one or more processors that execute computer program instructions and interact with other system components to perform the various functions described herein in one or more computing devices lt; / RTI > thread. Computer program instructions are stored in a memory that can be implemented within a computing device using a standard memory device, such as, for example, random access memory (RAM). The computer program instructions may also be, for example, a CD-ROM. Flash drive, and the like. Also, those skilled in the art will appreciate that the functionality of various computing devices may be combined or integrated into a single computing device without departing from the scope of the exemplary embodiments of the present invention, or the functionality of a particular computing device may be distributed across one or more other computing devices .

본 명세서가 현재 본 발명의 실제적인 예시 실시예인 것으로 고려되는 것과 관련하여 기술되었을지라도, 본 발명은 이 개시된 실시예들로 제한되지 않고, 반대로 첨부된 청구항들 및 이들의 등가물들의 사상 및 범위 내에 포함되는 다양한 적절한 수정들 및 등가의 배열들을 포괄하도록 의도되는 것이 이해되어야 한다.Although the present disclosure has been described in connection with what is presently considered to be an actual exemplary embodiment of the invention, it is to be understood that the invention is not limited to the disclosed embodiments, but on the contrary, is intended to fall within the spirit and scope of the appended claims and their equivalents It is to be understood that the invention is intended to cover various appropriate modifications and equivalent arrangements.

Claims (20)

터치 입력에 시각적 피드백을 제공하는 방법으로서,
디스플레이에 결합되는 터치 센서로부터 복수의 터치 사건들을 수신하는 단계;
상기 복수의 터치 사건들에 기초하여 오버레이 세그먼트(overlay segment)를 생성하는 단계;
비디오 프레임을 수신하는 단계;
합성 비디오 프레임을 생성하기 위해 상기 터치 사건들에 따라 상기 비디오 프레임을 상기 오버레이 세그먼트와 결합하는 단계; 및
상기 합성 비디오 프레임을 상기 디스플레이에 공급하는 단계
를 포함하는 방법.
CLAIMS 1. A method for providing visual feedback to a touch input,
The method comprising: receiving a plurality of touch events from a touch sensor coupled to a display;
Generating an overlay segment based on the plurality of touch events;
Receiving a video frame;
Combining the video frame with the overlay segment according to the touch events to generate a composite video frame; And
Providing the composite video frame to the display
≪ / RTI >
제 1 항에 있어서,
상기 비디오 프레임은 디스플레이된 라인을 포함하고, 그리고
상기 오버레이 세그먼트의 특성들은 상기 디스플레이된 라인의 특성들과 정합하는 방법.
The method according to claim 1,
Wherein the video frame comprises a displayed line, and
Wherein properties of the overlay segment match properties of the displayed line.
제 1 항에 있어서,
상기 오버레이 세그먼트를 생성하는 단계는:
상기 터치 사건들의 장소들에 기초하여 추정 터치 경로를 계산하는 단계;
상기 추정 터치 경로에 대응하는 상기 비디오 프레임들의 유효 영역을 결정하는 단계;
상기 비디오 프레임들의 연속 프레임들에서의 차들을 결정하기 위해 상기 유효 영역에 대응하는 상기 비디오 프레임들의 부분들을 비교하는 단계;
상기 차들을 메모리 버퍼(memory buffer) 내에 저장하는 단계; 및
상기 저장되는 차들에 기초하여 상기 오버레이 세그먼트를 생성하는 단계를 포함하고, 상기 오버레이 세그먼트는 상기 저장되는 차들의 특성들과 정합하는 방법.
The method according to claim 1,
Wherein generating the overlay segment comprises:
Calculating an estimated touch path based on locations of the touch events;
Determining a valid region of the video frames corresponding to the estimated touch path;
Comparing portions of the video frames corresponding to the valid region to determine differences in successive frames of the video frames;
Storing the differences in a memory buffer; And
And generating the overlay segment based on the stored cars, wherein the overlay segment matches the properties of the stored cars.
제 3 항에 있어서,
상기 저장되는 차들에 기초하여 상기 오버레이 세그먼트를 생성하는 단계는 상기 오버레이 세그먼트에 상기 저장되는 차들의 픽셀들의 상대 속성(relative property)들을 유지하는 단계를 포함하는 방법.
The method of claim 3,
Wherein generating the overlay segment based on the stored cars comprises maintaining relative properties of the pixels of the stored cars in the overlay segment.
제 3 항에 있어서,
상기 상대 속성들은 상기 추정 터치 경로를 따른 국지의 이동축들까지의 거리, 상기 픽셀들 사이의 공간 분리들 및 상기 픽셀들 사이의 컬러 그래디언트(color gradient)들을 포함하는 방법.
The method of claim 3,
Wherein the relative properties include a distance to local motion axes along the estimated touch path, spatial separations between the pixels, and color gradients between the pixels.
제 3 항에 있어서,
상기 저장되는 차들에 기초하여 오버레이 세그먼트를 생성하는 단계는 애플리케이션 프로세서에 의해 유입되는 지연에 대응하여 상기 저장되는 차들의 픽셀들을 상기 추정 터치 경로를 따른 장소들로 시프트(shift)하는 단계를 포함하는 방법.
The method of claim 3,
Wherein generating an overlay segment based on the stored cars comprises shifting pixels of the stored cars to locations along the estimated touch path in response to a delay introduced by an application processor .
제 3 항에 있어서,
상기 추정 터치 경로는 고정된 수의 프레임들에 대응하는 터치 사건들의 하위세트에 기초하여 계산되고, 그리고
상기 고정된 수의 프레임들은 애플리케이션 프로세서에 의해 유입되는 지연에 대응하는 방법.
The method of claim 3,
The estimated touch path is calculated based on a subset of touch events corresponding to a fixed number of frames, and
Wherein the fixed number of frames corresponds to a delay introduced by the application processor.
제 1 항에 있어서,
상기 터치 사건들에 따라 상기 비디오 프레임을 상기 오버레이 세그먼트와 결합하는 단계는:
상기 터치 사건들에 기초하여 마스크(mask)를 생성하는 단계를 포함하고, 상기 마스크는 수치 값들의 매트릭스를 포함하고, 상기 수치 값들의 각각은 상기 합성 비디오 프레임을 제작하기 위한 동작을 식별하고,
상기 매트릭스 내의 수치 값들의 위치들은 상기 합성 비디오 프레임 내의 픽셀들의 위치들에 대응하는 방법.
The method according to claim 1,
Wherein combining the video frame with the overlay segment in accordance with the touch events comprises:
And generating a mask based on the touch events, wherein the mask comprises a matrix of numerical values, each of the numerical values identifying an operation for producing the composite video frame,
Wherein positions of numerical values in the matrix correspond to positions of pixels in the composite video frame.
제 8 항에 있어서,
상기 합성 비디오 프레임 내의 각 픽셀 별로, 상기 마스크 내의 대응하는 위치에 있는 값에 따라 상기 오버레이 세그먼트 또는 상기 비디오 프레임의 대응하는 픽셀을 출력할지를 결정하는 단계를 더 포함하는 방법.
9. The method of claim 8,
Further comprising determining for each pixel in the composite video frame whether to output the overlay segment or a corresponding pixel of the video frame according to a value at a corresponding location in the mask.
제 8 항에 있어서,
상기 마스크의 수치 값들의 각각은 상기 합성 비디오 프레임 내의 하나의 픽셀에 대응하거나 또는 상기 합성 비디오 프레임 내의 하나를 초과하는 픽셀들에 대응하는 방법.
9. The method of claim 8,
Wherein each of the numerical values of the mask corresponds to one pixel in the composite video frame or to more than one pixel in the composite video frame.
제 1 항에 있어서,
상기 터치 사건들은 포인팅 도구(pointing implement) 및 터치 센서 사이의 상호 작용의 결과로서 발생되는 방법.
The method according to claim 1,
Wherein the touch events are generated as a result of an interaction between a pointing implement and a touch sensor.
터치 입력에 시각적 피드백을 제공하는 가속기로서,
프로세서; 및
내부에 저장되는 명령들을 가지는 메모리를 포함하고, 상기 명령들은 상기 프로세서에 의해 실행될 때, 상기 프로세서로 하여금:
디스플레이에 결합되는 터치 센서로부터 복수의 터치 사건들을 수신하고;
상기 복수의 터치 사건들에 기초하여 오버레이 세그먼트를 생성하고;
비디오 프레임을 수신하고;
합성 비디오 프레임을 생성하기 위해 상기 터치 사건들에 따라 상기 비디오 프레임을 상기 오버레이 세그먼트와 결합하고; 그리고
상기 합성 비디오 프레임을 상기 디스플레이에 공급하는 것을 수행하도록 하는 가속기.
An accelerator for providing visual feedback to a touch input,
A processor; And
A memory having instructions stored therein, the instructions, when executed by the processor, cause the processor to:
Receiving a plurality of touch events from a touch sensor coupled to the display;
Generate an overlay segment based on the plurality of touch events;
Receiving a video frame;
Combine the video frame with the overlay segment according to the touch events to generate a composite video frame; And
And to provide the composite video frame to the display.
제 12 항에 있어서,
상기 오버레이 세그먼트를 생성하는 것은:
상기 터치 사건들의 장소들에 기초하여 추정 터치 경로를 계산하고;
상기 추정 터치 경로에 대응하는 상기 비디오 프레임들의 유효 영역을 결정하고;
상기 비디오 프레임들의 연속 프레임들에서의 차들을 결정하기 위해 상기 유효 영역에 대응하는 상기 비디오 프레임들의 부분들을 비교하고;
상기 차들을 메모리 버퍼 내에 저장하고; 그리고
상기 저장되는 차들에 기초하여 상기 오버레이 세그먼트를 생성하는 것을 포함하고, 상기 오버레이 세그먼트는 상기 저장되는 차들의 특성들과 정합하는 가속기.
13. The method of claim 12,
Creating the overlay segment comprises:
Calculate an estimated touch path based on locations of the touch events;
Determine a valid region of the video frames corresponding to the estimated touch path;
Compare portions of the video frames corresponding to the valid region to determine differences in successive frames of the video frames;
Store the differences in a memory buffer; And
And generating the overlay segment based on the stored cars, wherein the overlay segment matches the properties of the stored cars.
제 13 항에 있어서,
상기 저장되는 차들에 기초하여 상기 오버레이 세그먼트를 생성하는 것은 상기 오버레이 세그먼트에 상기 저장되는 차들의 픽셀들의 상대 속성들을 유지하는 것을 포함하고, 그리고
상기 상대 속성들은 상기 추정 터치 경로를 따른 국지의 이동축들까지의 거리들, 상기 픽셀들 사이의 공간 분리들 및 상기 픽셀들 사이의 컬러 그래디언트들을 포함하는 가속기.
14. The method of claim 13,
Generating the overlay segment based on the stored cars comprises maintaining relative attributes of the pixels of the stored cars in the overlay segment,
Wherein the relative properties include distances to local motion axes along the estimated touch path, spatial separations between the pixels, and color gradients between the pixels.
제 13 항에 있어서,
상기 저장된 차들에 기초하여 상기 오버레이 세그먼트를 생성하는 것은 애플리케이션 프로세서에 의해 유입되는 지연에 대응하여 상기 저장된 차들의 픽셀들을 상기 추정 터치 경로에 따른 장소들로 시프트하는 것을 포함하는 가속기.
14. The method of claim 13,
Wherein generating the overlay segment based on the stored cars comprises shifting pixels of the stored cars to locations along the estimated touch path in response to a delay introduced by the application processor.
제 13 항에 있어서,
상기 추정 터치 경로는 고정된 수의 프레임들에 대응하는 상기 터치 사건들의 하위세트에 기초하여 계산되고, 그리고
상기 고정된 수의 프레임들은 애플리케이션 프로세서에 의해 유입되는 지연에 대응하는 가속기.
14. The method of claim 13,
The estimated touch path is calculated based on a subset of the touch events corresponding to a fixed number of frames, and
Wherein the fixed number of frames corresponds to a delay introduced by the application processor.
제 12 항에 있어서,
상기 터치 사건들에 따라 상기 비디오 프레임을 상기 오버레이 세그먼트와 결합하는 것은:
상기 터치 사건들에 기초하여 마스크를 생성하는 것을 포함하고, 상기 마스크는 수치 값들의 매트릭스를 포함하고, 상기 수치 값들의 각각은 상기 합성 비디오 프레임을 제작하기 위한 동작을 식별하고,
상기 매트릭스 내의 상기 수치 값들의 위치들은 상기 합성 비디오 프레임 내의 픽셀들의 위치들에 대응하는 가속기.
13. The method of claim 12,
Combining the video frame with the overlay segment according to the touch events comprises:
And generating a mask based on the touch events, wherein the mask comprises a matrix of numerical values, each of the numerical values identifying an operation for producing the composite video frame,
Wherein positions of the numerical values in the matrix correspond to positions of pixels in the composite video frame.
제 17 항에 있어서,
상기 합성 비디오 프레임 내의 각 픽셀 별로, 상기 마스크 내의 대응하는 위치에 있는 값에 따라 상기 오버레이 세그먼트 또는 상기 비디오 프레임의 대응하는 픽셀을 출력할지를 결정하는 것을 더 포함하는 가속기.
18. The method of claim 17,
Further comprising, for each pixel in the composite video frame, determining whether to output the overlay segment or a corresponding pixel of the video frame according to a value at a corresponding location in the mask.
터치 입력에 시각적 피드백을 제공하는 터치 입력 프로세싱 디바이스로서,
비디오 프레임들을 디스플레이하도록 구성되는 디스플레이;
터치 센서로서, 상기 디스플레이에 결합되고 포인팅 도구 및 상기 터치 센서 사이의 상호 작용의 결과로서 복수의 터치 사건들을 발생시키도록 구성되는, 상기 터치 센서;
프로세서; 및
내부에 저장되는 명령들을 가지는 메모리를 포함하고, 상기 명령들은 상기 프로세서에 의해 실행될 때, 상기 프로세서로 하여금:
상기 터치 센서로부터 복수의 터치 사건들을 수신하고;
상기 복수의 터치 사건들에 기초하여 오버레이 세그먼트를 생성하고;
상기 비디오 프레임들의 비디오 프레임을 수신하고;
합성 비디오 프레임을 생성하기 위해 상기 터치 사건들에 따라 상기 비디오 프레임을 상기 오버레이 세그먼트와 결합하고; 그리고
상기 합성 비디오 프레임을 상기 디스플레이에 공급하는 것을 수행하도록 하는 터치 입력 프로세싱 디바이스.
A touch input processing device for providing visual feedback to a touch input,
A display configured to display video frames;
A touch sensor coupled to the display and configured to generate a plurality of touch events as a result of interaction between the pointing tool and the touch sensor;
A processor; And
A memory having instructions stored therein, the instructions, when executed by the processor, cause the processor to:
Receive a plurality of touch events from the touch sensor;
Generate an overlay segment based on the plurality of touch events;
Receiving a video frame of the video frames;
Combine the video frame with the overlay segment according to the touch events to generate a composite video frame; And
And to provide the composite video frame to the display.
제 19 항에 있어서,
상기 실행되는 명령들은 부가적으로 상기 프로세서로 하여금 상기 터치 감응 디스플레이 디바이스 외부에 있는 애플리케이션 프로세서로부터 상기 비디오 프레임들의 비디오 프레임을 수신하는 것을 수행하도록 하는 터치 입력 프로세싱 디바이스.
20. The method of claim 19,
Wherein the executed instructions additionally cause the processor to perform receiving a video frame of the video frames from an application processor external to the touch sensitive display device.
KR1020150094199A 2014-07-01 2015-07-01 Accelerator for providing visual feedback to touch input, touch input processing device and method for providing visual feedback to touch input KR102161745B1 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201462019835P 2014-07-01 2014-07-01
US62/019,835 2014-07-01
US14/749,437 2015-06-24
US14/749,437 US9697803B2 (en) 2014-03-26 2015-06-24 Method and apparatus to reduce display latency of touch events using image replications

Publications (2)

Publication Number Publication Date
KR20160004217A true KR20160004217A (en) 2016-01-12
KR102161745B1 KR102161745B1 (en) 2020-10-06

Family

ID=55170154

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150094199A KR102161745B1 (en) 2014-07-01 2015-07-01 Accelerator for providing visual feedback to touch input, touch input processing device and method for providing visual feedback to touch input

Country Status (1)

Country Link
KR (1) KR102161745B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180097072A (en) * 2017-02-22 2018-08-30 서경대학교 산학협력단 Touch position processing apparatus and display module with the same
WO2020222380A1 (en) * 2019-04-30 2020-11-05 서경대학교 산학협력단 Touch processing device and display device comprising same

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10488981B2 (en) * 2014-11-26 2019-11-26 Samsung Display Co., Ltd. System and method of measuring continuous touch controller latency
KR20230131020A (en) * 2022-03-04 2023-09-12 삼성전자주식회사 Electronic apparatus and control method thereof

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100277429A1 (en) * 2009-04-30 2010-11-04 Day Shawn P Operating a touch screen control system according to a plurality of rule sets
KR20110123257A (en) * 2009-02-11 2011-11-14 스마트 테크놀러지스 유엘씨 Touch pointers disambiguation by active display feedback
KR20110130474A (en) * 2009-03-12 2011-12-05 임머숀 코퍼레이션 Systems and methods for friction displays and additional haptic effects
US20120105081A1 (en) * 2010-11-02 2012-05-03 Qrg Limited Capacitive sensor, device and method
US20130093725A1 (en) * 2005-11-15 2013-04-18 Synaptics Incorporated Methods and systems for detecting a position-based attribute of an object using digital codes
KR20140021815A (en) * 2012-08-08 2014-02-21 엘지디스플레이 주식회사 Display device with touch screen and method for driving the same

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130093725A1 (en) * 2005-11-15 2013-04-18 Synaptics Incorporated Methods and systems for detecting a position-based attribute of an object using digital codes
KR20110123257A (en) * 2009-02-11 2011-11-14 스마트 테크놀러지스 유엘씨 Touch pointers disambiguation by active display feedback
KR20110130474A (en) * 2009-03-12 2011-12-05 임머숀 코퍼레이션 Systems and methods for friction displays and additional haptic effects
US20100277429A1 (en) * 2009-04-30 2010-11-04 Day Shawn P Operating a touch screen control system according to a plurality of rule sets
US20120105081A1 (en) * 2010-11-02 2012-05-03 Qrg Limited Capacitive sensor, device and method
KR20140021815A (en) * 2012-08-08 2014-02-21 엘지디스플레이 주식회사 Display device with touch screen and method for driving the same

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180097072A (en) * 2017-02-22 2018-08-30 서경대학교 산학협력단 Touch position processing apparatus and display module with the same
WO2020222380A1 (en) * 2019-04-30 2020-11-05 서경대학교 산학협력단 Touch processing device and display device comprising same

Also Published As

Publication number Publication date
KR102161745B1 (en) 2020-10-06

Similar Documents

Publication Publication Date Title
US9697803B2 (en) Method and apparatus to reduce display latency of touch events using image replications
US10761610B2 (en) Vehicle systems and methods for interaction detection
CN104111793B (en) system, method and apparatus for reducing display lag using image overlay
US9477324B2 (en) Gesture processing
KR102199357B1 (en) Method and system to reduce latency of touch events
KR102240294B1 (en) System generating display overlay parameters utilizing touch inputs and method thereof
US10152154B2 (en) 3D interaction method and display device
KR102161745B1 (en) Accelerator for providing visual feedback to touch input, touch input processing device and method for providing visual feedback to touch input
KR102304891B1 (en) Method and system for generating mask overlay for display panel corresponding to touch path
JP2008009759A (en) Touch panel device
US11054896B1 (en) Displaying virtual interaction objects to a user on a reference plane
EP3103005A1 (en) Predictive input system for touch and touchless displays
KR20130098837A (en) Method and apparatus for correcting gesture on space recognition based on vector
KR102224932B1 (en) Apparatus for processing user input using vision sensor and method thereof
KR101338958B1 (en) system and method for moving virtual object tridimentionally in multi touchable terminal
US20200160600A1 (en) Methods, Apparatus, Systems, Computer Programs for Enabling Consumption of Virtual Content for Mediated Reality
US9489077B2 (en) Optical touch panel system, optical sensing module, and operation method thereof
KR20150129419A (en) User input device and metheod thereof
KR102315890B1 (en) Display device and electronic including the same
US9274642B2 (en) Acceleration-based interaction for multi-pointer indirect input devices
JP2015203955A (en) Drawing control device by digitizer pen, drawing control method and drawing control program
US10558270B2 (en) Method for determining non-contact gesture and device for the same
WO2017183194A1 (en) Display control device
EP3059664A1 (en) A method for controlling a device by gestures and a system for controlling a device by gestures
KR20150083159A (en) Multiple view display apparatus using head mounted display

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