KR102619668B1 - Apparatus and method of using a slice update map - Google Patents
Apparatus and method of using a slice update map Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims description 44
- 230000008859 change Effects 0.000 claims abstract description 17
- 239000000284 extract Substances 0.000 claims abstract description 8
- 238000012545 processing Methods 0.000 claims description 31
- 230000005540 biological transmission Effects 0.000 claims description 13
- 230000006872 improvement Effects 0.000 claims description 11
- 230000006835 compression Effects 0.000 claims description 7
- 238000007906 compression Methods 0.000 claims description 7
- 238000002156 mixing Methods 0.000 claims description 4
- 238000006243 chemical reaction Methods 0.000 claims description 3
- 230000001934 delay Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 30
- 230000006870 function Effects 0.000 description 6
- 238000005192 partition Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 3
- 238000001914 filtration Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G3/00—Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes
- G09G3/20—Control 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
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/003—Details of a display terminal, the details relating to the control arrangement of the display terminal and to the interfaces thereto
- G09G5/006—Details of the interface to the display terminal
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2330/00—Aspects of power supply; Aspects of display protection and defect management
- G09G2330/02—Details of power systems and of start or stop of display operation
- G09G2330/028—Generation of voltages supplied to electrode drivers in a matrix display other than LCD
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2370/00—Aspects of data communication
- G09G2370/16—Use 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
본 개시의 기술적 사상은 전자 장치, 전자 장치 제어 방법, 디스플레이 구동 장치, 및 디스플레이 구동 방법에 관한 것이다.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
Figure 2 is a diagram showing frame data according to one embodiment.
FIG. 3 is a diagram illustrating an
Figure 4 is a diagram showing the
Figure 5 is a diagram showing the order in which the
FIG. 6 is a diagram illustrating a data stream transmitted from the
FIG. 7 is a diagram illustrating an operation of obtaining an update slice from the
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
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
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
일 실시 예에 따른 전자 장치(100a)는 프로세서(110) 및 디스플레이 컨트롤러(120)를 포함한다.The
전자 장치(100a)는 적어도 하나의 프로세서를 구비한 장치로서, 디스플레이 패널을 구비한 장치이거나, 디스플레이 장치와 연결된 장치일 수 있다. 전자 장치(100a)는 예를 들면, 랩탑 컴퓨터, 스마트폰, 웨어러블 장치, 태블릿 컴퓨터, 휴대용 단말, 데스크톱 등 다양한 형태로 구현될 수 있다.The
프로세서(110)는 전자 장치(100a)의 전반적인 동작을 제어한다. 프로세서(110)는 전자 장치(100a)의 각 구성요소들에 제어 신호를 전송하여 전자 장치(100a)의 각 구성요소들을 제어한다. 또한, 프로세서(110)는 운영 체제(OS, operating system), 애플리케이션 등을 실행하여 전자 장치(100a)의 다양한 기능들을 수행하고 제어할 수 있다. The
프로세서(110)는 CPU(central processing unit), Host CPU, 마이크로프로세서(microprocessor), AP(application processor) 등 다양한 형태 또는 명칭의 프로세서 또는 이들의 조합으로 구현될 수 있다. 또한 프로세서(110)는 하나 또는 그 이상의 프로세서의 조합으로 구현될 수 있다.The
본 실시 예에 따른 프로세서(110)는 프레임 데이터를 생성하고, 프레임 데이터에서 데이터 변화가 있는 업데이트 슬라이스의 위치를 나타내는 슬라이스 업데이트 맵을 생성한다. 업데이트 슬라이스는, 프레임이 변함에 따라 한 픽셀이라도 데이터 변화가 있는 슬라이스를 의미한다. 프레임 데이터는 실시 예에 따라, 소정의 프레임 레이트로 생성되거나, 화면 변화가 발생할 때 생성될 수 있다. 일 실시 예에 따른 프레임 데이터는 복수의 슬라이스를 포함하고, 슬라이스 업데이트 맵은 이전 프레임 데이터와 비교하였을 때, 데이터 변화가 있는 적어도 하나의 업데이트 슬라이스의 위치를 나타낸다. 복수의 슬라이스는 이미지 프레임 영역을 동일한 크기의 사각형으로 나누어 정의될 수 있다.The
슬라이스 업데이트 맵은 예를 들면, 업데이트 슬라이스의 위치를 순차적으로 나열한 형태를 가질 수 있다. 예를 들면, 슬라이스 업데이트 맵은 '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
개시된 실시 예들에 따른 디스플레이 컨트롤러(120)는 프로세서(110)로부터 슬라이스 업데이트 맵을 수신하고, 슬라이스 업데이트 맵에 기초하여 메모리로부터 업데이트 슬라이스의 프레임 데이터를 추출한다. 즉, 디스플레이 컨트롤러(120)는 한 프레임에 대해 모든 픽셀의 프레임 데이터를 메모리로부터 가져오지 않고, 업데이트 슬라이스의 프레임 데이터만을 가져온다. 본 실시 예에 따르면, 디스플레이 컨트롤러(120)가 업데이트 슬라이스의 프레임 데이터만을 메모리로부터 추출함으로써, 메모리와 디스플레이 컨트롤러(120a) 간의 데이터 스트림의 용량을 감소시켜, 전력 소모를 감소시키는 효과가 있다. 일 실시 예에 따르면, 디스플레이 컨트롤러(120)는 영상 처리를 위해 업데이트 슬라이스의 주변의 프레임 데이터도 메모리로부터 함께 가져올 수 있다.The
일 실시 예에 따르면, 디스플레이 컨트롤러(120a)는 슬라이스 단위로 프레임 데이터를 메모리로부터 가져온다. 즉, 디스플레이 컨트롤러(120a)는 하나의업데이트 슬라이스의 프레임 데이터를 메모리로부터 가져와 처리하고, 다음 업데이트 슬라이스의 프레임 데이터를 처리하는 식으로 동작할 수 있다. 디스플레이 컨트롤러(120a)는 모든 프레임에 대해 업데이트 슬라이스에 대한 처리가 끝날 때까지, 업데이트 슬라이스에 대한 처리를 수행할 수 있다.According to one embodiment, the
또한, 디스플레이 컨트롤러(120a)는 업데이트 슬라이스의 프레임 데이터를 디스플레이 구동부로 전송한다. 일 실시 예에 따르면, 디스플레이 컨트롤러(120a)는 업데이트 슬라이스에 대해 소정의 영상 처리를 수행하고, 소정의 압축 형식에 따라 데이터를 압축하여 디스플레이 컨트롤러(120a)로 디스플레이 데이터를 전송한다. 또한, 디스플레이 컨트롤러(120a)는 업데이트 슬라이스에 대한 정보를 디스플레이 구동부로 함께 전달할 수 있다. 예를 들면, 디스플레이 컨트롤러(120a)는 업데이트 슬라이스의 폭, 높이, 및 크기에 대한 정보를 업데이트 디스플레이 데이터와 함께 디스플레이 컨트롤러(120a)로 전송할 수 있다. Additionally, the
도 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
디스플레이 컨트롤러(120a)는 서브 블록 단위로 디스플레이 데이터를 전송하는 경우, 디스플레이 데이터와 함께, 서브 블록에 대한 정보를 디스플레이 구동부로 전송한다. 일 실시 예에 따르면, 서브 블록에 대한 정보는, 서브 블록의 시작점의 위치 및 끝점의 위치일 수 있다. 다른 실시 예에 따르면, 서브 블록에 대한 정보는, 서브 블록의 폭, 높이, 시작점의 위치일 수 있다. 시작 점의 위치 및 끝점의 위치는 예를 들면 픽셀의 좌표로 나타낼 수 있다. When transmitting display data in sub-block units, the
일 실시 예에 따르면, 디스플레이 컨트롤러(120a)는, 서브 블록 단위로, 서브 블록에 대한 정보 및 디스플레이 데이터를 직렬 전송 할 수 있다. 예를 들면, 디스플레이 컨트롤러(120a)는 서브 블록에 대한 정보 및 디스플레이 데이터를 MIPI(Mobile Inudstry Processor Interface) 얼라이언스에 따라 디스플레이 구동부로 직렬 전송할 수 있다. 또한, 디스플레이 컨트롤러(120a)는 각 서브 블록에 대한 디스플레이 데이터를 DSC(Display Stream compression) 스탠다드에 따라 압축하여 디스플레이 구동부로 전송할 수 있다.According to one embodiment, the
일 실시 예에 따르면, 각 서브 블록의 데이터는, 래스터 스캔(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
디스플레이 컨트롤러(120)는 디스플레이 데이터를 프레임 내에서 래스터 스캔 순서로 전달할 수 있다. 또한 DSC로 인코딩된 스트림에서 복수의 부분 윈도우들을 지원하고, MIPI DCS(Display Command Set) 스탠다드에 부합하도록, 디스플레이 컨트롤러(120)는 디스플레이 데이터를 서브 블록 순서 또는 슬라이스 순서로 디스플레이 구동부로 전송할 수 있다. 단, 디스플레이 컨트롤러(120)에서 디스플레이 구동부로 전송하는 데이터 스트림의 형식은 DSC 압축으로 제한되지 않으며, 서브 블록 단위 또는 슬라이스 단위로 데이터를 압축할 때 다양한 종류의 압축 형식이 이용될 수 있다. The
도 3은 일 실시 예에 따른 전자 장치(100b), 디스플레이 구동부(310a), 및 디스플레이 패널(320)을 나타낸 도면이다.FIG. 3 is a diagram illustrating an
일 실시 예에 따르면, 전자 장치(100b)는 디스플레이 데이터를 생성하여 디스플레이 구동부(310a)로 전달하고, 디스플레이 구동부(310a)는 디스플레이 데이터를 디스플레이 패널(320)로 전송한다. 전자 장치(100b), 디스플레이 구동부(310a), 및 디스플레이 패널(320)은 하나의 패키징으로 구비되거나, 별개의 패키징으로 구비될 수 있다.According to one embodiment, the
전자 장치(100b)는 호스트 CPU(HOST CPU, 110a), 카메라(332), 코덱(334), GPU(Graphic processing unit, 336), 디스플레이 컨트롤러(120a), 및 DRAM(dynamic random access memory, 338)를 포함할 수 있다. 호스트 CPU(110b)는 도 1의 프로세서(110a)에 대응될 수 있다.The
호스트 CPU(110a)는 전자 장치(100b)의 전반적인 동작을 제어한다. 호스트 CPU(110a)는 운영 체제, 애플리케이션 등 다양한 프로그램을 실행하여, 전자 장치(100b)의 다양한 기능을 제어할 수 있다. 전자 장치(100b)는 저장 매체에 저장된 프로그램 코드를 실행하여 다양한 기능을 실행하고 제어할 수 있다. 예를 들면, 비휘발성 저장매체(미도시)에 저장된 프로그램 코드를 DRAM(338)을 통해 불러들여, 프로그램을 실행할 수 있다. 일 실시 예에 따르면, 호스트 CPU(110a)는 프로그램 또는 기능 등을 실행하는 컨트롤 모드와, 정지 영상 또는 동영상을 포함하는 영상 컨텐츠를 재생하는 비디오 모드로 동작할 수 있다.The host CPU 110a controls the overall operation of the
호스트 CPU(110a)는 카메라(332)를 이용하여 촬영 기능을 수행할 수 있다. 또한 호스트 CPU(110a)는 코덱(334)을 이용하여 영상 컨텐츠 파일을 디코딩하여 재생하거나, 촬영 영상을 인코딩하여 영상 컨텐츠 파일을 생성할 수 있다. 이와 같이 호스트 CPU(110a)는 전자 장치(100a)에 구비된 다양한 하드웨어 유닛 및 소프트웨어 유닛을 제어하여 다양한 기능을 실행할 수 있다.The host CPU 110a may perform a photographing function using the
호스트 CPU(110b)는 프로그램을 실행하는 동안, GUI(Graphic user interface) 화면을 생성하고, 생성된 GUI 화면을 디스플레이 패널(320)을 통해 출력할 수 있다. 호스트 CPU(110b)는 컨트롤 모드에서 이러한 GUI 화면을 프레임 데이터로 출력하여, DRAM(338)에 저장할 수 있다.While executing a program, the
또한, 호스트 CPU(110b)는 GPU(336)를 이용하여 영상 컨텐츠를 재생할 수 있다. 호스트 CPU(110b) 또는 GPU(336)는 재생 화면을 생성하여, 프레임 데이터로서 DRAM(338)에 저장한다.Additionally, the
호스트 CPU(110b)는 프레임 데이터를 생성하면서 슬라이스 업데이트 맵을 생성하고, 슬라이스 업데이트 맵을 디스플레이 컨트롤러(120a)로 출력한다. 또한, 호스트 CPU는 슬라이스의 폭 및 높이에 대한 정보를 디스플레이 컨트롤러(120a)로 출력한다. The
디스플레이 컨트롤러(120a)는 슬라이스 업데이트 맵을 이용하여, 업데이트된 프레임 데이터를 DRAM(338)으로부터 추출한다. 예를 들면, 0 내지 19번의 슬라이스가 있는 프레임 데이터 중, 1, 2, 4, 및 5번 슬라이스의 데이터가 변경된 경우, 디스플레이 컨트롤러(120a)는 슬라이스 업데이트 맵에 기초하여, 1, 2, 4, 및 5번 슬라이스에 해당하는 프레임 데이터를 DRAM(338)으로부터 가져온다.The
개시된 실시 예들은 프레임이 바뀔 때마다 DRAM(338)으로부터 전체 프레임 데이터를 모두 가져오는 구성에 비해, DRAM(338)으로부터 디스플레이 컨트롤러(120a)로 전송되는 데이터 스트림의 용량을 현저하게 감소시켜, 전력 소모를 감소시킬 수 있다. GUI 화면은 일반적으로 소정의 템플릿 내에 필요한 정보들이 표시되고, 프로그램의 동작에 따라 화면의 일부만 변화되는 경우가 많다. 따라서 슬라이스 업데이트 맵을 이용하는 구성에 의해, GUI 화면의 프레임 업데이트 시 발생하는 전력 소모가 현저하게 감소될 수 있다.The disclosed embodiments significantly reduce the capacity of the data stream transmitted from the
또한, 개시된 실시 예들에 따르면, 프레임 처리 동안에, 호스트 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
디스플레이 구동부(310a)는 전자 장치(100b)로부터 디스플레이 데이터를 수신하여 저장 및 디코딩하고, 디스플레이 데이터를 디스플레이 패널(320)로 출력한다. 디스플레이 구동부(310a)는 예를 들면 DDI(Device driver interface)의 형태로 구현될 수 있다.The
일 실시 예에 따른 디스플레이 구동부(310a)는 DPHY(312), GRAM(Graphic RAM, 316), 및 DSC 디코더(Display Stream Compression Decoder, 314)를 포함한다. The
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)로 전송한다.
디스플레이 패널(320)은 디스플레이 구동부(310a)로부터 출력된 디스플레이 데이터를 표시한다. 디스플레이 패널(320)은 래스터 스캔 방식으로 업데이트될 수 있다. 디스플레이 패널(320)은 예를 들면, 액정 표시 패널, OLED(Organic light emitting diode) 패널, 전기 영동 디스플레이 패널 등의 형태로 구현될 수 있다.The
도 4는 일 실시 예에 따른 디스플레이 컨트롤러(120a) 및 DRAM(338)을 나타낸 도면이다.Figure 4 is a diagram showing the
일 실시 예에 따른 디스플레이 컨트롤러(120a)는, DMA(Direct memory access, 402), 픽셀 처리부(404), 블렌딩부(406), DSC 인코더(408), DSIM(Display Serial Interface Master, 410), 및 DPHY(412)를 포함한다.The
DMA(402)는 호스트 CPU(110b)로부터 슬라이스 업데이트 맵을 수신하고, 슬라이스 업데이트 맵에 기초하여, DRAM(338)으로부터 업데이트 슬라이스의 프레임 데이터를 수신한다. DMA(402)는 업데이트 슬라이스 맵에 기초하여, DRAM(338)에 대한 액세스 주소 및 전송 픽셀의 개수를 결정할 수 있다. The
도 5는 일 실시 예에 따라, DMA(402)가 DRAM(338)으로부터 프레임 데이터를 읽어오는 순서를 나타낸 도면이다.Figure 5 is a diagram showing the order in which the
DMA(402)는 예를 들면 도 5에 도시된 바와 같이 슬라이스 단위로 픽셀 데이터를 DRAM(338)으로부터 가져오고, 각 슬라이스에 대해 래스터 스캔 순서로 픽셀 데이터를 가져오도록, DRAM(338)에 액세스할 수 있다. DMA(402)는 업데이트 슬라이스의 프레임 데이터를 픽셀 처리부(404)로 전달한다.
다시 도 4를 참조하면, 픽셀 처리부(404)는 프레임 데이터에 대해, 색좌표 변환 처리, 화질 개선(enhancement) 처리 등을 수행한다. 예를 들면, 픽셀 처리부(404)는 프레임 데이터를 YUU 색좌표로부터 RGB 색좌표로 변환할 수 있다. 또한 픽셀 처리부(404)는 프레임 데이터의 채도, 색상, 컨트라스트 등을 조절하여 화질 개선 처리를 수행할 수 있다.Referring again to FIG. 4, the
블렌딩부(406)는 픽셀 처리부(404)에서 색좌표 변환 처리, 화질 개선 처리가 수행된 프레임 데이터를 블렌딩한다.The
DSC 인코더(408)는 블렌딩부(406)로부터 출력된 프레임 데이터를 DSC 스탠다드에 따라 인코딩한다. 도 4에서는 프레임 데이터가 DSC 스탠다드에 따라 인코딩 되는 실시 예를 개시하지만, DSC 스탠다드 이외에도 다양한 인코딩 방식이 프레임 데이터를 인코딩하기 위해 이용될 수 있다. The
일 실시 예에 따르면, 디스플레이 컨트롤러(120a)는 서브 블록 단위로 업데이트된 슬라이스의 프레임 데이터를 압축하여, 디스플레이 구동부(310a)로 전송한다. 이를 위해, DSC 인코더(408)는 적어도 하나의 업데이트 슬라이스를 서브 블록 단위로 나누고, 서브 블록 단위로 업데이트된 프레임 데이터를 DSC 스탠다드에 따라 인코딩할 수 있다.According to one embodiment, the
다른 실시 예에 따르면, 디스플레이 컨트롤러(120a)는 슬라이스 단위로 업데이트된 슬라이스의 프레임 데이터를 압축하여, 디스플레이 구동부(310a)로 전송한다. 이를 위해, DSC 인코더(408)는 슬라이스 단위로 업데이트된 프레임 데이터를 DSC 스탠다드에 따라 인코딩할 수 있다.According to another embodiment, the
DSIM(410)은 DSC 인코더(408)로부터 출력된 프레임 데이터를 이용하여, 디스플레이 구동부(310a)로 전송할 데이터 스트림을 생성한다. 일 실시 예에 따르면, DSIM(410)은 MIPI DCS의 형태로 데이터 스트림을 생성할 수 있다. 예를 들면, DSIM(410)은 서브 블록 또는 슬라이스 단위로, 서브 블록 또는 슬라이스에 대한 정보 및 디스플레이 데이터를 DPHY(412)로 출력할 수 있다.The
DPHY(412)는 DSIM(410)으로부터 수신된 서브 블록 또는 슬라이스에 대한 정보 및 디스플레이 데이터를 디스플레이 구동부(310a)로 전송한다. 일 실시 예에 따르면, DPHY(412)는 MIPI DCS 데이터 스트림을 디스플레이 구동부로(310a)로 직렬 전송할 수 있다.The
직렬 통신의 사용되는 계층형 통신 구조(이하, 프로토콜 스택(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
일 실시 예에 따르면, 디스플레이 컨트롤러(120)는 서브 블록 단위로 디스플레이 데이터를 전달한다. 서브 블록은 실시 예에 따라 다양한 규칙으로 정의될 수 있다. 일 실시 예에 따르면, 도 6의 602 데이터 스트림과 같이, 업데이트 슬라이스를 소정 개수로 분할하여 서브 블록을 정의하고, 각 서브 블록의 픽셀 데이터를 래스터 스캔 순서에 따라 디스플레이 구동부(310a)로 전송한다. 다른 실시 예에 따르면, 디스플레이 컨트롤러(120)는 604 데이터 스트림과 같이 첫 업데이트 슬라이스(슬라이스 1)는 하나의 슬라이스로 서브 블록을 구성하고, 다음 업데이트 슬라이스(슬라이스 2, 3)는 소정 개수로 슬라이스를 묶어서 서브 블록을 정의할 수 있다. 또 다른 실시 예에 따르면, 디스플레이 컨트롤러(120)는 606 데이터 스트림과 같이, 공간적으로 인접한 업데이트 슬라이스들(슬라이스 2, 3)을 모두 하나의 서브 블록으로 묶을 수 있다.According to one embodiment, the
다른 실시 예에 따르면, 디스플레이 컨트롤러(120)는 608 데이터 스트림과 같이, 슬라이스 단위로 디스플레이 데이터를 디스플레이 구동부(310a)로 전송할 수 있다. 본 실시 예에 따르면, 디스플레이 컨트롤러(120)는 각 슬라이스 단위마다, 슬라이스 위치에 대한 정보 및 해당 슬라이스의 프레임 데이터를 포함하는 데이터 스트림을 생성하여, 슬라이스 순서에 따라 순차적으로 디스플레이 구동부(310a)로 전송할 수 있다. 디스플레이 컨트롤러(130)는 데이터 스트림을 생성할 때, 래스터 스캔의 순서에 따라 슬라이스의 순서를 결정할 수 있다. 또한 디스플레이 구동부(310a)는 각 슬라이스에 대해서, 래스터 스캔의 순서에 따라 픽셀 데이터를 전송할 수 있다. 예를 들면, 디스플레이 컨트롤러(120)로부터 디스플레이 구동부(310a)로 디스플레이 데이터를 전송할 때, 슬라이스 1에 대해, 슬라이스 1의 위치에 대한 정보를 전송한 후에, 래스터 스캔 순서에 따라 픽셀 데이터가 전송되고, 슬라이스 2에 대해, 슬라이스 2의 위치에 대한 정보를 전송한 후에, 래스터 스캔 순서에 따라 픽셀 데이터가 전송될 수 있다. 슬라이스 단위의 디스플레이 데이터의 전송은, 모든 업데이트 슬라이스에 대해 수행될 수 있다.According to another embodiment, the
도 7은 일 실시 예에 따라 디스플레이 컨트롤러(120)에서 업데이트 슬라이스를 가져오는 동작을 설명하기 위한 도면이다.FIG. 7 is a diagram illustrating an operation of obtaining an update slice from the
디스플레이 컨트롤러(120)에서 화질 개선 처리가 각 파티션의 로컬 정보(예를 들면, 휘도 평균값)을 산출하고, 이러한 정보가 디스플레이 컨트롤러(120)의 화질 개선부가 다음 프레임을 처리할 때 이용되는 경우, 부분 윈도우 업데이트를 지원하기 위해, 화질 개선부는 공간적인 위치 정보를 필요로 하고, 대응하는 파티션에 대한 로컬 평균을 산출해야 한다. 만약 화질 개선부의 파티션이 슬라이스 경계와 정렬될 수 없다면, 화질 개선부의 계산은 복잡한 산술적인 계산을 요구하게 된다. 복수의 부분 업데이트를 지원하기 위해, DQE(Descriptor queue element) 엔진은 소프트웨어 개입 없이 로컬 평균 정보를 처리해야 하고, 알고리즘은 하드웨어 구성에 대한 슬라이스 경계와 화질 개선부의 파티션 경계를 정렬하도록 변화될 필요가 있다. 일 실시 예에 따르면, 디스플레이 컨트롤러(120)는 DRAM(338)으로부터 프레임 데이터를 가져올 때, 화질 개선 처리를 위해 업데이트 슬라이스의 픽셀 데이터와 함께 추가적인 주변 필셀들을 가져온다. 예를 들면, 슬라이스 5가 업데이트 슬라이스인 경우, 디스플레이 컨트롤러(120)는 슬라이스 5를 포함하는 화질 개선부의 파티션(702)에 해당하는 픽셀 데이터를 DRAM(338)으로부터 가져온다.When the image quality improvement process in the
탭 필터(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
도 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
일 실시 예에 따르면, 디스플레이 컨트롤러(120)는 도 9에 도시된 바와 같이 MIPI DCS 형식으로 데이터 스트림을 생성할 수 있다. MIPI DCS는 전자 장치 및 디스플레이 장치에서 데이터 스트림을 전송할 때 널리 이용되는 방식 중 하나이다. 따라서 본 실시 예는, 기존의 전자 장치 및 디스플레이 장치와 호환성이 우수한 장점이 있다.According to one embodiment, the
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
서브 블록 단위로 디스플레이 데이터를 전송하는 경우, 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
도 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
도 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
도 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
도 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,
또한, 일 실시 예에 따르면, 프로세서(110)에서 슬라이스를 정의할 때, 업데이트 슬라이스의 용량을 감소시키기 위해, 슬라이스 사이즈를 작게 설정할 수 있다. 예를 들면, 스탠다드에서 정의하는 한 슬라이스당 15000 픽셀을 만족하도록 슬라이스의 픽셀 개수를 최소화하여 슬라이스를 설정할 수 있다.Additionally, according to one embodiment, when defining a slice in the
도 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
도 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
일 실시 예에 따르면 디스플레이 구동 장치(310b)는 전자 장치(100b)에 일체로 구비될 수 있다. 다른 실시 예에 따르면, 디스플레이 구동 장치(310b)는 전자 장치와 별개로 구비된 디스플레이 장치에 디스플레이 패널과 함께 구비될 수 있다. 디스플레이 구동 장치(310b)는 DDI라고도 불리는 유닛으로, 디스플레이 패널에 디스플레이 데이터를 제공하고, 디스플레이 패널을 구동한다. 도 16에서는 디스플레이 구동 장치(310b)가 도 1에 도시된 전자 장치(100a)와 연결된 실시 예를 중심으로 설명하지만, 본 개시의 실시 예가 이에 한정되는 것은 아니다.According to one embodiment, the
일 실시 예에 따른 디스플레이 구동 장치(310b)는 수신부(1610), 처리부(1620), 및 프레임 메모리(1630)를 포함한다.The
수신부(1610)는 전자 장치(100a)로부터 디스플레이 데이터를 전송하는 데이터 스트림을 수신한다. 일 실시 예에 따르면, 수신부(1610)는 서브 블록 단위 또는 슬라이스 단위로 직렬 전송되는 데이터 스트림을 수신한다. The receiving
일 실시 예에 따르면, 수신부(1610)는 MIPI DCS 데이터 스트림을 수신한다. 수신부(1610)는 예를 들면 도 3에 도시된 바와 같이, MIPI 얼라이언스에 따른 DPHY일 수 있다. 본 실시 예에 따르면, 수신부(1610)는 MIPI DCS 데이터 스트림의 CASET 및 PASET에 정의된 주소에 따라, 2Ch 및 3Ch 영역에 기재된 명령을 실행하여 프레임 메모리(1630)에 저장된 디스플레이 데이터를 업데이트할 수 있다.According to one embodiment, the
일 실시 예에 따르면, 수신부(1610)는 서브 블록 단위로 업데이트 서브 블록의 디스플레이 데이터를 수신하고, 디스플레이 데이터와 함께 서브 블록의 시작 점의 위치에 대한 정보와 끝 점의 위치에 대한 정보를 수신한다. 또한 수신부(1610)는 서브 블록의 시작 점의 위치에 대한 정보와 끝 점의 위치에 대한 정보를 이용하여, 프레임 메모리(1630)에서 서브 블록의 위치에 대응하는 주소에 액세스하여 디스플레이 데이터를 업데이트한다.According to one embodiment, the
프레임 메모리(1630)는 디스플레이 데이터를 저장한다. 일 실시 예에 따르면, 프레임 메모리(1630)는 한 프레임의 디스플레이 데이터를 저장할 수 있다. 따라서 프레임 메모리(1630)에 예상 시간보다 디스플레이 데이터가 빠르게 기록되거나 늦게 기록되면, 테어링 현상이 발생할 수 있다. 프레임 메모리는 앞서 도 3에서 설명한 실시 예와 같이 GRAM의 형태로 구현될 수 있다. 일 실시 예에 따르면, 프레임 메모리는 DSC 스탠다드에 따라 인코딩된 형태로 디스플레이 데이터를 저장할 수 있다.The
처리부(1620)는 디스플레이 구동 장치(310b)의 전반적인 동작을 제어한다. 일 실시 예에 따르면, 디스플레이 구동 장치(310b)는 DSC 스탠다드에 따라 인코딩된 디스플레이 데이터를 디코딩하여, 디스플레이 패널로 출력할 수 있다.The
도 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.
상기 프로세서는, 상기 슬라이스 업데이트 맵, 슬라이스 폭, 및 슬라이스 높이에 대한 정보를 상기 디스플레이 컨트롤러로 출력하는, 전자 장치.According to paragraph 1,
The processor outputs information about the slice update map, slice width, and slice height to the display controller.
상기 디스플레이 컨트롤러는, 상기 슬라이스 업데이트 맵에 기초하여, 상기 복수의 업데이트 슬라이스들의 프레임 데이터에 대해 색좌표 변환, 화질 개선 처리, 및 블렌딩 중 적어도 하나의 처리를 수행하는, 전자 장치.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.
상기 디스플레이 컨트롤러는, 상기 적어도 하나의 서브 블록에 대해, 서브 블록 단위로, 서브 블록의 위치에 대한 정보 및 디스플레이 데이터를 상기 디스플레이 구동부로 전송하고,
상기 적어도 하나의 서브 블록은, 업데이트 슬라이스로 이루어진 사각형 모양을 갖도록 정의되는, 전자 장치.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.
상기 디스플레이 컨트롤러는, 디스플레이 데이터를 서브 블록 단위로 상기 디스플레이 구동부로 직렬 전송하는, 전자 장치.According to paragraph 4,
The display controller serially transmits display data to the display driver in sub-block units.
상기 디스플레이 컨트롤러는, 상기 적어도 하나의 서브 블록에 대해, 서브 블록 단위로, 서브 블록의 시작 점의 위치, 서브 블록의 끝 점의 위치, 및 디스플레이 데이터를 포함하는 직렬 전송 신호를 상기 디스플레이 구동부로 전송하는, 전자 장치.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.
상기 디스플레이 컨트롤러는, 슬라이스 폭 및 높이에 대한 정보를 상기 디스플레이 구동부로 전송하고, 슬라이스 단위로, 슬라이스 위치에 대한 정보 및 디스플레이 데이터를 상기 디스플레이 구동부로 전송하는, 전자 장치.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.
상기 디스플레이 컨트롤러는, 프레임이 전환될 때마다 프레임의 시작을 알리는 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.
상기 디스플레이 컨트롤러는, 상기 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.
상기 디스플레이 컨트롤러는, 상기 복수의 업데이트 슬라이스들의 디스플레이 데이터의 전송 시점이 예측 시간보다 빠른 경우, 디스플레이 데이터의 전송을 홀딩(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.
상기 디스플레이 컨트롤러는, 상기 적어도 하나의 서브 블록에 대해, 서브 블록 단위로 디스플레이 데이터를 상기 디스플레이 구동부로 전송하고,
상기 디스플레이 구동부는 래스터 스캔(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.
상기 디스플레이 구동부는, 프레임 단위로 디스플레이 데이터를 저장하는 프레임 메모리를 포함하는, 전자 장치.According to paragraph 1,
The display driver includes a frame memory that stores display data in units of frames.
상기 프로세서는, 프레임 데이터에서 데이터 변화가 있는 위치에 기초하여 업데이트 슬라이스 개수를 감소시키도록 상기 복수의 슬라이스를 설정하는, 전자 장치.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.
상기 디스플레이 컨트롤러는 슬라이스 단위 또는 복수의 슬라이스를 포함하는 서브 블록 단위로, 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.
상기 슬라이스 업데이트 맵, 슬라이스 폭, 및 슬라이스 높이에 대한 정보를 디스플레이 컨트롤러로 출력하는 단계를 더 포함하는, 전자 장치 제어 방법.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.
상기 데이터 스트림은, 프레임 전환 시 삽입되는 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.
상기 처리부는, 현재 주사 중인 프레임에서 수신된 서브 블록에 해당하는 영역의 영상 주사가 완료되지 않은 경우, 상기 수신된 서브 블록에 해당하는 영역의 영상 주사가 완료될 때까지 상기 프레임 메모리에서 상기 수신된 서브 블록의 업데이트를 지연시키는, 디스플레이 구동 장치.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.
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)
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)
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)
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 |
-
2017
- 2017-01-09 KR KR1020170003051A patent/KR102619668B1/en active IP Right Grant
Patent Citations (1)
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 |