KR102619668B1 - 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
KR102619668B1
KR102619668B1 KR1020170003051A KR20170003051A KR102619668B1 KR 102619668 B1 KR102619668 B1 KR 102619668B1 KR 1020170003051 A KR1020170003051 A KR 1020170003051A KR 20170003051 A KR20170003051 A KR 20170003051A KR 102619668 B1 KR102619668 B1 KR 102619668B1
Authority
KR
South Korea
Prior art keywords
display
sub
block
data
update
Prior art date
Application number
KR1020170003051A
Other languages
Korean (ko)
Other versions
KR20170113011A (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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Control Of Indicators Other Than Cathode Ray Tubes (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

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

Description

슬라이스 업데이트 맵을 이용하는 장치 및 방법 {Apparatus and method of using a slice update map}Apparatus and method of using a slice update map {Apparatus and method of using a slice update map}

본 개시의 기술적 사상은 전자 장치, 전자 장치 제어 방법, 디스플레이 구동 장치, 및 디스플레이 구동 방법에 관한 것이다.The technical idea of the present disclosure relates 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 that drives the display panel receives display data from an external device or another processor and displays the display data on the display panel. The display driver receives updated display data every time the image displayed on the display panel changes and updates the displayed image on the display panel. For example, the display driver can update the image of the display panel at a predetermined frame rate. However, when display data is transmitted to the display driver to update the display data, power consumption occurs, which increases the power consumption of the electronic device. Moreover, as electronic devices and display panels supporting high resolutions such as UHD (ultra high definition) have recently become widespread, there is a problem of gradually increasing power consumption due to display data updates.

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

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

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

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

본 개시의 기술적 사상에 따른 디스플레이 구동 방법은, 데이터 변화가 있는 적어도 하나의 서브 블록에 대해, 서브 블록 단위로, 업데이트 서브 블록의 시작 점의 위치, 업데이트 서브 블록의 끝 점의 위치, 및 디스플레이 데이터를 포함하는 직렬 전송 신호를 수신하는 단계; 상기 수신된 적어도 하나의 서브 블록에 대한 디스플레이 데이터를 이용하여 프레임 메모리에 저장된 상기 디스플레이 데이터를 업데이트하는 단계; 및 상기 디스플레이 데이터를 디스플레이 패널로 출력하는 단계를 포함한다.A display driving method according to the technical idea of the present disclosure includes, for at least one sub-block with data change, the location of the start point of the update sub-block, the location of the end point of the update sub-block, and display data on a sub-block basis. Receiving a serial transmission signal comprising: updating the display data stored in a 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, there is an effect of reducing power consumption by reducing the capacity of a data stream for updating display data.

도 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은 일 실시 예에 따른 디스플레이 구동 방법을 설명한 흐름도이다.
FIG. 1 is a block diagram showing the structure of an electronic device 100a according to an embodiment.
Figure 2 is a diagram showing frame data according to one embodiment.
FIG. 3 is a diagram illustrating an electronic device 100b, a display driver 310a, and a display panel 320 according to an embodiment.
Figure 4 is a diagram showing the display controller 120a and DRAM 338 according to one embodiment.
Figure 5 is a diagram showing the order in which the DMA 402 reads frame data from the DRAM 338, according to one embodiment.
FIG. 6 is a diagram illustrating a data stream transmitted from the electronic device 100b to the display controller 310a according to an embodiment.
FIG. 7 is a diagram illustrating an operation of obtaining an update slice from the display controller 120 according to an embodiment.
FIGS. 8A and 8B are diagrams showing information about subblocks.
FIG. 9 is a diagram showing the structure of a data stream transmitted from the display controller 120 to the display driver according to an embodiment.
FIGS. 10A and 10B are diagrams for explaining a method of preventing tearing according to an embodiment.
FIGS. 11A and 11B are diagrams for explaining a method of preventing tearing according to an embodiment.
FIGS. 12A and 12B are diagrams illustrating a method of defining a subblock according to an embodiment.
FIGS. 13A and 13B are diagrams for explaining a method of setting a slice according to an embodiment.
Figure 14 is a diagram showing a GUI screen according to one embodiment.
Figure 15 is a flowchart showing a method for controlling an electronic device according to an embodiment.
Figure 16 is a block diagram showing the structure of a display driving device 310b according to an embodiment.
Figure 17 is a flowchart explaining a display driving method according to an embodiment.

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

도 1은 일 실시 예에 따른 전자 장치(100a)의 구조를 나타낸 블록도이다.FIG. 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 a device equipped with at least one processor, may be a device equipped with a display panel, or may be a device connected to a display device. The electronic device 100a may be implemented in various forms, such as a laptop computer, smartphone, wearable device, tablet computer, portable terminal, or desktop.

프로세서(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 controls each component of the electronic device 100a by transmitting a control signal to each component of the electronic device 100a. Additionally, the processor 110 may execute and control various functions of the electronic device 100a by executing an operating system (OS), applications, etc.

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

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

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

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

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

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

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

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

일 실시 예에 따르면, 프레임 데이터는 도 2에 도시된 바와 같이 동일한 크기의 복수의 슬라이스로 분할될 수 있다. 각 슬라이스는 소정의 폭(W) 및 높이(H)를 가질 수 있다. 예를 들면, 1440 * 2560의 해상도를 갖는 프레임 데이터가, 360 * 160의 해상도의 슬라이스로 분할될 수 있다. 이러한 경우 슬라이스의 폭(W)은 360, 높이(H)는 160으로 정의된다.According to one embodiment, frame data may be divided into a plurality of slices of the same size as shown in FIG. 2. Each slice may have a predetermined width (W) and height (H). For example, frame data with a resolution of 1440 * 2560 may be divided into slices with 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 display data to the display driver in units of sub-blocks. For example, as shown in FIG. 2, when only the data of some slices change as the frame changes, the display controller 120a divides the updated slices into sub-slices including slices 0, 1, 4, 5, 8, and 9. SUBBLOCK 1, which contains slices 13, 17, 21, and 25. SUBBLOCK 2, which contains slices 3, 7, 11, 15, 19, 23, 27, 31, 35, and 39. It can be divided into SUBBLOCK 3, and SUBBLOCK 4, which includes slices 48, 49, 50, 52, 53, 54, 56, 57, and 58. Each subblock can be defined to have a rectangular shape.

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

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

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

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

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

도 3은 일 실시 예에 따른 전자 장치(100b), 디스플레이 구동부(310a), 및 디스플레이 패널(320)을 나타낸 도면이다.FIG. 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 it 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 packaging or may be provided in separate packaging.

전자 장치(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 (110a), a camera 332, a codec 334, a graphic processing unit (GPU) 336, a display controller 120a, and dynamic random access memory (DRAM) 338. may include. The host CPU 110b may correspond to the processor 110a of FIG. 1.

호스트 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 control various functions of the electronic device 100b by executing various programs such as an operating system and applications. The electronic device 100b can execute and control various functions by executing program codes stored in a storage medium. For example, a program code stored in a non-volatile storage medium (not shown) can be loaded through the DRAM 338 and the program can be executed. According to one embodiment, the host CPU 110a may operate in a control mode that executes a program or function, and a video mode that plays video content including still images or moving images.

호스트 CPU(110a)는 카메라(332)를 이용하여 촬영 기능을 수행할 수 있다. 또한 호스트 CPU(110a)는 코덱(334)을 이용하여 영상 컨텐츠 파일을 디코딩하여 재생하거나, 촬영 영상을 인코딩하여 영상 컨텐츠 파일을 생성할 수 있다. 이와 같이 호스트 CPU(110a)는 전자 장치(100a)에 구비된 다양한 하드웨어 유닛 및 소프트웨어 유닛을 제어하여 다양한 기능을 실행할 수 있다.The host CPU 110a may perform a photographing function using the camera 332. Additionally, the host CPU 110a may use the codec 334 to decode and play a video content file or encode a captured video to generate a video content file. In this way, the host CPU 110a can execute 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)에 저장할 수 있다.While executing a program, the host CPU 110b may generate a graphic user interface (GUI) screen and output the generated GUI screen through the display panel 320. The host CPU 110b can output this GUI screen as frame data in control mode and store it in the DRAM 338.

또한, 호스트 CPU(110b)는 GPU(336)를 이용하여 영상 컨텐츠를 재생할 수 있다. 호스트 CPU(110b) 또는 GPU(336)는 재생 화면을 생성하여, 프레임 데이터로서 DRAM(338)에 저장한다.Additionally, the host CPU 110b can play video content using the GPU 336. The host CPU 110b or GPU 336 generates a playback 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. Additionally, the host CPU outputs information about 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 updated frame data from the DRAM 338 using the slice update map. For example, when the data of slices 1, 2, 4, and 5 among frame data with slices 0 to 19 are changed, the display controller 120a displays 1, 2, 4, and 1 based on the slice update map. And frame data corresponding to slice number 5 is retrieved 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 frame data is retrieved from the DRAM 338 every time a frame changes, thereby consuming power. can be reduced. GUI screens generally display necessary information within a predetermined template, and often only part of the screen changes depending on the operation of the program. Therefore, by using a slice update map, the power consumption that occurs when updating the frame of the GUI screen can be significantly reduced.

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

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

일 실시 예에 따른 디스플레이 구동부(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 (GRAM) 316, and a Display Stream Compression Decoder (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)로 전송한다.DPHY 312 receives display data from electronic device 100b. The display controller 120a of the electronic device 100b compresses information about the update sub-block or update slice and display data according to the MIPI DCS (Mobile Industry Processor Interface Display Command Set) standard and displays the DPHY (DPHY) of the display driver 310a. 312). DPHY (312) receives a data stream according to MIPI DCS and stores it in GRAM (316). The GRAM 316 stores display data in frames. The GRAM 316 can store display data in compressed form in DSC format. The DSC decoder 314 reads display data from the GRAM 316 according to a predetermined timing, decodes the display data compressed in 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 display data output from the display driver 310a. The display panel 320 may be updated using a raster scan method. 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)을 나타낸 도면이다.Figure 4 is a diagram showing the display controller 120a and 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) 410, and Includes DPHY (412).

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

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

DMA(402)는 예를 들면 도 5에 도시된 바와 같이 슬라이스 단위로 픽셀 데이터를 DRAM(338)으로부터 가져오고, 각 슬라이스에 대해 래스터 스캔 순서로 픽셀 데이터를 가져오도록, DRAM(338)에 액세스할 수 있다. DMA(402)는 업데이트 슬라이스의 프레임 데이터를 픽셀 처리부(404)로 전달한다. DMA 402 may access DRAM 338 to retrieve pixel data from DRAM 338 on a slice-by-slice basis, for example, as shown in FIG. 5, and to retrieve pixel data in raster scan order for each slice. You can. 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 quality improvement processing, etc. on frame data. For example, the pixel processing unit 404 can convert frame data from YUU color coordinates to RGB color coordinates. Additionally, the pixel processing unit 404 may perform image quality improvement processing by adjusting the saturation, color, contrast, etc. of frame data.

블렌딩부(406)는 픽셀 처리부(404)에서 색좌표 변환 처리, 화질 개선 처리가 수행된 프레임 데이터를 블렌딩한다.The blending unit 406 blends frame data on which color coordinate conversion processing and image quality improvement processing have been performed 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. Figure 4 discloses an embodiment in which frame data is encoded according to the DSC standard, but various encoding methods other than the DSC standard may be used to encode frame data.

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

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

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

DPHY(412)는 DSIM(410)으로부터 수신된 서브 블록 또는 슬라이스에 대한 정보 및 디스플레이 데이터를 디스플레이 구동부(310a)로 전송한다. 일 실시 예에 따르면, DPHY(412)는 MIPI DCS 데이터 스트림을 디스플레이 구동부로(310a)로 직렬 전송할 수 있다.The DPHY 412 transmits information and display data about the subblock or slice received from the DSIM 410 to the display driver 310a. According to one embodiment, the DPHY 412 may serially transmit a 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) 인터페이스에 채용되고 있다.The hierarchical communication structure (hereinafter also referred to as a protocol stack) used in serial communication may be composed of multiple layers, including a physical layer as the lowest layer. Examples of these physical layers include M-PHY, Unified Protocol (UniPro), PCI Expressor, ultra-fast Universal Serial Bus (USB), HyperTransport, RapidIO, InfiniBand, and Serial ATA. ), etc. In particular, M-PHY and UniPro have features of low power consumption to support use in mobile electronic devices, etc., and both are standardized in the MIPI (Mobile Inudstry Processor Interface) Alliance. In addition, M-PHY (hereinafter, may be referred to as MIPI M-PHY) and UniPro are adopted in the UFS (Universal Flash Storage) interface standardized by JEDEC.

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

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

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

도 7은 일 실시 예에 따라 디스플레이 컨트롤러(120)에서 업데이트 슬라이스를 가져오는 동작을 설명하기 위한 도면이다.FIG. 7 is a diagram illustrating an operation of obtaining an update slice from 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 process in the display controller 120 calculates local information (e.g., luminance average value) of each partition, and this information is used by the image quality improvement unit of the display controller 120 when processing the next frame, the partial To support Windows updates, the image quality improvement unit needs spatial location information and must calculate a local average for the corresponding partition. If the partition of the image quality improvement unit cannot be aligned with the slice boundary, the calculation of the image quality improvement unit requires complex arithmetic calculations. To support multiple partial updates, the Descriptor queue element (DQE) engine must process local average information without software intervention, and the algorithm needs to be changed to align slice boundaries for the hardware configuration and partition boundaries for the image quality enhancement unit. . According to one embodiment, when the display controller 120 retrieves frame data from the DRAM 338, it retrieves additional surrounding pixels along with the pixel data of the update slice for image quality improvement processing. For example, when slice 5 is an update slice, the display controller 120 retrieves pixel data corresponding to the partition 702 of the image quality improvement unit including slice 5 from the DRAM 338.

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

도 8a 및 도 8b는 서브 블록에 대한 정보를 나타내는 도면이다.FIGS. 8A and 8B are diagrams showing information about subblocks.

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

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 command set can be used. According to one embodiment, 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 area of the MIPI DCS. For example, as shown in FIG. 8A, SC[15:0], which is the column address of the start point of the subblock, and EC[15:0], which is the column address of the end point, may be recorded in the CASET area. Additionally, 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 means a row orthogonal to a column. For example, as shown in FIG. 8B, SP[15:0], which is the page address of the start point of the subblock, and EP[15:0], which is the page address of the end point of the subblock, may be recorded in the PASET area.

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

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

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

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

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

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 부합 방식으로 지원될 수 있다.GRAM write commands are recorded in the 2Ch area and 3Ch area. In the 2Ch area, a write_memory_start command is recorded that writes display data to GRAM at the pixel location specified by the preceding CASET and PASET. In the 3Ch area, a write_memory_continue command is recorded, which writes display data to GRAM from the pixel position following the previous write_memory_start or write_memory_continue command. The DPHY of the display driver records the data of the image area following the 2Ch area at the position specified by CASET and PASET, and records the data of the image area following the 3Ch area to the pixel following the area specified by the previous CASET and PASET. Record from location. According to this embodiment, a plurality of partial windows can be supported in a MIPI-compliant 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. Current DSIMs can only transmit these commands after the end of the DSIM frame has been declared. DSIM according to this embodiment arranges CASET, PASET, and data on a slice basis, and when each slice data is transmitted from DECON using slice update map (SFR) and slice resolution information (PPS, Picture Parameter Set) Automatically transmitted through PHY.

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

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

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

도 11a 및 도 11b는 일 실시 예에 따라 테어링 현상을 방지하는 방법을 설명하기 위한 도면이다.FIGS. 11A and 11B are diagrams for explaining a method of preventing tearing 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 showing the data recording operation in GRAM when display data of the update slice is transmitted on a sub-block or slice basis using a slice update map, and R is It is a display curve that represents the behavior of display data on the display panel. A4 is the recording curve of the nth frame, A5 and A5-1 are the recording curves of the n+1th frame, and R is the display curve of the nth frame.

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

도 12a 및 도 12b는 일 실시 예에 따라 서브 블록을 정의하는 방식을 설명하는 도면이다.FIGS. 12A and 12B are diagrams illustrating a method of defining a subblock 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 one embodiment, the display controller 120 may prevent tearing by defining sub-blocks so that the sub-blocks have as long a horizontal width as possible. A case with an update slice arrangement as shown in FIGS. 12A and 12B will be described as an example. As shown in FIG. 12A, the display controller 120 includes a subblock 1210 consisting of slices 0, 1, 4, 5, 8, 9, 12, and 13, and a subblock 1212 consisting of slices 17, 21, 25, and 29. can be set. As another example, the display controller 120 has subblocks 1220 consisting of slices 0, 4, 8, and 12, and slices 1, 5, 9, 13, 17, 21, 25, and 29, as shown in FIG. 12B. The completed subblock 1222 can be set. However, when the display panel is updated using the raster scan method, pixels placed at the top of the frame are updated first, so when the update slice is delivered to the display driver, tearing can be prevented if the pixels placed at the top are delivered first. . When the display panel is updated according to the raster scan method, the display controller 120 according to one embodiment sets the width of the sub-block as wide as possible so that the pixels accessed first are delivered to the display driver first, thereby preventing tearing. There is an effect.

도 13a 및 도 13b는 일 실시 예에 따라 슬라이스를 설정하는 방식을 설명하기 위한 도면이다.FIGS. 13A and 13B are diagrams 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, processor 110 may align DSC slices to the GPU update unit. Additionally, the processor 110 may set slices to reduce the number of update slices. As shown in FIG. 13a, when the update area (Tile, 1310) with data change is placed in one slice, there is only one update slice, so the display controller 120 processes the display data of only one slice and sends it to the display driver. Just send it. As another example, as shown in FIG. 13B, when the update area (Tile, 1320) with data changes spans four slices, the size of the update area 1320 is similar to the update area 1310 shown in FIG. 13A. And, 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 slices to reduce the number of update slices based on the location and area of the update area. For example, the processor 110 may define the slice as shown in FIG. 13A instead of defining the slice as shown in FIG. 13B.

또한, 일 실시 예에 따르면, 프로세서(110)에서 슬라이스를 정의할 때, 업데이트 슬라이스의 용량을 감소시키기 위해, 슬라이스 사이즈를 작게 설정할 수 있다. 예를 들면, 스탠다드에서 정의하는 한 슬라이스당 15000 픽셀을 만족하도록 슬라이스의 픽셀 개수를 최소화하여 슬라이스를 설정할 수 있다.Additionally, 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, a slice can be set by minimizing the number of pixels in the slice to satisfy the 15,000 pixels per slice defined by the standard.

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

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

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

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

우선 전자 장치는 복수의 슬라이스를 포함하는 프레임 데이터에서 데이터 변화가 있는 적어도 하나의 업데이트 슬라이스의 위치를 나타내는 슬라이스 업데이트 맵을 생성한다(S1502). 전자 장치는 슬라이스 업데이트 맵의 각 슬라이스의 높이 및 폭에 대한 정보를 함께 생성할 수 있다.First, the electronic device generates a slice update map indicating the location of at least one update slice where there is a data change in frame data including a plurality of slices (S1502). The electronic device may also 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 frame data is stored, based on the slice update map (S1504). The electronic device determines a memory access address based on the update slice map and extracts 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 the display driver. The data stream transmitted to the display driver may be created in MIPI DCS format. Additionally, the data stream may be serially transmitted in subblock or slice units.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Claims (20)

복수의 슬라이스를 포함하는 프레임 데이터에서 데이터 변화가 있는 복수의 업데이트 슬라이스들의 위치를 나타내는 슬라이스 업데이트 맵을 생성하는 프로세서; 및
프레임에서 공간적으로 서로 인접한 상기 복수의 업데이트 슬라이스들을 적어도 하나의 서브 블록으로 그룹화함으로써, 상기 슬라이스 업데이트 맵에 기초하여, 상기 프레임 데이터가 저장된 메모리로부터 상기 적어도 하나의 서브 블록을 구성하는 상기 복수의 업데이트 슬라이스들의 프레임 데이터를 추출하여 디스플레이 구동부로 전송하는 디스플레이 컨트롤러를 포함하는 전자 장치.
A processor that generates a slice update map indicating the positions of a plurality of update slices with data changes in frame data including a plurality of slices; and
By grouping the plurality of update slices that are spatially adjacent to each other in a frame into at least one sub-block, the plurality of update slices constituting the at least one sub-block from the memory where the frame data is stored, based on the slice update map. An electronic device including a display controller that extracts frame data and transmits it to a display driver.
제1항에 있어서,
상기 프로세서는, 상기 슬라이스 업데이트 맵, 슬라이스 폭, 및 슬라이스 높이에 대한 정보를 상기 디스플레이 컨트롤러로 출력하는, 전자 장치.
According to paragraph 1,
The processor outputs information about the slice update map, slice width, and slice height to the display controller.
제1항에 있어서,
상기 디스플레이 컨트롤러는, 상기 슬라이스 업데이트 맵에 기초하여, 상기 복수의 업데이트 슬라이스들의 프레임 데이터에 대해 색좌표 변환, 화질 개선 처리, 및 블렌딩 중 적어도 하나의 처리를 수행하는, 전자 장치.
According to paragraph 1,
The display controller performs at least one of color coordinate conversion, image quality improvement processing, and blending on frame data of the plurality of update slices, based on the slice update map.
제1항에 있어서,
상기 디스플레이 컨트롤러는, 상기 적어도 하나의 서브 블록에 대해, 서브 블록 단위로, 서브 블록의 위치에 대한 정보 및 디스플레이 데이터를 상기 디스플레이 구동부로 전송하고,
상기 적어도 하나의 서브 블록은, 업데이트 슬라이스로 이루어진 사각형 모양을 갖도록 정의되는, 전자 장치.
According to paragraph 1,
The display controller transmits information about the location of the sub-block and display data for the at least one sub-block on a sub-block basis to the display driver,
The at least one sub-block is defined to have a rectangular shape composed of update slices.
제4항에 있어서,
상기 디스플레이 컨트롤러는, 디스플레이 데이터를 서브 블록 단위로 상기 디스플레이 구동부로 직렬 전송하는, 전자 장치.
According to paragraph 4,
The display controller serially transmits display data to the display driver in sub-block units.
제4항에 있어서,
상기 디스플레이 컨트롤러는, 상기 적어도 하나의 서브 블록에 대해, 서브 블록 단위로, 서브 블록의 시작 점의 위치, 서브 블록의 끝 점의 위치, 및 디스플레이 데이터를 포함하는 직렬 전송 신호를 상기 디스플레이 구동부로 전송하는, 전자 장치.
According to paragraph 4,
The display controller transmits, for the at least one sub-block, a serial transmission signal including the location of the start point of the sub-block, the location of the end point of the sub-block, and display data on a sub-block basis to the display driver. an electronic device.
제1항에 있어서,
상기 디스플레이 컨트롤러는, 슬라이스 폭 및 높이에 대한 정보를 상기 디스플레이 구동부로 전송하고, 슬라이스 단위로, 슬라이스 위치에 대한 정보 및 디스플레이 데이터를 상기 디스플레이 구동부로 전송하는, 전자 장치.
According to paragraph 1,
The display controller transmits information about the slice width and height to the display driver, and transmits information about the slice position and display data to the display driver on a slice basis.
제1항에 있어서,
상기 디스플레이 컨트롤러는, 프레임이 전환될 때마다 프레임의 시작을 알리는 TE 신호를 상기 디스플레이 구동부로 전송하는, 전자 장치.
According to paragraph 1,
The display controller transmits a TE signal indicating the start of a frame to the display driver every time a frame is switched.
제8항에 있어서,
상기 디스플레이 컨트롤러는, 상기 TE 신호를 프레임 전환 시점보다 적어도 하나의 슬라이스 높이만큼 앞당겨서 상기 디스플레이 구동부로 전송하는, 전자 장치.
According to clause 8,
The display controller advances the TE signal by at least one slice height from the frame switching point and transmits it to the display driver.
제1항에 있어서,
상기 디스플레이 컨트롤러는, 상기 복수의 업데이트 슬라이스들의 디스플레이 데이터의 전송 시점이 예측 시간보다 빠른 경우, 디스플레이 데이터의 전송을 홀딩(holding)하는, 전자 장치.
According to paragraph 1,
The display controller holds transmission of display data when the transmission time of display data of the plurality of update slices is earlier than the predicted time.
제1항에 있어서,
상기 디스플레이 컨트롤러는, 상기 적어도 하나의 서브 블록에 대해, 서브 블록 단위로 디스플레이 데이터를 상기 디스플레이 구동부로 전송하고,
상기 디스플레이 구동부는 래스터 스캔(raster scan) 방식으로 영상을 표시하고,
상기 서브 블록은 가로 길이가 가능한 길게 설정되도록 정의되는, 전자 장치.
According to paragraph 1,
The display controller transmits display data to the display driver on a sub-block basis for the at least one sub-block,
The display driver displays an image using a raster scan method,
The electronic device is defined so that the horizontal length of the sub-block is set to be as long as possible.
제1항에 있어서,
상기 디스플레이 구동부는, 프레임 단위로 디스플레이 데이터를 저장하는 프레임 메모리를 포함하는, 전자 장치.
According to paragraph 1,
The display driver includes a frame memory that stores display data in units of frames.
제1항에 있어서,
상기 프로세서는, 프레임 데이터에서 데이터 변화가 있는 위치에 기초하여 업데이트 슬라이스 개수를 감소시키도록 상기 복수의 슬라이스를 설정하는, 전자 장치.
According to paragraph 1,
The processor sets the plurality of slices to reduce the number of update slices based on a location where there is a data change in frame data.
제1항에 있어서,
상기 디스플레이 컨트롤러는 슬라이스 단위 또는 복수의 슬라이스를 포함하는 서브 블록 단위로, MIPI(Mobile Industry Processor Interface) 얼라이언스 방식에 따라 디스플레이 데이터를 상기 디스플레이 구동부로 전송하는, 전자 장치.
According to paragraph 1,
The display controller is an electronic device that transmits display data to the display driver in slice units or sub-block units including a plurality of slices according to the Mobile Industry Processor Interface (MIPI) alliance method.
복수의 슬라이스를 포함하는 프레임 데이터에서 데이터 변화가 있는 복수의 업데이트 슬라이스들의 위치를 나타내는 슬라이스 업데이트 맵을 생성하는 단계; 및
프레임에서 공간적으로 서로 인접한 상기 복수의 업데이트 슬라이스들을 적어도 하나의 서브 블록으로 그룹화함으로써, 상기 슬라이스 업데이트 맵에 기초하여, 상기 프레임 데이터가 저장된 메모리로부터 상기 적어도 하나의 서브 블록을 구성하는 상기 복수의 업데이트 슬라이스들의 프레임 데이터를 추출하여 디스플레이 구동부로 전송하는 단계를 포함하고,
상기 프레임에서 데이터 변화가 있는 업데이트 영역의 크기 및 위치에 기초하여 상기 복수의 업데이트 슬라이스들의 개수가 최소가 되도록 슬라이스를 정의하는 전자 장치 제어 방법.
Generating a slice update map indicating the positions of a plurality of update slices with data changes in frame data including a plurality of slices; and
By grouping the plurality of update slices that are spatially adjacent to each other in a frame into at least one sub-block, the plurality of update slices constituting the at least one sub-block from the memory where the frame data is stored, based on the slice update map. A step of extracting the frame data and transmitting it to the display driver,
An electronic device control method for defining a slice so that the number of the plurality of update slices is minimized based on the size and location of an update area where there is a data change in the frame.
제15항에 있어서,
상기 슬라이스 업데이트 맵, 슬라이스 폭, 및 슬라이스 높이에 대한 정보를 디스플레이 컨트롤러로 출력하는 단계를 더 포함하는, 전자 장치 제어 방법.
According to clause 15,
An electronic device control method further comprising outputting information about the slice update map, slice width, and slice height to a display controller.
데이터 변화가 있는 적어도 하나의 서브 블록에 대해, 서브 블록 단위로, 업데이트 서브 블록의 시작 점의 위치, 업데이트 서브 블록의 끝 점의 위치, 및 디스플레이 데이터를 포함하는 데이터 스트림을 수신하는 수신부;
디스플레이 데이터를 저장하고, 상기 수신된 적어도 하나의 서브 블록에 대한 디스플레이 데이터를 이용하여, 상기 저장된 디스플레이 데이터를 업데이트하는 프레임 메모리; 및
상기 디스플레이 데이터를 디스플레이 패널로 출력하는 처리부를 포함하고,
상기 서브 블록의 시작 점의 위치 및 상기 서브 블록의 끝 점의 위치는 컬럼 주소 및 컬럼과 직교하는 페이지의 주소로 정의되며,
상기 업데이트 서브 블록의 시작 점의 컬럼 주소 및 끝 점의 컬럼 주소는 MIPI(Mobile Industry Processor Interface) DSC(Display Stream Compression) 표준에 따른 상기 데이터 스트림의 CASET 영역에 저장되고, 상기 업데이트 서브 블록의 시작 점의 페이지 주소 및 끝 점의 페이지 주소는 상기 데이터 스트림의 PASET 영역에 저장되는 디스플레이 구동 장치.
For at least one sub-block in which there is a data change, a receiving unit that receives a data stream including the position of the start point of the update sub-block, the position of the end point of the update sub-block, and display data on a sub-block basis;
a frame memory that stores display data and updates the stored display data using display data for the received at least one sub-block; and
It includes a processing unit that outputs the display data to a display panel,
The location of the start point of the sub-block and the location of the end point of the sub-block are defined by the column address and the address of the page orthogonal to the column,
The column address of the start point and the column address of the end point of the update sub-block are stored in the CASET area of the data stream according to the Mobile Industry Processor Interface (MIPI) Display Stream Compression (DSC) standard, and the start point of the update sub-block The page address of the display driving device and the page address of the end point are stored in the PASET area of the data stream.
제17항에 있어서,
상기 데이터 스트림은, 프레임 전환 시 삽입되는 TE 신호 및 적어도 하나의 업데이트 서브 블록 유닛을 포함하고,
각각의 상기 적어도 하나의 업데이트 서브 블록 유닛은, 업데이트 서브 블록의 시작 점의 위치, 업데이트 서브 블록의 끝 점의 위치, 및 디스플레이 데이터를 포함하는, 디스플레이 구동 장치.
According to clause 17,
The data stream includes a TE signal inserted during frame switching and at least one update sub-block unit,
Each of the at least one update sub-block unit includes a position of a start point of the update sub-block, a position of an end point of the update sub-block, and display data.
제17항에 있어서,
상기 처리부는, 현재 주사 중인 프레임에서 수신된 서브 블록에 해당하는 영역의 영상 주사가 완료되지 않은 경우, 상기 수신된 서브 블록에 해당하는 영역의 영상 주사가 완료될 때까지 상기 프레임 메모리에서 상기 수신된 서브 블록의 업데이트를 지연시키는, 디스플레이 구동 장치.
According to clause 17,
If the image scanning of the area corresponding to the sub-block received in the frame currently being scanned is not completed, the processing unit scans the received image from the frame memory until the image scanning of the area corresponding to the received sub-block is completed. A display driving device that delays updates of subblocks.
데이터 변화가 있는 적어도 하나의 서브 블록에 대해, 서브 블록 단위로, 업데이트 서브 블록의 시작 점의 위치, 업데이트 서브 블록의 끝 점의 위치, 및 디스플레이 데이터를 포함하는 데이터 스트림을 수신하는 단계;
상기 수신된 적어도 하나의 서브 블록에 대한 디스플레이 데이터를 이용하여 프레임 메모리에 저장된 상기 디스플레이 데이터를 업데이트하는 단계; 및
상기 디스플레이 데이터를 디스플레이 패널로 출력하는 단계를 포함하고,
상기 서브 블록의 시작 점의 위치 및 상기 서브 블록의 끝 점의 위치는 컬럼 주소 및 컬럼과 직교하는 페이지 주소로 정의되며,
상기 업데이트 서브 블록의 시작 점의 컬럼 주소 및 끝 점의 컬럼 주소는 MIPI(Mobile Industry Processor Interface) DSC(Display Stream Compression) 표준에 따른 상기 데이터 스트림의 CASET 영역에 저장되고, 상기 업데이트 서브 블록의 시작 점의 페이지 주소 및 끝 점의 페이지 주소는 상기 데이터 스트림의 PASET 영역에 저장되는 디스플레이 구동 방법.
For at least one sub-block with a data change, receiving, on a sub-block basis, a data stream including a position of a start point of the update sub-block, a position of an end point of the update sub-block, and display data;
updating the display data stored in a frame memory using display data for the received at least one sub-block; and
Including outputting the display data to a display panel,
The location of the start point of the sub-block and the location of the end point of the sub-block are defined by a column address and a page address orthogonal to the column,
The column address of the start point and the column address of the end point of the update sub-block are stored in the CASET area of the data stream according to the Mobile Industry Processor Interface (MIPI) Display Stream Compression (DSC) standard, and the start point of the update sub-block A display driving method in which the page address of and the page address of the end point are stored in the PASET area of the data stream.
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 KR20170113011A (en) 2017-10-12
KR102619668B1 true 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)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102497515B1 (en) 2018-02-23 2023-02-10 삼성전자주식회사 Electronic device and method for controlling storage of content displayed through display panel
CN115053208A (en) * 2020-01-08 2022-09-13 斯纳普公司 System and method for updating an image displayed on a display device
CN113495377B (en) * 2020-04-08 2022-08-26 华为技术有限公司 Silicon-based liquid crystal loading device, silicon-based liquid crystal device and silicon-based liquid crystal modulation method
KR20220128160A (en) * 2021-03-12 2022-09-20 삼성전자주식회사 An electronic device and a method controlling the same

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140362098A1 (en) * 2013-06-10 2014-12-11 Sharp Laboratories Of America, Inc. Display stream compression

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101364050B1 (en) * 2012-05-29 2014-02-19 주식회사 코아로직 Method and apparatus for image processing
KR102023067B1 (en) * 2013-03-15 2019-09-19 삼성전자주식회사 System on chip and method of operating display system having the same
KR102297064B1 (en) * 2014-09-12 2021-09-01 삼성전자주식회사 SoC device, display driver and SoC system comprising the same

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140362098A1 (en) * 2013-06-10 2014-12-11 Sharp Laboratories Of America, Inc. Display stream compression

Also Published As

Publication number Publication date
KR20170113011A (en) 2017-10-12

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
JP5290162B2 (en) Formulating multiple display layers
US10297046B2 (en) Techniques for reducing accesses for retrieving texture images
CN105278904B (en) Data processing system, method of operating a display controller in a data processing system
US20140086309A1 (en) Method and device for encoding and decoding an image
KR102336179B1 (en) Video data processing system
US8749566B2 (en) System and method for an optimized on-the-fly table creation algorithm
US10446071B2 (en) Device and method of using slice update map
KR20130040251A (en) Techniques to control display activity
US9449585B2 (en) Systems and methods for compositing a display image from display planes using enhanced blending hardware
WO2021008427A1 (en) Image synthesis method and apparatus, electronic device, and storage medium
CN114051145B (en) Video compression processing method, device and medium
CN107533752A (en) The adaptive memory address scan based on surface format for graphics process
KR20210002677A (en) Low-latency consumption of the encoded video bit stream
US7382376B2 (en) System and method for effectively utilizing a memory device in a compressed domain
CN107154246B (en) Data processing system and method of operating a data processing system
US20060098031A1 (en) System and method for effectively performing image rotation procedures in a compressed domain
WO2018058368A1 (en) System performance improvement method, system performance improvement device and display device
US9317891B2 (en) Systems and methods for hardware-accelerated key color extraction
US20160191925A1 (en) Techniques for image bitstream processing
JPH0488749A (en) Picture processor
CN101950246B (en) Combined display equipment and image control method and system thereof

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