KR102284474B1 - 디스플레이용 오버드라이브 프레임을 생성하는 방법 및 장치 - Google Patents

디스플레이용 오버드라이브 프레임을 생성하는 방법 및 장치 Download PDF

Info

Publication number
KR102284474B1
KR102284474B1 KR1020150015885A KR20150015885A KR102284474B1 KR 102284474 B1 KR102284474 B1 KR 102284474B1 KR 1020150015885 A KR1020150015885 A KR 1020150015885A KR 20150015885 A KR20150015885 A KR 20150015885A KR 102284474 B1 KR102284474 B1 KR 102284474B1
Authority
KR
South Korea
Prior art keywords
region
frame
regions
input frame
displayed
Prior art date
Application number
KR1020150015885A
Other languages
English (en)
Other versions
KR20150093592A (ko
Inventor
다렌 크록스포드
Original Assignee
에이알엠 리미티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 에이알엠 리미티드 filed Critical 에이알엠 리미티드
Publication of KR20150093592A publication Critical patent/KR20150093592A/ko
Application granted granted Critical
Publication of KR102284474B1 publication Critical patent/KR102284474B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/14Picture signal circuitry for video frequency region
    • H04N5/20Circuitry for controlling amplitude response
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G3/00Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes
    • G09G3/20Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters
    • G09G3/2003Display of colours
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G3/00Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes
    • G09G3/20Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters
    • G09G3/34Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters by control of light from an independent source
    • G09G3/36Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters by control of light from an independent source using liquid crystals
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G3/00Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes
    • G09G3/20Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters
    • G09G3/34Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters by control of light from an independent source
    • G09G3/36Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters by control of light from an independent source using liquid crystals
    • G09G3/3611Control of matrices with row and column drivers
    • G09G3/3696Generation of voltages supplied to electrode drivers
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G3/00Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes
    • G09G3/20Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G3/00Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes
    • G09G3/20Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters
    • G09G3/2007Display of intermediate tones
    • G09G3/2018Display of intermediate tones by time modulation using two or more time intervals
    • G09G3/2022Display of intermediate tones by time modulation using two or more time intervals using sub-frames
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G3/00Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes
    • G09G3/20Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters
    • G09G3/22Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters using controlled light sources
    • G09G3/30Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters using controlled light sources using electroluminescent panels
    • G09G3/32Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters using controlled light sources using electroluminescent panels semiconductive, e.g. using light-emitting diodes [LED]
    • G09G3/3208Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters using controlled light sources using electroluminescent panels semiconductive, e.g. using light-emitting diodes [LED] organic, e.g. using organic light-emitting diodes [OLED]
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/10Intensity circuits
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/363Graphics controllers
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • G09G5/395Arrangements specially adapted for transferring the contents of the bit-mapped memory to the screen
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/44Receiver circuitry for the reception of television signals according to analogue transmission standards
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2310/00Command of the display device
    • G09G2310/06Details of flat display driving waveforms
    • G09G2310/061Details of flat display driving waveforms for resetting or blanking
    • G09G2310/063Waveforms for resetting the whole screen at once
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2320/00Control of display operating conditions
    • G09G2320/02Improving the quality of display appearance
    • G09G2320/0252Improving the response speed
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2320/00Control of display operating conditions
    • G09G2320/02Improving the quality of display appearance
    • G09G2320/0285Improving the quality of display appearance using tables for spatial correction of display data
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2320/00Control of display operating conditions
    • G09G2320/10Special adaptations of display systems for operation with variable images
    • G09G2320/103Detection of image changes, e.g. determination of an index representative of the image change
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/16Determination of a pixel data signal depending on the signal applied in the previous frame

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Chemical & Material Sciences (AREA)
  • Crystallography & Structural Chemistry (AREA)
  • Computer Graphics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Control Of Indicators Other Than Cathode Ray Tubes (AREA)
  • Liquid Crystal Display Device Control (AREA)

Abstract

디스플레이용 오버드라이브 프레임을 생성하는 방법 및 장치가 제공된다. 오버드라이버 엔진(50)은 표시될 입력 프레임(51)으로부터 디스플레이(53)를 구동하기 위해 사용되는 출력 프레임(52)을 생성한다. 각 출력 프레임(52)은 입력 프레임(51)의 대응하는 영역(57)으로부터 영역 단위로 생성된다. 입력 프레임 영역(57)이 입력 프레임의 이전 버전(들) 이후로 상당히 변경되었다고 판정되면, 입력 프레임 영역(57)의 오버드라이브된 버전이 출력 프레임(52)에서의 대응하는 영역(58)으로서 사용하기 위해서 생성된다. 한편, 입력 프레임 영역(57)이 입력 프레임의 이전 버전 이후로 변경되지 않았다고 판정되면, 신규 입력 프레임 영역이 출력 프레임(52)에서의 대응하는 영역(58)에 대해서 어떤 형태의 오버드라이브 프로세스도 수행하는 일없이 사용된다.

Description

디스플레이용 오버드라이브 프레임을 생성하는 방법 및 장치{METHOD OF AND APPARATUS FOR GENERATING AN OVERDRIVE FRAME FOR A DISPLAY}
본 발명은 디스플레이를 "오버드라이빙"할 때 사용하기 위한 오버드라이브 프레임을 생성하는 방법 및 장치에 관한 것이다.
이동 전화 등, 전자기기와, 일반적으로 데이터 처리 시스템은 LCD 패널 등의 몇몇 형태의 전자 디스플레이 화면을 포함하는 것이 일반적이다. 디스플레이 상에 출력을 표시하기 위해서, 디스플레이의 화소(픽처 소자(picture elements))가 적절한 컬러값으로 설정되어야 한다. 이것은 통상적으로 각 화소 또는 서브 화소에 대해서, 표시될 컬러값을 나타내는 표시될 출력 프레임을 생생함으로써 행해진다. LCD 패널의 경우에는, 예를 들면, 출력 프레임 컬러값들을 이용해서 디스플레이의 화소 및/또는 서브 화소에 적용될 드라이브 전압 값을 얻음으로써 원하는 컬러를 표시할 것이다.
LCD 디스플레이는 예를 들면 비교적 느린 응답 시간을 갖는 것으로 알려져 있다. 이것은 예를 들면 빠르게 변화하거나 이동하는 컨텐트를 표시할 때 모션 블러(motion blur) 등, 원하지 않는 인공물로 이어질 수 있다.
따라서, 다양한 기술은 LCD(OLED 등 다른 것)의 응답 시간을 개선하려고 개발되어 왔다. 그러한 하나의 기술은 "오버드라이브"라고 칭한다. 오버드라이브는 원하는 컬러 쪽으로 디스플레이 화소의 천이 속도를 높이기 위해서, 원하는 컬러에 실제로 필요한 것과 다른 디스플레이 화소 및/또는 서브 화소에 드라이브 전압을 적용하는 것을 포함한다. 그러면, 화소들 및/또는 서브 화소들이 "참인(true)" 원하는 색에 접근함에 따라, 드라이브 전압이 (원하는 컬러의 "오버샷(overshoot)"을 피하기 위해서) 원하는 컬러에 대한 실제의 필요한 레벨로 설정된다. (이것은 LCD 디스플레이에서의 액정이 그들의 신규 방향을 향해 움직이기 시작하는 것이 느리지만, 빠르게 정지시키는 특성을 이용하므로, 비교적 "승압된" 전압을 적용하면 초기에 액정의 초기 이동이 가속화할 것이다.)
오버드라이브에 사용된 다른 용어는 RTC(Response Time Compensation) 및 DCC(Dynamic Capacitance Compensation)을 포함한다. 편의상 여기에서는 오버드라이브라는 용어를 사용하지만, 이것은 모든 동일한 용어 및 기술을 포함 및 망라한다는 것을 알 수 있을 것이다.
오버드라이브 동작을 행하기 위해서, 표시용 디스플레이에 전해지는 프레임(화소값)인 (디스플레이의 화소 및/또는 서브 화소에 적용할 드라이브 전압을 판정하기 위해 사용되는) 출력 "오버드라이브" 프레임이 얻어진다. 출력, 오버드라이브 프레임 화소값은 표시될 다음 프레임(신규 프레임)용 화소값과 이전에 표시된 프레임(또는 사용되고 있는 실제의 오버드라이브 프로세스에 의존하고 있는, 이전에 표시된 한 개의 이상의 프레임)용 화소값에 근거한다. 오버드라이브 프레임 화소값 그들 자체는, 예를 들면, 신규 및 이전 프레임(들) 화소 또는 서브 화소 값들을 이용하는 계산 또는 알고리즘에 의해, 또는 당업계에 알려진 것처럼, 소정의 신규 및 이전 프레임(들) 화소 및/또는 서브 화소 값에 대한 오버드라이브 화소값의 룩업 테이블 또는 테이블들을 이용함으로써 판정될 수 있다.
도 1 및 도 2는 오버드라이브 동작을 나타낸다. 도 1은 오버드라이브가 사용되지 않을 때 프레임들이 표시됨에 따라 표시될 한 세트의 입력 프레임(10) 및 그에 대응하는 프레임(11)을 나타낸다. 도 1에 나타낸 예에서 볼 수 있는 것처럼, 시퀀스에 있어서의 제2 프레임(프레임 2)의 경우에는, 오버드라이브를 이용하지 않는 표시된 프레임은 신규 입력 프레임의 컬러값으로 천이하는 LCD 디스플레이에 있어서의 지연에 의한 의도된 입력 프레임보다 더 밝을 것이다.
도 2는 오버드라이브가 사용되는 상황을 나타낸다. 한번 더, 한 세트의 입력 프레임(10)이 있지만, 이 경우에 이들 입력 프레임을 이용해서 표시용 디스플레이에 실제로 전해지는 프레임인, 한 세트의 오버드라이브 프레임(20)을 산출한다. 도 2에 나타낸 바와 같이, 프레임 2에 대한 오버드라이브 프레임은 실제로 원하는 입력 프레임보다 어둡지만, 필요한 컬러로 좀더 빠르게 천이하는 (즉, 입력 프레임에 대응하는) 프레임 21에서의 표시된 화소가 된다.
도 3은 표시용 디스플레이에 제공하기 위한 오버드라이브된 프레임을 생성하는 오버드라이브 엔진(31)을 포함하는 예시적인 데이터 처리 시스템(30)을 나타낸다.
도 3에 나타낸 것처럼, 데이터 처리 시스템은 인터커넥트(36)를 통해서 통신하는 CPU(central processing unit)(32), GPU(graphics processing unit)(33), 비디오 엔진(34), 오버드라이브 엔진(31), 및 디스플레이 컨트롤러(35)를 포함한다. CPU, GPU, 비디오 엔진, 오버드라이브 엔진 및 디스플레이 컨트롤러는 또한 메모리 컨트롤러(38)를 통해서 그 중에서 프레임을 저장하기 위한 오프 칩 메모리(37)에의 액세스를 갖는다.
GPU(33) 또는 비디오 엔진(34)은 예를 들면, 표시용 프레임을 생성할 것이다. 표시용 프레임은 오프 칩 메모리(37) 내의 프레임 버퍼 내에 메모리 컨트롤러(38)를 통해서 저장될 것이다.
프레임이 표시될 때는, 오버드라이브 엔진(31)이 오프 칩 메모리(37) 내의 프레임 버퍼로부터 프레임을 판독할 것이고, 한 개 이상의 이전에 표시된 프레임과 함께 그 프레임을 이용해서 오프 칩 메모리(37) 내에 저장할 오버드라이브 프레임을 계산한다. 디스플레이 컨트롤러(35)는 메모리 컨트롤러(38)를 통해서 오프 칩 메모리(37) 내의 오버드라이브 프레임 버퍼로부터 오버드라이브 프레임을 판독하고 그것을 표시용 디스플레이(미도시)에 전달할 것이다.
도 4는 오버드라이브 엔진(31)의 동작을 좀더 상세히 나타낸 것이다. 도 4에 도시한 바와 같이, 오버드라이브 엔진은 현재의 프레임(40) 및 한 개 이상의 이전 프레임(41)을 오프 칩 메모리(37) 내의 프레임 버퍼로부터 판독하고, 이들 프레임을 이용해서 오프 칩 메모리(37) 내의 오버드라이브 프레임 버퍼에 기록하는 오버드라이브 프레임(42)을 생성한다.
오버드라이브는 디스플레이의 응답 시간을 향상시킬 수 있지만, 본 출원인은 오버드라이브 프레임의 계산이 상당량의 전력 및 메모리 대역폭을 소모할 수 있다는 것을 인식했다. 예를 들면, 오버드라이브 프레임을 산출하기 위해서, 다음 및 이전 입력 프레임(들)이 페치(fetch) 및 분석되어야 하고, 그 다음 오버드라이브 프레임은 이용하기 위한 메모리에 다시 기록된다. 따라서, 소정의 프레임에 대해서 페치(디스플레이 컨트롤러 페치)될 720 MB/s 데이터를 필요로 하는, 예를 들면, 2048 × 1536 ×32 bpp ×60 fps 디스플레이에 대해서는, 이전 및 다음 입력 프레임들을 페치하고, 그들을 분석하며, 오버드라이브 프레임을 작성하는 것은 (신규 및 이전 프레임 페치 및 오버드라이브 프레임 기록으로 이루어지는) 추가 2.2 GB/s을 필요로 할 것이다.
본 출원인은 디스플레이용 오버드라이브 구성에 대한 개선의 여지가 남아 있다고 믿는다.
본 발명의 제1 국면에 의하면, 전자 디스플레이를 오버드라이브할 때 표시될 입력 프레임으로부터 표시용 전자 디스플레이에 제공하기 위한 출력 프레임을 생성하는 방법이 제공되고, 이 방법은,
상기 출력 프레임을 함께 형성하는 복수의 각각의 영역으로서 상기 전자 디스플레이에 제공될 상기 출력 프레임을 영역 단위로 생성하고, 상기 출력 프레임의 각자의 각각의 영역을, 상기 표시될 입력 프레임의 각각의 영역 또는 영역들로부터 생성하는 단계와,
상기 출력 프레임을 함께 형성하는 복수의 영역 중 2개 이상의 영역들에 대해서 및 영역 단위로,
상기 표시될 입력 프레임의 영역 또는 영역들이 상기 출력 프레임의 영역에 기여하는 기여 영역 또는 영역들인지를 판정하고,
디스플레이 상에 현재 표시되고 있는 출력 프레임 영역의 버전이 생성된 이후로 상기 표시될 입력 프레임의 기여 영역 또는 영역들이 변경되었는지 여부를 판정하며,
상기 디스플레이 상에 현재 표시되고 있는 출력 프레임 영역의 버전이 생성된 이후로 상기 표시될 입력 프레임의 기여 영역 또는 영역들이 변경되었다고 판정될 때, 상기 표시될 입력 프레임의 기여 영역 또는 영역들과 적어도 한 개의 이전 입력 프레임의 기여 영역 또는 영역들에 근거해 전자 디스플레이에 제공하기 위한 출력 프레임의 영역에 대한 오버드라이브된 영역을 생성하는 단계를 포함한다.
본 발명의 제2 국면에 의하면, 전자 디스플레이를 오버드라이브할 때 표시될 입력 프레임으로부터 표시용 전자 디스플레이에 제공하기 위한 출력 프레임을 생성하는 장치가 제공되고, 상기 장치는,
상기 출력 프레임을 함께 형성하는 복수의 각각의 영역으로서 표시용 전자 디스플레이에 제공될 출력 프레임을 영역 단위로 생성하고, 상기 출력 프레임의 각자의 각각의 영역을 상기 표시될 입력 프레임의 각각의 영역 또는 영역들로부터 생성하며,
상기 출력 프레임을 함께 형성하는 복수의 영역 중 2개 이상의 영역들에 대해서 및 영역 단위로:
상기 표시될 입력 프레임의 영역 또는 영역들이 상기 출력 프레임의 영역에 기여하는 기여 영역 또는 영역들인지를 판정하고;
디스플레이 상에 현재 표시되고 있는 출력 프레임 영역의 버전이 생성된 이후로 상기 표시될 입력 프레임의 기여 영역 또는 영역들이 변경되었는지 여부를 판정하며,
상기 디스플레이 상에 현재 표시되고 있는 출력 프레임 영역의 버전이 생성된 이후로 상기 표시될 입력 프레임의 기여 영역 또는 영역들이 변경되었다고 판정될 때, 상기 표시될 입력 프레임의 기여 영역 또는 영역들과 적어도 한 개의 이전 입력 프레임의 기여 영역 또는 영역들에 근거해 전자 디스플레이에 제공하기 위한 출력 프레임의 영역에 대한 오버드라이브된 영역을 생성하도록 구성된 처리 회로를 구비한다.
본 발명은 디스플레이를 오버드라이브할 때 사용하기 위한 출력 프레임이, 표시될 다음 입력 프레임의 각각의 영역으로부터 출력 프레임의 각각의 영역을 생성함으로써 생성되는 구성에 관한 것이다. 입력 프레임의 신규 버전이 표시될 때, 입력 프레임의 영역(들)이 출력 프레임의 각각의 영역 또는 영역(을 생성하기 위해 사용될 것이다)에 기여하는지 판정하고, 그 다음에 출력 프레임의 영역 또는 영역들을 마지막에 생성한 이후로 이들 입력 프레임의 기여 영역 또는 영역들이 변경되었는지(바람직한 실시예에 있어서는, 상당히 변경되었는지(아래에 추가로 더 설명하는 바와 같이)) 여부를 체크한다. 그 후에, 입력 프레임의 기여 영역 또는 영역들의 변화가 있었다고 판정되면, 출력면의 영역에 대한 오버드라이브된 영역이 (디스플레이가 프레임 영역에 대한 실제의 입력 프레임에 관하여 "오버드라이브"되도록) 디스플레이에 제공하기 위해 생성된다.
이와 같이, 표시될 다음 프레임에서 기여 영역(들)이 변경되었다고 판정되면, 출력 프레임 영역의 오버드라이브된 버전이 생성된다. 한편, 본 출원인은 기여 입력 프레임 영역(들)이 변경되지 않았다고(또는 적어도 상당히 변경되지 않았다고) 판정되면, 출력 프레임 영역이 입력 프레임 영역(들)을 오버드라이브할 필요없이 신규 입력 프레임의 기여 영역(들)으로부터 형성될 수 있어서(바람직하게는 형성되어), 이전 프레임(들) 영역(들)이 메모리로부터 판독될 필요가 없고 바람직하게는 판독되지 않고 분석됨으로써, 대역폭, 계산 및 전력 소모를 줄인다. 이것은 상당한 대역폭 및 전력 절약으로 연결될 수 있다.
이와 같이, 특히 바람직한 실시예에 있어서는, 본 발명은 상기 디스플레이 상에 현재 표시되고 있는 출력 프레임 영역의 버전이 생성된 이후로 상기 표시될 입력 프레임의 기여 영역 또는 영역들이 변경되지 않았다고 판정될 때, 상기 디스플레이 상에 제공하기 위한 출력 프레임의 영역에 대한 오버드라이브된 영역을 생성하지 않고 상기 디스플레이에 제공하기 위한 출력 프레임의 영역에 대하여 표시될 신규 입력 프레임의 기여 영역 또는 영역들을 이용하는 것을 포함한다.
본 출원인은 예를 들면 이동전화 등, 전자기기에 프레임이 표시되고 있는 많은 경우에 있어서는, 표시되고 있는 다수의 프레임이 연속적으로 표시된 프레임 사이에서 처럼 변경되지 않을 수도 있다는 것을 알았다. 이것은 표시되고 있는 프레임의 오버드라이브된 버전("오버드라이브" 프레임)을 생성하기 위해서 사용된 많은 대역폭 및 전력이 실제로 불필요하다는 것을 의미할 수 있다. 본 발명은 신규 프레임이 표시될 때 출력 프레임의 영역의 오버드라이브 버전이 생성되기 전에, 출력 프레임의 소정의 영역에 기여하는 표시될 다음 프레임의 영역(들)이 변경되었는지 여부를 판정함으로써 이것을 해결한다.
따라서, 본 발명은 표시 응답 시간을 개선하기 위해서 오버드라이브 기술을 이용하는 것을 이용하게 할 수 있고, 오버드라이브 동작에 필요한 전력 소모 및 대역폭을 잠재적으로 상당히 줄일 수 있다. 따라서, 이것은 예를 들면 이동전화 등, 휴대기기 및 낮은 전원공급에 오브드라이브 기술을 이용하는 것을 용이하게 한다.
출력 프레임은 디스플레이(를 구동하기 위해서 사용되는)에 제공되는 프레임이다. 상기로부터 알 수 있는 것처럼, 출력 프레임은 본 발명의 동작에 의존할 수 있고, 바람직한 실시예에 있어서는, 오버드라이브되지 않는 영역들 및 오버드라이브된(오버드라이브) 영역들 양쪽을 포함한다.
입력 프레임은 표시하기 원하는 (디스플레이 상에 나타나야 하는) 프레임이다.
출력 프레임을 생성하기 위해서 사용되는 표시될 입력 프레임은 표시될 어떤 적절한 원하는 프레임일 수 있다. 이 (각각의) 입력 프레임은 예를 들면 단 한 개의 "소스"면(프레임)으로부터 생성되거나, 혹은 출력 프레임을 생성하기 위해서 사용되는 입력 프레임은 복수의 서로 다른 소스면(프레임)을 합성함으로써 형성되는 프레임일 수 있다. 실제로, 하나의 바람직한 실시예에 있어서는, 본 발명은 합성 윈도우 시스템에 사용되므로, 출력 프레임을 생성하기 위해서 사용되는 입력 프레임은 바람직하게는 합성된 표시용 프레임(윈도우)이다.
표시될 입력 프레임이 1개 이상의 소스면(프레임)으로부터 합성(생성)되는 경우, 이것은 예를 들면 합성 윈도우 시스템에서 입력면을 섞거나 그렇지 않으면 결합함으로써 원하는 대로 행해질 수 있다. 이 프로세스는 또한 원한다면 입력면 또는 입력면들에 변환(스큐(skew), 회전, 스케일링 등)을 적용하는 것을 포함할 수 있다. 이 프로세스는 그래픽 프로세서, 합성 디스플레이 컨트롤러, 컴포지션(composition) 엔진, 비디오 엔진 등, 데이터 처리 시스템의 어떤 적절한 구성소자에 의해 행해질 수 있다.
표시되고 있는 프레임(및 그들의 소스면)은, 당업계에 알려진 바와 같이, 예를 들면, 그래픽 처리 시스템(그래픽 프로세서), 비디오 처리 시스템(비디오 프로세서), 윈도우 합성 시스템(윈도우 합성기) 등에 의해 적절히 렌더링되어 버퍼에 저장됨으로써 원하는 대로 생성될 수 있다. 이 프레임은, 당업계에 알려진 바와 같이, 예를 들면 게임, 데모, 그래픽 유저 인터페이스, 비디오 등일 수 있다.
본 발명은 특히 표시될 프레임의 연속이 생성되는(예를 들면, 동일하게 유지될 수 있거나 시간이 지나면서 달라질 수 있는(바람직한 실시예에 있어서는 이것이 그 경우인)) 구성에 적용가능하다는 것을 알 수 있을 것이다. 이와 같이, 본 발명은 표시될 입력 프레임의 연속을 생성하는 것과, 입력 프레임의 각 신규 버전이 표시될 때, 본 발명의 방식으로 동작을 수행하는 것을 포함하는 것이 바람직하다. 이와 같이, 바람직한 실시예에 있어서는, 본 발명의 프로세스는 생성되고 있는 복수의 입력 프레임에 대해서(그들이 생성됨에 따라) 반복되고, 가장 바람직하게는 입력 프레임의 각 연속적인 신규 버전이 표시됨에 따라 반복된다. (일반적으로, 입력 프레임의 신규 버전은, 예를 들면 디스플레이를 리프레시하기 위해서, 표시용 신규 프레임이 필요한 경우, 표시될 필요가 있을 것이다. 이와 같이, 일반적으로, 표시용 신규 출력 프레임은 디스플레이 리프레시 레이트(refresh rate)(예를 들면, 60Hz)로 생성될 것이다. 다른 구성도 물론 가능할 것이다.)
출력 프레임은 전체 출력 프레임을 구비하는 단일 영역으로서 생성될 수 있지만, 바람직한 실시예에 있어서는, 그것은 출력 프레임을 함께 형성하는 복수의 각각의 영역으로서 생성된다(그 경우에 각자의 각각의 영역은 전체 출력 프레임의 작은 부분일 수 있다). 출력 프레임을 함께 형성하는 복수의 각각의 영역으로서 출력 프레임을 생성하면 본 발명의 방식의 동작의 기회가 증가되어 대역폭이 제거된다.
고려되고 있는 프레임의 영역들이 문제의 프레임의 일부(그러나 모두는 아닌)를 나타내는 경우, 본 발명에서 고려되어 사용되는 프레임의 영역(입력 또는 출력 프레임, 또는 어떤 소스 프레임(소스면)이 입력 프레임을 생성하기 위해서 사용되는지 여부)은 문제의 프레임의 어떤 적절한 원하는 영역(에어리어)을 각각 나타낼 수 있다. 문제의 프레임이 본 발명의 방식으로 식별 및 처리될 수 있는 전체 프레임의 일부를 각각 나타내는 복수의 식별가능한 작은 영역으로 분리 또는 분할될 수 있기만 하면, 영역으로의 프레임의 세분이 원하는 대로 행해질 수 있다.
바람직한 실시예에 있어서는, 영역들이 문제의 프레임을 나타내는 데이터의 전체 어레이의 각 부분에 대응하는 데이터의 각 블록에 대응한다(당업계에 알려진 것처럼, 프레임은 일반적으로 샘플링 위치 또는 화소 데이터의 어레이로서 표시되어 저장될 것이다).
모든 프레임이 같은 크기 및 형상 영역으로 분리될 수 있거나(하나의 바람직한 실시예에 있어서는 이것이 행해진다), 또는 그렇지 않으면 상이한 프레임이 서로 다른 크기의 형상 및 영역으로 분리될 수 있다(예를 들면, 표시될 입력 프레임이 하나의 크기 및 형상 영역을 이용할 수 있지만, 출력 프레임은 또 다른 크기 및 형상 영역을 이용할 수 있다).
상대적으로, 또 다른 프레임(예를 들면, 출력 프레임 영역의 영역)에 기여하는 소정의 프레임으로부터 (예를 들면 표시될 각 입력 프레임으로부터) 단일 영역만이 있을 수도 있거나, 또는 또 다른 프레임의 영역(예를 들면, 출력 프레임 영역)에 기여하는 (예를 들면, 표시될 각 입력 프레임의) 프레임의 2개 이상의 영역이 있을 수도 있다. 후자는 예를 들면 디스플레이가 (출력 프레임 영역이 각각의 스캔 라인의 모두 또는 일부가 되도록) 스캔 라인 순으로 데이터를 처리하지만, 표시될 입력 프레임의 영역이 정사각형인 경우일 수도 있다(다수의 입력 프레임 영역이 각 (선형) 출력 프레임 영역에 대해서 고려될 필요가 있을 것이다) .
일 실시예에 있어서의 각 프레임 영역(예를 들면, 데이터의 블록)은 문제의 프레임(전체 데이터 어레이)의 상이한 부분(영역)을 나타낸다. 각 영역(데이터 블록)은 프레임 내부의 복수의 데이터 위치 등, 프레임(데이터 어레이)의 적절한 부분(에어리어)을 이상적으로 나타내어야 한다. 적절한 영역 크기는 예들 들면, 데이터 어레이에서의 8×8, 16×16, 32×32, 32×4 또는 32×1 데이터 위치일 수 있다. 32×4 또는 32×1 등, 비정사각형의 직사각형 영역은 디스플레이에 출력하는 데에 더 잘 적합할 수 있다.
일부 실시예에 있어서는, 프레임들은 표준 사이즈 및 형상의 영역(예를 들면, 데이터의 블록)으로, 바람직하게는 정사각형 또는 직사각형의 형태로 분리된다. 그렇지만, 이것은 필수적이지 않고 원한다면 다른 구성이 사용될 수 있다.
일부 실시예에 있어서는, 각 프레임 영역은 프레임을 렌더링(생성)하고 있는 그래픽 프로세서, 비디오 엔진, 디스플레이 컨트롤러, 컴포지션 엔진 등이, 그것의 출력으로서 생성하는 렌더링된 타일에 대응한다. 이것은 예를 들면 그래픽 프로세서가 렌더링 타일을 직접 생성하므로, 본 발명을 구현하는 특히 간단한 방법이며, 그래서 어떤 추가 처리도 본 발명의 방법으로 간주되는 프레임 영역을 "생성"하는 데에 필요 없을 것이다.
(당업계에 알려진 것처럼, 타일 기반 렌더링에서는, (예를 들면, 일반적으로 렌더링되고 있는 장면을 표시하기 위해서 표시되는) 렌더링 프로세스의 2차원 출력 어레이 또는 프레임("렌더 타겟")은 렌더링 프로세스를 위해서, 통상 "타일"이라고 부르는 복수의 작은 영역으로 세분 또는 분할된다. 이 타일들(영역들)은 각각 개별적으로(일반적으로 순차적으로) 렌더링된다. 그 다음 이 렌더링된 타일들(영역들)은 예를 들면 표시를 위해서 완전한 출력 어레이(프레임)(렌더 타겟)를 형성한다.
"타일링(tiling)" 및 "타일 기반" 렌더링에 공통으로 사용되는 다른 용어는 "청킹(chunking)"(그 영역들은 "청크(chunks)"라고 칭한다) 및 "버킷(bucket)" 렌더링을 포함한다. 편의상 여기에서 "타일" 및 "타일링"이란 용어가 사용될 것이지만, 이들 용어는 모든 대체 가능한 동일한 용어 및 기술을 포함하는 것이라는 것을 이해해야 한다.)
이들 본 발명의 구성에서는, 프레임을 분할하는 타일들은 어떤 원하는 적절한 사이즈 또는 형상일 수 있지만, 바람직하게는 상기 설명한 형태(바람직하게는 (정사각형을 포함하는) 직사각형, 바람직하게는 사이즈 8×8, 16×16, 32×32, 32×4 또는 32×1 샘플링 위치)이다.
일부 실시예에 있어서는, 본 발명은 예를 들면 렌더링 프로세스 등이 동작(생성)하는 타일들에 서로 다른 사이즈 및/또는 형상의 프레임 영역을 이용해서 행해질 수도 있고, 바람직하게는 또한 혹은 대신에 행해진다.
예를 들면, 일부 실시예에 있어서는, 본 발명의 방식에서 고려되는 프레임 영역은 복수의 "렌더링" 타일의 한 세트로 이루어질 수 있고, 및/또는 렌더링 타일의 서브 부분만으로 구성될 수 있다. 이들 경우에는, 예를 들면 그래픽 프로세서가 생성하는 예를 들면 렌더링된 타일 또는 타일들로부터 원하는 프레임 영역을 실제로 "생성"하는 중간 단계가 있을 수도 있다.
본 발명은 표시될 입력 프레임의 영역 또는 영역들이 그 영역 또는 영역들이 (출력 프레임 영역의 오버드라이브된 버전이 생성되도록) 변경되었는지 여부를 체크하기 전에 문제의 출력 프레임의 영역에 기여하는지 판정한다. 이것에 의해 본 발명은 특히 출력 프레임의 소정의 영역이 2개 이상의(복수의) 입력 프레임 영역(을 이용해서)으로부터 실제로 형성될 수 있는 상황을 고려할 수 있다.
(본 발명의 방식에서 체크되어야 하는) 문제의 출력 프레임의 영역에 기여하는(사용되는) 입력 프레임의 영역 또는 영역들이 원하는 대로 결정될 수 있다. 바람직한 일 실시예에 있어서는, 이것은 입력 프레임의 영역 또는 영역들로부터 출력 프레임의 영역을 생성하기 위해서 사용되는 프로세스(예를 들면, 알고리즘)에 근거해 행해진다.
예를 들면, 출력 프레임 영역들(예를 들면, 타일들)에의 입력 프레임 영역들(예를 들면, 타일들)의 1:1 맵핑이 있는 경우, 기여하고 있는 입력 프레임 영역은, 출력 프레임 영역(예를 들면, 출력 프레임 타일 위치)이 고려되고 있는지(도달되었는지)를 아는 것으로부터 간단히 판정될 수 있다. 그 대신에, 입력 프레임 영역들이 어떻게 출력 프레임 영역들에 맵핑하는지의 지식은, 입력 프레임 영역(들)이 출력 프레임 영역에 기여하는지를 판정하기 위해서 사용될 수 있다.
또 다른 바람직한 실시예에 있어서는, 레코드(record)는 각자의 각각의 출력 프레임 영역에 기여된(을 생성하도록 사용되었던) 입력 프레임 영역 또는 영역들로 유지되고, 그 후에 그 레코드는 입력 프레임의 영역 또는 영역들이 문제의 출력 프레임의 영역에 기여하는지를 판정하기 위해 사용된다. 레코드는, 예를 들면, 입력 프레임의 영역 또는 영역들이 출력 프레임의 영역에 기여하는지를 나타내는 메타 데이터 등의 데이터로 이루어진다. 데이터는 예를 들면, 영역 또는 영역들을 나타내는 좌표 또는 다른 라벨의 리스트를 특정할 수 있다.
이 경우에, 레코드는 예를 들면 출력 프레임 영역에 기여하는 이들 입력 프레임 영역으로 유지될 수 있거나(바람직한 실시예에 있어서는 이것이 행해진다), 레코드는 출력 프레임 영역에 기여하지 않는 입력 프레임 영역들을 나타낼 수 있다.
현재 표시되고 있는 출력 프레임 영역의 버전이 생성된 이후로(출력 프레임 영역의 이전 버전이 생성된 이후로) 판정된 표시될 입력 프레임의 기여 영역 또는 영역들이 변경되었는지 여부를 체크하는 단계는 어떤 원하는 적절한 방식으로 행해질 수 있다.
바람직한 일 실시예에 있어서는, 각 기여하는 입력 프레임 영역을 개별적으로 체크한다. 대신에, 모든 기여하고 있는 입력 프레임 영역들과 같은 복수의 입력 프레임 영역(복수의 기여하고 있는 입력 프레임 영역이 있는 경우에)을 전체적으로 체크할 수 있다.
바람직한 일 실시예에 있어서는, 입력 프레임 영역(들) 자체를 (이용해서) 체크함으로써, 바람직하게는 입력 프레임 영역들이 변경되었는지 판정하기 위해서 입력 프레임 영역들의 각각의 버전을 비교함으로써 기여 입력 프레임 영역 또는 영역들이 변경되었는지 여부를 체크한다.
이와 같이, 바람직한 일 실시예에 있어서는, 출력 프레임 영역의 이전 버전을 생성하기 위해(표시될 입력 프레임의 영역이 변경되었는지 보기 위해서) 사용되었던 표시될 입력 프레임의 영역의 버전과 (즉, 생성될 출력 프레임 영역의 신규 버전을 생성하기 위해서 사용되는) 표시될 입력 프레임의 영역의 현재 버전을 비교함으로써 출력 프레임 영역의 이전 버전이 생성된 이후로 표시될 입력 프레임의 기여 영역이 변경되었는지 여부를 체크한다. 이것을 가능하게 하기 위해서, 프레임 또는 프레임 영역의 이전 버전은, 만약 필요하고 적절하다면, 일단 생성 또는 재생성된 후에 저장될 수 있다.
또 다른 바람직한 실시예에 있어서는, 판정된 표시될 입력 프레임의 기여 영역 또는 영역들이 변경되었는지 여부를 체크하는 단계는, 입력 프레임의 기여 영역 또는 영역들에 기여하는 1개 이상의 입력면의 각각의 영역 또는 영역들이 변경되었는지 여부를 판정하는 것을 포함한다. 그 다음 이것은, 입력 프레임 영역들 자체의 상이한 버전을 비교하는 것보다는, (예를 들면, 윈도우 합성 시스템에서) 각각의 입력 프레임 영역들을 생성하기 위해서 사용되는 소스 프레임 영역들의 상이한 버전을 비교하는 것을 포함할 것이다.
이 실시예에 있어서는, 출력 프레임 영역의 이전 버전이 생성된 이후로 입력 프레임의 영역에 기여하는 소스면의 기여 영역이 변경되었는지 여부의 체크는, 바람직하게는 입력 프레임 영역의 이전 버전을 생성하기 위해서(소스면(프레임)의 영역이 변경되었는지 보기 위해서) 사용되었던 소스면(프레임)의 영역의 버전과 소스면(프레임)의 영역의 현재의 버전을 비교함으로써 행해진다.
이 경우에, 소스면 또는 소스면들(프레임 또는 프레임들)의 영역 또는 영역들이 문제의 입력 프레임 영역 또는 영역들에 기여하는지를 판정하는 것이 필요할 수도 있다. 기여하고 있는 소스 프레임(면) 영역들의 판정은, 예를 들면, 소스면들의 영역 또는 영역들로부터 입력 프레임의 영역을 생성하기 위해서 사용되는 프로세스(예를 들면, 알고리즘)에 근거해, 어떤 원하는 방식으로든 다시 행해질 수 있다. 이 경우에, 이러한 판정은 예를 들면 사용되고 있는 합성 알고리즘(프로세스)에 근거할 수도 있다.
대신에, 상기 설명한 바와 같이, 레코드는 각자의 각각의 입력 프레임 영역(을 생성하기 위해서 사용되었던)에 기여되었던 소스 프레임 영역 또는 영역들로 유지될 수 있고, 그 후에 그 레코드는 소스 프레임의 영역 또는 영역들이 (예를 들면, 바람직하게는 상기 설명한 방식으로) 문제의 입력 프레임의 영역에 기여하는지를 판정하기 위해서 사용되었다.
입력 프레임의 기여 영역 또는 영역들에 기여하는 1개 이상의 소스면의 각각의 영역 또는 영역들이 변경되었는지 여부를 판정하고 있는 경우, 바람직한 실시예에 있어서는, 소스면 영역들이 변경되는지 여부에 관한 체크는 단지 입력 프레임 영역에서 볼 수 있는 판정되었던 이들 소스면 영역들에 대해서 행해진다. 이것은 실제로 입력 프레임 영역에서 볼 수 없는 소스면 영역들에 대하여 어떤 리던던트(redundant) 처리든 행하는 것을 방지한다. 바람직하게는, 입력 프레임 영역에서 볼 수 있는 소스면 영역만이 입력 프레임 영역에 기여하는 입력면 영역들이라고 간주해서 그들이 변경되었는지 보기 위해서 체크된다. 소스면 영역들은, 예를 들면, 그들을 폐쇄하는 다른 불투명한 소스면 뒤에 있기 때문에 입력 프레임 영역에서 볼 수 없을 수도 있다.
프레임 영역이 변경되었는지 여부의 판정은, 무엇이든 간에 프레임 영역에서 어떤 변화가 있으면 프레임 영역이 변경되었다고 판정하도록 구성된다.
이와 같이, 출력 프레임 영역의 이전 버전이 생성된 이후로 입력 프레임의 기여 영역 또는 영역들이 변경되었는지 여부의 판정은, 무엇이든 간에 입력 프레임 영역 또는 영역들에서 어떤 변화가 있으면 입력 프레임 영역 영역들이 변경되었다고 판정하도록 구성될 수 있다. 이 경우에, 영역의 신규 버전이 영역의 이전 버전과 같은(동일한) 경우에 기여하는 입력 프레임 영역이 변경되지 않았다고 판정할 것이다.
그렇지만, 바람직한 실시예에 있어서는, 영역의 신규 버전이 특정한, 바람직하게 선택된 양 이상 영역의 이전 버전과 다르면(즉, 프레임 영역에서 훨씬 중요한 변화가 있으면) 프레임 영역이 변경되었다고 판정한다. 상대적으로, 바람직한 실시예에 있어서는, 프레임 영역에서, 단지 특정하지만, 모든 변화가 프레임 영역이 변경되었다는 판정을 트리거(trigger)하는 것은 아니다.
이와 같이, 바람직한 실시예에 있어서는, 출력 프레임 영역의 이전 버전이 발생된 이후로 판정된 입력 프레임의 기여 영역 또는 영역들이 변경되었는지 여부를 체크하는 단계는, 기여하고 있는 입력 프레임 영역에서(또는 1개 이상 있는 기여하고 있는 입력 프레임 영역들 중의 적어도 하나에서) 특정한, 바람직하게 선택된, 바람직하게 미리 결정된 스레숄드량보다 큰 변화가 있었으면 입력 프레임의 기여 영역 또는 영역들이 변경되었다고 판정하도록 구성된다.
상대적으로, 바람직한 실시예에 있어서는, 프레임 영역이 변경되었는지 여부를 체크하는 단계는, 프레임 영역의 신규 버전이 프레임 영역의 이전 버전과 충분히 유사한지 아닌지를 평가함으로써 행해진다.
본 출원인은 오버드라이브가 행해지고 있는 점에서, 예를 들면 노이즈에 의해 야기될 수도 있는 차이(differences)를 강조하는 것을 피하거나 줄이도록, 표시될 이전 및 다음 프레임의 화소들 및/또는 서브 화소들 간의 작은 차이만 있는 오버드라이브 동작을 디스에이블하는(사용하지 않는) 것이 바람직하다는 것을 인식했다.
본 발명의 시스템에 있어서 이것을 달성하는 하나의 방법은, 변경되지 않았다고 판정됨에 따라 서로 약간만 다른 프레임 영역을 처리하는 것이다. 이것은 예를 들면, 신규 및 이전 프레임 영역이 특정한 바람직하게 선택된, 스레숄드량만큼 서로 다른지 아닌지 여부를 판정함으로써 달성될 수 있고, 바람직한 실시예에 있어서는 달성된다(그 후에 이러한 차이가 스레숄드보다 적거나 이하이면 프레임 영역이 변경되지 않았다고 간주된다). 추가로 이하에 설명하는 것처럼, 바람직한 실시예에 있어서는, 이것은 문제의 프레임의 영역에 대한 데이터(예를 들면, 컬러) 값 중, 선택된 개수의 최하위 비트 및/또는 최하위 비트의 어떤 변화든 효율적으로 무시함으로써 구현된다. 이와 같이, 바람직한 실시예에 있어서는, 문제의 프레임의 영역에 대한 데이터(예를 들면, 컬러) 값 중의 특정한 바람직하게 선택된 최하위 비트의 세트에 어떤 변화가 있었는지 여부를 판정한다.
프레임 영역의 신규 버전이 프레임 영역의 이전 버전과 같거나 유사한지 아닌지 여부의 판정은, 어떤 적절한 원하는 방식으로 행해질 수 있다. 이와 같이, 예를 들면, 신규 프레임에 있어서의 영역의 콘텐트의 일부 또는 모두를 프레임의 영역의 이전에 사용된 버전의 콘텐트의 일부 또는 모두와 비교할 수도 있다(일부 실시예에 있어서는, 이것이 행해진다).
바람직한 실시예에 있어서는, 그러한 비교가 프레임의 영역들의 버전의 유사성 및 차이점을 평가하기 위해서, 예를 들면 바람직하게는 문제의 프레임 영역의 현재 버전의 콘텐트를 나타내고 및/또는 그 콘텐트로부터 파생되는 정보와 이전에 사용되었던 프레임 영역의 버전의 콘텐트를 나타내고 및/또는 그 콘텐트로부터 파생되는 정보를 비교함으로써 행해진다.
프레임의 영역의 콘텐트를 나타내는 정보는 어떤 적절한 형태를 취할 수도 있지만, 바람직하게는 각각의 프레임 영역의 콘텐트로부터 파생되거나 그 콘텐트에 근거한다. 바람직한 실시예에 있어서는, 이것은 문제의 프레임 영역의 콘텐트(예를 들면, 프레임의 영역을 나타내는 데이터 블록)에 근거하거나 그 콘텐트로부터 생성되는 영역에 대한 "시그니처(signature)"의 형태이다. 그러한 영역 콘텐트 "시그니처"는, 예를 들면, 바람직하게는, 문제의 프레임 영역에 대한 데이터로부터 파생된(생성된) 체크섬(checksum), CRC, 또는 해시(hash)값 등과 같은, 영역의 콘텐트를 나타내는 것으로 간주될 수 있는 어떤 적절한 세트의 파생된 정보를 포함한다. 적절한 시그니처들은, CRC32와 같은 표준 CRC 또는 MD5, SHA-1 등과 같은 다른 형태의 시그니처를 포함할 것이다.
이와 같이, 바람직한 실시예에 있어서는, 각 프레임 영역의 콘텐트를 표시하거나 나타내고 및/또는 그 콘텐트로부터 파생되는 시그니처는, 체크되는 각 프레임 영역에 대해서 생성되고, 체킹 프로세스는 (예를 들면, 출력 프레임 영역의 현재 버전이 생성된 이후로 바람직하게는 문제의 영역의 각각의 버전을 나타내는 시그니처가 변경되었는지 아닌지를 판정하기 위해서) 프레임의 영역(들)의 각각의 버전의 시그니처들을 비교하는 것을 포함한다.
시그니처 생성, 웨어 유스트(where used)는 원하는 대로 구현될 수도 있다. 예를 들면, 그것은 프레임을 생성하고 있는 그래픽 프로세서의 필수적인 부분으로 구현될 수 있거나, 예를 들면, 이것을 행하는 별개의 "하드웨어 소자"가 있을 수도 있다.
프레임 영역들에 대한 시그니처는, 바람직하게 적절히 그들과 관련된 프레임의 영역과 저장되어 관련되어 있다. 일부 실시예에 있어서는, 그들은 적당한 예를 들면 프레임 버퍼들 내의 프레임들과 저장되어 있다. 그러면, 시그니처가 비교될 필요가 있는 경우에는, 저장된 영역에 대한 시그니처가 적당히 검색될 수도 있다.
알 수 있는 것처럼, 출력 프레임 영역의 이전 버전이 생성된 이후로 표시될 입력 프레임의 각각의 기여 영역이 변경되었는지 여부가 체크되어야 하고, 바람직하게는 체크된다. 이와 같이, 바람직한 실시예에 있어서는, 판정되었던 표시될 입력 프레임의 각 영역이 출력 프레임 영역에 기여할 것이고, 그래서 변경되었는지를 보기 위해서 체크되어야 하므로, 표시될 입력 프레임의 그 영역의 현재 버전과, 출력 프레임 영역의 이전 버전을 생성하기 위해서 사용되었던 입력 프레임의 그 영역의 버전을 (예를 들면, 바람직하게는 시그니처 비교 처리에 의해) 비교해서, 표시될 입력 프레임의 영역이 변경되었는지 판정한다.
상대적으로, 표시될 입력 프레임의 2개 이상의 이전 버전이 사용되고 있는 오버드라이브 방식에서 사용되는 경우에는, 표시되고 있는 입력 프레임의 각 버전에서의 판정된 기여 영역을 체크하는 것이 바람직하다(출력 프레임 영역의 이전 버전이 생성된 이후로 표시될 입력 프레임의 기여 영역 또는 영역들의 적정한 변화가 있었다면, 출력 프레임의 영역의 오버드라이브된 버전이 생성될 것이다).
이 경우, 각 프레임의 세트 간의 비교가 같은 방식으로 행해질 수 있거나, 예를 들면, 현재 및 직전의 프레임들 간의 비교는 이전의 프레임과의 비교나 이전의 프레임과의 비교와 다를 (예를 들면, 상이한 기준에 따라 및/또는 상이한 데이터를 사용(예를 들면, 높은 레벨의 정밀도)) 수도 있다. 예를 들면, 현재 및 이전 프레임에 대해서는, 각 컬러의 가장 높은 6개의 비트가 (예를 들면, 가장 높은 6개의 비트에 근거한 시그니처들을 이용해서) 차이가 있는지를 보기 위해서 비교될 수 있지만, 그 전에 프레임 또는 프레임들을 비교하는 경우에는, 같은 개수의 비트를 비교할 수 있거나 더 적은 비트(예를 들면, 단지 가장 높은 2개의 비트만)를 비교할 수 있다.
상기 설명한 바와 같이, 체킹 프로세스는 예를 들면 변경되지 않았다고 간주되는 프레임 영역에 대한 정확한 매치(match)를 필요로 하지만, 바람직하게는 예를 들면, 소정의 스레숄드를 초과하지 않는 충분히 유사한(그렇지만 정확하지 않음) 매치만이 변경되지 않았다고 간주되는 영역에 대해서 요구될 수 있다.
프레임 영역 비교 프로세스는 프레임 영역의 변화가 특정한 바람직하게 선택된 양보다 크면 프레임 영역이 변경되었다고 판정하기 위해서(프레임 영역의 차이가 예를 들면 선택된 양보다 큰지 판정하기 위해서) 원하는 대로 어떤 적절한 방식으로 구성될 수 있다.
예를 들면, 프레임 영역의 콘텐트를 나타내는 시그니처들을 비교하는 경우, 관련된 시그니처의 본질에 의존해서, 프레임 영역에서(프레임 영역의 시스니처에서)의 작은 변화만 무시한다(프레임 영역이 변경되었다는 판정을 트리거하지 않는다)는 것을 보장하기 위해서 시그니처 비교 프로세스에 대해서 스레숄드가 사용될 수 있다. 바람직한 일 실시예에 있어서는, 이것이 행해지는 것이다.
추가로 또는 대신에, 프레임 영역의 각 버전에 대해서 비교되는 시그니처들은 각 프레임 영역 내의 데이터의 선택된 MSB(more significant bits)만(예를 들면, 프레임 데이터가 RGB888의 형태인 R[7:2], G[7:2] 및 B[7:2])을 이용해서 생성될 수 있다. 이와 같이, 바람직한 실시예에 있어서는, 비교되는 시그니처들이 프레임 영역에 대한 데이터의 선택된 최상위 비트의 세트에 근거한다. 이들 "MSB" 시그니처가 프레임 영역들 간에 변화가 있는지 여부를 판정하기 위해서 사용되면, 그 효과는 프레임 영역들 간의 훨씬 중요한 변화가 있는 경우에 단지 변화만 결정된다는 것이다.
이 경우에, 별개의 "MSB" 시그니처가 오버드라이브 프로세스에 대한 각 프레임 영역에 대해서 생성될 수도 있다.
대신에 또는 게다가, 프레임 영역 시그니처가 본 발명의 오버드라이브 동작에 대해서 요구될 뿐만 아니라 프레임 영역에 대한 모든 데이터를 이용하는 "풀" 시그니처들(예를 들면, CRC 값들)이 (예를 들면, 다른 목적을 위해서) 요구되는 시스템에 있어서, 바람직한 실시예에서는, (각각이 바람직하게 프레임 영역 데이터로부터 특정한 비트의 세트를 나타내는) 단일 풀 시그니처 및 1개 이상의 별개의 좀더 작은 시그니처 양자가 각 프레임 영역에 대해서 제공되는 것이 바람직하다.
예를 들면, RGB 888 컬러의 경우에는, "풀" R[7:0], G[7:0], B[7:0] 시그니처뿐만 아니라, 1개 이상의 "좀더 작은" 별개의 시그니처도 제공될 수 있다(예를 들면, MSB 컬러 데이터에 의거한 제1 "MSB 컬러" 시그니처(예를 들면, R[7:4], G[7:4], B[7:4]), 제2 "중간 컬러" 시그니처(R[3:2], G[3;2], B[3:2]), 및 제3 "LSB 컬러" 시그니처(R[2:0], G[2:0], B[2:0]))
이 경우, 별개의 MSB 컬러, 중간 컬러, 및 LSB 컬러 시그니처는 필요한 경우, "풀 시그니처"를 형성하도록 생성되어 연결될 수 있거나, 혹은 시그니처 생성 처리가 이것을 허용하면, 각각의 예를 들면 MSB 컬러, 중간 컬러 및 LSB 컬러 시그니처로 분리되는 단일 "풀" 컬러 시그니처가 생성될 수 있다.
이 경우에, 예를 들면, MSB 컬러 시그니처는 본 발명의 오버드라이브 동작에 대해서 사용될 수 있지만, 예를 들면, "풀" 컬러 시그니처는 다른 목적을 위해서 사용될 수 있다.
상기 설명한 바와 같이, 이 구성은 프레임 영역들에서의 작은 차이가 오버드라이브 동작을 트리거하는 것을 막을 것이다. 이것은 프레임 영역들 간의 작은 차이(이 작은 차이는 일반적으로 노이즈에 의해 야기될 것이다)를 오버드라이브하는 것을 방지할 것이다. 이것은 또한 작은 변화만 있는 프레임 영역들이 오버드라이브 계산에서 판독 및 사용되는 것을 방지함으로써, 더 많은 전력 및 대역폭을 절약할 것이다. 이것은 프레임 영역이 변경되었는지 판정하기 위해서 프레임 영역 내의 훨씬 중요한 데이터를 보는(이용하는) 것만으로 달성된다.
특히 바람직한 실시예에 있어서는, 프레임 영역이 변경되었다고 판정하는 트리거(스레숄드)는 예를 들면 사용중에 바람직하게는 처리되고 있는 콘텐트의 타입에 의존해서 변경될 수 있다. 이것에 의해 본 발명의 오버드라이브 프로세스가 예를 들면 서로 다른 콘텐트의 타입이 오버드라이브의 상이한 레벨 및 값을 필요로 한다는 사실을 고려할 수 있다. 예를 들면, 비디오, 그래픽 및 GUI(Graphical User Interface)는 모두 서로 다른 특징을 가지고 있으므로 상이한 오버드라이브 동작을 필요로 할 수 있다.
이와 같이, 바람직한 실시예에 있어서는, 표시되고 있는 콘텐트의 타입이 결정되고, 본 발명의 프로세스가 표시되는 결정된 콘텐트의 타입에 의거해서 구성된다. 이 경우, 시스템은 표시되고 있는 콘텐트의 타입을 자동으로 결정할 수 있고, (이것을 하기 위해서, 예를 들면 표시되고 있는 프레임이 분석될 수 있거나, 예를 들면 사용되고 있는 컬러 공간이 콘텐트의 타입(예를 들면, (비디오 소스를 나타낼 수 있는) YUV인지 (그래픽 소스를 나타낼 수 있는) RGB인지의 여부)을 결정하기 위해서 사용될 수 있다), 혹은 이것은 예를 들면 유저에 의해서(표시용 프레임을 생성하고 있는 어플리케이션에 의해서) 표시될 수 있다.
특히 바람직한 실시예에 있어서는, 프레임 영역 비교 프로세스는 표시되고 있는 콘텐트의 타입에 의거해서 변형 및 결정된다. 예를 들면, 바람직하게는 비교되는 프레임 영역들의 콘텐트를 나타내는 시그니처에 사용된 MSB 비트의 개수는 표시되고 있는 콘텐트의 타입에 의거해서 구성된다. 이것은 예를 들면 시그니처를 나타내는 현재 생성된 콘텐트로부터 선택함으로써, 혹은 표시되고 있는 콘텐트의 타입에 근거해서, 시그니처 생성 프로세스를 조정함으로써 행해질 수 있다.
바람직한 실시예에 있어서는, 프레임 영역 비교(예를 들면, 시그니처 생성 및/또는 비교) 처리는 또한 혹은 대신에 문제의 프레임 영역이 신속하게 변화하고 있다고 판정되는지 여부에 의거해서 변경 및 구성될 수 있다. 이것은 프레임 영역이 이미지에 에지(edge)를 포함하는지 아닌지 여부를 검출함으로써 행해지는 것이 바람직하다. (에지 검출은 예를 들면 데이터를 생성하는 기기(예를 들면, GPU 혹은 비디오 엔진)에 의해 원하는 대로 행해질 수 있고, 에지 검출 계수 메타데이터는 각 프레임 영역에 대해서 제공되고 있다. 대신에, 에지 검출은 디스플레이 컨트롤러에 의해 행해질 수 있다.)
다시, 프레임 영역이 빠르게 변경되고 있다(예를 들면, 화상 에지를 포함한다)고 판정되면, 시그니처 비교 및/또는 생성 프로세스 등은, 예를 들면 오버드라이브가 수행되어야 하는지를 판정하기 위해서 비교되어야 하는 최상위 비트의 개수를 선택함으로써 구성되는 것이 바람직하다.
이와 같이, 특히 바람직한 실시예에 있어서는, 프레임 영역이 변경되었는지 여부의 판정(바람직하게는 프레임 영역이 변경되었는지 여부를 판정하기 위해서 사용되는 시그니처 비교 프로세스)은, 프레임 내부의 각각의 프레임 영역에 대해서, 및/또는 표시되고 있는 프레임의 콘텐트 또는 본질에 의거해서, 프레임 단위로 구성 및 변경될 수 있고 바람직하게는 구성 및 변경된다.
특히 바람직한 실시예에 있어서는, 각각의 입력 프레임 영역이 변경되었는지 여부를 판정할 뿐만 아니라 혹은 판정하는 대신에(바람직하게는 판정할 뿐만 아니라), 예를 들면, 입력 프레임의 복수의 영역을 포함하는 에어리어에 대해서, 및/또는 전체적으로 입력 프레임에 대해서, 입력 프레임의 보다 큰 에어리어에 대한 판정을 수행하는 것도 가능하다.
이 경우, 바람직한 실시예에 있어서는, 시그니처들을 나타내는 콘텐트도 고려될 수 있는 입력 프레임의 각각의 더 큰 에어리어에 대해서 (예를 들면, 전체 입력 프레임에 대해서) 생성 및 저장된다.
이것은 입력 프레임이 소정의 시간 동안(예를 들면, 바람직하게는 소정 개수의 이전 프레임에 대해서) 변경되고 있지 않거나 변경되지 않았다고 판정될 수 있는 경우에 행해지는 것이 바람직하다. 이와 같이, 바람직한 실시예에 있어서는, 입력 프레임이 소정 개수의 이전 프레임에 대해서 변경되었다고 판정되면, 본 발명의 오버드라이브 프로세스는, 오버드라이브 동작을 트리거하도록(혹은 트리거하지 않도록) 입력 프레임의 좀더 큰 에어리어 혹은 에어리어들(바람직하게는 입력 프레임 전체)이 변경되었는지 여부를 판정한다. 이 경우, 입력 프레임이 (예를 들면, 이전 프레임의 개수에 대해서) 변경되었는지 여부의 결정은, 예를 들면, 전체적으로 입력 프레임의 각각의 버전에 대한 시그니처를 나타내는 콘텐트를 비교함으로써 원하는 대로 결정될 수 있다.
대신에 혹은 추가로, 바람직한 실시예에 있어서는, 출력 프레임 영역에 기여하는 소정의 입력 프레임으로부터 혹은 입력 프레임 영역에 기여하는 소스 프레임 혹은 프레임들로부터의 영역의 개수가 특정한, 바람직하게 선택된, 바람직하게 미리 결정된, 프레임 영역의 스레숄드 개수를 넘는 경우, 변경되었는지 판정하기 위해서 개별적으로 각 입력 프레임 영역을 비교하는 대신에, 입력 프레임의 좀더 큰 에어리어, 예를 들면, 바람직하게는 전체적으로 입력 프레임이 변경되었는지 판정하기 위해서 비교되는 것이 바람직하고, 그에 따라 개개의 프레임 영역들이 변경되었는지 여부에 관한 결정이 이루어진다.
본 발명의 시스템은 또한 특정한, 바람직하게는 선택된, 바람직하게는 미리 결정된 기준 또는 조건이 충족되면, 입력 프레임 영역들 중의 어느 것이 변경되었는지 여부를 체크하는 것보다는, 입력 프레임 영역들 중의 어느 것이 변경되었는지 여부에 관한 어떤 체크도 수행하는 일없이 출력 프레임 영역의 오버드라이브된 버전이 간단히 생성된다. 이것에 의해 입력 프레임 영역 체킹 처리가 예를 들면 비교적 부담스러울 수도 있는 상황에서는 생략될 수 있을 것이다.
출력 프레임 영역의 오버드라이브된 버전을 간단히 생성하는 기준은 원하는 대로 선택될 수 있다. 바람직한 실시예에 있어서는, 이들 기준은 출력 프레임 영역에 기여하는 입력 프레임 영역들의 개수가 특정한, 바람직하게 선택된, 바람직하게 미리 결정된 스레숄드 개수를 넘는 경우; 입력 프레임 영역에 기여하는 소스면(프레임) 영역들의 개수가 특정한, 바람직하게 선택된, 바람직하게 미리 결정된, 스레숄드 개수를 넘는 경우; 소정의 입력면 영역에 기여하는 소스면(프레임)의 개수가 특정한, 바람직하게 선택된, 바람직하게 미리 결정된 스레숄드 개수를 넘는 경우; 생성된 출력 프레임의 버전 사이에서 변화하는 입력면 영역의 확률이 소정의 바람직하게 선택된 스레숄드 값을 넘는다고 판정된 경우(이것은 입력 프레임 혹은 입력 프레임 영역이 비디오 콘텐트를 구비하는 경우에 적절할 수도 있다); 및 입력 프레임 영역이 복수의 소스면(프레임)로부터 생성(합성)될 때: 그 영역들이 입력면 영역에 기여하는 소스면에 적용되는 어떤 변환이 변경되는, 입력면 영역에 대한 기여하는 소스면의 전후 오더링(front-to-back ordering)이 변경되는 경우, 및/또는 입력면 영역에 기여하는 소스면의 세트 혹은 소스면 영역의 세트가 변경되는 경우, 중의 한 개 이상 및 바람직하게는 모두를 포함한다.
이들 구성에 있어서, 입력 프레임 영역들을 체크하지 않는 각각의 출력 프레임 영역들은, 체크되지 않기 때문에, 예를 들면, 메타데이터에, 예를 들면 마크(mark)될 수도 있다.
상기 설명한 바와 같이, 출력면 영역에 기여하는 입력면 영역 또는 영역들이 변경되었다고 판정되면, (문제의 출력 프레임 영역에 대한 디스플레이를 오버드라이브하도록) 입력 프레임 영역 또는 영역들을 이용해서 문제의 출력면 영역에 대해서 오버드라이브된 영역을 생성한다.
오버드라이브 프레임 영역은 표시 화상을 얻어 원하는 입력 프레임으로 좀더 빠르게 변경하도록 디스플레이를 구동하는 데에 필요한 값을 구비해야 한다. 그러므로, 오버드라이브 프레임 영역 값은, 표시되는 것(표시될 신규 입력 프레임)과 이전에 표시되었던 것에 의존해야 하며, 바람직하게는 의존한다.
바람직한 실시예에 있어서는, 출력 프레임 영역에 대해서 사용되는 입력 프레임 영역(들)의 오버드라이브된 버전은, 표시될 신규 입력 프레임에서의 적절한 영역(들)(및/또는 영역(들)의 일부) 및 직전 입력 프레임에 있어서 입력 프레임 영역(들)의 적어도 하나의 이전 버전(및/또는 영역(들)의 일부) 및 바람직하게는 적어도 입력 프레임 영역(들)의 버전(및/또는 영역(들)의 부분)에 근거한다.
오버드라이브된 출력 프레임 영역은 예를 들면 사용되고 있는 특정한 오버드라이브 기술에 의존해서 어떤 적당한 원하는 방식으로 입력 프레임 영역(들)으로부터 생성될 수도 있다. 이것은 어떤 적당한 원하는 "오버드라이브" 프로세스를 이용해서 행해질 수도 있다.
바람직한 실시예에 있어서는, 출력 프레임 영역에 대해서 사용되는 입력 프레임 영역(들)의 오버드라이브된 버전은, 입력 프레임 영역(들)의 하나 또는 1개 이상의 이전 버전에서 및 표시될 신규 입력 프레임에서 입력 프레임 영역(들)(및/또는 영역들의 부분)에 의존한다. 상대적으로, (구동되는) 오버드라이브된 출력 프레임 영역에서의 화소 및/또는 서브 화소에 대해서 사용되는 실제의 화소 및/또는 서브 화소 값은, 입력 프레임의 한 개 또는 한 개 이상의 이전 버전에서 및 표시될 신규 입력 프레임에서 화소 및/또는 서브 화소값(컬러)에 의존하는 것이 바람직하다. 바람직한 실시예에 있어서는, 입력 프레임 입력(들)의 오버드라이브된 버전(오버드라이브된 화소 및/또는 서브 화소값)도 디스플레이의 특성에 의존한다.
오버드라이브된 값들은, 예를 들면 신규 및 이전 화소값 및 예를 들면, 디스플레이 특성에 의존하는 출력 화소값을 결정하는 기능에 의해서 결정될 수도 있고, 바람직한 일 실시예에 있어서는 그 기능에 의해 결정된다. 또 다른 바람직한 실시예에 있어서는, 미리 결정된 오버드라이브 값들의 저장된 세트가 그에 대응하는 신규 및 이전 화소값과 관련해서 (예를 들면, 룩업 테이블에) 저장되고, 그 후에는 현재의 신규 및 이전 화소값들이 필요할 때 저장된 값들으로부터(룩업 테이블로부터) 필요한 오버드라이브 값을 페치하는 데에 사용된다. 이 후자의 경우에는, 어떤 형태의 근사(예를 들면, 선형 근사)는, 원한다면, (룩업 테이블의) 저장된 값들의 세트의 사이즈를 줄이기 위해서 사용될 수도 있다.
여기에서는 오버드라이브 화소값이 어느 "방향"으로 디스플레이 화소가 구동되는지에 의존해서, 실제의 원하는 화소값보다 크거나 작을 수도 있는 것을 알 수 있을 것이다.
바람직한 일 실시예에 있어서는, 출력 프레임에 대해서 사용되는 입력 프레임 영역(들)의 오버드라이브된 버전은, 입력 프레임의 이전 버전(직전 입력 프레임)에서 및 표시될 다음 입력 프레임에서의 적당한 영역(들)(및/또는 영역(들)의 부분)에 근거하다. 이 경우에는, 출력 프레임에서 사용되는 오버드라이브된 입력 프레임 영역을 생성하는 데에 사용되는 입력 프레임의 하나(오직 하나만)의 이전 버전이 있을 것이다.
n개의 이전 프레임들을 비교하는 오버드라이브 방식을 이용하는 것도 알려져 있다. 다수의 이전 프레임을 조사함으로써 현재 실제로 표시된 프레임 화소값이 무엇인지의 좀더 정확한 예측이 가능해지고, 그것에 의해 오버드라이브 화소값이 실제로 무엇이어야 하는지의 좀더 정확한 결정도 가능해진다. 이와 같이, 또 다른 바람직한 실시예에 있어서는, 오버드라이브 프레임 영역은 복수의 이전에 표시된 입력 프레임과 표시될 다음 입력 프레임에 근거한다. 이 경우에, 오버드라이브 프레임 영역을 생성하기 위해서 사용되는 복수의 이전 표시된 입력 프레임이 있을 것이다. 이 경우에, 바람직한 실시예에 있어서는, 바람직하게는 현재 및/또는 다른 이전 프레임과 충분히 다르다고 판정되는 이전 프레임만이 오버드라이브된 출력 프레임 영역 계산에 대해서 사용된다(오버드라이브된 출력 프레임 영역에 대해서 페치된다).
바람직한 실시예에 있어서는, 오버드라이브된 출력 프레임 영역 생성은, 입력 프레임 영역이 변경되었는지 아닌지 여부의 판정과 관련해서 상기 설명한 것처럼, 표시되고 있는 콘텐트의 타입; 및 문제의 출력 프레임 영역이 변경될 수 있다고 판정되는지 여부(바람직하게는 문제의 출력 프레임 영역이 이미지 에지를 포함하는 것으로 판정되는지 여부) 중 하나 이상에 의존한다.
상기에서는 출력 프레임 영역의 오버드라이브된 버전이 필요한 상황에 대해서 설명한다. 반면, 출력면 영역의 이전 버전이 생성된 이후로 기여하고 있는 입력면 영역 또는 영역들의 변화가 없었다고 판정되면, 출력 프레임의 영역이 오버드라이브되지 않아야 하고, 바람직하게는 오버드라이브되지 않지만, 오히려 관련된 기여 입력면 영역 또는 영역들(또는 기여 입력 프레임 영역 또는 영역들의 관련된 부분)이 (즉, 어떤 형태의 오버드라이브 계산을 행하거나 혹은 어떤 형태의 오버드라이브를, 출력 프레임 영역을 생성할 때 입력 프레임 영역에 적용하는 일없이) 출력면 영역을 형성(생성)하도록 사용되어야 하고, 바람직하게는 직접 사용된다. 이것은 메모리로부터 이전 입력 프레임(들)을 페치하고(바람직하게는 이 경우에 이전 입력 프레임(들) 영역(들)이 메모리로부터 페치되지 않는다), 크게 변경되지 않아야 하는 판정된 출력 프레임영역에 대해서, 어떤 오버드라이브 계산을 수행할 필요성을 방지함으로써, 메모리 대역폭 및 전력을 절약한다.
본 발명은 출력 프레임의 단일 영역의 처리를 참조하여 상기에서 설명되었지만, 본 발명이 속하는 기술분야의 당업자가 알 수 있는 것처럼, 출력 프레임이 복수의 영역으로 이루어진(처리되고 있는) 경우에, 본 발명의 기술은 출력 프레임의 복수의 영역에 대해서, 바람직하게는 각각의 영역에 대해서 사용될 수 있고, 바람직하게는 사용된다. 이와 같이, 바람직한 실시예에 있어서는, 출력 프레임의 복수의 영역 및 바람직하게는 각각의 영역은, 본 발명의 방식으로 처리된다. 이와 같이, 표시용 디스플레이에 제공되는(디스플레이를 구동하기 위해서 사용되는) 전체 출력 프레임이 본 발명의 프로세스에 의해 생성될 것이다.
바람직한 실시예에 있어서는, 오버드라이브되었던 출력 프레임 영역들만 메모리에 저장되는데, 오버드라이브되지 않았던 출력 프레임 영역들은 대신에 신규 입력 프레임으로부터 직접 페치된다. 이것은 오버드라이브되고 있지 않은 출력 프레임 영역들을 다시 저장하는 것을 방지하거나 줄일 것이다. 이 경우에는, 출력 프레임 영역이 오버드라이브되었는지 아닌지를 나타내기 위해서 메타데이터가 사용되는 것이 바람직하다(그것에 의해 출력 프레임 영역이 오버드라이브되지 않았던 경우에는 그에 대응하는 입력 프레임 영역을 신규 입력 프레임으로부터 페치하는 것을 트리거한다).
본 발명은 전자 디스플레이 상에 표시하기 위한 프레임들을 생성하도록 동작가능한 어떤 원하는 적절한 데이터 처리 시스템에서 구현될 수 있다. 이것은 LCD 및 OLED 디스플레이 등에 "오버드라이브"가 적용되어 사용되는 어떤 형태의 디스플레이에든 적용될 수 있다. 이 시스템은 LCD 또는 OLED 디스플레이의 형태인 것이 바람직한 디스플레이를 포함하는 것이 바람직하다.
바람직한 실시예에 있어서는, 본 발명은 디스플레이 상에, 예를 들면 그래픽 유저 인터페이스에 대한 윈도우를 표시하기 위한 시스템인 데이터 처리 시스템, 및 바람직하게는 합성 윈도우 시스템에서 구현된다.
본 발명이 구현되는 데이터 처리 시스템은 어떤 원하는 적절한 요소들 및 구성소자들을 포함할 수 있다. 이와 같이, 그것은 CPU, GPU, 비디오 프로세서, 디스플레이 컨트롤러, 디스플레이, 및 다양한 프레임과 필요한 다른 데이터를 저장하기 위한 적절한 메모리 중, 한 개 이상 및 바람직하게는 모두를 포함할 수도 있고, 바람직하게는 포함한다.
입력 프레임 영역 체킹 프로세스 및 어떤 필요한 오버드라이브 계산 및 오버드라이브된 출력 프레임 영역 생성은, 전체 데이터 처리 시스템의 어떤 적절한 원하는 구성소자에 의해 행해질 수 있다. 예를 들면, 이것은 (시스템 온 칩에서) 시스템에 제공된 CPU, GPU 또는 별개의 프로세서(예를 들면, ASIC)에 의해 또는 문제의 디스플레이에 대한 디스플레이 컨트롤러에 의해 수행될 수 있다. 또한, 디스플레이가 능력(예를 들면, "인텔리젼트(intelligent)"하고, 예를 들면 직접적인 디스플레이 합성을 지지하고 적절한 메모리에 대한 액세스를 갖는다)을 가지고 있으면, 디스플레이 자체가 이들 프로세스 중 어느 하나 또는 모두를 수행하는 것이 가능할 것이다. 같은 소자는, 모든 프로세스를 수행할 수 있거나, 또는 이들 프로세스는 원하는 대로 시스템의 상이한 소자들 전체에 걸쳐 분배될 수 있다.
바람직한 실시예에 있어서, 본 발명의 입력 프레임 영역 체킹 프로세스 및 어떤 필요한 오버드라이브 계산 등은, 디스플레이 컨트롤러에서 및/또는 디스플레이 자체에서 수행된다. 이와 같이, 본 발명은 또한 본 발명의 장치를 내장하고, 본 발명의 방법을 수행하는 디스플레이 컨트롤러와, 그 자진이 본 발명의 장치를 내장하고, 본 발명의 방법을 수행하는 디스플레이에 확장된다.
입력 프레임(들) 및 출력 프레임(및 어떤 다른 소스면(프레임들))이 메모리 내에 어떤 적절한 원하는 방식으로 저장될 수 있다. 그들은 적당한 버퍼 내에 저장되는 것이 바람직하다. 예를 들면, 출력 프레임은 출력 프레임 버퍼 내에 저장되는 것이 바람직하다.
출력 프레임 버퍼는 온 칩 버퍼일 수도 있거나, 외부 버퍼일 수도 있다(실제로, 이하에 설명하는 것처럼, 외부 버퍼(메모리)가 될 가능성이 있을 수 있다). 마찬가지로, 출력 프레임 버퍼는 이 목적을 위한 전용 메모리일 수도 있거나 다른 데이터에 대해서도 사용되는 메모리의 일부일 수도 있다. 몇몇 실시예에 있어서는, 출력 프레임 버퍼는 프레임을 생성하고 있는 그래픽 처리 시스템에 대한 및/또는 프레임이 그 위에 표시되는 디스플레이에 대한 프레임 버퍼이다.
마찬가지로, 입력 프레임들이 생성(렌더링)될 때 입력 프레임들이 먼저 기록되는 버퍼들은, 어떤 적당한 이러한 버퍼들로 이루어질 수도 있고, 어떤 적당한 원하는 방식으로 메모리 내에 구성될 수도 있다. 예를 들면, 그들은 온 칩 버퍼 또는 버퍼들일 수도 있거나 외부 버퍼 또는 버퍼들일 수도 있다. 마찬가지로, 그들은 다른 데이터에 대해서도 사용되는 메모리의 일부일 수도 있다. 입력 프레임 버들은, 예를 들면 어플리케이션이 필요로 하는 어떤 포맷일 수 있고, 예를 들면 시스템 메모리에(예를 들면, 통합 메모리 구조에), 또는 그래픽 메모리에(예를 들면, 비통합 메모리 구조에) 저장될 수도 있다.
바람직한 실시예에 있어서, 입력 프레임의 각 신규 버전은 입력 프레임의 이전 버전과 다른 버퍼 내에 기록되는 것이 바람직하다. 예를 들면, 신규 입력 프레임은 상이한 버퍼들에 교대로 또는 순차적으로 기록될 수도 있다.
출력 프레임을 형성하는 입력 프레임은, 출력 프레임과 다른 레이트 또는 시간으로 갱신될 수도 있다. 입력 프레임의 적당한 이전 버전 또는 버전들은, 적절한 경우 입력 프레임의 현재 버전과 비교(어떤 오버드라이브 계산에 사용)되어야 한다. 출력 프레임의 생성은, 디스플레이 리프레시 레이트로 행해지는 것이 바람직하다. 이와 같이, 예를 들면, 입력 프레임이 30fps로 생성되지만 디스플레이가 60fps로 리프레시되면, 같은 입력 프레임이 두 번 표시될 것이다. 이 경우, 처음에 오버드라이브 프로세스가 입력 프레임의 버전을 판독하고 이전 및 신규 프레임들을 비교해서 오버드라이드를 수행할 것이지만, 다음 프레임에 대해서는 "신규" 및 이전 프레임들이 같을 것이다. 입력 프레임 생성 레이트는 콘텐트의 복잡성에 의존하여 변화할 수도 있지만, 디스플레이 리프레시 레이트는 아마 실제 시스템에서는 고정될 것이다.
본 발명은 출력 프레임 영역 단위로 출력 프레임의 영역에 대해서 오버드라이브를 수행할 것인지 아닌지를 판정하는 생각을 참조해서 상기에 설명했지만, 본 출원인은 상술한 본 발명의 기술이 사용되는지 아닌지 여부에 관계없이, 디스플레이 컨트롤러에서(디스플레이 컨트롤러가 그것을 행할 수 있는 경우) 직접 오버드라이브 계산 및 동작을 수행하는 이점이 있을 수 있다는 것을 인식했다. 예를 들면, 오버드라이브 동작이 디스플레이 컨트롤러에서 직접 수행되면, 그 후에 출력으로서, 오버드라이브 프레임이 직접 표시될 수 있고, 그것은 디스플레이 컨트롤러에 의해 다음 검색을 위해 메모리에 기록될 필요가 없어, 그것에 의해 오버드라이브 프레임을 판독 및 기록하기 위한 메모리 대역폭을 절약할 것이다. 본 출원인은 이것이 그 자체로 새롭고 유리할 수 있다고 믿는다.
이와 같이, 본 발명의 추가 국면에 의하면, 표시용 전자 디스플레이에 제공하기 위한 출력 프레임을, 상기 전자 디스플레이를 오버드라이브할 때 표시될 입력 프레임으로부터 생성하도록 디스플레이 컨트롤러를 동작시키는 방법이 제공되고, 상기 방법은,
상기 입력 프레임의 신규 버전이 표시될 때, 상기 입력 프레임의 오버드라이브된 버전을 생성하기 위해서 표시될 신규 입력 프레임과 적어도 한 개의 이전 입력 프레임을 이용해서 상기 전자 디스플레이에 제공하기 위한 입력 프레임의 오버드라이브된 버전을 생성하는 디스플레이 컨트롤러를 구비한다.
본 발명의 추가 국면에 의하면, 표시용 전자 디스플레이에 제공하기 위한 출력 프레임을, 상기 전자 디스플레이를 오버드라이브할 때 표시될 입력 프레임으로부터 생성하는 디스플레이 컨트롤러가 제공되고, 상기 디스플레이 컨트롤러는 상기 입력 프레임의 신규 버전이 표시될 때,
메모리로부터 표시될 신규 입력 프레임과 적어도 한 개의 이전 입력 프레임을 판독하고,
상기 판독한 표시될 신규 입력 프레임과 적어도 한 개의 이전 입력 프레임을 이용해서, 상기 표시될 신규 입력 프레임의 오버드라이브된 버전을 생성하며,
상기 표시될 신규 입력 프레임의 오버드라이브된 버전을 디스플레이에 제공하도록 구성된 처리회로를 구비한다.
본 발명이 속하는 기술분야의 당업자가 알 수 있는 것처럼, 본 발명의 이들 국면은, 적절히 여기에 설명한 본 발명의 바람직하고 선택적인 특징들 중의 어느 하나 또는 그 이상 또는 모두를 포함할 수 있고, 바람직하게는 포함한다. 이와 같이, 예를 들면, 바람직한 실시예에 있어서는, 이들 본 발명의 국면의 디스플레이 컨트롤러는 상기 설명한 시그니처 비교 프로세스를 이용해서 신규 입력 프레임의 오버드라이브된 버전을 생성할 때 입력 프레임의 영역들이 변경되었는지를 판정한다(그것에 의해 예를 들면, 변경되지 않았던 입력 프레임의 오버드라이브된 영역들을 생성하는 것을 방지한다).
이들 본 발명의 국면에 있어서는, 디스플레이 컨트롤러는 메모리 내의 적절한 프레임 버퍼들로부터 표시될 현재의 입력 프레임 및 필요한 이전 입력 프레임 또는 프레임들을 판독해야 하고, 예를 들면 바람직하게는 판독하고, 그 후에 이들 입력 프레임을 이용해서 오버드라이브 계산을 행하고(예를 들면, 표시되는 입력 프레임의 신규 버전에 오버드라이브 인자를 적용하기 위해서), 그 다음 표시용 디스플레이에 직접 오버드라이브된 입력 프레임(오버드라이브 프레임)을 제공한다.
여기서 설명한 기술은 적절히 구성된 마이크로 프로세서 기반의 시스템 등, 어떤 적절한 시스템에서 구현될 수 있다. 몇몇 실시예에 있어서는, 여기에 설명한 기술은 컴퓨터 및/또는 마이크로 프로세서 기반의 시스템에서 구현된다.
여기에 설명된 기술의 다양한 기능들은 어떤 원하는 적절한 방식으로 수행될 수 있다. 예를 들면, 여기에 설명한 기술의 기능들은 원하는 대로 하드웨어 또는 소프트웨어로 구현될 수 있다. 이와 같이, 예를 들면, 여기에 설명된 기술의 다양한 기능소자들 및 "수단"은, 원하는 방식으로 동작하도록 프로그램될 수 있는 적절한 전용의 하드웨어 소자들(처리회로) 및/또는 프로그래머블 하드웨어 소자들(처리회로)과 같은, 다양한 기능 등을 수행하도록 동작가능한, 적절한 프로세서 또는 프로세서들, 컨트롤러 또는 컨트롤러들, 기능 유닛들, 회로, 처리 로직, 마이크로프로세서 구성 등을 구비할 수도 있다. 마찬가지로, 윈도우가 그 위에 표시되는 디스플레이는 전자기기의 디스플레이 화면, 컴퓨터용 모니터 등과 같은 어떤 적절한 그러한 디스플레이일 수 있다.
여기에서는, 본 발명이 속하는 기술분야의 당업자가 알 수 있는 것처럼, 여에 설명한 기술의 다양한 기능 등은, 소정의 프로세서 상에서 병렬로 복제 및/또는 수행될 수도 있다는 점에 유념해야 한다. 동일하게, 다양한 처리 단계가 원한다면, 처리 회로 등을 공유할 수도 있다.
여기에 설명된 기술은 "파이프라인(pipelined)" 렌더링 구성(그 경우에 렌더러(renderer)가 렌더링 파이프라인의 형태일 것이다)을 갖는 프로세서와 같은, 그래픽 프로세서 및 렌더러의 어떤 적절한 형태 또는 구성에 적용가능하다. 그것은 특히 타일 기반 그래픽 프로세서, 그래픽 처리 시스템, 컴포지션 엔진, 및 합성 디스플레이 컨트롤러에 적용가능하다.
또한, 여기에 설명된 기술의 모든 실시예는 여기에 설명한 바람직한 선택적인 특징들 중의 어느 하나 또는 그 이상 또는 모두를 적절히 포함할 수 있다는 것을 본 발명이 속하는 기술분의 당업자가 알 수 있을 것이다.
여기에 설명한 기술에 따른 방법들은 적어도 부분적으로 소프트웨어, 예를 들면 컴퓨터 프로그램을 이용해서 구현될 수도 있다. 이와 같이, 추가 실시예에서 볼 때 여기에 설명된 기술은, 데이터 처리 수단 상에 인스톨될 때 여기에 설명된 방법을 수행하도록 구체적으로 구성된 컴퓨터 소프트웨어, 프로그램 소자가 데이터 처리 수단 상에서 동작할 때 여기에 설명된 방법을 수행하기 위한 컴퓨터 소프트웨어 코드 부분들로 이루어진 컴퓨터 프로그램 소자, 및 프로그램이 데이터 처리 시스템 상에서 동작할 때 여기에 설명된 방법 또는 방법들의 스텝들 모두를 수행하도록 구성된 코드 수단으로 이루어진 컴퓨터 프로그램을 제공한다는 것을 알 수 있을 것이다. 데이터 처리 시스템은 마이크로프로세서, 프로그래머블 FPGA(Field Programmable Gate Array) 등일 수 있다.
여기에 설명된 기술은 또한 그래픽 프로세서, 렌더러, 또는 데이터 처리 수단을 구비하는 다른 시스템에 사용될 때, 상기 데이터 처리 수단과 함께 상기 프로세서, 렌더러 또는 시스템이 여기에 설명된 기술의 방법들의 스텝들을 수행시키는 그러한 소프트웨어로 이루어진 컴퓨터 소프트웨어 캐리어에도 확장된다. 그러한 컴퓨터 소프트웨어 캐리어는 ROM 칩, CD ROM, RAM, 플래시 메모리, 또는 디스크 등의 물리적인 저장매체일 수 있거나, 와이어 위의 전자신호와 같은 신호, 위성 등과 같은 광학 신호 또는 무선신호일 수 있다.
여기에 설명된 기술의 방법들의 스텝들 모두가 컴퓨터 소프트웨어에 의해 수행될 필요가 없으므로 좀더 넓은 실시예로부터 여기에 설명된 기술이 컴퓨터 소프트웨어와, 여기에 설명된 방법의 스텝들 중의 적어도 하나를 수행하기 위한 컴퓨터 소프트웨어 캐리어 상에 인스톨된 그러한 소프트웨어를 제공한다는 것을 추가로 알 수 있을 것이다.
따라서, 여기에 설명된 기술은 컴퓨터 시스템과 함께 사용하기 위한 컴퓨터 프로그램 제품으로서 적절히 구현될 수도 있다. 그러한 구현은 컴퓨터 판독가능한 매체, 예를 들면, 디스켓, CD ROM, ROM, RAM, 플래시 메모리, 또는 하드 디스크와 같은, 유형의 비일시(tangible, non-transitory) 매체 상에 고정된 일련의 컴퓨터 판독가능한 명령들을 구비할 수도 있다. 또한, 그것은 광학 또는 아날로그 통신 라인을 포함하지만 그것에 한정되지 않는 유형의 매체, 또는 마이크로웨이브, 적외선 또는 다른 통신 기술을 포함하지만 그것에 한정되지 않는 무선 기술을 이용하는 무형의 매체 상에서, 모뎀 또는 다른 인터페이스 디바이스를 통해서, 컴퓨터 시스템에 전송가능한 일련의 컴퓨터 판독가능한 명령들을 구비할 수 있다. 일련의 컴퓨터 판독가능한 명령들은 여기에 이전에 설명한 기능 모두 또는 일부를 구현한다.
본 발명이 속하는 기술분야의 당업자들은 그러한 컴퓨터 판독가능한 명령들이 많은 컴퓨터 구조 또는 동작 시스템과 함께 사용하기 위한 다수의 프로그래밍 언어로 기록될 수 있다는 것을 인식할 것이다. 또한, 그러한 명령들은 반도체, 마그네틱, 또는 옵티컬을 포함하지만 그것에 한정되지 않는 현재 또는 미래의 어떤 메모리 기술을 이용해서 저장될 수도 있거나, 또는 옵티컬, 적외선, 또는 마이크로웨이브를 포함하지만 그것에 한정되지 않는 현재 또는 미래의 어떤 통신 기술을 이용해서 전송될 수도 있다. 그러한 컴퓨터 프로그램 제품은 예를 들면, 시스템 ROM 또는 고정된 디스크 상에, 인쇄 또는 전자 문서, 예를 들면, 컴퓨터 시스템으로 프리 로드된(pre loaded) 슈링크 랩(shrink wrapped) 소프트웨어가 수반되는 이동식 매체로서 배부될 수 있거나, 네트워크, 예를 들면 인터넷 또는 월드 와이드 웹(World Wide Web)상에서 서버 또는 전자 게시판으로부터 배부될 수도 있다는 것을 고려한다.
본 발명의 바람직한 실시예는 첨부도면을 참조하여 한 예로서 설명될 것이다.
본 발명은 공지된 종래의 오버드라이브 기술에 비해서 오버드라이브 동작을 수행하는데에 필요한 처리와 페치되어야 하는 데이터의 양을 줄일 수 있는 디스플레이 상에서 오버드라이브를 수행하기 위한 메카니즘을 제공할 수 있다.
도 1은 오버드라이브가 사용되고 있지 않을 때의 일련의 입력 프레임들의 디스플레이를 개략적으로 나타낸 것이다.
도 2는 오버드라이브를 이용할 때의 도 1의 일련의 입력 프레임들의 디스플레이를 개략적으로 나타낸 것이다.
도 3은 오버드라이브 동작들을 수행할 수 있는 예시적인 데이터 처리 시스템을 개략적으로 나타낸 것이다.
도 4는 오버드라이브 프로세스를 개략적으로 나타낸 것이다.
도 5는 본 발명의 바람직한 실시예에서 사용된 오버드라이브 프로세스를 개략적으로 나타낸 것이다.
도 6, 7, 및 8은 본 발명의 바람직한 실시예에 따라 동작할 수 있는 예시적인 데이터 처리 시스템을 개략적으로 나타낸 것이다.
도 9는 입력 프레임들 및 그들의 대응하는 시그니처들과 메모리 내의 이 데이터의 저장을 나타내는 개략도이다.
도 10은 본 발명의 실시예에 있어서의 오버드라이브 동작을 개략적으로 나타낸 것이다.
도 11은 본 발명의 실시예에 있어서의 오버드라이브 동작을 나타내는 플로차트이다.
도 12는 본 발명의 실시예에 있어서의 오버드라이브 동작을 개략적으로 나타낸 것이다.
도 13 및 14는 본 발명의 실시예에서 사용되는 시그니처 생성 프로세스를 개략적으로 나타낸 것이다.
도 15 및 16은 디스플레이 컨트롤러 내에서 오버드라이브 동작이 수행되는 대체 실시예를 개략적으로 나타낸 것이다.
동일한 참조번호는 적절히 도면 전체에 있는 같은 특징에 대해서 사용된다.
이하, 본 발명의 다수의 실시예에 대해서 설명할 것이다.
상술한 바와 같이, 본 발명은 디스플레이의 좋지 못한 응답을 보상하기 위해서 디스플레이에 제공하기 위한 오버드라이브된 프레임을 생성하는 시스템에 관한 것이다.
도 5는 본 실시예의 기본적인 동작을 개략적으로 나타낸 것이다. 이것은 도 4를 참조하여 상기 설명한 오버드라이브 동작과 유시하지만, 많은 중요한 차이점이 있다.
도 5에 도시한 바와 같이, "오버드라이브 엔진"(50)은 (표시될 프레임들인 입력 프레임(51)을 가지고 있고, 표시될 각 입력 프레임에 대해서, 디스플레이(53)를 구동해서 대응하는 입력 프레임을 표시하기 위해 사용되는 대응하는 출력 프레임(52)을 생성한다. 출력 프레임(52)은 디스플레이 컨트롤러(54)에 의해 판독되어서 표시용 디스플레이(53)에 제공된다.
오버드라이브 기술에 따라, 표시될 입력 프레임으로부터 오버드라이브 엔진(50)에 의해 생성되는 출력 프레임(52)은, 즉 몇몇 형태의 오버드라이브 인자를 포함하는, 입력 프레임의 "오버드라이버된(overdriven)" 버전일 수도 있으므로, 입력 프레임에 정확히 대응하지 않을 수도 있다. 디스플레이(53)는 예를 들면 LCD 또는 OLED 디스플레이일 것이다.
도 5에 나타낸 구성에 있어서, 오버드라이브 계산 및 프로세스는 현재의 프레임(55)(즉, 표시될 신규 입력 프레임) 및 직전의 입력 프레임(56)을 사용하는 것으로 한다. 그렇지만, 오버드라이브 프로세스에 대해서 복수의 입력 프레임이 사용되는 다른 구성이 가능할 것이고, 본 실시예는 동일하게 적용되고 그러한 오버드라이브 구성에 대해서도 그에 대응하여 사용될 수 있다.
또한, 도 5 구성에서는 입력 프레임들이 한 개의 소스로부터 생겨나고, 즉 오버드라이브 엔진(50)에 제공되는 단일 면으로서 생성되는 것으로 한다. 또한, 본 기술분야에서 알려진 것처럼, 입력 프레임이 (실제로 비교적 공통적일 수 있는) 복수의 상이한 소스면(프레임)으로부터 합성되는 합성 프레임이 되는 것이 가능할 것이다. 다시, 본 실시예는 입력 프레임(51)이 실제로 복수의 소스면(프레임)으로부터 형성된 합성 프레임인 그러한 구성에 확장된다.
도 5에 도시한 바와 같이, 본 실시예는, 첫 번째로 입력 및 출력 프레임이 이들 프레임의 좀더 작은 영역(부분) 57, 58의 연속으로서 처리된다는 점에서 종래의 오버드라이브 동작과 다르다. 이와 같이, 출력 프레임은 영역 단위로 생성되고, 출력 프레임의 각각의 영역은 입력 프레임의 대응하는 영역으로부터 생성되고 있다. (간략을 위해 본 실시예에서는 입력 프레임(51)의 영역 57과 출력 프레임(52)의 영역 58 간에 1:1 맵핑이 있다고 가정한다. 그렇지만, 원한다면, 예를 들어, 입력 프레임 영역과 출력 프레임 영역 간에 1:1 맵핑이 없는 다른 구성도 가능할 것이다.)
또한, 이하에 좀더 상세히 설명하는 것처럼, 본 실시예에 있어서는 오버드라이브 엔진(50)이 디스플레이(53)에 제공하기 위한 출력 프레임(52)을 생성하기 위해서 입력 프레임을 처리하고 있을 때, 오버드라이브 엔진이 먼저 이전 입력 프레임 이후로 관련된 입력 프레임 영역이 변경되었거나 적어도 상당히 변경되었는지 아닌지를 판정한다. 관련된 입력 프레임 영역이 입력 프레임의 이전 버전 이후로 변경되었다고 판정되면, 오버드라이브 엔진은, 오버드라이브 프로세스 시에, 현재의 입력 프레임의 영역과 이전 입력 프레임의 대응하는 영역을 이용해서, 입력 프레임 영역의 오버드라이브된 버전을 생성함으로써, 출력 프레임(52)에 오버드라이브된 영역을 제공한다.
그렇지만, 입력 프레임 영역이 변경되지 않다고 판정되면, 오버드라이브 엔진(50)은 그 영역에 대한 어떤 형태의 오버드라이브 계산도 수행하지 않지만, 대신에 간단히 출력 프레임에서의 대응하는 영역으로서 (표시될 신규 입력 프레임으로부터) 현재의 입력 프레임으로부터의 영역을 제공한다. 그 후에 이것은 입력 프레임 영역이 변경되지 않았다고 판정되는 상황에서 이전 입력 프레임을 판독하여 어떤 오버드라이브 계산을 수행할 필요성을 방지한다.
이것의 효과는 오버드라이브되는 (대응하는 입력 프레임 영역의 오버드라이브된 버전인) 영역과 오버드라이브되지 않는 (현재 상태 그대로 현재의 입력 프레임 영역에 간단히 대응하는) 영역 양쪽을 포함할 수도 있다.
오버드라이브 엔진(50)은 신규 입력 프레임이 표시될 때 각 입력 프레임 영역에 대해서 차례로 이 동작을 수행하여, 디스플레이 컨트롤러(54)에 의해 판독되어 디스플레이(53)를 구동하는 데에 사용될 수 있는 신규 출력 프레임(52)을 그에 대응해서 생성한다.
본 실시예에 있어서는, 고려되는 입력 51 및 출력 52의 영역 57, 58은 각각의 입력 프레임을 렌더링하고 있는 그래픽 프로세서가 생성하는 각각의 렌더링 타일(rendering tiles)에 대응한다. 원한다면 프레임 영역의 다른 구성 및 구조도 이용될 수 있다.
본 발명의 실시예는 표시용 프레임을 제공하는 데이터 처리 시스템의 어떤 원하는 형태로든 구현될 수 있다. 이와 같이, 그들은 예를 들면 상기 설명한 도 3에 나타낸 것과 같은 시스템에서 사용될 수 있다. 이 경우 오버드라이브 엔진(31)은 본 실시예의 방식으로 동작하도록 구성될 것이다.
도 6, 7 및 8은 본 실시예를 구현할 수 있는 추가 예시적인 시스템을 나타낸다.
도 6은 디스플레이 컨트롤러(60)가 오버드라이브 엔진 자체를 내장하여 실행하는 구성을 나타낸다. 이 구성은 오버드라이브 프레임을 메모리에 기록할 필요성을 방지할 수 있어, 대역폭을 절약한다.
도 7은 CPU(32), GPU(33), 비디오 엔진(34), 디스플레이 컨트롤러(35), 메모리 컨트롤러(38) 및 인터커넥트(36)를 포함하는 시스템 온 칩(SoC)(70)과, 오버드라이브 엔진(72)과 적당한 메모리(73)를 포함하는 별개의 "디스플레이 인헨스먼트(display enhancement)" ASIC(71)가 있는 구성을 나타낸다. 그 다음 출력 프레임은 디스플레이 인헨스먼트 ASIC(71)로부터 디스플레이(53)에 제공된다.
도 8은 "인텔리젼트(intelligent)" 디스플레이(80)에 입력 프레임을 생성하여 제공하는, 오프 칩 메모리(37)에의 액세스를 갖는, CPU(32), GPU(33), 비디오 엔진(34), 디스플레이 컨트롤러(35), 인터커넥터(36) 및 메모리 컨트롤러(38)를 포함하는 시스템 온 칩(SoC)(70)이 있는 추가 구성을 나타낸다. "인텔리젼트" 디스플레이(80)는 오버드라이브 엔진(81), 적당한 메모리(82), 및 디스플레이(83)를 포함한다. 이 경우에 "인텔리젼트" 디스플레이(80)는 오버드라이브 엔진과 프로세스 자체를 실행할 수 있도록 그 자신의 처리 능력과 메모리를 갖는다고 가정한다.
상술한 바와 같이, 본 실시예는 영역 단위로 입력 프레임으로부터 디스플레이 제공하기 위한 출력 프레임을 생성하도록 동작한다. 처리되고 있는 각 입력 프레임 영역에 대해서, 입력 프레임의 이전 버전 이후로 입력 프레임 영역이 (상당히) 변경되었는지 여부를 판정하고, 입력 영역이 변경되었다고 판정되면, 입력 프레임 영역의 오버드라이브된 버전이 출력 프레임에서의 대응하는 영역으로서 사용하기 위해서 생성된다. 한편, 입력 프레임의 이전 버전 이후로 입력 프레임 영역이 변경되지 않았다고 판정되면, 신규 입력 프레임 영역이 출력 프레임에서의 대응하는 영역에 대해서 그대로(즉, 그것에 대해서 어떤 형태의 오버드라이브 프로세스도 수행하지 않고) 사용된다.
본 실시예에 있어서, 입력 프레임 영역이 변경되었는지 아닌지의 판정은 입력 프레임 영역의 콘텐트와 입력 프레임 영역의 이전 버전을 나타내는 시그니처들을 고려해서 행해진다. 이 프로세스에 대해서는 이하에 좀더 상세히 설명한다.
이 동작을 용이하게 하기 위해서, 콘텐트 표시 시그니처들은 각 입력 프레임 영역에 대해서 생성되고, 프레임 영역들 자체를 나타내는 데이터뿐만 아니라, 이들 콘텐트 표시 시그니처들이 저장된 후에 사용된다. 이 데이터는 예를 들면, 오프 칩 메모리(37) 내에 모두 저장될 수도 있다. 다른 구성도 물론 원한다면 가능할 것이다.
도 9는 이 데이터를 나타내고, 이 데이터가 어떻게 본 발명의 실시예에 따라 메모리에 저장될 수도 있는지를 나타낸다.
도 9에 도시한 바와 같이, 그리고 상기 설명한 바와 같이, 각 입력 프레임(51)은 각각의 프레임 영역(57)의 콘텐트를 나타내는 한 세트의 시그니처 90, 91과 관련되어 있다. 입력 프레임(51)의 각각의 영역 57을 나타내는 데이터 92a, 92b는 각각의 입력 프레임의 영역의 콘텐트를 나타내는 한 세트의 시그니처 94a, 94b과 함께, 메모리(37) 내에 저장된다.
도 10은 오버드라이브 엔진이 오버드라이브 디스플레이 컨트롤러(60)(즉, 그 자신이 오버드라이브 프로세스를 수행할 수 있고, 수행하도록 동작하는 디스플레이 컨트롤러) 내에 포함되는 예에 있어서 이 경우에, 오버드라이브 엔진에 의한 이 시그니처 데이터 90, 91의 사용을 개략적으로 나타낸 것이다.
도 11 및 도 12는 본 실시예에서 표시용 출력 프레임들을 생성할 때 오버드라이브 디스플레이 프로세서에 대한 오버드라이브 프로세스의 동작의 실시예를 좀더 상세히 나타낸다. 여기에서는 예를 들면, 디스플레이를 리프레시하기 위해서, 표시될 신규 출력 프레임이 필요하고, 그래서 신규 출력 프레임이 디스플레이에 제공하기 위한 입력 프레임으로부터 생성될 것이라고 가정한다.
도 11에 도시한 바와 같이, 프로세스는 고려할 입력 프레임의 다음 타일(영역)을 페치(fetch)하는 오버드라이브 엔진으로 시작한다(스텝 110). 그런 다음, 현재의 입력 프레임(즉, 표시될 신규 입력 프레임)과 (현재 표시되고 있는 출력 프레임을 생성하기 위해서 사용되었던) 입력 프레임의 이전 버전에 대한 문제의 타일(영역)에 대한 타일 시그니처들을 페치해서 비교한다(스텝 111 및 112)
타일 시그니처들이 동일하지 않다고 판정되면(즉, 이전 프레임 이후로 입력 프레임 타일(영역)이 (상당히) 변경되었다고 판정되면), 도 11에 도시한 바와 같이, 오버드라이브 프로세스를 행한다. 이와 같이, 오버드라이브 엔진이 이전의 입력 프레임으로부터 그에 대응하는 타일을 페치하고(스텝 113), 현재의 입력 프레임으로부터의 타일과 이전의 입력 프레임으로부터의 타일을 이용해서 오버드라이브 타일을 얻고(스텝 114), 그 후에 디스플레이에 전해지는 출력 프레임에서의 타일 위치에 대한 타일로서 그렇게 해서 생성된 오버드라이브 타일을 제공한다(스텝 115).
한편, 스텝 112에서 현재 및 이전 입력 프레임에 대한 타일(영역)에 대한 타일 시그니처들이 동일하다고 판정되면(즉, 타일이 현재의 입력 프레임에서 변경되지 않았다고 판정되면), 오버드라이브 프로세스가 행해지지 않고, 대신 현재의 입력 프레임으로부터(즉 표시될 신규 입력 프레임으로부터)의 타일이 디스플레이에 전해지는 출력 프레임에서의 대응하는 타일로서 제공된다(스텝 116).
이 프로세스는 출력 프레임이 완료할 때까지, 입력 프레임에서의 모든 타일에 대해서 (필요한 각 출력 프레임 영역에 대해서) 반복된다(스텝 117, 118, 119). 입력 프레임 타일(영역)이 원하는 대로 (예를 들면, 오버드라이브 엔진을 구현하고 있는 기기의 처리 능력에 의존해서) 차례로 또는 병렬로 처리될 수도 있다.
도 12는 본 실시예의 방식으로 동작할 수 있는 디스플레이 컨트롤러에 있어서의 데이터 및 제어 흐름 등을 나타내는 블록도이다.
도 12에 도시한 바와 같이, 디스플레이 컨트롤러는 현재 및 이전 입력 프레임으로부터의 타일과, 그들의 대응하는 콘텐트 표시 시그니처들을 메모리로부터 페치하도록 동작가능한 데이터 페치 컨트롤러(120)를 포함할 것이고, 그 데이터를, 프레임 타일 버퍼(121), 이전 프레임 타일 버퍼(124), 현재 프레임 시그니처 버퍼(123), 및 이전 프레임 시그니처 버퍼(124) 내에 각각 저장할 것이다.
오버드라이브 상태기계(125)는 현재의 프레임 시그니처 버퍼(123) 및 이전 프레임 시그니처 버퍼(124)로부터 현재 및 이전 프레임으로부터의 타일의 시그니처들을 비교하고, 필요한 경우, 오버드라이브 계산(126)과 오버드라이브 프레임 타일 버퍼(127) 내의 오버드라이브 프레임 타일의 저장을 트리거하도록 동작한다. 오버드라이브 상태기계(125)는 또한 기록 컨트롤러(128)를 제어해서 입력 프레임 타일 버퍼(121)로부터의 현재 입력 프레임 타일 또는 오버드라이브 프레임 타일 버퍼(127)로부터의 생성된 오버드라이브된 프레임 타일을 적절히 디스플레이 출력 로직(129)에 제공한다.
상기 실시예는, 소정의 출력 프레임의 처리를 참조하여 설명되었지만, 알 수 있는 것처럼, 본 실시예의 동작은, 출력 프레임의 신규 버전이 생성됨에 따라, 입력 프레임의 신규 버전이 표시될 때마다 그에 대응해서 반복될 것이다.
상기 설명한 바와 같이, 본 실시예는 각각의 입력 프레임 영역(타일)의 콘텐트를 나타내는 시그니처들을 이용해서 이들 타일(영역)이 변경되었는지 아닌지를 판정한다. 도 13 및 14는 입력 프레임 타일 콘텐트 표시 시그니처들을 생성하기 위한 예시적인 구성을 개략적으로 나타낸 것이다. 물론 다른 구성도 가능할 것이다.
본 실시예에 있어서는, 이 프로세서는 시그니처 생성 하드웨어 유닛(130)을 이용한다. 시그니처 생성 유닛(130)은 타일의 콘텐트를 나타내는 시그니처를 각 입력 프레임 타일에 대해서 생성하도록 동작한다.
도 14에 도시한 바와 같이, 타일 데이터가 예를 들면 입력 프레임을 발생하고 있는 그래픽 또는 다른 프로세서로부터 시그니처 생성 유닛(130)에 의해 수신되어, 시그니처 생성 프로세스가 발생하는 동안 타일 데이터를 임시로 저장하는 버퍼(141), 및 시그니처 생성기(140) 양쪽에 전달된다.
시그니처 생성기(140)는 타일에 대해서 필요한 시그니처를 생성하도록 동작한다. 본 실시예에 있어서, 시그니처는 타일에 대해서 32비트 CRC의 형태를 취한다. 다른 시그니처 생성 기능 및 해시(hash) 기능 등과 같은 다른 형태의 시그니처도 원한다면 대신에 사용될 수 다.
일단 신규 타일에 대한 시그니처가 발생되었다면, 시그니처 생성 하드웨어 유닛(130)의 기록 컨트롤러(142)는, 기록 컨트롤러(142)의 제어 하에, 메모리(37) 내의 문제의 입력 프레임의 버전과 관련되어 있는 타일당 시그니처 버퍼 내에 시그니처를 저장하도록 동작한다. 대응하는 타일 데이터도 메모리(37) 내의 적당한 버퍼 내에 저장된다.
본 실시예에 있어서는, 타일에 대한 콘텐트 표시 시그니처들이 각 타일에서의 컬러의 최상위 비트(MSB)의 선택된 세트(예를 들면, 화소당 RGB 8비트-R[7:2], G[7:2], B[7:2]에 대해서)만을 이용해서 생성된다. 상기 설명한 것처럼, 이들 MSB 시그니처를 이용해서, 타일 사이에서 좀더 중요한 변화가 있었는지를 판정한다(그에 따라 오버드라이브 동작을 트리거하거나 트리거하지 않는다). 타일 데이터(컬러) 값의 MSB에 대해서만 입력 프레임 타일(영역) 사이에 변화가 있었는지 여부를 판정하기 위해서 사용되는 콘텐트 표시 시그니처들에 근거를 둔 효과는, 타일 사이의 작은 변화(예를 들면, LSB(least significant bits)에서만의 변화)가 출력 프레임에 대한 오버드라이브된 타일의 생성을 트리거(trigger)하지 않음으로써, 타일의 오버드라이브된 버전이 단지 입력 프레임 타일 사이에 좀더 중요한 변화가 있으면 출력 프레임에 대해서 생성될 것이라는 점이다. 이것은 타일 사이의 작은 변화를 "오버드라이빙"하는 것을 방지함으로써, 단순히 노이즈를 강조하는 역할을 하는 오버드라이브 프로세스를 잠재적으로 줄이거나 회피하는 이점이 있다.
다른 컬러 공간 및/또는 다이나믹 범위를 이용하는 등, 다른 구성도 물론 가능할 것이다.
타일 간의 작은 변화에 대한 오버드라이브 프로세스를 효율적으로 디스플레이하는 (오버드라이브 프로세스를 수행하지 않는) 다른 구성도 원한다면 사용될 수 있다. 예를 들면, 타일 내에 약간의 변화가 있었더라도, 비교 프로세스는 소정의 스레숄드와 같거나 작은 매치(matches)가 입력 프레임 타일이 변경되지 않았다는 것을 나타내기 위해서 여전히 고려되는 것을 허용할 수 있다. 또한, 전체 영역(타일)을 간단히 비교하는 것도 가능할 것이다.
또한, 다른 목적을 위해서 입력 프레임 타일들에 대한 "풀(full)" 콘텐트 표시 시그니처를 갖는 것이 바람직한 경우일 수도 있다. 이 경우에, 2세트의 시그니처, 예를 들면 오버드라이브 프로세스에 대한 하나의 "풀" 시그니처와, 또 다른 "감소된" 시그니처가 생성될 수 있다. 대신에, 컬러의 일부는 MSB 컬러에 대한 제1 시그니처(예를 들면, R[7:4], G[7:4], B[7:4]), 제2 "중간 컬러" 시그니처(예를 들면, R[3:2], G[3:2], B[3:2]) 및 제3 LSB 컬러 시그니처(R[1:0], G[1:0], B[1:0]) 등, 각각의 별도의 시그니처들을 생성하도록 분리될 수 있고, 예를 들면, 각각의 "부분" 시그니처들, 예를 들면 MSB 컬러 시그니처가 오버드라이브 프로세스에 대해서 사용되지만, 각각의 "부분" 시그니처들은 필요한 경우 타일에 대한 "풀" 콘텐트 표시 시그니처를 제공하도록 연결되어 있다. 다른 구성도 물론 가능할 것이다.
상술한 본 발명의 실시예에 대한 다양한 대안, 변형 및 부가도 원한다면 가능할 것이다.
예를 들면, 처리되고 있는 컨텐트의 타입은 사용할 오버드라이브 프로세스 및/또는 오버드라이브 값(들)을 판정하도록 분석될 수 있다. 예를 들면, 프레임들이 분석될 수 있거나 사용되고 있는 컬러 공간이 처리되고 있는 컨텐트의 타입을 (예를 들면, 비디오 소스인지 아닌지를) 판정하기 위해서 사용될 수 있으며, 그리고 그 정보가 (비교되고 있는 시그니처에 사용된 MSB 비트의 개수 등) 비교 프로세스에 대해 사용되고 있는 예를 들면 시그니처 비교 프로세스 및/또는 시그니처의 형태를 제어하기 위해서 신호를 받아서 사용될 수 있다.
마찬가지로, 입력 프레임 및/또는 입력 프레임 영역이 빠르게 변화하고 있는(예를 들면, 이미지 에지(image edges)를 포함하는)지 아닌지를 판정할 수 있고, 따라서, 시그니처 비교와 같은, 오버드라이브 프로세스가 제어되었다. 이 경우에, 이것은 입력 프레임 영역이 이미지 에지를 포함하는지 아닌지를 검출함으로써 달성되는 것이 바람직하고(그러한 이미지 에지 검출이 예를 들면, 데이터를 생성하는 기기(예를 들면, GPU 또는 비디오 엔진)에 의해 수행될 수도 있다), 에지 검출 계수 메타데이터가 각 입력 프레임 영역에 대해서 생성되고 있다. 대신에, 에지 검출이 디스플레이 컨트롤러에 의해 수행될 수 있다.
그 후에 에지 검출 데이터(예를 들면, 에지 검출 계수)가 예를 들면, 오버드라이브가 수행되어야 하는지를 판정하기 위해서 비교되어야 하는 MSB의 개수를 판정하기 위해 사용될 수 있다.
또한, 상기 실시예에 있어서는 입력 프레임 영역과 출력 프레임 영역 사이에 1:1 맵핑이 있다고 가정했지만, 그 경우일 필요는 없다. 예를 들면, 소정의 출력 프레임 영역에 적어도 부분적으로 기여하는 복수의 입력 프레임 영역이 있을 수도 있다. 이것은 예를 들면 디스플레이 컨트롤러가 스캔 라인 순으로 데이터를 페치하지만, 입력 프레임 영역 시그니처 데이터가 각각의 2D 타일에 대한 것인 경우일 수도 있다. 이 경우, 다수의 시그니처 비교가 스캔 라인마다 또는 스캔 라인의 일부마다 수행될 필요가 있을 수도 있다. 또한, 입력 프레임을 압축하는 구성에 있어서는, 디스플레이 자체가 스캔 라인 상에서 동작하더라도, 다시 2D 블록 내의 입력 프레임을 처리할 필요가 있을 수도 있다.
상기 실시예는 또한 표시되어야 하는 입력 프레임이 한 개의 입력면으로부터만 형성되는 상황에 대해서 설명한다. 그렇지만, 그것은 다수의 소스 프레임(소스면)이 (예를 들면 윈도우 합성 시스템에서) 표시될 입력 프레임을 생성하도록 합성될 수 있는 경우일 수도 있다. 이 경우에, 각각의 콘텐트 표시 시그니처들은 예를 들면 최종의 합성된 입력 프레임 영역들에 대해서 생성될 수 있고, 그 합성된 입력 프레임 영역 시그니처들은, 출력 프레임을 생성하는 입력 프레임이 변경되었는지 아닌지를 판정하기 위해서 비교된다. 대신에, 입력 프레임 영역 자체가 변경되었는지 판정하기 위해 사용된 입력 프레임 영역에 기여하는 소스 프레임 영역들에서의 어떤 변화와, 소스 프레임 영역에 대해서 콘텐트 표시 시그니처들이 생성되어 비교될 수 있다.
입력 프레임 영역(또는 합성된 입력 프레임의 경우에 소스 프레임 영역)이 원하는 대로 행해질 수 있는, 문제의 출력 프레임 영역(또는 출력 프레임 영역)에 기여하는지를 판정하는 것이 필요하다. 예를 들면, 이것은 입력 프레임 영역들로부터 출력 프레임 영역을 생성하기 위해서 사용되고 있거나 윈도우 합성 프로세스에서 소스면으로부터 입력 프레임을 생성하기 위해서 사용되고 있는 프로세스(예를 들면, 알고리즘)에 근거할 수 있다. 대신에, 레코드(예를 들면, 메타데이터)가 각각의 출력 프레임 영역에 기여하는 입력 프레임 영역, 및/또는 각각의 입력 프레임 영역에 기여하는 각각의 소스 프레임 영역으로 유지될 수 있다.
또한, 바람직한 실시예에 있어서는, 오버드라이브되지 않았던 출력 프레임 영역들이 대신 신규 입력 프레임으로부터 직접 페치되고 있는 채로, 오버드라이브되었던 출력 프레임 영역만이 메모리에 기억되어 있다. 이것은 오버드라이브되고 있지 않은 출력 프레임 영역들을 다시 저장하는 것을 방지하거나 줄일 것이다. 이 경우에, 메타데이터는, 예를 들면, 출력 프레임 영역이 오버드라이브되었는지 아닌지를 나타내기 위해서 사용될 수 있다(그것에 의해 출력 프레임 영역이 오버드라이브되지 않았던 경우에 신규 입력 프레임으로부터 대응하는 입력 프레임 영역을 페치하는 것을 트리거한다).
상기 실시예는 디스플레이에 제공될 출력 프레임에 대한 오버드라이브된 영역을 생성하는 데에 필요한지 여부를 판정함으로써 동작하지만, 본 출원인은 대안적인 실시예에 있어서, 상기 실시예의 방식의 동작도 수행되는지 여부에 관계없이, 오버드라이브 프레임 자체를 생성할 능력을 가진 디스플레이 컨트롤러를 이용하는 것이 여전히 유리할 수 있다는 것을 추가로 인식했다. 이 경우, 디스플레이 컨트롤러가 양쪽 신규 입력 프레임 및 이전 입력 프레임(들)을 판독할 것이고, 오버드라이브 계산을 수행한 후에 메모리에 오버드라이브 프레임을 기록할 필요없이(기록하지 않고) 디스플레이에 직접 오버드라이브된 프레임을 제공한다.
도 15 및 16은 그러한 구성을 나타낸 것이다. 도 15에 도시한 바와 같이, 오프 칩 메모리(37)로부터 현재의 입력 프레임 및 이전의 입력 프레임을 판독하고, 오버드라이브 계산을 행하며 오프 칩 메모리(37) 내에 오버드라이브 프레임을 기억할 필요없이 디스플레이에 직접 제공할 수 있는 오버드라이브 프레임을 생성하도록 동작할 수 있는 합성 디스플레이 컨트롤러(150)가 있다. 도 16은 현재 및 이전 입력 프레임을 판독하고 그 결과의 오버드라이브 프레임을 직접 디스플레이에 제공하는 플레이 컨트롤러(150)를 나타낸다.
상기로부터 알 수 있는 것처럼, 본 발명은 그것의 바람직한 실시예에 있어서 적어도, 공지된 종래의 오버드라이브 기술에 비해서 오버드라이브 동작을 수행하는데에 필요한 처리와 페치되어야 하는 데이터의 양을 줄일 수 있는 디스플레이 상에서 오버드라이브를 수행하기 위한 메카니즘을 제공할 수 있다.
이것은 본 발명의 바람직한 실시예에 있어서는 적어도, 입력 프레임의 각각의 영역이 프레임들 사이에서 변경되었는지 여부를 판정하고, 변경되었다고 판정된 이들 입력 프레임 영역에 대한 오버드라이브 프로세스를 행하는 것만으로 달성된다.
32: CPU
33: GPU
34: 비디오 엔진
35: 디스플레이 컨트롤러
36: 인터커넥트
37: 오프 칩 메모리
38: 메모리 컨트롤러
50: 오버드라이브 엔진
51: 입력 프레임
52: 출력 프레임
53; 디스플레이
54: 디스플레이 컨트롤러

Claims (28)

  1. 전자 디스플레이를 오버드라이브할 때 표시될 입력 프레임으로부터 표시용 전자 디스플레이에 제공하기 위한 출력 프레임을 생성하는 방법으로서,
    상기 출력 프레임을 함께 형성하는 복수의 각각의 영역으로서 상기 전자 디스플레이에 제공될 상기 출력 프레임을 영역 단위로 생성하고, 상기 출력 프레임의 각자의 각각의 영역을, 상기 표시될 입력 프레임의 각각의 영역 또는 영역들로부터 생성하는 단계와,
    상기 출력 프레임을 함께 형성하는 복수의 영역 중 2개 이상의 영역들에 대해서 및 영역 단위로,
    상기 표시될 입력 프레임의 영역 또는 영역들이 상기 출력 프레임의 영역에 기여하는 기여 영역 또는 영역들인지를 판정하고,
    디스플레이 상에 현재 표시되고 있는 출력 프레임 영역의 버전이 생성된 이후로 상기 표시될 입력 프레임의 기여 영역 또는 영역들이 변경되었는지 여부를 판정하며,
    상기 디스플레이 상에 현재 표시되고 있는 출력 프레임 영역의 버전이 생성된 이후로 상기 표시될 입력 프레임의 기여 영역 또는 영역들이 변경되었다고 판정될 때, 상기 표시될 입력 프레임의 기여 영역 또는 영역들과 적어도 한 개의 이전 입력 프레임의 기여 영역 또는 영역들에 근거해 전자 디스플레이에 제공하기 위한 출력 프레임의 영역에 대한 오버드라이브된 영역을 생성하는 단계를 포함하는 것을 특징으로 하는, 출력 프레임의 생성방법.
  2. 제 1 항에 있어서,
    상기 디스플레이 상에 현재 표시되고 있는 출력 프레임 영역의 버전이 생성된 이후로 상기 표시될 입력 프레임의 기여 영역 또는 영역들이 변경되지 않았다고 판정될 때, 상기 디스플레이에 제공하기 위한 출력 프레임의 영역에 대한 오버드라이브된 영역을 생성하지 않고 상기 디스플레이에 제공하기 위한 출력 프레임의 영역에 대하여 상기 표시될 입력 프레임의 기여 영역 또는 영역들을 이용하는 것을 포함하는 것을 특징으로 하는, 출력 프레임의 생성방법.
  3. 제 1 항 또는 제 2 항에 있어서,
    상기 표시될 입력 프레임은 복수의 상이한 소스 프레임을 합성함으로써 형성되는 것을 특징으로 하는, 출력 프레임의 생성방법.
  4. 제 1 항 또는 제 2 항에 있어서,
    각 프레임 영역은 프레임을 생성하고 있는 프로세서가 그것의 출력으로서 생성하는 타일에 대응하는 것을 특징으로 하는, 출력 프레임의 생성방법.
  5. 제 1 항 또는 제 2 항에 있어서,
    상기 디스플레이 상에 현재 표시되고 있는 출력 프레임 영역의 버전이 생성된 이후로 상기 표시될 입력 프레임의 기여 영역 또는 영역들이 변경되었는지 여부를 판정하는 단계는, 입력 프레임 영역 또는 영역들이 변경되었는지를 판정하기 위해서, 입력 프레임 영역 또는 영역들의 각각의 버전을 비교하고, 및/또는 각각의 입력 프레임 영역 또는 영역들을 생성하기 위해 사용되는 소스 프레임 영역들의 각각의 버전을 비교하는 것을 포함하는 것을 특징으로 하는, 출력 프레임의 생성방법.
  6. 제 1 항 또는 제 2 항에 있어서,
    상기 디스플레이 상에 현재 표시되고 있는 출력 프레임 영역의 버전이 생성된 이후로 상기 표시될 입력 프레임의 기여 영역 또는 영역들이 변경되었는지 여부를 판정하는 단계는, 단지 영역의 신규 버전이 적어도 특정한 양만큼 영역의 이전 버전과 다를 때 프레임 영역이 변경되었다고 판정하는 것을 특징으로 하는, 출력 프레임의 생성방법.
  7. 제 1 항 또는 제 2 항에 있어서,
    상기 디스플레이 상에 현재 표시되고 있는 출력 프레임 영역의 버전이 생성된 이후로 상기 표시될 입력 프레임의 기여 영역 또는 영역들이 변경되었는지 여부를 판정하는 단계는, 단지 프레임 영역이 변경되었는지 판정하기 위해서 프레임 영역에 대하여 선택된 데이터를 이용하는 것을 특징으로 하는, 출력 프레임의 생성방법.
  8. 제 1 항 또는 제 2 항에 있어서,
    상기 디스플레이 상에 현재 표시되고 있는 출력 프레임 영역의 버전이 생성된 이후로 상기 표시될 입력 프레임의 기여 영역 또는 영역들이 변경되었는지 여부를 판정하는 단계는, 입력 프레임 영역 또는 영역들이 변경되었는지 판정하기 위해서, 입력 프레임 영역 또는 영역들의 각각의 버전의 콘텐트를 나타내는 시그니처들(signatures)을 비교하고, 및/또는 각각의 입력 프레임 영역 또는 영역들을 생성하기 위해서 사용되는 소스 프레임 영역들의 각각의 버전의 콘텐트를 나타내는 시그니처들을 비교하는 것을 포함하는 것을 특징으로 하는, 출력 프레임의 생성방법.
  9. 제 8 항에 있어서,
    상기 비교되는 시그니처들은, 프레임 영역들에 대한 데이터의 최상위 비트(most significant bits)의 선택된 세트에 근거하는 것을 특징으로 하는, 출력 프레임의 생성방법.
  10. 제 8 항에 있어서,
    각 시그니처가 각 프레임 영역에 대한 프레임 영역 데이터의 비트들의 특정 세트를 나타내는 복수의 시그니처를 생성하는 것을 포함하는 것을 특징으로 하는, 출력 프레임의 생성방법.
  11. 제 1 항 또는 제 2 항에 있어서,
    표시되는 콘텐트의 타입; 문제의 프레임 영역이 빠르게 변화될 것으로 예상된다고 판정되는지 아닌지의 여부; 및 문제의 프레임 영역이 이미지 에지(image edge)를 포함한다고 판정되는지 아닌지의 여부 중 한 개 또는 그 이상에 근거해서 프레임 영역이 변경되었다고 판정하기 위한 요건을 제어하는 것을 더 포함하는 것을 특징으로 하는, 출력 프레임의 생성방법.
  12. 삭제
  13. 삭제
  14. 전자 디스플레이를 오버드라이브할 때 표시될 입력 프레임으로부터 표시용 전자 디스플레이에 제공하기 위한 출력 프레임을 생성하는 장치로서,
    상기 출력 프레임을 함께 형성하는 복수의 각각의 영역으로서 표시용 전자 디스플레이에 제공될 출력 프레임을 영역 단위로 생성하고, 상기 출력 프레임의 각자의 각각의 영역을 상기 표시될 입력 프레임의 각각의 영역 또는 영역들로부터 생성하며,
    상기 출력 프레임을 함께 형성하는 복수의 영역 중 2개 이상의 영역들에 대해서 및 영역 단위로:
    상기 표시될 입력 프레임의 영역 또는 영역들이 상기 출력 프레임의 영역에 기여하는 기여 영역 또는 영역들인지를 판정하고;
    디스플레이 상에 현재 표시되고 있는 출력 프레임 영역의 버전이 생성된 이후로 상기 표시될 입력 프레임의 기여 영역 또는 영역들이 변경되었는지 여부를 판정하며; 및
    상기 디스플레이 상에 현재 표시되고 있는 출력 프레임 영역의 버전이 생성된 이후로 상기 표시될 입력 프레임의 기여 영역 또는 영역들이 변경되었다고 판정될 때, 상기 표시될 입력 프레임의 기여 영역 또는 영역들과 적어도 한 개의 이전 입력 프레임의 기여 영역 또는 영역들에 근거해 전자 디스플레이에 제공하기 위한 출력 프레임의 영역에 대한 오버드라이브된 영역을 생성하도록 구성된 처리 회로를 구비하는 것을 특징으로 하는, 출력 프레임의 생성장치.
  15. 제 14 항에 있어서,
    상기 처리 회로는, 상기 디스플레이 상에 현재 표시되고 있는 출력 프레임 영역의 버전이 생성된 이후로 상기 표시될 입력 프레임의 기여 영역 또는 영역들이 변경되지 않았다고 판정될 때, 상기 디스플레이에 제공하기 위한 출력 프레임의 영역에 대한 오버드라이브된 영역을 생성하지 않고, 상기 디스플레이에 제공하기 위한 출력 프레임의 영역에 대하여 상기 표시될 입력 프레임의 기여 영역 또는 영역들을 이용하도록 구성되는 것을 특징으로 하는, 출력 프레임의 생성장치.
  16. 제 14 항 또는 제 15 항에 있어서,
    상기 표시될 입력 프레임은 복수의 상이한 소스 프레임들을 합성함으로써 형성되는 것을 특징으로 하는, 출력 프레임의 생성장치.
  17. 제 14 항 또는 제 15 항에 있어서,
    각 프레임 영역은 프레임을 생성하고 있는 프로세서가 그것의 출력으로서 생성하는 타일에 대응하는 것을 특징으로 하는, 출력 프레임의 생성장치.
  18. 제 14 항 또는 제 15 항에 있어서,
    상기 처리회로는, 입력 프레임 영역 또는 영역들이 변경되었는지 판정하기 위해서, 입력 프레임 영역 또는 영역들의 각각의 버전을 비교하고, 및/또는 각각의 입력 프레임 영역 또는 영역들을 생성하기 위해 사용되는 소스 프레임 영역들의 각각의 버전을 비교함으로써, 상기 디스플레이 상에 현재 표시되고 있는 출력 프레임 영역의 버전이 생성된 이후로 상기 표시될 입력 프레임의 기여 영역 또는 영역들이 변경되었는지 여부를 판정하도록 구성되는 것을 특징으로 하는, 출력 프레임의 생성장치.
  19. 제 14 항 또는 제 15 항에 있어서,
    상기 처리회로는 단지 영역의 신규 버전이 적어도 특정한 양만큼 영역의 이전 버전과 다를 때 프레임 영역이 변경되었다고 판정하도록 구성되는 것을 특징으로 하는, 출력 프레임의 생성장치.
  20. 제 14 항 또는 제 15 항에 있어서,
    상기 처리회로는 프레임 영역이 변경되었는지 판정하기 위해서 프레임 영역에 대하여 선택된 데이터만 이용하도록 구성되는 것을 특징으로 하는, 출력 프레임의 생성장치.
  21. 제 14 항 또는 제 15 항에 있어서,
    상기 처리회로는, 입력 프레임 영역 또는 영역들이 변경되었는지 판정하기 위해서, 입력 프레임 영역 또는 영역들의 각각의 버전의 콘텐트를 나타내는 시그니처들을 비교하고, 및/또는 각각의 입력 프레임 영역 또는 영역들을 생성하기 위해 사용되는 소스 프레임 영역들의 각각의 버전의 콘텐트를 나타내는 시그니처들을 비교함으로써, 상기 디스플레이 상에 현재 표시되고 있는 출력 프레임 영역의 버전이 생성된 이후로 상기 표시될 입력 프레임의 기여 영역 또는 영역들이 변경되었는지 여부를 판정하도록 구성되는 것을 특징으로 하는, 출력 프레임의 생성장치.
  22. 제 21 항에 있어서,
    상기 비교되는 시그니처들은 프레임 영역에 대한 데이터의 최상위 비트(most significant bits)의 선택된 세트에 근거하는 것을 특징으로 하는, 출력 프레임의 생성장치.
  23. 제 21 항에 있어서,
    상기 처리회로는 각 시그니처가 각 프레임 영역에 대한 프레임 영역 데이터의 비트들의 특정 세트를 나타내는 복수의 시그니처를 생성하도록 구성되는 것을 포함하는 것을 특징으로 하는, 출력 프레임의 생성장치.
  24. 제 14 항 또는 제 15 항에 있어서,
    상기 처리회로는
    표시될 콘텐트의 타입; 문제의 프레임 영역이 빠르게 변화될 것으로 예상된다고 판정되는지 아닌지의 여부; 및 문제의 프레임 영역이 이미지 에지를 포함한다고 판정되는지 아닌지의 여부 중 한 개 또는 그 이상에 의거해서 프레임 영역이 변경되었다고 판정하기 위한 요건을 제어하도록 구성되는 것을 특징으로 하는, 출력 프레임의 생성장치.
  25. 삭제
  26. 청구항 14의 장치를 구비하는 디스플레이 컨트롤러.
  27. 삭제
  28. 데이터 처리수단 상에서 프로그램이 실행될 때 청구항 1 또는 2의 방법을 수행하기 위한 컴퓨터 소프트웨어 코드를 구비하는, 컴퓨터 판독 가능한 기억매체에 기억된 컴퓨터 프로그램.
KR1020150015885A 2014-02-07 2015-02-02 디스플레이용 오버드라이브 프레임을 생성하는 방법 및 장치 KR102284474B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB1402168.7 2014-02-07
GB1402168.7A GB2524467B (en) 2014-02-07 2014-02-07 Method of and apparatus for generating an overdrive frame for a display

Publications (2)

Publication Number Publication Date
KR20150093592A KR20150093592A (ko) 2015-08-18
KR102284474B1 true KR102284474B1 (ko) 2021-08-02

Family

ID=50390653

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150015885A KR102284474B1 (ko) 2014-02-07 2015-02-02 디스플레이용 오버드라이브 프레임을 생성하는 방법 및 장치

Country Status (5)

Country Link
US (1) US9640131B2 (ko)
KR (1) KR102284474B1 (ko)
CN (1) CN104835458B (ko)
GB (1) GB2524467B (ko)
TW (1) TWI640974B (ko)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2531358B (en) 2014-10-17 2019-03-27 Advanced Risc Mach Ltd Method of and apparatus for processing a frame
JP2017062416A (ja) * 2015-09-25 2017-03-30 キヤノン株式会社 映像表示装置、情報処理方法及びプログラム
CN108074539B (zh) * 2016-11-08 2020-10-20 联咏科技股份有限公司 电子装置、显示驱动器以及显示面板的显示数据产生方法
US10475405B2 (en) 2017-12-07 2019-11-12 Qualcomm Incorporated Dynamic control of display refresh rate based on user interface activity
US20190182452A1 (en) * 2017-12-07 2019-06-13 Qualcomm Incorporated Dynamic control of display refresh rate based on user interface activity
KR102554419B1 (ko) 2017-12-26 2023-07-11 삼성전자주식회사 프리페칭된 그래픽스 데이터를 이용하여 타일 기반 렌더링을 수행하는 방법 및 장치
KR102535918B1 (ko) * 2018-02-07 2023-05-25 삼성전자 주식회사 사용자의 움직임 정보에 기반하여 디스플레이의 오버 드라이빙 정보를 조정하기 위한 방법 및 웨어러블 장치
JP2019184670A (ja) * 2018-04-03 2019-10-24 シャープ株式会社 画像処理装置、及び表示装置
KR20200000857A (ko) 2018-06-25 2020-01-06 삼성디스플레이 주식회사 액정 표시 장치 및 이의 구동 방법
CN108877714A (zh) * 2018-07-19 2018-11-23 深圳市华星光电技术有限公司 液晶显示器及其过驱动方法、存储器
US20200035176A1 (en) * 2018-07-25 2020-01-30 Sharp Kabushiki Kaisha Liquid crystal display device and drive method for same
CN109147703B (zh) * 2018-09-28 2020-10-16 惠科股份有限公司 显示面板及其驱动方法、装置、设备、可读存储介质
KR102602068B1 (ko) 2018-10-30 2023-11-15 삼성디스플레이 주식회사 표시 장치 및 이를 이용한 표시 장치의 구동 방법
US11200636B2 (en) * 2018-11-30 2021-12-14 Mediatek Inc. Method and apparatus for generating a series of frames with aid of synthesizer to offload graphics processing unit rendering in electronic device
CN109448662A (zh) * 2019-01-11 2019-03-08 京东方科技集团股份有限公司 显示控制方法及装置
GB2583061B (en) * 2019-02-12 2023-03-15 Advanced Risc Mach Ltd Data processing systems
CN109859713A (zh) * 2019-03-22 2019-06-07 惠科股份有限公司 一种显示面板的驱动方法、驱动电路和显示装置
KR20210096729A (ko) * 2020-01-28 2021-08-06 삼성디스플레이 주식회사 표시 장치 및 그 구동 방법
US11625808B2 (en) 2020-07-30 2023-04-11 Arm Limited Graphics processing systems
US11398005B2 (en) 2020-07-30 2022-07-26 Arm Limited Graphics processing systems
CN111951712B (zh) * 2020-08-24 2023-07-25 京东方科技集团股份有限公司 残影消除方法、残影消除装置及显示面板
TWI755066B (zh) * 2020-09-17 2022-02-11 大陸商北京集創北方科技股份有限公司 顯示器之過驅動補償方法及利用其之顯示裝置和手持裝置
KR20230168205A (ko) 2021-04-20 2023-12-12 퀄컴 인코포레이티드 층별 적응적 오버-드라이브
WO2024031212A1 (zh) * 2022-08-08 2024-02-15 深圳Tcl新技术有限公司 一种显示过驱控制方法、装置、终端设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007286471A (ja) * 2006-04-19 2007-11-01 Seiko Epson Corp 表示駆動装置
JP2008009383A (ja) * 2006-05-30 2008-01-17 Toshiba Corp 液晶表示装置及びその駆動方法
JP2009151277A (ja) * 2007-11-29 2009-07-09 Toshiba Mobile Display Co Ltd オーバードライブ駆動回路、表示装置用ドライバic、表示装置、及び、オーバードライブ駆動方法

Family Cites Families (72)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63298485A (ja) 1987-05-28 1988-12-06 Matsushita Electric Ind Co Ltd 画像処理装置
US5181131A (en) 1988-11-11 1993-01-19 Semiconductor Energy Laboratory Co., Ltd. Power conserving driver circuit for liquid crystal displays
US5241656A (en) 1989-02-06 1993-08-31 International Business Machines Corporation Depth buffer clipping for window management
DE69222486T2 (de) 1991-08-02 1998-03-05 Canon Kk Anzeigesteuergerät
JPH05227476A (ja) 1992-02-14 1993-09-03 Hitachi Ltd 画像データ格納方式
JPH05266177A (ja) 1992-03-19 1993-10-15 Nec Corp 描画装置
JPH06153180A (ja) 1992-09-16 1994-05-31 Fujitsu Ltd 画像データ符号化方法及び装置
US7190284B1 (en) 1994-11-16 2007-03-13 Dye Thomas A Selective lossless, lossy, or no compression of data based on address range, data type, and/or requesting agent
GB9606922D0 (en) 1996-04-02 1996-06-05 Advanced Risc Mach Ltd Display palette programming
GB2319684B (en) 1996-11-26 2000-09-06 Sony Uk Ltd Scene change detection
US5907330A (en) 1996-12-18 1999-05-25 Intel Corporation Reducing power consumption and bus bandwidth requirements in cellular phones and PDAS by using a compressed display cache
US6094203A (en) 1997-09-17 2000-07-25 Hewlett-Packard Company Architecture for a graphics processing unit using main memory
JPH11328441A (ja) 1998-05-11 1999-11-30 Hitachi Ltd グラフィックス表示制御方法およびコンピュータグラフイックス
JPH11355536A (ja) 1998-06-08 1999-12-24 Konica Corp 画像処理方法および画像処理装置
JP2000330526A (ja) 1999-03-12 2000-11-30 Minolta Co Ltd 液晶表示装置、携帯電子機器及び駆動方法
DE60139393D1 (de) 2000-05-26 2009-09-10 Seiko Epson Corp Anzeige und aufgezeichnetes medium
US6885378B1 (en) 2000-09-28 2005-04-26 Intel Corporation Method and apparatus for the implementation of full-scene anti-aliasing supersampling
US7589737B2 (en) 2001-10-31 2009-09-15 Hewlett-Packard Development Company, L.P. System and method for communicating graphics image data over a communication network
US6825847B1 (en) 2001-11-30 2004-11-30 Nvidia Corporation System and method for real-time compression of pixel colors
JP2004242287A (ja) 2003-01-14 2004-08-26 Canon Inc 情報処理方法及び装置、並びにコンピュータプログラム及びコンピュータ可読記憶媒体
EP1484737A1 (en) 2003-06-05 2004-12-08 ARM Limited Display controller
GB0319697D0 (en) 2003-08-21 2003-09-24 Falanx Microsystems As Method of and apparatus for differential encoding and decoding
US8049691B2 (en) * 2003-09-30 2011-11-01 Sharp Laboratories Of America, Inc. System for displaying images on a display
TWI230369B (en) * 2003-10-01 2005-04-01 Vastview Tech Inc Driving circuit of a liquid crystal display and driving method thereof
US8683024B2 (en) 2003-11-26 2014-03-25 Riip, Inc. System for video digitization and image correction for use with a computer management system
US7274370B2 (en) 2003-12-18 2007-09-25 Apple Inc. Composite graphics rendered using multiple frame buffers
JP2005195899A (ja) 2004-01-07 2005-07-21 Matsushita Electric Ind Co Ltd 画像転送装置
US7652678B2 (en) 2004-06-25 2010-01-26 Apple Inc. Partial display updates in a windowing system using a programmable graphics processing unit
US20060050976A1 (en) 2004-09-09 2006-03-09 Stephen Molloy Caching method and apparatus for video motion compensation
WO2006038158A1 (en) * 2004-10-04 2006-04-13 Koninklijke Philips Electronics N.V. Overdrive technique for display drivers
KR100668085B1 (ko) 2005-01-13 2007-01-11 삼성전자주식회사 호스트 디바이스, 디스플레이 시스템 및 dpvl 패킷생성방법
US20070188506A1 (en) 2005-02-14 2007-08-16 Lieven Hollevoet Methods and systems for power optimized display
JP4795808B2 (ja) 2005-02-23 2011-10-19 パナソニック株式会社 描画装置、描画方法、描画プログラム及び描画集積回路
US7528837B2 (en) 2005-02-23 2009-05-05 Panasonic Corporation Drawing apparatus, drawing method, drawing program and drawing integrated circuit
JP2006252480A (ja) 2005-03-14 2006-09-21 Fuji Xerox Co Ltd コンピュータ、画像処理システム、及び画像処理方法
US7558941B2 (en) 2005-06-30 2009-07-07 Intel Corporation Automatic detection of micro-tile enabled memory
JP4693159B2 (ja) * 2005-07-20 2011-06-01 株式会社バンダイナムコゲームス プログラム、情報記憶媒体及び画像生成システム
US20070028286A1 (en) 2005-07-28 2007-02-01 Greene David P Systems, methods, and media for detecting content change in a streaming image system
US7671873B1 (en) 2005-08-11 2010-03-02 Matrox Electronics Systems, Ltd. Systems for and methods of processing signals in a graphics format
JP4591291B2 (ja) 2005-09-14 2010-12-01 日本電気株式会社 ターボ復号装置及びその方法並びにプログラム
US8594429B2 (en) 2005-10-11 2013-11-26 Hewlett-Packard Development Company, L.P. Method and apparatus for processing a video stream
US20070261096A1 (en) 2006-05-08 2007-11-08 Aspeed Technology Inc. Apparatus and method for data capture with multi-threshold decision technique
TWI354252B (en) * 2006-05-12 2011-12-11 Au Optronics Corp Liquid crystal display, timing controller thereof
JP5174329B2 (ja) 2006-05-23 2013-04-03 株式会社日立製作所 画像処理装置及び画像表示装置
CN101083065A (zh) * 2006-05-30 2007-12-05 株式会社东芝 液晶显示装置及其驱动方法
GB2439120A (en) * 2006-06-13 2007-12-19 Sharp Kk Response improving pixel overdrive based on flagged pixels in preceding frames.
US20080002894A1 (en) 2006-06-29 2008-01-03 Winbond Electronics Corporation Signature-based video redirection
US20080055318A1 (en) 2006-08-31 2008-03-06 Glen David I J Dynamic frame rate adjustment
US9065667B2 (en) 2006-09-05 2015-06-23 Codian Limited Viewing data as part of a video conference
KR20080022276A (ko) 2006-09-06 2008-03-11 엘지전자 주식회사 영상표시기기의 화면 제어장치 및 방법
US20080143695A1 (en) 2006-12-19 2008-06-19 Dale Juenemann Low power static image display self-refresh
US7944451B2 (en) 2007-07-31 2011-05-17 Hewlett-Packard Development Company, L.P. Providing pixels from an update buffer
US8098957B2 (en) 2008-02-13 2012-01-17 Qualcomm Incorporated Shared block comparison architechture for image registration and video coding
US8384738B2 (en) 2008-09-02 2013-02-26 Hewlett-Packard Development Company, L.P. Compositing windowing system
US8259139B2 (en) * 2008-10-02 2012-09-04 Apple Inc. Use of on-chip frame buffer to improve LCD response time by overdriving
US20100332981A1 (en) 2009-06-30 2010-12-30 Daniel Lipton Providing Media Settings Discovery in a Media Processing Application
GB0916924D0 (en) 2009-09-25 2009-11-11 Advanced Risc Mach Ltd Graphics processing systems
US9406155B2 (en) * 2009-09-25 2016-08-02 Arm Limited Graphics processing systems
US9349156B2 (en) 2009-09-25 2016-05-24 Arm Limited Adaptive frame buffer compression
US8988443B2 (en) 2009-09-25 2015-03-24 Arm Limited Methods of and apparatus for controlling the reading of arrays of data from memory
GB2486434B (en) * 2010-12-14 2014-05-07 Displaylink Uk Ltd Overdriving pixels in a display system
US20120176386A1 (en) 2011-01-10 2012-07-12 Hutchins Edward A Reducing recurrent computation cost in a data processing pipeline
US20120206461A1 (en) 2011-02-10 2012-08-16 David Wyatt Method and apparatus for controlling a self-refreshing display device coupled to a graphics controller
GB201105716D0 (en) 2011-04-04 2011-05-18 Advanced Risc Mach Ltd Method of and apparatus for displaying windows on a display
US9472018B2 (en) 2011-05-19 2016-10-18 Arm Limited Graphics processing systems
US10031636B2 (en) 2011-09-08 2018-07-24 Microsoft Technology Licensing, Llc Remoting desktop displays using move regions
US9053674B2 (en) * 2012-01-02 2015-06-09 Mediatek Inc. Overdrive apparatus for dynamically loading required overdrive look-up tables into table storage devices and related overdrive method
US20140152891A1 (en) * 2012-12-05 2014-06-05 Silicon Image, Inc. Method and Apparatus for Reducing Digital Video Image Data
US9182934B2 (en) 2013-09-20 2015-11-10 Arm Limited Method and apparatus for generating an output surface from one or more input surfaces in data processing systems
US9195426B2 (en) 2013-09-20 2015-11-24 Arm Limited Method and apparatus for generating an output surface from one or more input surfaces in data processing systems
US9305326B2 (en) 2013-12-26 2016-04-05 Industrial Technology Research Institute Apparatus and method for tile elimination
GB2528265B (en) 2014-07-15 2021-03-10 Advanced Risc Mach Ltd Method of and apparatus for generating an output frame

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007286471A (ja) * 2006-04-19 2007-11-01 Seiko Epson Corp 表示駆動装置
JP2008009383A (ja) * 2006-05-30 2008-01-17 Toshiba Corp 液晶表示装置及びその駆動方法
JP2009151277A (ja) * 2007-11-29 2009-07-09 Toshiba Mobile Display Co Ltd オーバードライブ駆動回路、表示装置用ドライバic、表示装置、及び、オーバードライブ駆動方法

Also Published As

Publication number Publication date
KR20150093592A (ko) 2015-08-18
GB2524467B (en) 2020-05-27
US20150228248A1 (en) 2015-08-13
US9640131B2 (en) 2017-05-02
CN104835458A (zh) 2015-08-12
TWI640974B (zh) 2018-11-11
GB2524467A (en) 2015-09-30
TW201532029A (zh) 2015-08-16
CN104835458B (zh) 2019-07-16
GB201402168D0 (en) 2014-03-26

Similar Documents

Publication Publication Date Title
KR102284474B1 (ko) 디스플레이용 오버드라이브 프레임을 생성하는 방법 및 장치
US20110074800A1 (en) Method and apparatus for controlling display operations
US9996363B2 (en) Methods of and apparatus for displaying windows on a display
KR102314937B1 (ko) 디스플레이용 데이터를 처리하는 방법 및 장치
JP4076502B2 (ja) ゾーン・レンダリングのための効率的なグラフィックス状態管理
CN106030652B (zh) 提供输出面的方法、系统和合成显示控制器及计算机介质
TWI391895B (zh) 顯示驅動裝置與其方法
US10331448B2 (en) Graphics processing apparatus and method of processing texture in graphics pipeline
US8059144B2 (en) Generating and resolving pixel values within a graphics processing pipeline
US20050213853A1 (en) Image processor
US20170024927A1 (en) Method of and apparatus for processing graphics
GB2528265A (en) Method of and apparatus for generating an output frame
US10649795B2 (en) Method of and apparatus for providing an output surface in a data processing system
US10140268B2 (en) Efficient browser composition for tiled-rendering graphics processing units
US11004427B2 (en) Method of and data processing system for providing an output surface
US10706765B2 (en) Compression algorithm verification method, storage medium, and display device
US20200090575A1 (en) Data processing systems
US9001141B2 (en) Method and apparatus for providing independent gamut remapping for multiple screen subsections
US10748235B2 (en) Method and system for dim layer power optimization in display processing
US20140354641A1 (en) Methods of and apparatus for compressing depth data
US20190005924A1 (en) Data processing systems
US10373286B2 (en) Method and apparatus for performing tile-based rendering
US8379046B2 (en) Method and apparatus for rendering

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant