KR20170113011A - Apparatus and method of using a slice update map - Google Patents

Apparatus and method of using a slice update map Download PDF

Info

Publication number
KR20170113011A
KR20170113011A KR1020170003051A KR20170003051A KR20170113011A KR 20170113011 A KR20170113011 A KR 20170113011A KR 1020170003051 A KR1020170003051 A KR 1020170003051A KR 20170003051 A KR20170003051 A KR 20170003051A KR 20170113011 A KR20170113011 A KR 20170113011A
Authority
KR
South Korea
Prior art keywords
display
slice
data
update
sub
Prior art date
Application number
KR1020170003051A
Other languages
Korean (ko)
Other versions
KR102619668B1 (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
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to US15/473,071 priority Critical patent/US10446071B2/en
Publication of KR20170113011A publication Critical patent/KR20170113011A/en
Application granted granted Critical
Publication of KR102619668B1 publication Critical patent/KR102619668B1/en

Links

Images

Classifications

    • 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
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/003Details of a display terminal, the details relating to the control arrangement of the display terminal and to the interfaces thereto
    • G09G5/006Details of the interface to the display terminal
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2330/00Aspects of power supply; Aspects of display protection and defect management
    • G09G2330/02Details of power systems and of start or stop of display operation
    • G09G2330/028Generation of voltages supplied to electrode drivers in a matrix display other than LCD
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication
    • G09G2370/16Use of wireless transmission of display information

Abstract

본 개시의 기술적 사상에 따른 전자 장치는, 복수의 슬라이스를 포함하는 프레임 데이터에서 데이터 변화가 있는 적어도 하나의 업데이트 슬라이스의 위치를 나타내는 슬라이스 업데이트 맵을 생성하는 프로세서; 및 상기 슬라이스 업데이트 맵에 기초하여, 상기 프레임 데이터가 저장된 메모리로부터 상기 적어도 하나의 업데이트 슬라이스의 프레임 데이터를 추출하여 디스플레이 구동부로 전송하는 디스플레이 컨트롤러를 포함한다.An electronic device according to the technical idea of the present disclosure includes a processor for generating a slice update map indicating the location of at least one update slice with a data change in frame data comprising a plurality of slices; And a display controller for extracting frame data of the at least one update slice from the memory in which the frame data is stored based on the slice update map and transmitting the frame data to the display driver.

Description

슬라이스 업데이트 맵을 이용하는 장치 및 방법 {Apparatus and method of using a slice update map}[0001] APPARATUS AND METHOD FOR USING SLICE UPDATE MAP [0002]

본 개시의 기술적 사상은 전자 장치, 전자 장치 제어 방법, 디스플레이 구동 장치, 및 디스플레이 구동 방법에 관한 것이다.Technical aspects of the present disclosure relate to an electronic device, an electronic device control method, a display driving device, and a display driving method.

디스플레이 패널을 구동하는 디스플레이 구동부는, 외부 장치 또는 다른 프로세서로부터 디스플레이 데이터를 수신하여, 디스플레이 패널에 디스플레이 데이터를 표시한다. 디스플레이 구동부는, 디스플레이 패널에 표시되는 영상이 변경될 때마다 업데이트된 디스플레이 데이터를 수신하여 디스플레이 패널의 표시 영상을 업데이트한다. 예를 들면, 디스플레이 구동부는 소정의 프레임 레이트로 디스플레이 패널의 영상을 업데이트할 수 있다. 그런데 디스플레이 데이터를 업데이트를 위해 디스플레이 구동부로 디스플레이 데이터를 전달할 때, 전력 소모가 발생하여, 전자 장치의 전력 소모를 증가시키는 문제가 있다. 더욱이 최근 UHD(ultra high definition) 등 고해상도를 지원하는 전자 장치 및 디스플레이 패널이 널리 보급됨에 따라, 디스플레이 데이터의 업데이트로 인한 전력 소모가 점차 증가하는 문제가 있다.The display driver for driving the display panel receives the display data from the external device or another processor, and displays the display data on the display panel. The display driver updates the display image of the display panel by receiving the updated display data whenever the image displayed on the display panel is changed. For example, the display driver may update the image of the display panel at a predetermined frame rate. However, when the display data is transferred to the display driver for updating the display data, there is a problem of power consumption, which increases power consumption of the electronic device. Furthermore, recently, electronic devices and display panels supporting high resolution such as ultra high definition (UHD) have become widespread, and power consumption due to updating of display data gradually increases.

개시된 실시 예들은, 디스플레이 데이터의 업데이트를 위한 데이터 스트림의 용량을 감소시켜, 전력 소비를 감소시키기 위한 것이다.The disclosed embodiments are intended to reduce the capacity of the data stream for updating the display data, thereby reducing power consumption.

본 개시의 기술적 사상에 따른 전자 장치는, 복수의 슬라이스를 포함하는 프레임 데이터에서 데이터 변화가 있는 적어도 하나의 업데이트 슬라이스의 위치를 나타내는 슬라이스 업데이트 맵을 생성하는 프로세서; 및 상기 슬라이스 업데이트 맵에 기초하여, 상기 프레임 데이터가 저장된 메모리로부터 상기 적어도 하나의 업데이트 슬라이스의 프레임 데이터를 추출하여 디스플레이 구동부로 전송하는 디스플레이 컨트롤러를 포함한다.An electronic device according to the technical idea of the present disclosure includes a processor for generating a slice update map indicating the location of at least one update slice with a data change in frame data comprising a plurality of slices; And a display controller for extracting frame data of the at least one update slice from the memory in which the frame data is stored based on the slice update map and transmitting the frame data to the display driver.

본 개시의 기술적 사상에 따른 전자 장치 제어 방법은, 복수의 슬라이스를 포함하는 프레임 데이터에서 데이터 변화가 있는 적어도 하나의 업데이트 슬라이스의 위치를 나타내는 슬라이스 업데이트 맵을 생성하는 단계; 및 상기 슬라이스 업데이트 맵에 기초하여, 상기 프레임 데이터가 저장된 메모리로부터 상기 적어도 하나의 업데이트 슬라이스의 프레임 데이터를 추출하여 디스플레이 구동부로 전송하는 단계를 포함한다.According to a technical idea of the present disclosure, an electronic device control method includes: generating a slice update map indicating a position of at least one update slice with a data change in frame data including a plurality of slices; And extracting frame data of the at least one update slice from a memory in which the frame data is stored, based on the slice update map, and transmitting the frame data to the display driver.

본 개시의 기술적 사상에 따른 디스플레이 구동 장치는, 데이터 변화가 있는 적어도 하나의 서브 블록에 대해, 서브 블록 단위로, 업데이트 서브 블록의 시작 점의 위치, 업데이트 서브 블록의 끝 점의 위치, 및 디스플레이 데이터를 포함하는 직렬 전송 신호를 수신하는 수신부; 디스플레이 데이터를 저장하고, 상기 수신된 적어도 하나의 서브 블록에 대한 디스플레이 데이터를 이용하여, 상기 저장된 디스플레이 데이터를 업데이트하는 프레임 메모리; 및 상기 디스플레이 데이터를 디스플레이 패널로 출력하는 처리부를 포함한다.The display driving apparatus according to the technical idea of the present disclosure is characterized in that, for at least one sub-block with a data change, the position of the start point of the updated sub-block, the position of the end point of the updated sub- A receiving unit receiving the serial transmission signal including the serial transmission signal; A frame memory for storing display data and updating the stored display data using display data for the received at least one sub-block; And a processor for outputting the display data to a display panel.

본 개시의 기술적 사상에 따른 디스플레이 구동 방법은, 데이터 변화가 있는 적어도 하나의 서브 블록에 대해, 서브 블록 단위로, 업데이트 서브 블록의 시작 점의 위치, 업데이트 서브 블록의 끝 점의 위치, 및 디스플레이 데이터를 포함하는 직렬 전송 신호를 수신하는 단계; 상기 수신된 적어도 하나의 서브 블록에 대한 디스플레이 데이터를 이용하여 프레임 메모리에 저장된 상기 디스플레이 데이터를 업데이트하는 단계; 및 상기 디스플레이 데이터를 디스플레이 패널로 출력하는 단계를 포함한다.The display driving method according to the technical idea of the present disclosure is characterized in that, for at least one sub-block with a data change, the position of the start point of the updated sub-block, the position of the end point of the updated sub- The method comprising: receiving a serial transmission signal; Updating the display data stored in the frame memory using display data for the received at least one sub-block; And outputting the display data to a display panel.

개시된 실시 예들에 따르면, 디스플레이 데이터의 업데이트를 위한 데이터 스트림의 용량을 감소시켜, 전력 소비를 감소시킬 수 있는 효과가 있다.According to the disclosed embodiments, it is possible to reduce the capacity of the data stream for updating the display data, thereby reducing power consumption.

도 1은 일 실시 예에 따른 전자 장치(100a)의 구조를 나타낸 블록도이다.
도 2는 일 실시 예에 따른 프레임 데이터를 나타낸 도면이다.
도 3은 일 실시 예에 따른 전자 장치(100b), 디스플레이 구동부(310a), 및 디스플레이 패널(320)을 나타낸 도면이다.
도 4는 일 실시 예에 따른 디스플레이 컨트롤러(120a) 및 DRAM(338)을 나타낸 도면이다.
도 5는 일 실시 예에 따라, DMA(402)가 DRAM(338)으로부터 프레임 데이터를 읽어오는 순서를 나타낸 도면이다.
도 6은 일 실시 예에 따라 전자 장치(100b)로부터 디스플레이 컨트롤러(310a)로 전달되는 데이터 스트림을 나타낸 도면이다.
도 7은 일 실시 예에 따라 디스플레이 컨트롤러(120)에서 업데이트 슬라이스를 가져오는 동작을 설명하기 위한 도면이다.
도 8a 및 도 8b는 서브 블록에 대한 정보를 나타내는 도면이다.
도 9는 일 실시 예에 따라 디스플레이 컨트롤러(120)로부터 디스플레이 구동부로 전달되는 데이터 스트림의 구조를 나타낸 도면이다.
도 10a 및 도 10b는 일 실시 예에 따라 테어링 현상을 방지하는 방법을 설명하기 위한 도면이다.
도 11a 및 도 11b는 일 실시 예에 따라 테어링 현상을 방지하는 방법을 설명하기 위한 도면이다.
도 12a 및 도 12b는 일 실시 예에 따라 서브 블록을 정의하는 방식을 설명하는 도면이다.
도 13a 및 도 13b는 일 실시 예에 따라 슬라이스를 설정하는 방식을 설명하기 위한 도면이다.
도 14는 일 실시 예에 따른 GUI 화면을 나타낸 도면이다.
도 15는 일 실시 예에 따른 전자 장치 제어 방법을 나타낸 흐름도이다.
도 16은 일 실시 예에 따른 디스플레이 구동 장치(310b)의 구조를 나타낸 블록도이다.
도 17은 일 실시 예에 따른 디스플레이 구동 방법을 설명한 흐름도이다.
1 is a block diagram showing the structure of an electronic device 100a according to an embodiment.
2 is a diagram illustrating frame data according to an embodiment.
3 is a diagram illustrating an electronic device 100b, a display driver 310a, and a display panel 320 according to an embodiment.
4 is a diagram illustrating a display controller 120a and a DRAM 338 according to one embodiment.
5 is a diagram showing a sequence in which the DMA 402 reads frame data from the DRAM 338 according to an embodiment.
FIG. 6 is a diagram illustrating a data stream transferred from the electronic device 100b to the display controller 310a according to one embodiment.
7 is a diagram for explaining an operation of fetching an update slice in the display controller 120 according to an embodiment.
8A and 8B are views showing information on sub-blocks.
9 is a diagram illustrating a structure of a data stream transmitted from a display controller 120 to a display driver according to an exemplary embodiment of the present invention.
10A and 10B are views for explaining a method for preventing a tearing phenomenon according to an embodiment.
11A and 11B are views for explaining a method of preventing a tearing phenomenon according to an embodiment.
12A and 12B are diagrams illustrating a method of defining sub-blocks according to an embodiment.
13A and 13B are views for explaining a method of setting a slice according to an embodiment.
FIG. 14 is a diagram illustrating a GUI screen according to an embodiment.
15 is a flowchart illustrating an electronic device control method according to an embodiment.
16 is a block diagram showing a structure of a display driving apparatus 310b according to an embodiment.
17 is a flowchart illustrating a display driving method according to an embodiment.

이하, 첨부한 도면을 참조하여 본 개시의 실시 예에 대해 상세히 설명한다. Hereinafter, embodiments of the present disclosure will be described in detail with reference to the accompanying drawings.

도 1은 일 실시 예에 따른 전자 장치(100a)의 구조를 나타낸 블록도이다.1 is a block diagram showing the structure of an electronic device 100a according to an embodiment.

일 실시 예에 따른 전자 장치(100a)는 프로세서(110) 및 디스플레이 컨트롤러(120)를 포함한다.The electronic device 100a according to one embodiment includes a processor 110 and a display controller 120. [

전자 장치(100a)는 적어도 하나의 프로세서를 구비한 장치로서, 디스플레이 패널을 구비한 장치이거나, 디스플레이 장치와 연결된 장치일 수 있다. 전자 장치(100a)는 예를 들면, 랩탑 컴퓨터, 스마트폰, 웨어러블 장치, 태블릿 컴퓨터, 휴대용 단말, 데스크톱 등 다양한 형태로 구현될 수 있다.The electronic device 100a is an apparatus having at least one processor, which may be a device having a display panel or a device connected to a display device. The electronic device 100a may be implemented in various forms, for example, a laptop computer, a smart phone, a wearable device, a tablet computer, a portable terminal, a desktop, and the like.

프로세서(110)는 전자 장치(100a)의 전반적인 동작을 제어한다. 프로세서(110)는 전자 장치(100a)의 각 구성요소들에 제어 신호를 전송하여 전자 장치(100a)의 각 구성요소들을 제어한다. 또한, 프로세서(110)는 운영 체제(OS, operating system), 애플리케이션 등을 실행하여 전자 장치(100a)의 다양한 기능들을 수행하고 제어할 수 있다. The processor 110 controls the overall operation of the electronic device 100a. The processor 110 transmits control signals to the respective components of the electronic device 100a to control the respective components of the electronic device 100a. In addition, the processor 110 may execute an operating system (OS), applications, and the like to perform and control various functions of the electronic device 100a.

프로세서(110)는 CPU(central processing unit), Host CPU, 마이크로프로세서(microprocessor), AP(application processor) 등 다양한 형태 또는 명칭의 프로세서 또는 이들의 조합으로 구현될 수 있다. 또한 프로세서(110)는 하나 또는 그 이상의 프로세서의 조합으로 구현될 수 있다.The processor 110 may be implemented in various forms or named processors such as a central processing unit (CPU), a host CPU, a microprocessor, an application processor (AP), or a combination thereof. The processor 110 may also be implemented as a combination of one or more processors.

본 실시 예에 따른 프로세서(110)는 프레임 데이터를 생성하고, 프레임 데이터에서 데이터 변화가 있는 업데이트 슬라이스의 위치를 나타내는 슬라이스 업데이트 맵을 생성한다. 업데이트 슬라이스는, 프레임이 변함에 따라 한 픽셀이라도 데이터 변화가 있는 슬라이스를 의미한다. 프레임 데이터는 실시 예에 따라, 소정의 프레임 레이트로 생성되거나, 화면 변화가 발생할 때 생성될 수 있다. 일 실시 예에 따른 프레임 데이터는 복수의 슬라이스를 포함하고, 슬라이스 업데이트 맵은 이전 프레임 데이터와 비교하였을 때, 데이터 변화가 있는 적어도 하나의 업데이트 슬라이스의 위치를 나타낸다. 복수의 슬라이스는 이미지 프레임 영역을 동일한 크기의 사각형으로 나누어 정의될 수 있다.The processor 110 according to the present embodiment generates frame data and generates a slice update map indicating the position of the update slice with the data change in the frame data. The update slice means a slice in which data changes even at a single pixel as the frame changes. The frame data may be generated at a predetermined frame rate, or generated when a screen change occurs, according to the embodiment. The frame data according to an embodiment includes a plurality of slices, and the slice update map indicates the position of at least one update slice with a data change when compared to the previous frame data. The plurality of slices can be defined by dividing the image frame area into squares of the same size.

슬라이스 업데이트 맵은 예를 들면, 업데이트 슬라이스의 위치를 순차적으로 나열한 형태를 가질 수 있다. 예를 들면, 슬라이스 업데이트 맵은 '1101, 1101, 1101, 0101, 0101, 0101...'과 같은 비트 스트림을 가질 수 있다. UHD(3840*2160)의 경우, 슬라이스 업데이트 맵에 최대 560 비트가 요구될 수 있다.The slice update map may have a form in which, for example, the positions of update slices are sequentially arranged. For example, the slice update map may have a bit stream such as '1101, 1101, 1101, 0101, 0101, 0101 ...'. For UHD (3840 * 2160), a maximum of 560 bits may be required for the slice update map.

디스플레이 컨트롤러(120)는 디스플레이 데이터를 생성하여, 디스플레이 패널을 제어하는 디스플레이 구동부로 디스플레이 데이터를 출력한다. The display controller 120 generates display data and outputs display data to a display driver for controlling the display panel.

개시된 실시 예들에 따른 디스플레이 컨트롤러(120)는 프로세서(110)로부터 슬라이스 업데이트 맵을 수신하고, 슬라이스 업데이트 맵에 기초하여 메모리로부터 업데이트 슬라이스의 프레임 데이터를 추출한다. 즉, 디스플레이 컨트롤러(120)는 한 프레임에 대해 모든 픽셀의 프레임 데이터를 메모리로부터 가져오지 않고, 업데이트 슬라이스의 프레임 데이터만을 가져온다. 본 실시 예에 따르면, 디스플레이 컨트롤러(120)가 업데이트 슬라이스의 프레임 데이터만을 메모리로부터 추출함으로써, 메모리와 디스플레이 컨트롤러(120a) 간의 데이터 스트림의 용량을 감소시켜, 전력 소모를 감소시키는 효과가 있다. 일 실시 예에 따르면, 디스플레이 컨트롤러(120)는 영상 처리를 위해 업데이트 슬라이스의 주변의 프레임 데이터도 메모리로부터 함께 가져올 수 있다.The display controller 120 according to the disclosed embodiments receives the slice update map from the processor 110 and extracts the frame data of the update slice from the memory based on the slice update map. That is, the display controller 120 does not fetch the frame data of all the pixels from the memory for one frame, but fetches only the frame data of the update slice. According to the present embodiment, the display controller 120 extracts only the frame data of the update slice from the memory, thereby reducing the capacity of the data stream between the memory and the display controller 120a, thereby reducing power consumption. According to one embodiment, the display controller 120 may also fetch frame data around the update slice from the memory for image processing.

일 실시 예에 따르면, 디스플레이 컨트롤러(120a)는 슬라이스 단위로 프레임 데이터를 메모리로부터 가져온다. 즉, 디스플레이 컨트롤러(120a)는 하나의업데이트 슬라이스의 프레임 데이터를 메모리로부터 가져와 처리하고, 다음 업데이트 슬라이스의 프레임 데이터를 처리하는 식으로 동작할 수 있다. 디스플레이 컨트롤러(120a)는 모든 프레임에 대해 업데이트 슬라이스에 대한 처리가 끝날 때까지, 업데이트 슬라이스에 대한 처리를 수행할 수 있다.According to one embodiment, the display controller 120a fetches the frame data from the memory on a slice basis. That is, the display controller 120a can operate in such a manner that frame data of one update slice is fetched from the memory and processed, and the frame data of the next update slice is processed. The display controller 120a may perform processing on the update slice until the processing for the update slice is finished for all of the frames.

또한, 디스플레이 컨트롤러(120a)는 업데이트 슬라이스의 프레임 데이터를 디스플레이 구동부로 전송한다. 일 실시 예에 따르면, 디스플레이 컨트롤러(120a)는 업데이트 슬라이스에 대해 소정의 영상 처리를 수행하고, 소정의 압축 형식에 따라 데이터를 압축하여 디스플레이 컨트롤러(120a)로 디스플레이 데이터를 전송한다. 또한, 디스플레이 컨트롤러(120a)는 업데이트 슬라이스에 대한 정보를 디스플레이 구동부로 함께 전달할 수 있다. 예를 들면, 디스플레이 컨트롤러(120a)는 업데이트 슬라이스의 폭, 높이, 및 크기에 대한 정보를 업데이트 디스플레이 데이터와 함께 디스플레이 컨트롤러(120a)로 전송할 수 있다. Also, the display controller 120a transmits the frame data of the update slice to the display driver. According to one embodiment, the display controller 120a performs predetermined image processing on the update slice, compresses data according to a predetermined compression format, and transmits the display data to the display controller 120a. Also, the display controller 120a may transmit the information about the update slice to the display driver. For example, the display controller 120a may send information about the width, height, and size of the update slice to the display controller 120a along with the update display data.

도 2는 일 실시 예에 따른 프레임 데이터를 나타낸 도면이다.2 is a diagram illustrating frame data according to an embodiment.

일 실시 예에 따르면, 프레임 데이터는 도 2에 도시된 바와 같이 동일한 크기의 복수의 슬라이스로 분할될 수 있다. 각 슬라이스는 소정의 폭(W) 및 높이(H)를 가질 수 있다. 예를 들면, 1440 * 2560의 해상도를 갖는 프레임 데이터가, 360 * 160의 해상도의 슬라이스로 분할될 수 있다. 이러한 경우 슬라이스의 폭(W)은 360, 높이(H)는 160으로 정의된다.According to one embodiment, the frame data may be divided into a plurality of slices of the same size as shown in Fig. Each slice may have a predetermined width (W) and a height (H). For example, frame data having a resolution of 1440 * 2560 can be divided into slices having a resolution of 360 * 160. In this case, the width (W) of the slice is defined as 360, and the height (H) is defined as 160.

일 실시 예에 따르면, 디스플레이 컨트롤러(120a)는 업데이트 슬라이스들을 서브 블록으로 분할하고, 서브 블록 단위로 디스플레이 데이터를 디스플레이 구동부로 전송할 수 있다. 예를 들면, 도 2에 도시된 바와 같이 일부 슬라이스의 데이터만 프레임이 변함에 따라 변화된 경우, 디스플레이 컨트롤러(120a)는 업데이트 슬라이스들을 슬라이스 0, 1, 4, 5, 8, 및 9를 포함하는 서브 블록 1(SUBBLOCK 1), 슬라이스 13, 17, 21, 및 25를 포함하는 서브 블록 2(SUBBLOCK 2), 슬라이스 3, 7, 11, 15, 19, 23, 27, 31, 35, 및 39를 포함하는 서브 블록 3(SUBBLOCK 3), 및 슬라이스 48, 49, 50, 52, 53, 54, 56, 57, 및 58을 포함하는 서브 블록 4(SUBBLOCK 4)로 나눌 수 있다. 각 서브 블록은 사각형 모양을 갖도록 정의될 수 있다.According to one embodiment, the display controller 120a may divide the update slices into sub-blocks and transmit the display data to the display driver in units of sub-blocks. For example, if only a portion of the slice's data has changed as the frame changes, as shown in FIG. 2, the display controller 120a will display the update slices as a sub-frame containing slices 0, 1, 4, 5, 8, Block 2 (SUBBLOCK 2) including slices 13, 17, 21 and 25, slices 3, 7, 11, 15, 19, 23, 27, 31, 35 and 39 And a sub-block 4 (SUBBLOCK 4) including slices 48, 49, 50, 52, 53, 54, 56, 57 and 58. The sub- Each sub-block may be defined to have a rectangular shape.

디스플레이 컨트롤러(120a)는 서브 블록 단위로 디스플레이 데이터를 전송하는 경우, 디스플레이 데이터와 함께, 서브 블록에 대한 정보를 디스플레이 구동부로 전송한다. 일 실시 예에 따르면, 서브 블록에 대한 정보는, 서브 블록의 시작점의 위치 및 끝점의 위치일 수 있다. 다른 실시 예에 따르면, 서브 블록에 대한 정보는, 서브 블록의 폭, 높이, 시작점의 위치일 수 있다. 시작 점의 위치 및 끝점의 위치는 예를 들면 픽셀의 좌표로 나타낼 수 있다. When the display controller 120a transmits display data on a sub-block basis, the display controller 120a transmits information on sub-blocks together with display data to the display driver. According to one embodiment, the information on the sub-block may be the position of the start point of the sub-block and the position of the end point. According to another embodiment, the information on the sub-block may be the position of the width, height, and starting point of the sub-block. The position of the starting point and the position of the end point can be represented, for example, by the coordinates of the pixel.

일 실시 예에 따르면, 디스플레이 컨트롤러(120a)는, 서브 블록 단위로, 서브 블록에 대한 정보 및 디스플레이 데이터를 직렬 전송 할 수 있다. 예를 들면, 디스플레이 컨트롤러(120a)는 서브 블록에 대한 정보 및 디스플레이 데이터를 MIPI(Mobile Inudstry Processor Interface) 얼라이언스에 따라 디스플레이 구동부로 직렬 전송할 수 있다. 또한, 디스플레이 컨트롤러(120a)는 각 서브 블록에 대한 디스플레이 데이터를 DSC(Display Stream compression) 스탠다드에 따라 압축하여 디스플레이 구동부로 전송할 수 있다.According to one embodiment, the display controller 120a can serially transmit information on subblocks and display data on a subblock-by-subblock basis. For example, the display controller 120a may transmit the information about the sub-blocks and the display data to the display driver in accordance with the MIPI (Mobile Industry Processor Interface) alliance. In addition, the display controller 120a may compress the display data for each sub-block according to a DSC (Display Stream compression) standard and transmit the compressed data to the display driver.

일 실시 예에 따르면, 각 서브 블록의 데이터는, 래스터 스캔(rater scan) 방식으로 배열되어 압축되고 전송될 수 있다. 또한, 일 실시 예에 따르면, 각 서브 블록의 데이터는, 슬라이스 단위로 배열되어 압축되고 전송될 수 있다.According to one embodiment, the data of each sub-block may be arranged and compressed and transmitted in a raster scan manner. Further, according to an embodiment, data of each sub-block may be arranged and compressed in units of slices.

다른 실시 예에 따르면, 디스플레이 컨트롤러(120a)는, 슬라이스 단위로 디스플레이 데이터를 전송할 수 있다. 디스플레이 컨트롤러(120a)는 적어도 하나의 업데이트 슬라이스에 대해, 슬라이스 단위로, 업데이트 슬라이스에 대한 정보 및 디스플레이 데이터를 디스플레이 컨트롤러(120a)로 전송할 수 있다. 일 실시 예에 따르면, 업데이트 슬라이스에 대한 정보는 슬라이스 폭, 슬라이스 높이, 및 슬라이스 업데이트 맵일 수 있다.According to another embodiment, the display controller 120a can transmit display data on a slice basis. The display controller 120a may send information and display data for the update slice to the display controller 120a, on a slice basis, for at least one update slice. According to one embodiment, the information about the update slice may be slice width, slice height, and slice update map.

디스플레이 컨트롤러(120)는 디스플레이 데이터를 프레임 내에서 래스터 스캔 순서로 전달할 수 있다. 또한 DSC로 인코딩된 스트림에서 복수의 부분 윈도우들을 지원하고, MIPI DCS(Display Command Set) 스탠다드에 부합하도록, 디스플레이 컨트롤러(120)는 디스플레이 데이터를 서브 블록 순서 또는 슬라이스 순서로 디스플레이 구동부로 전송할 수 있다. 단, 디스플레이 컨트롤러(120)에서 디스플레이 구동부로 전송하는 데이터 스트림의 형식은 DSC 압축으로 제한되지 않으며, 서브 블록 단위 또는 슬라이스 단위로 데이터를 압축할 때 다양한 종류의 압축 형식이 이용될 수 있다. The display controller 120 may deliver the display data in a raster scan order within the frame. The display controller 120 may also transmit the display data to the display driver in a sub-block order or a slice order so as to support a plurality of partial windows in the DSC encoded stream and conform to a MIPI display command set (DCS) standard. However, the format of the data stream transmitted from the display controller 120 to the display driver is not limited to DSC compression, and various types of compression formats may be used when compressing data on a subblock or slice basis.

도 3은 일 실시 예에 따른 전자 장치(100b), 디스플레이 구동부(310a), 및 디스플레이 패널(320)을 나타낸 도면이다.3 is a diagram illustrating an electronic device 100b, a display driver 310a, and a display panel 320 according to an embodiment.

일 실시 예에 따르면, 전자 장치(100b)는 디스플레이 데이터를 생성하여 디스플레이 구동부(310a)로 전달하고, 디스플레이 구동부(310a)는 디스플레이 데이터를 디스플레이 패널(320)로 전송한다. 전자 장치(100b), 디스플레이 구동부(310a), 및 디스플레이 패널(320)은 하나의 패키징으로 구비되거나, 별개의 패키징으로 구비될 수 있다.According to one embodiment, the electronic device 100b generates display data and transmits the display data to the display driver 310a, and the display driver 310a transmits the display data to the display panel 320. [ The electronic device 100b, the display driver 310a, and the display panel 320 may be provided in one package or may be provided in separate packages.

전자 장치(100b)는 호스트 CPU(HOST CPU, 110a), 카메라(332), 코덱(334), GPU(Graphic processing unit, 336), 디스플레이 컨트롤러(120a), 및 DRAM(dynamic random access memory, 338)를 포함할 수 있다. 호스트 CPU(110b)는 도 1의 프로세서(110a)에 대응될 수 있다.The electronic device 100b includes a host CPU (HOST CPU) 110a, a camera 332, a codec 334, a graphics processing unit 336, a display controller 120a, and a dynamic random access memory (DRAM) . ≪ / RTI > Host CPU 110b may correspond to processor 110a of FIG.

호스트 CPU(110a)는 전자 장치(100b)의 전반적인 동작을 제어한다. 호스트 CPU(110a)는 운영 체제, 애플리케이션 등 다양한 프로그램을 실행하여, 전자 장치(100b)의 다양한 기능을 제어할 수 있다. 전자 장치(100b)는 저장 매체에 저장된 프로그램 코드를 실행하여 다양한 기능을 실행하고 제어할 수 있다. 예를 들면, 비휘발성 저장매체(미도시)에 저장된 프로그램 코드를 DRAM(338)을 통해 불러들여, 프로그램을 실행할 수 있다. 일 실시 예에 따르면, 호스트 CPU(110a)는 프로그램 또는 기능 등을 실행하는 컨트롤 모드와, 정지 영상 또는 동영상을 포함하는 영상 컨텐츠를 재생하는 비디오 모드로 동작할 수 있다.The host CPU 110a controls the overall operation of the electronic device 100b. The host CPU 110a can execute various programs such as an operating system and an application to control various functions of the electronic device 100b. The electronic device 100b can execute and control various functions by executing the program codes stored in the storage medium. For example, the program code stored in the nonvolatile storage medium (not shown) can be loaded through the DRAM 338 to execute the program. According to one embodiment, the host CPU 110a may operate in a control mode for executing programs or functions, and a video mode for reproducing image contents including still images or moving images.

호스트 CPU(110a)는 카메라(332)를 이용하여 촬영 기능을 수행할 수 있다. 또한 호스트 CPU(110a)는 코덱(334)을 이용하여 영상 컨텐츠 파일을 디코딩하여 재생하거나, 촬영 영상을 인코딩하여 영상 컨텐츠 파일을 생성할 수 있다. 이와 같이 호스트 CPU(110a)는 전자 장치(100a)에 구비된 다양한 하드웨어 유닛 및 소프트웨어 유닛을 제어하여 다양한 기능을 실행할 수 있다.The host CPU 110a can perform the photographing function using the camera 332. [ Also, the host CPU 110a may decode and reproduce the image content file using the codec 334, or may encode the captured image to generate the image content file. As described above, the host CPU 110a can perform various functions by controlling various hardware units and software units provided in the electronic device 100a.

호스트 CPU(110b)는 프로그램을 실행하는 동안, GUI(Graphic user interface) 화면을 생성하고, 생성된 GUI 화면을 디스플레이 패널(320)을 통해 출력할 수 있다. 호스트 CPU(110b)는 컨트롤 모드에서 이러한 GUI 화면을 프레임 데이터로 출력하여, DRAM(338)에 저장할 수 있다.The host CPU 110b can generate a GUI (Graphic User Interface) screen and output the generated GUI screen through the display panel 320 while executing the program. In the control mode, the host CPU 110b outputs this GUI screen as frame data and stores it in the DRAM 338. [

또한, 호스트 CPU(110b)는 GPU(336)를 이용하여 영상 컨텐츠를 재생할 수 있다. 호스트 CPU(110b) 또는 GPU(336)는 재생 화면을 생성하여, 프레임 데이터로서 DRAM(338)에 저장한다.In addition, the host CPU 110b can reproduce image contents using the GPU 336. [ The host CPU 110b or the GPU 336 generates a reproduction screen and stores it in the DRAM 338 as frame data.

호스트 CPU(110b)는 프레임 데이터를 생성하면서 슬라이스 업데이트 맵을 생성하고, 슬라이스 업데이트 맵을 디스플레이 컨트롤러(120a)로 출력한다. 또한, 호스트 CPU는 슬라이스의 폭 및 높이에 대한 정보를 디스플레이 컨트롤러(120a)로 출력한다. The host CPU 110b generates a slice update map while generating frame data, and outputs the slice update map to the display controller 120a. Further, the host CPU outputs information on the width and height of the slice to the display controller 120a.

디스플레이 컨트롤러(120a)는 슬라이스 업데이트 맵을 이용하여, 업데이트된 프레임 데이터를 DRAM(338)으로부터 추출한다. 예를 들면, 0 내지 19번의 슬라이스가 있는 프레임 데이터 중, 1, 2, 4, 및 5번 슬라이스의 데이터가 변경된 경우, 디스플레이 컨트롤러(120a)는 슬라이스 업데이트 맵에 기초하여, 1, 2, 4, 및 5번 슬라이스에 해당하는 프레임 데이터를 DRAM(338)으로부터 가져온다.The display controller 120a extracts the updated frame data from the DRAM 338 using the slice update map. For example, when data of slices 1, 2, 4, and 5 among the frame data having slices 0 to 19 is changed, the display controller 120a sets the slice update map to 1, 2, 4, And the frame data corresponding to the fifth slice are fetched from the DRAM 338.

개시된 실시 예들은 프레임이 바뀔 때마다 DRAM(338)으로부터 전체 프레임 데이터를 모두 가져오는 구성에 비해, DRAM(338)으로부터 디스플레이 컨트롤러(120a)로 전송되는 데이터 스트림의 용량을 현저하게 감소시켜, 전력 소모를 감소시킬 수 있다. GUI 화면은 일반적으로 소정의 템플릿 내에 필요한 정보들이 표시되고, 프로그램의 동작에 따라 화면의 일부만 변화되는 경우가 많다. 따라서 슬라이스 업데이트 맵을 이용하는 구성에 의해, GUI 화면의 프레임 업데이트 시 발생하는 전력 소모가 현저하게 감소될 수 있다.The disclosed embodiments significantly reduce the capacity of the data stream transmitted from the DRAM 338 to the display controller 120a compared to a configuration in which all of the entire frame data is fetched from the DRAM 338 every frame change, Can be reduced. Generally, in a GUI screen, necessary information is displayed in a predetermined template, and only a part of the screen is changed according to the operation of the program in many cases. Therefore, by using the configuration using the slice update map, power consumption occurring when updating the frame of the GUI screen can be remarkably reduced.

또한, 개시된 실시 예들에 따르면, 프레임 처리 동안에, 호스트 CPU(110a)에서 실행되는 소프트웨어의 개입이 필요 없다. 프레임이 시작되면, 하드웨어, 즉 디스플레이 컨트롤러(310a)가 프레임이 끝날 때까지 자동으로 다음 슬라이스 정보를 산출하고 다음 슬라이스를 처리할 수 있다.Also, according to the disclosed embodiments, there is no need for intervention of software running on the host CPU 110a during frame processing. When the frame starts, the hardware, i.e., the display controller 310a, can automatically calculate the next slice information until the frame ends and process the next slice.

디스플레이 구동부(310a)는 전자 장치(100b)로부터 디스플레이 데이터를 수신하여 저장 및 디코딩하고, 디스플레이 데이터를 디스플레이 패널(320)로 출력한다. 디스플레이 구동부(310a)는 예를 들면 DDI(Device driver interface)의 형태로 구현될 수 있다.The display driver 310a receives display data from the electronic device 100b, stores and decodes the display data, and outputs the display data to the display panel 320. [ The display driver 310a may be implemented in the form of a DDI (Device Driver Interface), for example.

일 실시 예에 따른 디스플레이 구동부(310a)는 DPHY(312), GRAM(Graphic RAM, 316), 및 DSC 디코더(Display Stream Compression Decoder, 314)를 포함한다. The display driver 310a according to one embodiment includes a DPHY 312, a graphic RAM 316, and a DSC decoder 314.

DPHY(312)는 전자 장치(100b)로부터 디스플레이 데이터를 수신한다. 전자 장치(100b)의 디스플레이 컨트롤러(120a)는 MIPI DCS(Mobile Industry Processor Interface Display Command Set) 스탠다드에 따라 업데이트 서브 블록 또는 업데이트 슬라이스에 대한 정보, 및 디스플레이 데이터를 압축하여 디스플레이 구동부(310a)의 DPHY(312)로 전송한다. DPHY(312)는 MIPI DCS에 따른 데이터 스트림을 수신하여 GRAM(316)에 저장한다. GRAM(316)은 디스플레이 데이터를 프레임 단위로 저장한다. GRAM(316)은 DSC 형식으로 압축된 형태로 디스플레이 데이터를 저장할 수 있다. DSC 디코더(314)는 소정의 타이밍에 따라 GRAM(316)으로부터 디스플레이 데이터를 읽어서, DSC 형식으로 압축된 디스플레이 데이터를 디코딩하고, 디코딩된 디스플레이 데이터를 디스플레이 패널(320)로 전송한다.The DPHY 312 receives display data from the electronic device 100b. The display controller 120a of the electronic device 100b compresses the information on the update subblock or the update slice and the display data according to the MIPI Mobile Industry Processor Interface Display Command Set (DCS) 312). The DPHY 312 receives the data stream according to the MIPI DCS and stores it in the GRAM 316. The GRAM 316 stores display data on a frame-by-frame basis. The GRAM 316 may store the display data in a compressed form in the DSC format. The DSC decoder 314 reads the display data from the GRAM 316 at a predetermined timing, decodes the display data compressed in the DSC format, and transmits the decoded display data to the display panel 320.

디스플레이 패널(320)은 디스플레이 구동부(310a)로부터 출력된 디스플레이 데이터를 표시한다. 디스플레이 패널(320)은 래스터 스캔 방식으로 업데이트될 수 있다. 디스플레이 패널(320)은 예를 들면, 액정 표시 패널, OLED(Organic light emitting diode) 패널, 전기 영동 디스플레이 패널 등의 형태로 구현될 수 있다.The display panel 320 displays the display data output from the display driver 310a. The display panel 320 may be updated in a raster scan manner. The display panel 320 may be implemented in the form of, for example, a liquid crystal display panel, an organic light emitting diode (OLED) panel, or an electrophoretic display panel.

도 4는 일 실시 예에 따른 디스플레이 컨트롤러(120a) 및 DRAM(338)을 나타낸 도면이다.4 is a diagram illustrating a display controller 120a and a DRAM 338 according to one embodiment.

일 실시 예에 따른 디스플레이 컨트롤러(120a)는, DMA(Direct memory access, 402), 픽셀 처리부(404), 블렌딩부(406), DSC 인코더(408), DSIM(Display Serial Interface Master, 410), 및 DPHY(412)를 포함한다.The display controller 120a according to one embodiment includes a direct memory access (DMA) 402, a pixel processing unit 404, a blending unit 406, a DSC encoder 408, a Display Serial Interface Master (DSIM) DPHY < / RTI >

DMA(402)는 호스트 CPU(110b)로부터 슬라이스 업데이트 맵을 수신하고, 슬라이스 업데이트 맵에 기초하여, DRAM(338)으로부터 업데이트 슬라이스의 프레임 데이터를 수신한다. DMA(402)는 업데이트 슬라이스 맵에 기초하여, DRAM(338)에 대한 액세스 주소 및 전송 픽셀의 개수를 결정할 수 있다. The DMA 402 receives the slice update map from the host CPU 110b and receives the frame data of the update slice from the DRAM 338 based on the slice update map. The DMA 402 may determine the access address and the number of transfer pixels for the DRAM 338 based on the update slice map.

도 5는 일 실시 예에 따라, DMA(402)가 DRAM(338)으로부터 프레임 데이터를 읽어오는 순서를 나타낸 도면이다.5 is a diagram showing a sequence in which the DMA 402 reads frame data from the DRAM 338 according to an embodiment.

DMA(402)는 예를 들면 도 5에 도시된 바와 같이 슬라이스 단위로 픽셀 데이터를 DRAM(338)으로부터 가져오고, 각 슬라이스에 대해 래스터 스캔 순서로 픽셀 데이터를 가져오도록, DRAM(338)에 액세스할 수 있다. DMA(402)는 업데이트 슬라이스의 프레임 데이터를 픽셀 처리부(404)로 전달한다. The DMA 402 may access the DRAM 338 to fetch the pixel data from the DRAM 338 on a slice basis, for example, as shown in FIG. 5, and to fetch the pixel data in a raster scan order for each slice . The DMA 402 transfers the frame data of the update slice to the pixel processing unit 404.

다시 도 4를 참조하면, 픽셀 처리부(404)는 프레임 데이터에 대해, 색좌표 변환 처리, 화질 개선(enhancement) 처리 등을 수행한다. 예를 들면, 픽셀 처리부(404)는 프레임 데이터를 YUU 색좌표로부터 RGB 색좌표로 변환할 수 있다. 또한 픽셀 처리부(404)는 프레임 데이터의 채도, 색상, 컨트라스트 등을 조절하여 화질 개선 처리를 수행할 수 있다.Referring again to FIG. 4, the pixel processing unit 404 performs color coordinate conversion processing, image enhancement processing, and the like on the frame data. For example, the pixel processing unit 404 may convert the frame data from YUU color coordinates to RGB color coordinates. In addition, the pixel processing unit 404 may perform image quality improvement processing by adjusting saturation, color, contrast, and the like of the frame data.

블렌딩부(406)는 픽셀 처리부(404)에서 색좌표 변환 처리, 화질 개선 처리가 수행된 프레임 데이터를 블렌딩한다.The blending unit 406 blends the frame data subjected to the color coordinate conversion processing and the image quality improvement processing in the pixel processing unit 404.

DSC 인코더(408)는 블렌딩부(406)로부터 출력된 프레임 데이터를 DSC 스탠다드에 따라 인코딩한다. 도 4에서는 프레임 데이터가 DSC 스탠다드에 따라 인코딩 되는 실시 예를 개시하지만, DSC 스탠다드 이외에도 다양한 인코딩 방식이 프레임 데이터를 인코딩하기 위해 이용될 수 있다. The DSC encoder 408 encodes the frame data output from the blending unit 406 according to the DSC standard. Although FIG. 4 discloses an embodiment in which the frame data is encoded according to the DSC standard, various encoding schemes in addition to the DSC standard can be used to encode the frame data.

일 실시 예에 따르면, 디스플레이 컨트롤러(120a)는 서브 블록 단위로 업데이트된 슬라이스의 프레임 데이터를 압축하여, 디스플레이 구동부(310a)로 전송한다. 이를 위해, DSC 인코더(408)는 적어도 하나의 업데이트 슬라이스를 서브 블록 단위로 나누고, 서브 블록 단위로 업데이트된 프레임 데이터를 DSC 스탠다드에 따라 인코딩할 수 있다.According to one embodiment, the display controller 120a compresses the frame data of the slice updated in units of subblocks, and transmits the compressed frame data to the display driver 310a. To this end, the DSC encoder 408 may divide at least one update slice into subblock units and encode the updated frame data in units of subblocks according to the DSC standard.

다른 실시 예에 따르면, 디스플레이 컨트롤러(120a)는 슬라이스 단위로 업데이트된 슬라이스의 프레임 데이터를 압축하여, 디스플레이 구동부(310a)로 전송한다. 이를 위해, DSC 인코더(408)는 슬라이스 단위로 업데이트된 프레임 데이터를 DSC 스탠다드에 따라 인코딩할 수 있다.According to another embodiment, the display controller 120a compresses the frame data of the slice updated on a slice basis, and transmits the compressed frame data to the display driver 310a. To this end, the DSC encoder 408 may encode the frame data updated in units of slices according to the DSC standard.

DSIM(410)은 DSC 인코더(408)로부터 출력된 프레임 데이터를 이용하여, 디스플레이 구동부(310a)로 전송할 데이터 스트림을 생성한다. 일 실시 예에 따르면, DSIM(410)은 MIPI DCS의 형태로 데이터 스트림을 생성할 수 있다. 예를 들면, DSIM(410)은 서브 블록 또는 슬라이스 단위로, 서브 블록 또는 슬라이스에 대한 정보 및 디스플레이 데이터를 DPHY(412)로 출력할 수 있다.The DSIM 410 generates a data stream to be transmitted to the display driver 310a by using the frame data output from the DSC encoder 408. [ According to one embodiment, the DSIM 410 may generate a data stream in the form of a MIPI DCS. For example, the DSIM 410 may output information on subblocks or slices and display data to the DPHY 412 on a subblock or slice basis.

DPHY(412)는 DSIM(410)으로부터 수신된 서브 블록 또는 슬라이스에 대한 정보 및 디스플레이 데이터를 디스플레이 구동부(310a)로 전송한다. 일 실시 예에 따르면, DPHY(412)는 MIPI DCS 데이터 스트림을 디스플레이 구동부로(310a)로 직렬 전송할 수 있다.The DPHY 412 transmits information and display data on the subblock or slice received from the DSIM 410 to the display driver 310a. According to one embodiment, the DPHY 412 may serially transmit the MIPI DCS data stream to the display driver 310a.

직렬 통신의 사용되는 계층형 통신 구조(이하, 프로토콜 스택(protocol stack)라고도 지칭한다)는 최하위 레이어로서 물리적 레이어를 포함하는 다수의 레이어들로 구성될 수 있다. 이러한 물리적 레이어의 예시로서, M-PHY, UniPro(Unified Protocol), PCI 익스프레서, 초고속 USB(Universal Serial Bus), 하이퍼트랜스포트(HyperTransport), RapidIO, 인피니밴드(InfiniBand) 및 직렬 ATA(Serial ATA) 등이 있다. 특히, M-PHY 및 UniPro는 모바일 전자 기기 등에서의 사용을 지원하기 위한 저전력 소모의 특징을 가지고 있으며, 양자 모두 MIPI(Mobile Inudstry Processor Interface) 얼라이언스에서 표준화되어 있다. 또한, M-PHY(이하에서, MIPI M-PHY라고 지칭할 수도 있다) 및 UniPro는 JEDEC에서 표준화되어 있는 UFS(Universal Flash Storage) 인터페이스에 채용되고 있다.A used hierarchical communication structure of serial communication (hereinafter also referred to as a protocol stack) may be composed of a plurality of layers including a physical layer as a lowest layer. Examples of such physical layers include, but are not limited to, M-PHY, UniPro (Unified Protocol), PCI Express, High Speed Universal Serial Bus, HyperTransport, RapidIO, InfiniBand, and Serial ATA ). In particular, M-PHY and UniPro have low power consumption features to support their use in mobile electronic devices, both of which are standardized in the Mobile Inudstry Processor Interface (MIPI) alliance. In addition, M-PHY (hereinafter, may be referred to as MIPI M-PHY) and UniPro are employed in a UFS (Universal Flash Storage) interface standardized by JEDEC.

도 6은 일 실시 예에 따라 전자 장치(100b)로부터 디스플레이 컨트롤러(310a)로 전달되는 데이터 스트림을 나타낸 도면이다.FIG. 6 is a diagram illustrating a data stream transferred from the electronic device 100b to the display controller 310a according to one embodiment.

일 실시 예에 따르면, 디스플레이 컨트롤러(120)는 서브 블록 단위로 디스플레이 데이터를 전달한다. 서브 블록은 실시 예에 따라 다양한 규칙으로 정의될 수 있다. 일 실시 예에 따르면, 도 6의 602 데이터 스트림과 같이, 업데이트 슬라이스를 소정 개수로 분할하여 서브 블록을 정의하고, 각 서브 블록의 픽셀 데이터를 래스터 스캔 순서에 따라 디스플레이 구동부(310a)로 전송한다. 다른 실시 예에 따르면, 디스플레이 컨트롤러(120)는 604 데이터 스트림과 같이 첫 업데이트 슬라이스(슬라이스 1)는 하나의 슬라이스로 서브 블록을 구성하고, 다음 업데이트 슬라이스(슬라이스 2, 3)는 소정 개수로 슬라이스를 묶어서 서브 블록을 정의할 수 있다. 또 다른 실시 예에 따르면, 디스플레이 컨트롤러(120)는 606 데이터 스트림과 같이, 공간적으로 인접한 업데이트 슬라이스들(슬라이스 2, 3)을 모두 하나의 서브 블록으로 묶을 수 있다.According to one embodiment, the display controller 120 delivers display data on a sub-block basis. The sub-blocks may be defined by various rules according to the embodiment. According to an exemplary embodiment, as in the 602 data stream of FIG. 6, the update slice is divided into a predetermined number of subblocks, and the pixel data of each subblock is transmitted to the display driver 310a in accordance with the raster scan order. According to another embodiment, the display controller 120 constructs subblocks with one slice as the first update slice (slice 1) as the 604 data stream, and the next update slice (slices 2, 3) You can group subblocks. According to another embodiment, the display controller 120 may bundle spatially adjacent update slices (slices 2, 3) into one sub-block, such as a 606 data stream.

다른 실시 예에 따르면, 디스플레이 컨트롤러(120)는 608 데이터 스트림과 같이, 슬라이스 단위로 디스플레이 데이터를 디스플레이 구동부(310a)로 전송할 수 있다. 본 실시 예에 따르면, 디스플레이 컨트롤러(120)는 각 슬라이스 단위마다, 슬라이스 위치에 대한 정보 및 해당 슬라이스의 프레임 데이터를 포함하는 데이터 스트림을 생성하여, 슬라이스 순서에 따라 순차적으로 디스플레이 구동부(310a)로 전송할 수 있다. 디스플레이 컨트롤러(130)는 데이터 스트림을 생성할 때, 래스터 스캔의 순서에 따라 슬라이스의 순서를 결정할 수 있다. 또한 디스플레이 구동부(310a)는 각 슬라이스에 대해서, 래스터 스캔의 순서에 따라 픽셀 데이터를 전송할 수 있다. 예를 들면, 디스플레이 컨트롤러(120)로부터 디스플레이 구동부(310a)로 디스플레이 데이터를 전송할 때, 슬라이스 1에 대해, 슬라이스 1의 위치에 대한 정보를 전송한 후에, 래스터 스캔 순서에 따라 픽셀 데이터가 전송되고, 슬라이스 2에 대해, 슬라이스 2의 위치에 대한 정보를 전송한 후에, 래스터 스캔 순서에 따라 픽셀 데이터가 전송될 수 있다. 슬라이스 단위의 디스플레이 데이터의 전송은, 모든 업데이트 슬라이스에 대해 수행될 수 있다.According to another embodiment, the display controller 120 may transmit the display data to the display driver 310a on a slice basis, such as a 608 data stream. According to the present embodiment, the display controller 120 generates a data stream including information on the slice position and frame data of the slice for each slice unit, and sequentially transmits the data stream to the display driver 310a according to the slice order . When the display controller 130 generates the data stream, it can determine the order of the slices according to the order of the raster scans. In addition, the display driver 310a may transmit pixel data in accordance with the order of raster scanning for each slice. For example, when display data is transmitted from the display controller 120 to the display driver 310a, information on the position of the slice 1 is transmitted to the slice 1, pixel data is transmitted according to the raster scanning order, For slice 2, after transmitting information about the position of slice 2, pixel data may be transmitted in accordance with the raster scan order. The transmission of display data in slice units can be performed for all update slices.

도 7은 일 실시 예에 따라 디스플레이 컨트롤러(120)에서 업데이트 슬라이스를 가져오는 동작을 설명하기 위한 도면이다.7 is a diagram for explaining an operation of fetching an update slice in the display controller 120 according to an embodiment.

디스플레이 컨트롤러(120)에서 화질 개선 처리가 각 파티션의 로컬 정보(예를 들면, 휘도 평균값)을 산출하고, 이러한 정보가 디스플레이 컨트롤러(120)의 화질 개선부가 다음 프레임을 처리할 때 이용되는 경우, 부분 윈도우 업데이트를 지원하기 위해, 화질 개선부는 공간적인 위치 정보를 필요로 하고, 대응하는 파티션에 대한 로컬 평균을 산출해야 한다. 만약 화질 개선부의 파티션이 슬라이스 경계와 정렬될 수 없다면, 화질 개선부의 계산은 복잡한 산술적인 계산을 요구하게 된다. 복수의 부분 업데이트를 지원하기 위해, DQE(Descriptor queue element) 엔진은 소프트웨어 개입 없이 로컬 평균 정보를 처리해야 하고, 알고리즘은 하드웨어 구성에 대한 슬라이스 경계와 화질 개선부의 파티션 경계를 정렬하도록 변화될 필요가 있다. 일 실시 예에 따르면, 디스플레이 컨트롤러(120)는 DRAM(338)으로부터 프레임 데이터를 가져올 때, 화질 개선 처리를 위해 업데이트 슬라이스의 픽셀 데이터와 함께 추가적인 주변 필셀들을 가져온다. 예를 들면, 슬라이스 5가 업데이트 슬라이스인 경우, 디스플레이 컨트롤러(120)는 슬라이스 5를 포함하는 화질 개선부의 파티션(702)에 해당하는 픽셀 데이터를 DRAM(338)으로부터 가져온다.When the image quality improvement processing in the display controller 120 calculates local information (e.g., a luminance average value) of each partition and this information is used when the image quality improvement section of the display controller 120 processes the next frame, To support Windows updates, the image quality enhancement unit needs spatial location information and calculates a local average for the corresponding partition. If the partition of the picture quality improvement section can not be aligned with the slice boundary, the calculation of the picture quality improvement section requires a complicated arithmetic calculation. To support multiple partial updates, the DQE (Descriptor queue element) engine must process local average information without software intervention, and the algorithm needs to be changed to align the partition boundaries of the image quality enhancement with the slice boundary for the hardware configuration . According to one embodiment, when the display controller 120 fetches frame data from the DRAM 338, it fetches additional peripheral pixels along with the pixel data of the update slice for image quality enhancement processing. For example, when the slice 5 is an update slice, the display controller 120 fetches the pixel data corresponding to the partition 702 of the image quality improvement section including the slice 5 from the DRAM 338.

탭 필터(tap filter)가 소스 이미지의 해상도를 변경하기 위해 픽셀 처리부 내에서 이용된다면, 일 실시 예에 따른 디스플레이 컨트롤러(120)는 DRAM(338)으로부터 프레임 데이터를 가져올 때, 탭 필터링을 위해 업데이트 슬라이스의 픽셀 데이터와 함께 추가적인 주변 픽셀들을 가져온다. 예를 들면, 슬라이스 5의 업데이트를 위해, 702 영역의 픽셀들이 탭 필터링 처리에 필요할 수 있다. 이러한 경우, 슬라이스 업데이트 맵, 스케일 비율, 스케일러 위상, 탭 필터링을 위한 오버랩핑, 및 현재 슬라이스의 경계 정보에 기초하여, 디스플레이 컨트롤러(120)의 DMA는 시작 주소, 및 현재 슬라이스에 대해 요구되는 픽셀 개수를 산출하고, 그 결과에 따라 DRAM으로부터 픽셀 데이터를 가져올 수 있다.If the tap filter is used within the pixel processing section to change the resolution of the source image, the display controller 120 according to one embodiment, when fetching frame data from the DRAM 338, Lt; / RTI > along with the pixel data of < RTI ID = 0.0 > For example, to update slice 5, pixels in area 702 may be needed for the tap filtering process. In this case, based on the slice update map, the scale ratio, the scaler phase, the overlapping for tap filtering, and the boundary information of the current slice, the DMA of the display controller 120 determines the start address and the number of pixels required for the current slice And fetch pixel data from the DRAM according to the result.

도 8a 및 도 8b는 서브 블록에 대한 정보를 나타내는 도면이다.8A and 8B are views showing information on sub-blocks.

일 실시 예에 따르면, 서브 블록에 대한 정보는, 서브 블록의 시작 점의 위치 및 끝 점의 위치를 포함한다.According to one embodiment, the information on the sub-block includes the position of the start point of the sub-block and the position of the end point.

MIPI DCS에 따라 DSIM을 통해 비디오 데이터를 전송하는 경우, 다음의 명령어 세트가 이용될 수 있다. 일 실시 예에 따르면, DSIM은 MIPI DCS의 CASET 영역에 서브 블록의 시작 점의 컬럼 주소(column address) 및 서브 블록의 끝 점의 컬럼 주소를 기록한다. 예를 들면, 도 8a에 도시된 바와 같이 서브 블록의 시작 점의 컬럼 주소인 SC[15:0], 및 끝 점의 컬럼 주소인 EC[15:0]가 CASET 영역에 기록될 수 있다. 또한, DSIM은 MIPI DCS의 PASET 영역에 서브 블록의 시작 점의 페이지 주소(page address) 및 서브 블록의 끝 점의 페이지 주소를 기록한다. 페이지는 컬럼과 직교하는 행(row)을 의미한다. 예를 들면, 도 8b에 도시된 바와 같이, 서브 블록의 시작 점의 페이지 주소인 SP[15:0], 및 끝 점의 페이지 주소인 EP[15:0]가 PASET 영역에 기록될 수 있다.When transmitting video data via DSIM according to MIPI DCS, the following instruction set can be used. According to one embodiment, the DSIM records the column address of the start point of the subblock and the column address of the end point of the subblock in the CASET field of the MIPI DCS. For example, as shown in FIG. 8A, the column address SC [15: 0] of the start point of the sub-block and the column address EC [15: 0] of the end point can be recorded in the CASET area. In addition, the DSIM records the page address of the start point of the subblock and the page address of the end point of the subblock in the PASET area of the MIPI DCS. A page is a row that is orthogonal to a column. For example, as shown in FIG. 8B, the page address SP [15: 0] of the start point of the sub-block and the page address EP [15: 0] of the end point may be recorded in the PASET area.

도 9는 일 실시 예에 따라 디스플레이 컨트롤러(120)로부터 디스플레이 구동부로 전달되는 데이터 스트림의 구조를 나타낸 도면이다.9 is a diagram illustrating a structure of a data stream transmitted from a display controller 120 to a display driver according to an exemplary embodiment of the present invention.

일 실시 예에 따르면, 디스플레이 컨트롤러(120)는 도 9에 도시된 바와 같이 MIPI DCS 형식으로 데이터 스트림을 생성할 수 있다. MIPI DCS는 전자 장치 및 디스플레이 장치에서 데이터 스트림을 전송할 때 널리 이용되는 방식 중 하나이다. 따라서 본 실시 예는, 기존의 전자 장치 및 디스플레이 장치와 호환성이 우수한 장점이 있다.According to one embodiment, the display controller 120 may generate a data stream in the MIPI DCS format as shown in FIG. MIPI DCS is one of the widely used methods for transmitting data streams in electronic devices and display devices. Therefore, the present embodiment is advantageous in compatibility with existing electronic devices and display devices.

MIPI DCS 형식은 도 9에 도시된 바와 같이, CASET, PASET, 2Ch, Image, 3Ch, Image 영역이 순차적으로 배열된 직렬 전송 방식이다. 일 실시 예에 따르면, 디스플레이 컨트롤러(120)는 CASET 및 PASET 영역에 서브 블록 또는 슬라이스에 대한 정보를 기록하고, Image 영역들에 서브 블록 또는 슬라이스에 대응하는 디스플레이 데이터를 기록할 수 있다. The MIPI DCS format is a serial transmission scheme in which CASET, PASET, 2Ch, Image, 3Ch, and Image areas are sequentially arranged as shown in FIG. According to one embodiment, the display controller 120 may record information on subblocks or slices in the CASET and PASET areas, and display data corresponding to subblocks or slices in the image areas.

서브 블록 단위로 디스플레이 데이터를 전송하는 경우, MIPI DCS 형식에 따른 데이터 스트림은, 서브 블록 단위(SUBBLOCK A, SUBBLOCK B)로 순차적으로 직렬 전송될 수 있다. 슬라이스 단위로 디스플레이 데이터를 전송하는 경우, MIPI DCS 형식에 따른 데이터 스트림은, 슬라이스 단위(SLICE N, SLICE M)로 순차적으로 직렬 전송될 수 있다.When the display data is transmitted in units of sub-blocks, the data stream according to the MIPI DCS format can be sequentially transmitted serially to sub-block units (SUBBLOCK A and SUBBLOCK B). When the display data is transmitted in slice units, the data streams according to the MIPI DCS format can be serially serially transmitted in slice units (SLICE N, SLICE M).

앞서 도 8a 및 도 8b를 이용하여 설명한 바와 같이, 서브 블록 단위로 디스플레이 데이터를 전송하는 경우, CASET 영역에 서브 블록의 시작 점의 컬럼 주소 및 끝 점의 컬럼 주소가 기록되고, PASET 영역에 서브 블록의 시작 점의 페이지 주소 및 끝 점의 페이지 주소가 기록될 수 있다. 슬라이스 단위로 디스플레이 데이터를 전송하는 경우, CASET 영역에 슬라이스의 시작 점의 컬럼 주소 및 끝 점의 컬럼 주소가 기록되고, PASET 영역에 슬라이스의 시작 점의 페이지 주소 및 끝 점의 페이지 주소가 기록될 수 있다. 8A and 8B, when the display data is transmitted in units of subblocks, the column address of the start point of the subblock and the column address of the end point are recorded in the CASET area, and the column address of the end point of the subblock is recorded in the PASET area. The page address of the start point and the page address of the end point may be recorded. When the display data is transmitted in slice units, the column address of the start point of the slice and the column address of the end point are recorded in the CASET area, and the page address of the start point of the slice and the page address of the end point of the slice are recorded in the PASET area have.

2Ch 영역 및 3Ch 영역에는 GRAM 기록 커맨드가 기록된다. 2Ch 영역에는 앞선 CASET 및 PASET에 의해 특정된 픽셀 위치에서 GRAM에 디스플레이 데이터를 기록하는 write_memory_start 명령이 기록된다. 3Ch 영역에는 이전 write_memory_start 또는 write_memory_continue 명령을 뒤따르는 픽셀 위치로부터 GRAM에 디스플레이 데이터를 기록하는 write_memory_continue 명령이 기록된다. 디스플레이 구동부의 DPHY는 2Ch 영역을 뒤따르는 Image 영역의 데이터를 CASET 및 PASET에 의해 특정된 위치에 기록하고, 3Ch 영역을 뒤따르는 Image 영역의 데이터를 이전 CASET 및 PASET에 의해 특정된 영역을 뒤따르는 픽셀 위치로부터 기록한다. 본 실시 예에 따르면, 복수의 부분 윈도우가 MIPI 부합 방식으로 지원될 수 있다.In the 2Ch area and 3Ch area, a GRAM write command is recorded. In the 2Ch area, a write_memory_start command for recording the display data in the GRAM is recorded at the pixel position specified by the preceding CASET and PASET. In the 3Ch area, a write_memory_continue command is written to write the display data to the GRAM from the pixel position following the previous write_memory_start or write_memory_continue command. The DPHY of the display driving unit records the data of the Image area following the 2Ch area at the position specified by the CASET and PASET and stores the data of the Image area following the 3Ch area as the pixel following the area specified by the previous CASET and PASET Record from location. According to the present embodiment, a plurality of partial windows can be supported in a MIPI conforming manner.

그러나 현재의 DSIM은 CASET, PASET, 2Ch, 및 3Ch 명령을 전송하는데 있어서 한계가 있다. 현재의 DSIM은 DSIM 프레임의 종료가 선언된 후에만 이러한 명령들을 전송할 수 있다. 본 실시 예에 따른 DSIM은, 슬라이스 단위로 CASET, PASET, 및 데이터를 배치하고, 각 슬라이스 데이터가 슬라이스 업데이트 맵(SFR) 및 슬라이스 해상도 정보(PPS, Picture Parameter Set)를 이용하여 DECON으로부터 전달될 때 자동으로 PHY를 통해 전달한다. However, the current DSIM has limitations in transmitting CASET, PASET, 2Ch, and 3Ch commands. The current DSIM can send these commands only after the DSIM frame is declared to be terminated. DSIM according to the present embodiment arranges CASET, PASET, and data in slice units, and when each slice data is transferred from DECON using a slice update map (SFR) and slice resolution information (PPS) Automatically forward through PHY.

일 실시 예에 따르면, 도 9에 도시된 바와 같이, 프레임이 시작될 때마다, TE 신호가 삽입된다. DDI가 래스터 스캔 순서로 비디오 데이터를 처리하고 디스플레이 컨트롤러(120)가 슬라이스 기반 순서로 데이터를 전송할 때, 슬라이스 데이터의 특정 부분은 예상 시간보다 늦게 전송되거나 빨리 전송될 수 있다. 이와 같이, 다른 타임 프레임의 데이터가 동일 시간 프레임에 디스플레이 되는 현상을 테어링 현상(Tearing problem)이라고 한다. 디스플레이 구동부는 단일 버퍼 구조를 채용하기 때문에, 전자 장치로부터 GRAM으로 데이터 기록이 예상 시간보다 느리거나 빠를 때, 테어링 현상이 발생한다.According to one embodiment, a TE signal is inserted every time a frame is started, as shown in Fig. When the DDI processes the video data in raster scan order and the display controller 120 transmits the data in slice-based order, certain portions of the slice data may be transmitted later or earlier than expected time. The phenomenon in which data of other time frames are displayed in the same time frame is called a tearing problem. Since the display driver adopts a single buffer structure, a tearing phenomenon occurs when the data writing from the electronic device to the GRAM is slower or faster than the expected time.

도 10a 및 도 10b는 일 실시 예에 따라 테어링 현상을 방지하는 방법을 설명하기 위한 도면이다.10A and 10B are views for explaining a method for preventing a tearing phenomenon according to an embodiment.

도 10a 및 도 10b의 A는 슬라이스 업데이트 맵을 이용하지 않는 경우에 디스플레이 구동부에서 GRAM에 데이터를 기록하는 동작을 나타내는 기록 곡선이고, A1, A2, A3는 슬라이스 업데이트 맵을 이용하여 서브 블록 단위 또는 슬라이스 단위로 업데이트 슬라이스의 디스플레이 데이터를 전송하는 경우의 GRAM에 데이터 기록 동작을 나타내는 기록 곡선이고, R은 디스플레이 패널에 디스플레이 데이터가 표시되는 동작을 나타내는 디스플레이 곡선이다. 슬라이스 업데이트 맵을 이용하지 않는 경우, 각 픽셀에 대한 디스플레이 데이터가 래스터 스캔 순서에 따라 A 곡선과 같이 기록되기 때문에 테어링 현상이 발생하지 않는다. 그런데 슬라이스 업데이트 맵을 이용하는 경우, 업데이트 슬라이스의 배치 때문에, 도 10a에 도시된 바와 같이, 디스플레이 패널에 디스플레이 데이터가 표시되는 타이밍까지 해당 위치의 디스플레이 데이터가 업데이트되지 않는 경우가 발생할 수 있다(A3 곡선). 일 실시 예에 따르면, 도 10b에 도시된 바와 같이, 디스플레이 컨트롤러(120)는 프레임의 시작마다 TE 신호를 삽입하고, TE 신호의 타이밍을 슬라이스 높이만큼 앞당겨, 슬라이스 데이터가 예상 시간보다 늦게 전송되어 발생하는 테어링 현상을 방지할 수 있다. 도 10b를 참조하면, TE 신호의 타이밍을 앞당김으로 인해, 디스플레이 데이터의 기록 타이밍이 전체적으로 슬라이스 높이만큼 앞당겨져, 테어링 현상이 나타나지 않는다. TE 신호의 타이밍을 앞당기는 시간 길이는 실시 예에 따라 다양하게 결정될 수 있다.10A and 10B are recording curves showing the operation of writing data to the GRAM in the display driver when the slice update map is not used, and A1, A2, and A3 are recording curves in units of subblocks or slices Is a recording curve indicating a data recording operation in the GRAM when the display data of the update slice is transmitted in units of R, and R is a display curve indicating an operation in which display data is displayed on the display panel. When the slice update map is not used, the display data for each pixel is recorded as the curve A according to the raster scan order, so that the tearing phenomenon does not occur. In the case of using the slice update map, however, due to the arrangement of the update slice, the display data at the corresponding position may not be updated until the display data is displayed on the display panel as shown in Fig. 10A (curve A3) . 10B, the display controller 120 inserts a TE signal at the beginning of each frame, advances the timing of the TE signal by the height of the slice, and transmits the slice data later than the expected time It is possible to prevent a tearing phenomenon. Referring to FIG. 10B, since the timing of the TE signal is advanced, the recording timing of the display data is advanced by the slice height as a whole, and the tearing phenomenon does not appear. The time length for advancing the timing of the TE signal can be variously determined according to the embodiment.

도 11a 및 도 11b는 일 실시 예에 따라 테어링 현상을 방지하는 방법을 설명하기 위한 도면이다.11A and 11B are views for explaining a method of preventing a tearing phenomenon according to an embodiment.

도 11a 및 도 11b의 A4, A5, A5-1은 슬라이스 업데이트 맵을 이용하여 서브 블록 단위 또는 슬라이스 단위로 업데이트 슬라이스의 디스플레이 데이터를 전송하는 경우의 GRAM에 데이터 기록 동작을 나타내는 기록 곡선이고, R은 디스플레이 패널에 디스플레이 데이터가 표시되는 동작을 나타내는 디스플레이 곡선이다. A4는 n번째 프레임의 기록 곡선이고, A5 및 A5-1은 n+1번째 프레임의 기록 곡선이고, R은 n번째 프레임의 디스플레이 곡선이다.A4, A5, and A5-1 in Figs. 11A and 11B are recording curves representing data recording operations in the GRAM when the display data of the update slice is transmitted on a subblock-by-slice or slice-by-slice basis using the slice update map, And a display curve indicating an operation in which display data is displayed on the display panel. A4 is a recording curve of the n-th frame, A5 and A5-1 are recording curves of the (n + 1) th frame, and R is the display curve of the n-th frame.

만약 디스플레이 데이터가 예상 시간보다 빠르게 GRAM에 기록되어, 기록 곡선이 디스플레이 곡선을 앞지르는 경우, 테어링 현상이 나타난다. 예를 들면, 도 11a에 도시된 바와 같이 n+1번째 프레임의 기록 곡선인 A5곡선이 n번째 프레임의 디스플레이 곡선을 앞지르는 경우 테어링 현상이 발생한다. 예를 들면, TE 신호 타이밍을 앞당기고 최하단의 슬라이스를 갖는 부분 윈도우를 전송하는 경우에도 테어링 현상이 발생할 수 있다. 이러한 경우, 현재 프레임의 디스플레이를 종료하기 전에, 다음 프레임의 부분 윈도우 데이터가 GRAM에 기록될 수 있다. 이러한 종류의 테어링을 방지하기 위해, 디스플레이 구동부(310a)의 DSC 디코더(314)은 예상 시간보다 빨리 슬라이스를 전송하지 않도록 출력 시간을 제어할 수 있다. 예를 들면, 도 11b에 도시된 바와 같이, 디스플레이 컨트롤러(120)가 타이머를 구비하여, 타이밍을 체크하다가, 디스플레이 데이터가 예상 시간보다 앞서서 디스플레이 구동부로 출력되는 경우, 디스플레이 데이터의 전송을 홀딩하고, 예상 시간이 되면 디스플레이 구동부로 디스플레이 데이터를 출력할 있다.If the display data is written to the GRAM sooner than the expected time, and the recording curve exceeds the display curve, a tearing phenomenon appears. For example, as shown in FIG. 11A, a tearing phenomenon occurs when the A5 curve, which is the recording curve of the (n + 1) th frame, exceeds the display curve of the nth frame. For example, the TE signal timing is advanced and the tearing phenomenon may occur even when a partial window having a slice at the lowest stage is transmitted. In this case, the partial window data of the next frame may be written to the GRAM before the display of the current frame is ended. In order to prevent this kind of tearing, the DSC decoder 314 of the display driver 310a can control the output time so as not to transmit the slice earlier than the expected time. For example, as shown in FIG. 11B, the display controller 120 includes a timer, checks the timing, and holds the transmission of the display data when the display data is output to the display driver ahead of the expected time, When the expected time comes, the display driver can output the display data.

도 12a 및 도 12b는 일 실시 예에 따라 서브 블록을 정의하는 방식을 설명하는 도면이다.12A and 12B are diagrams illustrating a method of defining sub-blocks according to an embodiment.

일 실시 예에 따르면, 디스플레이 컨트롤러(120)는 서브 블록이 가능한 긴 가로 폭을 갖도록 서브 블록을 정의하여, 테어링 현상을 방지할 수 있다. 도 12a 및 12b에 도시된 바와 같은 업데이트 슬라이스 배치를 갖는 경우를 예로 들어 설명한다. 디스플레이 컨트롤러(120)는 도 12a에 도시된 바와 같이 슬라이스 0, 1, 4, 5, 8, 9, 12, 및 13으로 이루어진 서브 블록 1210, 및 슬라이스 17, 21, 25, 29로 이루어진 서브 블록 1212를 설정할 수 있다. 다른 예로서 디스플레이 컨트롤러(120)는 도 12b에 도시된 바와 같이 슬라이스 0, 4, 8, 및 12로 이루어진 서브 블록 1220, 및 슬라이스 1, 5, 9, 13, 17, 21, 25, 및 29로 이루어진 서브 블록 1222를 설정할 수 있다. 그런데 디스플레이 패널이 래스터 스캔 방식으로 업데이트 되는 경우, 프레임의 윗쪽에 배치된 픽셀들이 먼저 업데이트 되기 때문에, 업데이트 슬라이스를 디스플레이 구동부로 전달할 때도 윗쪽에 배치된 픽셀들이 먼저 전달된다면 테어링 현상을 방지할 수 있다. 일 실시 예에 따른 디스플레이 컨트롤러(120)는 래스터 스캔 방식에 따라 디스플레이 패널이 업데이트될 때, 먼저 액세스되는 픽셀을 먼저 디스플레이 구동부로 전달하도록, 서브 블록의 폭을 가능한 넓게 설정하여, 테어링 현상을 방지하는 효과가 있다.According to an exemplary embodiment, the display controller 120 may define a sub-block such that the sub-block has a long width as long as possible to prevent the tearing phenomenon. 12A and 12B. The update slice layout shown in FIGS. The display controller 120 includes a subblock 1210 of slices 0, 1, 4, 5, 8, 9, 12 and 13 and a subblock 1212 of slices 17, 21, 25, Can be set. As another example, the display controller 120 may include a sub-block 1220 of slices 0, 4, 8, and 12, and slices 1, 5, 9, 13, 17, 21, 25, and 29 Block 1222 can be set. However, when the display panel is updated by the raster scanning method, since the pixels arranged above the frame are updated first, even when the update slice is transmitted to the display driver, the tiling phenomenon can be prevented if the pixels arranged above are transferred first . The display controller 120 according to the embodiment may set the width of the sub-block as wide as possible so that the pixel to be accessed first is transmitted to the display driver first when the display panel is updated according to the raster scan method, .

도 13a 및 도 13b는 일 실시 예에 따라 슬라이스를 설정하는 방식을 설명하기 위한 도면이다.13A and 13B are views for explaining a method of setting a slice according to an embodiment.

일 실시 예에 따르면, 프로세서(110)는 DSC 슬라이스를 GPU 업데이트 유닛에 정렬시킬 수 있다. 또한, 프로세서(110)는 업데이트 슬라이스 개수를 감소시키도록 슬라이스를 설정할 수 있다. 도 13a와 같이, 데이터 변화가 있는 업데이트 영역(Tile, 1310)이 한 슬라이스 내에 배치되는 경우, 업데이트 슬라이스는 1개이므로, 디스플레이 컨트롤러(120)는 단 한 개의 슬라이스의 디스플레이 데이터만을 처리하고 디스플레이 구동부로 전송하면 된다. 다른 예로서 도 13b와 같이, 데이터 변화가 있는 업데이트 영역(Tile, 1320)이 네 개의 슬라이스에 걸쳐 있는 경우, 업데이트 영역(1320)의 크기는 도 13a에 도시된 업데이트 영역(1310)과 비슷한데도 불구하고, 네 개의 업데이트 슬라이스의 디스플레이 데이터를 처리하여 디스플레이 컨트롤러(120)로부터 데이터 구동부로 전송해야 한다. 일 실시 예에 따르면, 프로세서(110)는 업데이트 영역의 위치 및 면적에 기초하여, 업데이트 슬라이스 개수를 감소시키도록 슬라이스를 정의할 수 있다. 예를 들면, 프로세서(110)는 도 13b와 같이 슬라이스를 정의하는 대신, 도 13a와 같이 슬라이스를 정의할 수 있다.According to one embodiment, the processor 110 may align the DSC slice with the GPU update unit. In addition, the processor 110 may set the slice to reduce the number of update slices. 13A, when the update area (Tile 1310) with the data change is arranged in one slice, the display controller 120 processes only one piece of the display data of the slice and outputs it to the display driver . As another example, as shown in FIG. 13B, when the update area (Tile 1320) with the data change spans four slices, the size of the update area 1320 is similar to the update area 1310 shown in FIG. 13A The display data of the four update slices must be processed and transmitted from the display controller 120 to the data driver. According to one embodiment, the processor 110 may define a slice to reduce the number of update slices based on the location and area of the update area. For example, instead of defining a slice as shown in FIG. 13B, the processor 110 may define a slice as shown in FIG. 13A.

또한, 일 실시 예에 따르면, 프로세서(110)에서 슬라이스를 정의할 때, 업데이트 슬라이스의 용량을 감소시키기 위해, 슬라이스 사이즈를 작게 설정할 수 있다. 예를 들면, 스탠다드에서 정의하는 한 슬라이스당 15000 픽셀을 만족하도록 슬라이스의 픽셀 개수를 최소화하여 슬라이스를 설정할 수 있다.Also, according to one embodiment, when defining a slice in the processor 110, the slice size may be set small to reduce the capacity of the update slice. For example, slices can be set by minimizing the number of pixels in a slice to meet the standard definition of 15000 pixels per slice.

도 14는 일 실시 예에 따른 GUI 화면을 나타낸 도면이다.FIG. 14 is a diagram illustrating a GUI screen according to an embodiment.

도 14는 MMS(Multimedia Messaging Service) 애플리케이션의 화면을 나타낸다. 만약 모든 업데이트 영역을 포함하는 하나의 박스를 정의하여 업데이트 하는 방식을 이용한다면, 사용자가 메시지 윈도우에 글자를 타이핑할 때, 오직 1410 영역과 일부 다른 영역(1420) 만이 업데이트 되더라도, 해당 프레임의 전체 업데이트 영역을 포함하는 사각형 영역(1430)이 업데이트 되어야 한다. 이러한 사각형 영역(1430)은 일부 다른 업데이트 영역(1420)으로 인해 1410 영역보다 과도하게 크게 설정될 수 있다. 본 실시 예에 따르면, 복수의 부분 업데이트 방식을 이용함에 의해, 각 부분 업데이트 영역들(1410, 1420)에 대해 개별적으로 데이터 스트림 전송 처리를 할 수 있다. 이러한 구성에 의해, 본 실시 예는 업데이트 되지 않은 영역에 대한 불필요한 데이터 전송을 감소시켜, 전력 소모를 현저하게 감소시킬 수 있는 효과가 있다.14 shows a screen of an MMS (Multimedia Messaging Service) application. If a method of defining and updating one box including all the update areas is used, even when only the 1410 area and some other area 1420 are updated, when the user types a letter in the message window, The rectangular area 1430 including the area must be updated. This rectangular area 1430 may be set to be excessively larger than the area 1410 due to some other update area 1420. [ According to the present embodiment, by using a plurality of partial update schemes, data stream transmission processing can be separately performed for each of the partial update areas 1410 and 1420. With this configuration, this embodiment has the effect of reducing unnecessary data transfer to the unrecorded area and significantly reducing power consumption.

도 15는 일 실시 예에 따른 전자 장치 제어 방법을 나타낸 흐름도이다.15 is a flowchart illustrating an electronic device control method according to an embodiment.

개시된 실시 예들에 따른 전자 장치 제어 방법은, 프로세서 및 메모리를 포함하는 다양한 전자 장치에 의해 수행될 수 있다. 본 개시에서는 도 1 및 도 3에 개시된 실시 예에 따른 전자 장치에서 전자 장치 제어 방법을 수행하는 실시 예를 중심으로 설명하지만, 본 개시의 실시 예들이 이러한 실시 예로 한정되는 것은 아니다. 또한, 도 1 내지 14를 이용하여 설명한 전자 장치에 대한 실시 예들은 전자 장치 제어 방법들에 적용될 수 있고, 전자 장치 제어 방법에 대한 실시 예들은 전자 장치에 대한 실시 예들에 적용될 수 있다.The electronic device control method according to the disclosed embodiments can be performed by various electronic devices including a processor and a memory. Although the present disclosure focuses on an embodiment of performing an electronic device control method in an electronic device according to the embodiment disclosed in Figs. 1 and 3, the embodiments of the present disclosure are not limited to such an embodiment. In addition, embodiments of the electronic device described with reference to Figs. 1 to 14 can be applied to electronic device control methods, and embodiments of the electronic device control method can be applied to embodiments for an electronic device.

우선 전자 장치는 복수의 슬라이스를 포함하는 프레임 데이터에서 데이터 변화가 있는 적어도 하나의 업데이트 슬라이스의 위치를 나타내는 슬라이스 업데이트 맵을 생성한다(S1502). 전자 장치는 슬라이스 업데이트 맵의 각 슬라이스의 높이 및 폭에 대한 정보를 함께 생성할 수 있다.First, the electronic device generates a slice update map indicating the position of at least one update slice having a data change in frame data including a plurality of slices (S1502). The electronic device may generate information about the height and width of each slice of the slice update map.

다음으로 전자 장치는 슬라이스 업데이트 맵에 기초하여, 프레임 데이터가 저장된 메모리로부터 적어도 하나의 업데이트 슬라이스의 프레임 데이터를 추출한다(S1504). 전자 장치는 업데이트 슬라이스 맵에 기초하여, 메모리 액세스 주소를 결정하고, 업데이트 슬라이스에 해당하는 프레임 데이터를 추출한다.Next, the electronic device extracts frame data of at least one update slice from the memory where the frame data is stored, based on the slice update map (S1504). The electronic device determines the memory access address based on the update slice map and extracts the frame data corresponding to the update slice.

다음으로 전자 장치는 추출된 업데이트 슬라이스의 프레임 데이터를 디스플레이 구동부로 전송한다(S1506). 일 실시 예에 따르면, 전자 장치는 추출된 프레임 데이터에 대한 영상 처리를 수행하고, 직렬 전송을 위한 데이터 스트림을 생성하여 생성된 데이터 스트림을 디스플레이 구동부로 전송한다. 디스플레이 구동부로 전송되는 데이터 스트림은 MIPI DCS 형식으로 생성될 수 있다. 또한 데이터 스트림은 서브 블록 또는 슬라이스 단위로 직렬 전송될 수 있다.Next, the electronic device transmits the frame data of the extracted update slice to the display driver (S1506). According to one embodiment, the electronic device performs image processing on the extracted frame data, generates a data stream for serial transmission, and transmits the generated data stream to a display driver. The data stream transmitted to the display driver may be generated in the MIPI DCS format. The data stream may also be serially transmitted on a subblock or slice basis.

도 16은 일 실시 예에 따른 디스플레이 구동 장치(310b)의 구조를 나타낸 블록도이다.16 is a block diagram showing a structure of a display driving apparatus 310b according to an embodiment.

일 실시 예에 따르면 디스플레이 구동 장치(310b)는 전자 장치(100b)에 일체로 구비될 수 있다. 다른 실시 예에 따르면, 디스플레이 구동 장치(310b)는 전자 장치와 별개로 구비된 디스플레이 장치에 디스플레이 패널과 함께 구비될 수 있다. 디스플레이 구동 장치(310b)는 DDI라고도 불리는 유닛으로, 디스플레이 패널에 디스플레이 데이터를 제공하고, 디스플레이 패널을 구동한다. 도 16에서는 디스플레이 구동 장치(310b)가 도 1에 도시된 전자 장치(100a)와 연결된 실시 예를 중심으로 설명하지만, 본 개시의 실시 예가 이에 한정되는 것은 아니다.According to one embodiment, the display driver 310b may be integrated with the electronic device 100b. According to another embodiment, the display driving device 310b may be provided with a display panel in a display device provided separately from the electronic device. The display driver 310b is a unit also called a DDI, which provides display data to the display panel and drives the display panel. 16, the display driving apparatus 310b is described in connection with the electronic apparatus 100a shown in FIG. 1. However, the embodiment of the present disclosure is not limited thereto.

일 실시 예에 따른 디스플레이 구동 장치(310b)는 수신부(1610), 처리부(1620), 및 프레임 메모리(1630)를 포함한다.The display driving apparatus 310b according to an embodiment includes a receiving unit 1610, a processing unit 1620, and a frame memory 1630. [

수신부(1610)는 전자 장치(100a)로부터 디스플레이 데이터를 전송하는 데이터 스트림을 수신한다. 일 실시 예에 따르면, 수신부(1610)는 서브 블록 단위 또는 슬라이스 단위로 직렬 전송되는 데이터 스트림을 수신한다. Receiving unit 1610 receives a data stream for transmitting display data from electronic device 100a. According to one embodiment, the receiver 1610 receives a data stream serially transmitted on a subblock or slice basis.

일 실시 예에 따르면, 수신부(1610)는 MIPI DCS 데이터 스트림을 수신한다. 수신부(1610)는 예를 들면 도 3에 도시된 바와 같이, MIPI 얼라이언스에 따른 DPHY일 수 있다. 본 실시 예에 따르면, 수신부(1610)는 MIPI DCS 데이터 스트림의 CASET 및 PASET에 정의된 주소에 따라, 2Ch 및 3Ch 영역에 기재된 명령을 실행하여 프레임 메모리(1630)에 저장된 디스플레이 데이터를 업데이트할 수 있다.According to one embodiment, the receiver 1610 receives the MIPI DCS data stream. The receiving unit 1610 may be a DPHY according to the MIPI alliance, for example, as shown in FIG. According to the present embodiment, the receiving unit 1610 can update the display data stored in the frame memory 1630 by executing a command written in the 2Ch and 3Ch areas according to the address defined in the CASET and PASET of the MIPI DCS data stream .

일 실시 예에 따르면, 수신부(1610)는 서브 블록 단위로 업데이트 서브 블록의 디스플레이 데이터를 수신하고, 디스플레이 데이터와 함께 서브 블록의 시작 점의 위치에 대한 정보와 끝 점의 위치에 대한 정보를 수신한다. 또한 수신부(1610)는 서브 블록의 시작 점의 위치에 대한 정보와 끝 점의 위치에 대한 정보를 이용하여, 프레임 메모리(1630)에서 서브 블록의 위치에 대응하는 주소에 액세스하여 디스플레이 데이터를 업데이트한다.According to one embodiment, the receiving unit 1610 receives the display data of the updated subblock in units of subblocks, and receives information about the position of the starting point of the subblock and the position of the end point together with the display data . Also, the receiving unit 1610 accesses the address corresponding to the position of the sub-block in the frame memory 1630 using the information about the position of the start point and the position of the end point of the sub-block, and updates the display data .

프레임 메모리(1630)는 디스플레이 데이터를 저장한다. 일 실시 예에 따르면, 프레임 메모리(1630)는 한 프레임의 디스플레이 데이터를 저장할 수 있다. 따라서 프레임 메모리(1630)에 예상 시간보다 디스플레이 데이터가 빠르게 기록되거나 늦게 기록되면, 테어링 현상이 발생할 수 있다. 프레임 메모리는 앞서 도 3에서 설명한 실시 예와 같이 GRAM의 형태로 구현될 수 있다. 일 실시 예에 따르면, 프레임 메모리는 DSC 스탠다드에 따라 인코딩된 형태로 디스플레이 데이터를 저장할 수 있다.The frame memory 1630 stores display data. According to one embodiment, the frame memory 1630 may store one frame of display data. Therefore, if the display data is written to the frame memory 1630 faster than the expected time or is later written, the tearing phenomenon may occur. The frame memory may be implemented in the form of a GRAM as in the embodiment described above with reference to FIG. According to one embodiment, the frame memory may store display data in encoded form in accordance with the DSC standard.

처리부(1620)는 디스플레이 구동 장치(310b)의 전반적인 동작을 제어한다. 일 실시 예에 따르면, 디스플레이 구동 장치(310b)는 DSC 스탠다드에 따라 인코딩된 디스플레이 데이터를 디코딩하여, 디스플레이 패널로 출력할 수 있다.The processor 1620 controls the overall operation of the display driver 310b. According to one embodiment, the display driver 310b may decode the display data encoded according to the DSC standard and output the decoded display data to the display panel.

도 17은 일 실시 예에 따른 디스플레이 구동 방법을 설명한 흐름도이다.17 is a flowchart illustrating a display driving method according to an embodiment.

개시된 실시 예들에 따른 디스플레이 구동 방법은, 프로세서 및 메모리를 포함하는 다양한 전자 장치에 의해 수행될 수 있다. 본 개시에서는 도 3 및 도 16에 개시된 실시 예에 따른 디스플레이 구동부 또는 디스플레이 구동 장치에서 디스플레이 구동 방법을 수행하는 실시 예를 중심으로 설명하지만, 본 개시의 실시 예들이 이러한 실시 예로 한정되는 것은 아니다. 또한, 도 1 내지 16을 이용하여 설명한 디스플레이 구동부 및 디스플레이 구동 장치에 대한 실시 예들은 디스플레이 구동 방법들에 적용될 수 있고, 디스플레이 구동 방법에 대한 실시 예들은 디스플레이 구동부 또는 디스플레이 구동 장치에 대한 실시 예들에 적용될 수 있다.The display driving method according to the disclosed embodiments can be performed by various electronic devices including a processor and a memory. In this disclosure, the display driving method or the display driving method according to the embodiment disclosed in FIGS. 3 and 16 will be described. However, the embodiments of the present disclosure are not limited to these embodiments. In addition, the embodiments of the display driver and the display driver described with reference to Figs. 1 to 16 can be applied to the display driving methods, and the embodiments of the display driving method can be applied to the embodiments of the display driver or the display driver .

디스플레이 구동 장치는 데이터 변화가 있는 적어도 하나의 서브 블록에 대해, 서브 블록 단위로, 업데이트 서브 블록의 시작 점의 위치, 업데이트 서브 블록의 끝 점의 위치, 및 디스플레이 데이터를 포함하는 직렬 전송 신호를 수신한다(S1702). 앞서 설명한 바와 같이, 직렬 전송 신호는 서브 블록 단위로 직렬 전송될 수 있고, MIPI DCS 데이터 스트림일 수 있다.The display driving device receives, in units of subblocks, at least one subblock having a data change, the serial transmission signal including the position of the start point of the updated subblock, the position of the end point of the updated subblock, (S1702). As described above, the serial transmission signal can be transmitted serially in units of subblocks, and can be a MIPI DCS data stream.

다음으로 디스플레이 구동 장치는 수신된 적어도 하나의 서브 블록에 대한 디스플레이 데이터를 이용하여 프레임 메모리에 저장된 디스플레이 데이터를 업데이트한다(S1704). 디스플레이 구동 장치는 업데이트 서브 블록의 시작 점의 위치, 끝 점의 위치에 대한 정보를 이용하여, 프레임 메모리에서 업데이트 서브 블록의 디스플레이 데이터를 업데이트할 수 있다.Next, the display driver updates the display data stored in the frame memory using the display data of at least one sub-block received (S1704). The display driving apparatus can update the display data of the updated sub-block in the frame memory by using information on the position of the start point and the end point of the update sub-block.

다음으로 디스플레이 구동 장치는 프레임 메모리에 저장된 디스플레이 데이터를 디스플레이 패널로 출력한다(S1706). 일 실시 예에 따르면 프레임 메모리에 디스플레이 데이터가 DSC 스탠다드에 따라 인코딩된 상태로 저장되고, 디스플레이 구동 장치는 소정의 타이밍에 따라 디스플레이 데이터를 디코딩하여 디스플레이 패널로 출력할 수 있다.Next, the display driving apparatus outputs the display data stored in the frame memory to the display panel (S1706). According to one embodiment, the display data is stored in the frame memory in a state encoded in accordance with the DSC standard, and the display driving apparatus can decode the display data at a predetermined timing and output the decoded display data to the display panel.

이상에서와 같이 도면과 명세서에서 예시적인 실시 예들이 개시되었다. 본 명세서에서 특정한 용어를 사용하여 실시 예들을 설명되었으나, 이는 단지 본 개시의 기술적 사상을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 개시의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 개시의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.As described above, exemplary embodiments have been disclosed in the drawings and specification. Although the embodiments have been described herein with reference to specific terms, it should be understood that they have been used only for the purpose of describing the technical idea of the present disclosure and not for limiting the scope of the present disclosure as defined in the claims . Therefore, those skilled in the art will appreciate that various modifications and equivalent embodiments are possible without departing from the scope of the present invention. Accordingly, the true scope of protection of the present disclosure should be determined by the technical idea of the appended claims.

Claims (20)

복수의 슬라이스를 포함하는 프레임 데이터에서 데이터 변화가 있는 적어도 하나의 업데이트 슬라이스의 위치를 나타내는 슬라이스 업데이트 맵을 생성하는 프로세서; 및
상기 슬라이스 업데이트 맵에 기초하여, 상기 프레임 데이터가 저장된 메모리로부터 상기 적어도 하나의 업데이트 슬라이스의 프레임 데이터를 추출하여 디스플레이 구동부로 전송하는 디스플레이 컨트롤러를 포함하는 전자 장치.
A processor for generating a slice update map indicating the location of at least one update slice with a data change in frame data comprising a plurality of slices; And
And a display controller for extracting frame data of the at least one update slice from a memory in which the frame data is stored based on the slice update map and transmitting the extracted frame data to the display driver.
제1항에 있어서,
상기 프로세서는, 상기 슬라이스 업데이트 맵, 슬라이스 폭, 및 슬라이스 높이에 대한 정보를 상기 디스플레이 컨트롤러로 출력하는, 전자 장치.
The method according to claim 1,
Wherein the processor outputs information on the slice update map, slice width, and slice height to the display controller.
제1항에 있어서,
상기 디스플레이 컨트롤러는, 상기 슬라이스 업데이트 맵에 기초하여, 상기 적어도 하나의 업데이트 슬라이스의 프레임 데이터에 대해 색좌표 변환, 화질 개선 처리, 및 블렌딩 중 적어도 하나의 처리를 수행하는, 전자 장치.
The method according to claim 1,
Wherein the display controller performs at least one of processing of converting color coordinates, image quality improvement processing, and blending on frame data of the at least one update slice based on the slice update map.
제1항에 있어서,
상기 디스플레이 컨트롤러는, 상기 적어도 하나의 업데이트 슬라이스를 적어도 하나의 서브 블록으로 분할하고, 서브 블록 단위로, 서브 블록의 위치에 대한 정보 및 디스플레이 데이터를 상기 디스플레이 구동부로 전송하고,
상기 적어도 하나의 서브 블록은, 업데이트 슬라이스로 이루어진 사각형 모양을 갖도록 정의되는, 전자 장치.
The method according to claim 1,
The display controller divides the at least one update slice into at least one sub-block, transmits information on the position of the sub-block and display data to the display driver in units of sub-blocks,
Wherein the at least one sub-block is defined to have a rectangular shape comprising update slices.
제4항에 있어서,
상기 디스플레이 컨트롤러는, 디스플레이 데이터를 서브 블록 단위로 상기 디스플레이 구동부로 직렬 전송하는, 전자 장치.
5. The method of claim 4,
Wherein the display controller serially transmits display data to the display driver in units of subblocks.
제4항에 있어서,
상기 디스플레이 컨트롤러는, 상기 적어도 하나의 서브 블록에 대해, 서브 블록 단위로, 서브 블록의 시작 점의 위치, 서브 블록의 끝 점의 위치, 및 디스플레이 데이터를 포함하는 직렬 전송 신호를 상기 디스플레이 구동부로 전송하는, 전자 장치.
5. The method of claim 4,
The display controller transmits, to the display driver, a serial transmission signal including a position of a start point of a sub-block, a position of an end point of the sub-block, and display data in units of sub-blocks for the at least one sub-block Electronic device.
제1항에 있어서,
상기 디스플레이 컨터롤러는, 슬라이스 폭 및 높이에 대한 정보를 상기 디스플레이 구동부로 전송하고, 슬라이스 단위로, 슬라이스 위치에 대한 정보 및 디스플레이 데이터를 상기 디스플레이 구동부로 전송하는, 전자 장치.
The method according to claim 1,
Wherein the display controller transmits information on the slice width and height to the display driver and transmits information on the slice position and display data to the display driver on a slice basis.
제1항에 있어서,
상기 디스플레이 컨트롤러는, 프레임이 전환될 때마다 프레임의 시작을 알리는 TE 신호를 상기 디스플레이 구동부로 전송하는, 전자 장치.
The method according to claim 1,
Wherein the display controller transmits a TE signal to the display driver notifying the start of a frame each time a frame is switched.
제8항에 있어서,
상기 디스플레이 컨트롤러는, 상기 TE 신호를 프레임 전환 시점보다 적어도 하나의 슬라이스 높이만큼 앞당겨서 상기 디스플레이 구동부로 전송하는, 전자 장치.
9. The method of claim 8,
Wherein the display controller transmits the TE signal to the display driver by advancing at least one slice height from the frame switching point.
제1항에 있어서,
상기 디스플레이 컨트롤러는, 상기 적어도 하나의 업데이트 슬라이스의 디스플레이 데이터의 전송 시점이 예측 시간보다 빠른 경우, 디스플레이 데이터의 전송을 홀딩(holding)하는, 전자 장치.
The method according to claim 1,
Wherein the display controller holds a transmission of display data when a transmission time of display data of the at least one update slice is faster than a predicted time.
제1항에 있어서,
상기 디스플레이 컨트롤러는, 상기 적어도 하나의 업데이트 슬라이스를 적어도 하나의 서브 블록으로 분할하고, 서브 블록 단위로 상기 디스플레이 데이터를 상기 디스플레이 구동부로 전송하고,
상기 디스플레이 구동부는 래스터 스캔(raster scan) 방식으로 영상을 표시하고,
상기 서브 블록은 가로 길이가 가능한 길게 설정되도록 정의되는, 전자 장치.
The method according to claim 1,
Wherein the display controller divides the at least one update slice into at least one sub-block, transmits the display data to the display driver in units of sub-blocks,
The display driver displays an image in a raster scan mode,
Wherein the sub-block is defined such that the transverse length is set as long as possible.
제1항에 있어서,
상기 디스플레이 구동부는, 프레임 단위로 디스플레이 데이터를 저장하는 프레임 메모리를 포함하는, 전자 장치.
The method according to claim 1,
Wherein the display driver includes a frame memory for storing display data on a frame-by-frame basis.
제1항에 있어서,
상기 프로세서는, 프레임 데이터에서 데이터 변화가 있는 위치에 기초하여 업데이트 슬라이스 개수를 감소시키도록 상기 복수의 슬라이스를 설정하는, 전자 장치.
The method according to claim 1,
Wherein the processor sets the plurality of slices to reduce the number of update slices based on the location of the data change in the frame data.
제1항에 있어서,
상기 디스플레이 컨트롤러는 슬라이스 단위 또는 복수의 슬라이스를 포함하는 서브 블록 단위로, MIPI(Mobile Industry Processor Interface) 얼라이언스 방식에 따라 상기 디스플레이 데이터를 상기 디스플레이 구동부로 전송하는, 전자 장치.
The method according to claim 1,
Wherein the display controller transmits the display data to the display driver in units of slices or a sub-block including a plurality of slices in accordance with a Mobile Industry Processor Interface (MIPI) alliance method.
복수의 슬라이스를 포함하는 프레임 데이터에서 데이터 변화가 있는 적어도 하나의 업데이트 슬라이스의 위치를 나타내는 슬라이스 업데이트 맵을 생성하는 단계; 및
상기 슬라이스 업데이트 맵에 기초하여, 상기 프레임 데이터가 저장된 메모리로부터 상기 적어도 하나의 업데이트 슬라이스의 프레임 데이터를 추출하여 디스플레이 구동부로 전송하는 단계를 포함하는 전자 장치 제어 방법.
Generating a slice update map indicating a location of at least one update slice with a data change in frame data comprising a plurality of slices; And
Extracting frame data of the at least one update slice from a memory in which the frame data is stored based on the slice update map, and transmitting the extracted frame data to the display driver.
제15항에 있어서,
상기 슬라이스 업데이트 맵, 슬라이스 폭, 및 슬라이스 높이에 대한 정보를 상기 디스플레이 컨트롤러로 출력하는 단계를 더 포함하는, 전자 장치 제어 방법.
16. The method of claim 15,
And outputting information on the slice update map, slice width, and slice height to the display controller.
데이터 변화가 있는 적어도 하나의 서브 블록에 대해, 서브 블록 단위로, 업데이트 서브 블록의 시작 점의 위치, 업데이트 서브 블록의 끝 점의 위치, 및 디스플레이 데이터를 포함하는 직렬 전송 신호를 수신하는 수신부;
디스플레이 데이터를 저장하고, 상기 수신된 적어도 하나의 서브 블록에 대한 디스플레이 데이터를 이용하여, 상기 저장된 디스플레이 데이터를 업데이트하는 프레임 메모리; 및
상기 디스플레이 데이터를 디스플레이 패널로 출력하는 처리부를 포함하는 디스플레이 구동 장치.
A receiving unit for receiving, in units of sub-blocks, at least one sub-block with a data change, the serial transmission signal including the position of the start point of the updated sub-block, the position of the end point of the updated sub-block, and display data;
A frame memory for storing display data and updating the stored display data using display data for the received at least one sub-block; And
And a processing unit for outputting the display data to a display panel.
제17항에 있어서,
상기 직렬 전송 신호는, 프레임 전환 시 삽입되는 TE 신호 및 적어도 하나의 업데이트 서브 블록 유닛을 포함하고,
각각의 상기 적어도 하나의 업데이트 서브 블록 유닛은, 업데이트 서브 블록의 시작 점의 위치, 업데이트 서브 블록의 끝 점의 위치, 및 디스플레이 데이터를 포함하는, 디스플레이 구동 장치.
18. The method of claim 17,
Wherein the serial transmission signal includes a TE signal inserted at frame switching and at least one update subblock unit,
Wherein each of said at least one update subblock unit comprises a position of a start point of an update subblock, a position of an end point of an update subblock, and display data.
제17항에 있어서,
상기 처리부는, 현재 주사 중인 프레임에서 수신된 서브 블록에 해당하는 영역의 영상 주사가 완료되지 않은 경우, 상기 수신된 서브 블록에 해당하는 영역의 영상 주사가 완료될 때까지 상기 프레임 메모리에서 상기 수신된 서브 블록의 업데이트를 지연시키는, 디스플레이 구동 장치.
18. The method of claim 17,
Wherein when the image scanning of the area corresponding to the sub-block received in the frame currently being scanned is not completed, the processing unit performs the image scanning in the frame memory until the image scanning of the area corresponding to the received sub- Blocks the update of the sub-blocks.
데이터 변화가 있는 적어도 하나의 서브 블록에 대해, 서브 블록 단위로, 업데이트 서브 블록의 시작 점의 위치, 업데이트 서브 블록의 끝 점의 위치, 및 디스플레이 데이터를 포함하는 직렬 전송 신호를 수신하는 단계;
상기 수신된 적어도 하나의 서브 블록에 대한 디스플레이 데이터를 이용하여 프레임 메모리에 저장된 상기 디스플레이 데이터를 업데이트하는 단계; 및
상기 디스플레이 데이터를 디스플레이 패널로 출력하는 단계를 포함하는 디스플레이 구동 방법.
Receiving a serial transmission signal including at least one sub-block with a data change in units of sub-blocks, the position of the start point of the updated sub-block, the position of the end point of the updated sub-block, and the display data;
Updating the display data stored in the frame memory using display data for the received at least one sub-block; And
And outputting the display data to a display panel.
KR1020170003051A 2016-03-31 2017-01-09 Apparatus and method of using a slice update map KR102619668B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US15/473,071 US10446071B2 (en) 2016-03-31 2017-03-29 Device and method of using slice update map

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201662315939P 2016-03-31 2016-03-31
US62/315,939 2016-03-31

Publications (2)

Publication Number Publication Date
KR20170113011A true KR20170113011A (en) 2017-10-12
KR102619668B1 KR102619668B1 (en) 2023-12-29

Family

ID=60141194

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170003051A KR102619668B1 (en) 2016-03-31 2017-01-09 Apparatus and method of using a slice update map

Country Status (1)

Country Link
KR (1) KR102619668B1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022191409A1 (en) * 2021-03-12 2022-09-15 삼성전자 주식회사 Electronic device and control method therefor
KR20220129573A (en) * 2020-01-08 2022-09-23 컴파운드 포토닉스 유.에스. 코퍼레이션 Systems and methods for updating an image displayed on a display device
US11514831B2 (en) 2018-02-23 2022-11-29 Samsung Electronics Co., Ltd. Electronic device and method for controlling storage of content displayed on display panel
KR20220158820A (en) * 2020-04-08 2022-12-01 후아웨이 테크놀러지 컴퍼니 리미티드 Liquid crystal-on-silicon loading device, liquid-crystal-on-silicon component, and liquid-crystal-on-silicon modulation method

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130133370A (en) * 2012-05-29 2013-12-09 주식회사 코아로직 Method and apparatus for image processing
KR20140113219A (en) * 2013-03-15 2014-09-24 삼성전자주식회사 System on chip and method of operating display system having the same
US20140362098A1 (en) * 2013-06-10 2014-12-11 Sharp Laboratories Of America, Inc. Display stream compression
KR20160031374A (en) * 2014-09-12 2016-03-22 삼성전자주식회사 SoC device, display driver and SoC system comprising the same

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130133370A (en) * 2012-05-29 2013-12-09 주식회사 코아로직 Method and apparatus for image processing
KR20140113219A (en) * 2013-03-15 2014-09-24 삼성전자주식회사 System on chip and method of operating display system having the same
US20140362098A1 (en) * 2013-06-10 2014-12-11 Sharp Laboratories Of America, Inc. Display stream compression
KR20160031374A (en) * 2014-09-12 2016-03-22 삼성전자주식회사 SoC device, display driver and SoC system comprising the same

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11514831B2 (en) 2018-02-23 2022-11-29 Samsung Electronics Co., Ltd. Electronic device and method for controlling storage of content displayed on display panel
KR20220129573A (en) * 2020-01-08 2022-09-23 컴파운드 포토닉스 유.에스. 코퍼레이션 Systems and methods for updating an image displayed on a display device
KR20220158820A (en) * 2020-04-08 2022-12-01 후아웨이 테크놀러지 컴퍼니 리미티드 Liquid crystal-on-silicon loading device, liquid-crystal-on-silicon component, and liquid-crystal-on-silicon modulation method
WO2022191409A1 (en) * 2021-03-12 2022-09-15 삼성전자 주식회사 Electronic device and control method therefor

Also Published As

Publication number Publication date
KR102619668B1 (en) 2023-12-29

Similar Documents

Publication Publication Date Title
JP6560367B2 (en) Partial Decoding for Arbitrary View Angle and Line Buffer Reduction of Virtual Reality Video
WO2014199618A1 (en) Electronic device and method for video decoding
KR102619668B1 (en) Apparatus and method of using a slice update map
US20170221182A1 (en) Image transformation
KR102336179B1 (en) Video data processing system
CN105278904B (en) Data processing system, method of operating a display controller in a data processing system
US10446071B2 (en) Device and method of using slice update map
JP4609568B2 (en) Data processing apparatus, data processing method, and data processing system
US20110010472A1 (en) Graphic accelerator and graphic accelerating method
US20100128045A1 (en) Display control apparatus, display control method, and program therefor
CN102572207A (en) Color space transformation method suitable for joint photographic experts group (JPEG) image
CN110351562A (en) A kind of 10 bit YUV image storage formats
CN107154246B (en) Data processing system and method of operating a data processing system
US9888250B2 (en) Techniques for image bitstream processing
JP2008228242A (en) Video reproducing device
CN110930480B (en) Method for directly rendering startup animation video of liquid crystal instrument
CN114697555A (en) Image processing method, device, equipment and storage medium
KR102247741B1 (en) An image processor, a method of operating the image processor, and an application processor including the image processor
US20060098031A1 (en) System and method for effectively performing image rotation procedures in a compressed domain
US20060170708A1 (en) Circuits for processing encoded image data using reduced external memory access and methods of operating the same
US20040213467A1 (en) Image processing apparatus
JPH0488749A (en) Picture processor
US11863786B2 (en) Method of transporting a framebuffer
WO2023087827A1 (en) Rendering method and apparatus
JP2001195569A (en) Image data compression and control system

Legal Events

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