US20170206856A1 - Display controller and application processor including the same - Google Patents
Display controller and application processor including the same Download PDFInfo
- Publication number
- US20170206856A1 US20170206856A1 US15/402,458 US201715402458A US2017206856A1 US 20170206856 A1 US20170206856 A1 US 20170206856A1 US 201715402458 A US201715402458 A US 201715402458A US 2017206856 A1 US2017206856 A1 US 2017206856A1
- Authority
- US
- United States
- Prior art keywords
- datum
- image
- corrected
- interpolation
- reference value
- Prior art date
- Legal status (The legal status 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 status listed.)
- Granted
Links
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
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/36—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
- G09G5/363—Graphics controllers
-
- 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/02—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the way in which colour is displayed
- G09G5/06—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the way in which colour is displayed using colour palettes, e.g. look-up tables
-
- 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/10—Intensity circuits
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2320/00—Control of display operating conditions
- G09G2320/06—Adjustment of display parameters
- G09G2320/0626—Adjustment of display parameters for control of overall brightness
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2320/00—Control of display operating conditions
- G09G2320/06—Adjustment of display parameters
- G09G2320/0673—Adjustment of display parameters for control of gamma adjustment, e.g. selecting another gamma curve
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2360/00—Aspects of the architecture of display systems
- G09G2360/08—Power processing, i.e. workload management for processors involved in display operations, such as CPUs or GPUs
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2360/00—Aspects of the architecture of display systems
- G09G2360/16—Calculation or use of calculated indices related to luminance levels in display data
Definitions
- Exemplary embodiments of the inventive concept relate to a display controller, and more particularly, to a display controller for performing gamma correction using the exponential characteristic of a gamma curve and an application processor including the display controller.
- the size of a lookup table used for gamma correction has also increased. For instance, when the image data is “n” bits, the lookup table includes a total of 2 n entries.
- a display controller includes a lookup table configured to store a plurality of reference data and an interpolation circuit configured to calculate a corrected datum by performing correction on an image datum based on the plurality of reference data.
- the interpolation circuit may determine whether the image datum is less than a reference value, calculate the corrected datum using a first interpolation method when the image datum is less than the reference value, and calculate the corrected datum using a second interpolation method different from the first interpolation method when the image datum is greater than or equal to the reference value.
- the interpolation circuit may calculate the corrected datum based on a first reference datum, which corresponds to a product of the image datum and the reference value, among the plurality of reference data.
- an application processor includes a central processing unit, a random access memory (RAM) configured to store image data, and a display controller including a lookup table configured to store a plurality of reference data and an interpolation circuit configured to calculate a corrected datum by performing correction on an image datum based on the plurality of reference data.
- the interpolation circuit may calculate the corrected datum using an exponential interpolation method based on a reference datum, which corresponds to a product of the image datum and a reference value, among the reference data.
- the interpolation circuit may calculate the corrected datum using a linear interpolation method.
- a gamma correction method includes receiving an image datum, the image datum having n bits, comparing the image datum to a reference value, which has a value of 2 m , determining that the image datum is less than the reference value, receiving a reference datum, from among a plurality of reference data stored in a lookup table, that corresponds to a product of the image datum and the reference value, and calculating a corrected datum using the reference datum and the exponential characteristic of a gamma curve having a gamma value.
- “n” is an integer greater than or equal to 2 and “m” is a natural number less than “n”.
- FIG. 1 is a block diagram of an electronic system according to an exemplary embodiment of the inventive concept.
- FIG. 2 is a block diagram of a display controller according to an exemplary embodiment of the inventive concept.
- FIG. 3A is a conceptual block diagram of an interpolation circuit according to an exemplary embodiment of the inventive concept.
- FIG. 3B is a conceptual block diagram of an interpolation circuit according to an exemplary embodiment of the inventive concept.
- FIG. 4 is a graph showing the relationship between image data and correction data according to an exemplary embodiment of the inventive concept.
- FIG. 5 is a table showing correction data stored in a lookup table according to an exemplary embodiment of the inventive concept.
- FIG. 6 is a flowchart of a gamma correction method of a gamma correction circuit according to an exemplary embodiment of the inventive concept.
- FIG. 7 is a flowchart of a first interpolation method of an interpolation circuit according to an exemplary embodiment of the inventive concept.
- FIG. 8 is a block diagram of an electronic system according to an exemplary embodiment of the inventive concept.
- FIG. 9 illustrates an electronic system and an interface according to an exemplary embodiment of the inventive concept.
- Exemplary embodiments of the inventive concept provide for a display controller configured with a gamma correction method that may reduce lookup table size and reduce errors.
- image data IDATA may include a still image, a moving image, or a stereoscopic image.
- FIG. 1 is a block diagram of an electronic system 1 according to an exemplary embodiment of the inventive concept.
- the electronic system 1 may be implemented as a portable electronic device.
- the portable electronic device may be a laptop computer, a cellular/mobile phone, a smart phone, a tablet personal computer (PC), a personal digital assistant (PDA), an enterprise digital assistant (EDA), a digital still camera, a digital video camera, a portable multimedia player (PMP), a mobile internet device (MID), a wearable computer, an internet of things (IoT) device, an internet of everything (IoE) device, a handheld device, a handheld computer, a mobile device, an automotive navigation system, an MP3 player, etc.
- IoT internet of things
- IoE internet of everything
- the electronic system 1 includes a semiconductor integrated circuit (IC) device 10 , a display device 20 , and an external memory 30 .
- IC semiconductor integrated circuit
- Each of the elements 10 , 20 , and 30 may be formed in separate chips, but the inventive concept is not restricted to the present exemplary embodiment, e.g., the elements 10 , 20 , and 30 may be formed in one chip.
- the electronic system 1 may also include another element such as a camera module according to exemplary embodiments of the inventive concept.
- the semiconductor IC device 10 may be implemented as a system-on-chip (SoC) or an application processor (AP).
- SoC system-on-chip
- AP application processor
- the semiconductor IC device 10 is referred to as an AP 10 .
- the electronic system 1 may be able to display a still image signal (or a still image) or a moving image signal (or a moving image) on the display device 20 .
- the external memory 30 stores program instructions executed in the AP 10 .
- the external memory 30 may also store image data used to display a still image or a moving image on the display device 20 .
- the moving image is a sequence of different still images presented in a short period of time.
- the external memory 30 may be volatile or non-volatile memory.
- the volatile memory may be dynamic random access memory (DRAM), static RAM (SRAM), thyristor RAM (T-RAM), zero capacitor RAM (Z-RAM), or twin transistor RAM (TTRAM).
- the non-volatile memory may be electrically erasable programmable read-only memory (EEPROM), flash memory, magnetic RAM (MRAM), phase-change RAM (PRAM), or resistive memory.
- the AP 10 controls the external memory 30 and/or the display device 20 .
- the AP 10 may be referred to as an IC, a processor, an application processor, a multimedia processor, or an integrated multimedia processor.
- the AP 10 may include a central processing circuit (CPU) 200 , a read-only memory (ROM) 210 , a random access memory (RAM) 220 , an image signal processor (ISP) 230 , a display controller 240 , a graphics processing unit (GPU) 250 , a memory controller 260 , a post processor 270 , and a system bus 280 .
- the AP 10 may also include other elements in addition to the elements illustrated in FIG. 1 .
- the CPU 200 may process or execute programs and/or data stored in the external memory 30 .
- the CPU 200 may process or execute programs and/or data in response to an operating clock signal output from a clock signal module.
- the CPU 200 may be implemented as a multi-core processor.
- a multi-core processor is a single computing component with two or more independent actual processors (referred to as cores). Each of the processors/cores reads and executes program instructions.
- the CPU 200 runs an operating system (OS).
- the OS may manage resources (such as memory and display) of the electronic system 1 .
- the OS may distribute the resources to applications executed in the electronic system 1 .
- Programs and/or data stored in the ROM 210 , the RAM 220 , and/or the external memory 30 may be loaded to a memory in the CPU 200 when necessary.
- the ROM 210 may store permanent programs and/or data.
- the ROM 210 may be implemented as an erasable programmable ROM (EPROM) or EEPROM.
- the RAM 220 may temporarily store programs, data, or instructions.
- the programs and/or data stored in the ROM 210 or the external memory 30 may be temporarily stored in the RAM 220 according to instructions from the CPU 200 or a booting code stored in the ROM 210 .
- the RAM 220 may be implemented as a DRAM or SRAM.
- the ISP 230 may perform various kinds of image signal processing.
- the ISP 230 may process image data received from an image sensor. For instance, the ISP 230 may perform shake correction and white balance on the image data received from the image sensor.
- the ISP 230 may also perform color correction in terms of brightness or contrast, color harmony, quantization, color conversion into a different color space, and so on.
- the ISP 230 may periodically store processed image data in the external memory 30 via the system bus 280 .
- the ISP 230 may include a gamma correction circuit 100 a.
- the display controller 240 may control operation of the display device 20 .
- the display controller 240 may include a gamma correction circuit 100 b.
- the GPU 250 may read and execute program instructions involved in graphics processing. For instance, the GPU 250 may process graphical figures at high speed. The GPU 250 may also convert data, read by the memory controller 260 from the external memory 30 , into a signal suitable for the display device 20 . Apart from the GPU 260 , a graphics engine or a graphics accelerator may also be used for graphics processing. The GPU 250 may include a gamma correction circuit 100 c.
- the memory controller 260 interfaces with the external memory 30 .
- the memory controller 260 controls overall operation of the external memory 30 and controls data exchange between a host and the external memory 30 .
- the memory controller 260 may write data to or read data from the external memory 30 at the request of the host.
- the host may be a master device such as the CPU 200 , the GPU 250 , or the display controller 240 .
- the memory controller 260 may read image data from the external memory 30 and provide the image data to the display controller 240 in response to an image data request from the display controller 240 .
- the post processor 270 may perform post processing on an image or an image signal to make it suitable for an output device (e.g., the display device 20 ). For example, the post processor 270 may enlarge, reduce, or rotate an image to be suitable for output.
- the post processor 270 may store the post-processed image in the external memory 30 via the system bus 280 or may directly output the post-processed image to the display controller 240 on the fly.
- the post processor 270 may include a gamma correction circuit 100 d.
- Each of the gamma correction circuits 100 a through 100 d may correspond to a gamma correction circuit 100 , which will be described below.
- the elements 200 , 210 , 220 , 230 , 240 , 250 , 260 , and 270 may communicate with one another via the system bus 280 .
- the system bus 280 connects to each of the elements 200 , 210 , 220 , 230 , 240 , 250 , 260 , and 270 , functioning as a passage for data transmission between the elements.
- the system bus 280 may also function as a passage for transmission of a control signal between the elements.
- the system bus 280 may include a data bus for transmitting data, an address bus for transmitting an address signal, and a control bus for transmitting a control signal.
- the system bus 280 may include a small-scale bus, e.g., an interconnector for data communication between predetermined elements.
- the system bus 280 may be implemented as an advanced extensible interface (AXI) bus, but the inventive concept is not restricted to this example.
- AXI advanced extensible interface
- FIG. 2 is a block diagram of the display controller 240 according to an exemplary embodiment of the inventive concept.
- the display controller 240 may include the gamma correction circuit 100 and a display serial interface (DSI) host 241 .
- DSI display serial interface
- the gamma correction circuit 100 may receive an image datum IDATA and may perform gamma correction on the image datum IDATA to generate a corrected datum CDATA.
- the gamma correction circuit 100 may output the corrected datum CDATA to the DSI host 241 .
- the gamma correction circuit 100 may include a lookup table (LUT) 120 and an interpolation circuit 300 .
- the LUT 120 may store a plurality of reference data RDATA.
- the LUT 120 may store 2 N reference data RDATA.
- the LUT 120 may store 2 12 ⁇ M reference data RDATA to prevent the size of the LUT 120 from being too large, where M is a natural number less than 12. For example, when M is 6, a reference value REF is 2 6 or 64; as such, the LUT 120 may store 64 reference data RDATA, which will be described later in detail.
- the interpolation circuit 300 may receive the image datum IDATA.
- the interpolation circuit 300 may generate the corrected datum CDATA by performing interpolation on the image datum IDATA based on the reference data RDATA stored in the LUT 120 , and may output the corrected datum CDATA to the DSI host 241 .
- the LUT 120 is separate from the interpolation circuit 300 in the present exemplary embodiment illustrated in FIG. 2 , the inventive concept is not restricted thereto.
- the LUT 120 may be designed together with the interpolation circuit 300 according to exemplary embodiments of the inventive concept.
- An interface between the display controller 240 and the display device 20 may be a DSI 243 .
- the display controller 240 may include the DSI host 241 and the display device 20 may include a DSI device 21 .
- the DSI host 241 may serialize the corrected datum CDATA, output from the gamma correction circuit 100 , into a DSI datum and transmit the DSI datum to the display device 20 .
- the display device 20 may also include a display driver 23 and a display panel 25 .
- the DSI device 21 may receive and deserialize display data (e.g., the DSI data) and output the deserialized display data to the display driver 23 .
- the AP 10 and the display driver 23 may be implemented in a single module, a single SoC, or a single package such as a multi-chip package.
- the display driver 23 and the display panel 25 may be implemented in a single module.
- the display driver 23 controls operation of the display panel 25 according to the data from the DSI device 21 .
- the display panel 25 may display an output image signal from the display driver 23 .
- the display panel 25 may be implemented as a liquid crystal display (LCD) panel, a light emitting diode (LED) display panel, an organic LED (OLED) display panel, or an active-matrix OLED (AMOLED) display panel.
- LCD liquid crystal display
- LED light emitting diode
- OLED organic LED
- AMOLED active-matrix OLED
- FIG. 3A is a conceptual block diagram of an interpolation circuit 300 a according to an exemplary embodiment of the inventive concept.
- the interpolation circuit 300 a may include an interpolator 310 a and a comparator 330 a.
- the interpolator 310 a may receive the image datum IDATA, calculate the corrected datum CDATA using either a first interpolation method or a second interpolation method based on the reference datum RDATA received from the LUT in response to a comparison signal CS, and output the corrected datum CDATA to the DSI host 241 illustrated in FIG. 2 .
- the first interpolation method may be different from the second interpolation method.
- the first interpolation method may be used when a value of the image datum IDATA is less than the reference value REF.
- the first interpolation method may be a method of calculating the corrected datum CDATA using an equation reflecting the exponential characteristic of a gamma curve.
- the second interpolation method may be used when the value of the image datum IDATA is greater than or equal to the reference value REF.
- the second interpolation method may be a method of calculating the corrected datum CDATA using linear interpolation.
- the comparator 330 a may compare the image datum IDATA with the reference value REF and output the comparison signal CS to the interpolator 310 a.
- the reference value REF may have been predetermined and stored in memory during device design. In other words, the reference value REF may be preset. However, the inventive concept is not restricted to this example. Alternatively, the reference value REF may be programmed For instance, when the image datum IDATA is 12 bits and the number of reference data RDATA is 2 6 (or 64), the reference value REF may be 2 6 (or 64).
- the product of the number of reference data RDATA (e.g., 2 6 ) and the reference value REF (e.g., 2 6 ) is the same as the number of values (e.g., 2 12 ) that can be expressed by the image data IDATA.
- the reference value REF may be set in this manner
- FIG. 3B is a conceptual block diagram of an interpolation circuit 300 b according to an exemplary embodiment of the inventive concept.
- the interpolation circuit 300 b may include a first interpolator 310 b, a second interpolator 320 b, a comparator 330 b, and a multiplexer (MUX) 340 b.
- MUX multiplexer
- the first interpolator 310 b may receive the image datum IDATA and may output a first interpolated value IV 1 to the MUX 340 b using a first interpolation method based on the reference data RDATA received from the LUT.
- the second interpolator 320 b may receive the image datum IDATA and may output a second interpolated value IV 2 to the MUX 340 b using a second interpolation method based on the reference data RDATA received from the LUT.
- the comparator 330 b may compare the image datum IDATA with the reference value REF and output the comparison signal CS to the MUX 340 b.
- the reference value REF may be predetermined and stored in memory during device design, or the reference value REF may be programmed
- the MUX 340 b may select and output either the first interpolated value IV 1 or the second interpolated value IV 2 as the corrected datum CDATA to the DSI host 241 illustrated in FIG. 2 , based on the comparison signal CS.
- FIG. 4 is a graph showing the relationship between image data IDATA and correction data, e.g., the reference data RDATA, according to an exemplary embodiment of the inventive concept.
- the curve shown in FIG. 4 is a gamma curve. As described above, the gamma curve is used to prevent image distortion which occurs because human vision reacts to brightness non-linearly.
- the characteristic of the gamma curve varies with a gamma value G.
- FIG. 4 shows the gamma curve when the gamma value G is 2.2.
- Equation 1 A normal gamma curve is expressed as Equation 1:
- the gamma value G may vary with an OS or a type of display device.
- the gamma value G may be set to 1.8 for the MAC OS of APPLE and to 2.2 for the WINDOWS OS of MICROSOFT.
- the inventive concept is not restricted to these examples.
- the gamma value G may be predetermined and stored in memory during device design.
- the gamma value G may be preset.
- the inventive concept is not restricted to this example.
- reference value REF 2 6 (or 64) and each image datum IDATA and each reference datum RDATA are 12 bits.
- the number of reference data RDATA is 64, but only eight reference data RDATA are illustrated for ease of description.
- the horizontal axis may indicate values expressed by the image data IDATA.
- the vertical axis may indicate values expressed by the reference data RDATA.
- Each of the reference data RDATA may be a value obtained when the image datum IDATA is applied to the gamma curve, e.g., Equation 1.
- the reference datum RDATA, corresponding to the image datum IDATA of 512 may be 1591 and the reference datum RDATA, corresponding to the image datum IDATA of 1024, may be 2181, but the inventive concept is not restricted to the present exemplary embodiment.
- the reference data RDATA stored in the LUT 120 may vary with the gamma value G and the value of the image datum IDATA.
- the reference data RDATA may be predetermined and stored in memory during device design. For instance, when the image datum IDATA is 12 bits and the number of reference data RDATA is 2 6 (or 64), the reference value REF may be 2 6 (or 64). Consequently, the product of the number of reference data RDATA and the reference value REF is the same as the number of values (e.g., 2 12 ) that can be expressed by the image data IDATA.
- the reference value REF and the reference data RDATA may be programmed
- FIG. 5 is a table showing the reference data RDATA stored in the LUT 120 according to an exemplary embodiment of the inventive concept.
- the LUT 120 may store a plurality of the reference data RDATA corresponding to values of the image data IDATA.
- the LUT 120 may store the reference data RDATA corresponding to values of the image data IDATA which appear at intervals of the reference value REF. For instance, when the reference value REF is 64, the LUT 120 may store the reference data RDATA corresponding to values 64, 128, . . . , and 4095 of the image data IDATA. In this example, the LUT 120 may store a total of 64 reference data RDATA.
- the LUT 120 may also include a reference datum RDATA of 0 corresponding to a value of 0 of the image data IDATA.
- FIG. 6 is a flowchart of a gamma correction method of the gamma correction circuit 100 according to an exemplary embodiment of the inventive concept.
- the gamma correction circuit 100 may receive an image datum IDATA in operation S 110 .
- the gamma correction circuit 100 may determine whether a value of the image datum IDATA is less than the reference value REF in operation S 120 .
- the gamma correction circuit 100 may calculate the corrected datum CDATA using a first interpolation method in operation S 130 .
- the first interpolation method may use an equation which reflects the exponential characteristic of a gamma curve.
- the gamma correction circuit 100 may calculate the corrected datum CDATA using a second interpolation method in operation S 140 .
- the second interpolation method may be a linear interpolation method.
- FIG. 7 is a flowchart of a first interpolation method of the interpolation circuit 300 according to an exemplary embodiment of the inventive concept.
- the interpolation circuit 300 may receive a reference datum RDATA from the LUT 120 based on the image datum IDATA in operation S 210 .
- the interpolation circuit 300 may receive, from the LUT 120 , the reference datum RDATA that corresponds to the product of the image datum IDATA and the reference value REF. For instance, when the image datum IDATA is a 12-bit datum “000000000001”, e.g., the value of the image datum IDATA is 1, and the reference value REF is 64, the product is 64. As such, the interpolation circuit 300 may receive the reference datum RDATA of 618, which corresponds to 64.
- the interpolation circuit 300 may calculate the corrected datum CDATA using the exponential characteristic of a gamma curve in operation S 220 .
- the interpolation circuit 300 may calculate the corrected datum CDATA using Equation 2 which reflects the exponential characteristic of a gamma curve:
- Equation 2 RDATA is the reference datum, REF is the reference value, and G is the gamma value.
- the denominator may be 6.622.
- the denominator may be calculated or may be a value that has been stored in memory.
- the interpolation circuit 300 may calculate the corrected datum CDATA by applying the values to Equation 2, according to the first interpolation method. For example, when the image datum IDATA is 1, the reference datum RDATA is 618 and thus, the corrected datum CDATA is calculated to be 93.
- FIG. 8 is a block diagram of an electronic system 400 according to an exemplary embodiment of the inventive concept.
- the electronic system 400 may be embodied as personal computer (PC), a data server, a laptop computer, or a portable device.
- the portable device may be a mobile phone, a smart phone, a tablet PC, a personal digital assistant (PDA), an enterprise digital assistant (EDA), a digital still camera, a digital video camera, a portable multimedia player (PMP), a personal navigation device or a portable navigation device (PDN), a handheld game console, or an e-book.
- PC personal computer
- PDA personal digital assistant
- EDA enterprise digital assistant
- PMP portable multimedia player
- PDN portable navigation device
- handheld game console or an e-book.
- the electronic system 400 includes an AP 10 , a power source 410 , a storage device 420 , a memory 430 , input/output (I/O) ports 440 , an expansion card 450 , a network device 460 , and a display 470 .
- the electronic system 400 may further include a camera module 480 .
- the AP 10 may control an operation of at least one among the elements 410 to 480 .
- the AP 10 corresponds to the AP 10 illustrated in FIGS. 1 and 2 .
- the power source 410 may supply an operating voltage to at least one among the elements 10 and 420 to 480 .
- the storage device 420 may be embodied as a hard disk drive or a solid state drive (SSD).
- SSD solid state drive
- the memory 430 may be embodied as a volatile memory or a nonvolatile memory.
- a memory controller which may control data access operations, e.g., a program operation, an erase operation, or a read operation, of the memory device 430 , may be integrated or embedded in the AP 10 .
- the memory controller may be implemented between the AP 10 and the memory device 430 .
- the I/O ports 440 are ports configured to transmit data to the electronic system 400 or transmit data output from the electronic system 400 to an external device.
- the I/O ports 440 may include a port configured to connect a pointing device such as a computer mouse to the electronic device 400 , a port configured to connect a printer to the electronic device 400 , a port configured to connect a universal serial bus (USB) drive to the electronic device 400 , etc.
- a pointing device such as a computer mouse
- a port configured to connect a printer to the electronic device 400
- USB universal serial bus
- the expansion card 450 may be embodied as a secure digital (SD) card or a multimedia card (MMC). According to an exemplary embodiment of the inventive concept, the expansion card 450 may be a subscriber identification module (SIM) card or a universal subscriber identity module (USIM) card.
- SIM subscriber identification module
- USIM universal subscriber identity module
- the network device 460 is a device configured to connect the electronic system 400 to a wired or wireless network.
- the display 470 may display data output from the storage device 420 , the memory 430 , the I/O ports 440 , the expansion card 450 , or the network device 460 .
- the camera module 480 is a module configured to convert an optical image into an electrical image.
- the electrical image output from the camera module 480 may be stored in the storage device 420 , the memory 430 , or the expansion card 450 . Also, the electrical image output from the camera module 480 may be displayed on the display 470 .
- FIG. 9 illustrates an electronic system 1000 and an interface according to an exemplary embodiment of the inventive concept.
- the electronic system 1000 may be a data processing apparatus capable of using or supporting a MIPI interface, e.g., a mobile phone, a personal digital assistant (PDA), a portable multimedia player (PMP), an internet protocol television (IPTV), or a smart phone.
- a MIPI interface e.g., a mobile phone, a personal digital assistant (PDA), a portable multimedia player (PMP), an internet protocol television (IPTV), or a smart phone.
- the electronic system 1000 includes an application processor 1010 , an image sensor 1040 , and a display unit 1050 .
- a camera serial interface (CSI) host 1012 included in the application processor 1010 may establish serial communication with a CSI device 1041 of the image sensor 1040 through a CSI.
- CSI camera serial interface
- an optical deserializer may be included in the CSI host 1012
- an optical serializer may be included in the CSI device 1041 .
- a display serial interface (DSI) host 1011 included in the application processor 1010 may establish serial communication with a DSI device 1051 of the display 1050 through a DSI.
- DSI display serial interface
- an optical serializer may be included in the DSI host 1011 and an optical deserializer may be included in the DSI device 1051 .
- the electronic system 1000 may further include a radio-frequency (RF) chip 1060 for communicating with the application processor 1010 .
- RF radio-frequency
- a physical layer PHY 1013 of the application processor 1010 and a physical layer PHY 1061 of the RF chip 1060 may exchange data with each other according to the MIPI DigRF standard.
- the electronic system 1000 may further include a global positioning system (GPS) 1020 , a storage unit 1070 , a microphone 1080 , a dynamic random access memory (DRAM) 1085 , and a speaker 1090 .
- GPS global positioning system
- the electronic system 1000 may establish communication using world-wide interoperability for microwave (Wimax) 1030 , a wireless local area network (WLAN) 1100 , an ultra-wide band (UWB) 1110 , etc.
- Wimax world-wide interoperability for microwave
- WLAN wireless local area network
- UWB ultra-wide band
- a display controller and an application processor may accurately and efficiently perform gamma correction despite using a small LUT, thereby reducing errors.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Picture Signal Circuits (AREA)
- Controls And Circuits For Display Device (AREA)
- Control Of Indicators Other Than Cathode Ray Tubes (AREA)
Abstract
A display controller includes a lookup table configured to store a plurality of reference data and an interpolation circuit configured to calculate a corrected datum by performing correction on an image datum based on the plurality of reference data. The interpolation circuit determines whether the image datum is less than a reference value, calculates the corrected datum using a first interpolation method when the image datum is less than the reference value, and calculates the corrected datum using a second interpolation method different from the first interpolation method when the image datum is equal to or greater than the reference value. When the corrected datum is calculated using the first interpolation method, the interpolation circuit calculates the corrected datum based on a first reference datum, which corresponds to a product of the image datum and the reference value, among the plurality of reference data.
Description
- This application claims priority under 35 U.S.C. §119(a) to Korean Patent Application No. 10-2016-0004963, filed on Jan. 14, 2016 in the Korean Intellectual Property Office (KIPO), the disclosure of which is incorporated by reference herein in its entirety.
- Exemplary embodiments of the inventive concept relate to a display controller, and more particularly, to a display controller for performing gamma correction using the exponential characteristic of a gamma curve and an application processor including the display controller.
- Human vision reacts non-linearly to brightness according to Weber's law (other senses like hearing also react non-linearly to stimuli). Accordingly, when the brightness of light is linearly recorded with a limited bit depth such as eight bits per channel, posterization occurs so that the changes in brightness do not appear smoothly. Rather, dark portions, to which human eyes become sensitive, appear to have discrete changes in brightness. Therefore, in order to provide optimal picture quality with limited bit depth, information needs to be coded non-linearly so that dark portions can be more minutely recorded. Coding information adaptively to account for the non-linearity of human vision is known as gamma correction.
- As the size of image data processed in image sensors or display devices has increased, the size of a lookup table used for gamma correction has also increased. For instance, when the image data is “n” bits, the lookup table includes a total of 2n entries.
- In order to reduce the size of the lookup table, only reference data may be stored in the lookup table and gamma correction is performed using interpolation based on the reference data. However, as the size of image data has increased, error occurrence has also increased.
- According to an exemplary embodiment of the inventive concept, a display controller includes a lookup table configured to store a plurality of reference data and an interpolation circuit configured to calculate a corrected datum by performing correction on an image datum based on the plurality of reference data. The interpolation circuit may determine whether the image datum is less than a reference value, calculate the corrected datum using a first interpolation method when the image datum is less than the reference value, and calculate the corrected datum using a second interpolation method different from the first interpolation method when the image datum is greater than or equal to the reference value. When the corrected datum is calculated using the first interpolation method, the interpolation circuit may calculate the corrected datum based on a first reference datum, which corresponds to a product of the image datum and the reference value, among the plurality of reference data.
- According to an exemplary embodiment of the inventive concept, an application processor includes a central processing unit, a random access memory (RAM) configured to store image data, and a display controller including a lookup table configured to store a plurality of reference data and an interpolation circuit configured to calculate a corrected datum by performing correction on an image datum based on the plurality of reference data. When the image datum is less than the reference value, the interpolation circuit may calculate the corrected datum using an exponential interpolation method based on a reference datum, which corresponds to a product of the image datum and a reference value, among the reference data. When the image datum is greater than or equal to the reference value, the interpolation circuit may calculate the corrected datum using a linear interpolation method.
- According to an exemplary embodiment of the inventive concept, a gamma correction method includes receiving an image datum, the image datum having n bits, comparing the image datum to a reference value, which has a value of 2m, determining that the image datum is less than the reference value, receiving a reference datum, from among a plurality of reference data stored in a lookup table, that corresponds to a product of the image datum and the reference value, and calculating a corrected datum using the reference datum and the exponential characteristic of a gamma curve having a gamma value. “n” is an integer greater than or equal to 2 and “m” is a natural number less than “n”.
- The above and other features of the inventive concept will become more apparent by describing in detail exemplary embodiments thereof with reference to the attached drawings.
-
FIG. 1 is a block diagram of an electronic system according to an exemplary embodiment of the inventive concept. -
FIG. 2 is a block diagram of a display controller according to an exemplary embodiment of the inventive concept. -
FIG. 3A is a conceptual block diagram of an interpolation circuit according to an exemplary embodiment of the inventive concept. -
FIG. 3B is a conceptual block diagram of an interpolation circuit according to an exemplary embodiment of the inventive concept. -
FIG. 4 is a graph showing the relationship between image data and correction data according to an exemplary embodiment of the inventive concept. -
FIG. 5 is a table showing correction data stored in a lookup table according to an exemplary embodiment of the inventive concept. -
FIG. 6 is a flowchart of a gamma correction method of a gamma correction circuit according to an exemplary embodiment of the inventive concept. -
FIG. 7 is a flowchart of a first interpolation method of an interpolation circuit according to an exemplary embodiment of the inventive concept. -
FIG. 8 is a block diagram of an electronic system according to an exemplary embodiment of the inventive concept. and -
FIG. 9 illustrates an electronic system and an interface according to an exemplary embodiment of the inventive concept. - Exemplary embodiments of the inventive concept provide for a display controller configured with a gamma correction method that may reduce lookup table size and reduce errors.
- Hereinafter, image data IDATA may include a still image, a moving image, or a stereoscopic image.
-
FIG. 1 is a block diagram of anelectronic system 1 according to an exemplary embodiment of the inventive concept. Referring toFIG. 1 , theelectronic system 1 may be implemented as a portable electronic device. The portable electronic device may be a laptop computer, a cellular/mobile phone, a smart phone, a tablet personal computer (PC), a personal digital assistant (PDA), an enterprise digital assistant (EDA), a digital still camera, a digital video camera, a portable multimedia player (PMP), a mobile internet device (MID), a wearable computer, an internet of things (IoT) device, an internet of everything (IoE) device, a handheld device, a handheld computer, a mobile device, an automotive navigation system, an MP3 player, etc. - The
electronic system 1 includes a semiconductor integrated circuit (IC)device 10, adisplay device 20, and anexternal memory 30. Each of theelements elements electronic system 1 may also include another element such as a camera module according to exemplary embodiments of the inventive concept. Thesemiconductor IC device 10 may be implemented as a system-on-chip (SoC) or an application processor (AP). For ease of description, thesemiconductor IC device 10 is referred to as an AP 10. Theelectronic system 1 may be able to display a still image signal (or a still image) or a moving image signal (or a moving image) on thedisplay device 20. - The
external memory 30 stores program instructions executed in the AP 10. Theexternal memory 30 may also store image data used to display a still image or a moving image on thedisplay device 20. The moving image is a sequence of different still images presented in a short period of time. - The
external memory 30 may be volatile or non-volatile memory. The volatile memory may be dynamic random access memory (DRAM), static RAM (SRAM), thyristor RAM (T-RAM), zero capacitor RAM (Z-RAM), or twin transistor RAM (TTRAM). The non-volatile memory may be electrically erasable programmable read-only memory (EEPROM), flash memory, magnetic RAM (MRAM), phase-change RAM (PRAM), or resistive memory. - The
AP 10 controls theexternal memory 30 and/or thedisplay device 20. The AP 10 may be referred to as an IC, a processor, an application processor, a multimedia processor, or an integrated multimedia processor. The AP 10 may include a central processing circuit (CPU) 200, a read-only memory (ROM) 210, a random access memory (RAM) 220, an image signal processor (ISP) 230, adisplay controller 240, a graphics processing unit (GPU) 250, amemory controller 260, apost processor 270, and asystem bus 280. The AP 10 may also include other elements in addition to the elements illustrated inFIG. 1 . - The
CPU 200, which may be referred to as a processor, may process or execute programs and/or data stored in theexternal memory 30. For instance, theCPU 200 may process or execute programs and/or data in response to an operating clock signal output from a clock signal module. TheCPU 200 may be implemented as a multi-core processor. A multi-core processor is a single computing component with two or more independent actual processors (referred to as cores). Each of the processors/cores reads and executes program instructions. - The
CPU 200 runs an operating system (OS). The OS may manage resources (such as memory and display) of theelectronic system 1. The OS may distribute the resources to applications executed in theelectronic system 1. - Programs and/or data stored in the
ROM 210, theRAM 220, and/or theexternal memory 30 may be loaded to a memory in theCPU 200 when necessary. TheROM 210 may store permanent programs and/or data. TheROM 210 may be implemented as an erasable programmable ROM (EPROM) or EEPROM. - The
RAM 220 may temporarily store programs, data, or instructions. The programs and/or data stored in theROM 210 or theexternal memory 30 may be temporarily stored in theRAM 220 according to instructions from theCPU 200 or a booting code stored in theROM 210. TheRAM 220 may be implemented as a DRAM or SRAM. - The
ISP 230 may perform various kinds of image signal processing. TheISP 230 may process image data received from an image sensor. For instance, theISP 230 may perform shake correction and white balance on the image data received from the image sensor. TheISP 230 may also perform color correction in terms of brightness or contrast, color harmony, quantization, color conversion into a different color space, and so on. TheISP 230 may periodically store processed image data in theexternal memory 30 via thesystem bus 280. TheISP 230 may include agamma correction circuit 100 a. - The
display controller 240 may control operation of thedisplay device 20. Thedisplay controller 240 may include agamma correction circuit 100 b. - The
GPU 250 may read and execute program instructions involved in graphics processing. For instance, theGPU 250 may process graphical figures at high speed. TheGPU 250 may also convert data, read by thememory controller 260 from theexternal memory 30, into a signal suitable for thedisplay device 20. Apart from theGPU 260, a graphics engine or a graphics accelerator may also be used for graphics processing. TheGPU 250 may include agamma correction circuit 100 c. - The
memory controller 260 interfaces with theexternal memory 30. Thememory controller 260 controls overall operation of theexternal memory 30 and controls data exchange between a host and theexternal memory 30. For instance, thememory controller 260 may write data to or read data from theexternal memory 30 at the request of the host. Here, the host may be a master device such as theCPU 200, theGPU 250, or thedisplay controller 240. Thememory controller 260 may read image data from theexternal memory 30 and provide the image data to thedisplay controller 240 in response to an image data request from thedisplay controller 240. - The
post processor 270 may perform post processing on an image or an image signal to make it suitable for an output device (e.g., the display device 20). For example, thepost processor 270 may enlarge, reduce, or rotate an image to be suitable for output. Thepost processor 270 may store the post-processed image in theexternal memory 30 via thesystem bus 280 or may directly output the post-processed image to thedisplay controller 240 on the fly. Thepost processor 270 may include agamma correction circuit 100 d. - Each of the
gamma correction circuits 100 a through 100 d may correspond to agamma correction circuit 100, which will be described below. - The
elements system bus 280. In other words, thesystem bus 280 connects to each of theelements system bus 280 may also function as a passage for transmission of a control signal between the elements. - The
system bus 280 may include a data bus for transmitting data, an address bus for transmitting an address signal, and a control bus for transmitting a control signal. Thesystem bus 280 may include a small-scale bus, e.g., an interconnector for data communication between predetermined elements. Thesystem bus 280 may be implemented as an advanced extensible interface (AXI) bus, but the inventive concept is not restricted to this example. -
FIG. 2 is a block diagram of thedisplay controller 240 according to an exemplary embodiment of the inventive concept. Referring toFIG. 2 , thedisplay controller 240 may include thegamma correction circuit 100 and a display serial interface (DSI)host 241. - The
gamma correction circuit 100 may receive an image datum IDATA and may perform gamma correction on the image datum IDATA to generate a corrected datum CDATA. Thegamma correction circuit 100 may output the corrected datum CDATA to theDSI host 241. Thegamma correction circuit 100 may include a lookup table (LUT) 120 and aninterpolation circuit 300. - The
LUT 120 may store a plurality of reference data RDATA. When the image datum IDATA is N bits, theLUT 120 may store 2N reference data RDATA. However, as described above, when the image datum IDATA is 12 bits, theLUT 120 may store 212−M reference data RDATA to prevent the size of theLUT 120 from being too large, where M is a natural number less than 12. For example, when M is 6, a reference value REF is 26 or 64; as such, theLUT 120 may store 64 reference data RDATA, which will be described later in detail. - The
interpolation circuit 300 may receive the image datum IDATA. Theinterpolation circuit 300 may generate the corrected datum CDATA by performing interpolation on the image datum IDATA based on the reference data RDATA stored in theLUT 120, and may output the corrected datum CDATA to theDSI host 241. - Although the
LUT 120 is separate from theinterpolation circuit 300 in the present exemplary embodiment illustrated inFIG. 2 , the inventive concept is not restricted thereto. TheLUT 120 may be designed together with theinterpolation circuit 300 according to exemplary embodiments of the inventive concept. - An interface between the
display controller 240 and thedisplay device 20 may be aDSI 243. For serial communication using theDSI 243, thedisplay controller 240 may include theDSI host 241 and thedisplay device 20 may include aDSI device 21. TheDSI host 241 may serialize the corrected datum CDATA, output from thegamma correction circuit 100, into a DSI datum and transmit the DSI datum to thedisplay device 20. - The
display device 20 may also include adisplay driver 23 and adisplay panel 25. TheDSI device 21 may receive and deserialize display data (e.g., the DSI data) and output the deserialized display data to thedisplay driver 23. - The
AP 10 and thedisplay driver 23 may be implemented in a single module, a single SoC, or a single package such as a multi-chip package. Alternatively, thedisplay driver 23 and thedisplay panel 25 may be implemented in a single module. - The
display driver 23 controls operation of thedisplay panel 25 according to the data from theDSI device 21. Thedisplay panel 25 may display an output image signal from thedisplay driver 23. Thedisplay panel 25 may be implemented as a liquid crystal display (LCD) panel, a light emitting diode (LED) display panel, an organic LED (OLED) display panel, or an active-matrix OLED (AMOLED) display panel. -
FIG. 3A is a conceptual block diagram of aninterpolation circuit 300 a according to an exemplary embodiment of the inventive concept. Referring toFIG. 3A , theinterpolation circuit 300 a may include aninterpolator 310 a and acomparator 330 a. - The
interpolator 310 a may receive the image datum IDATA, calculate the corrected datum CDATA using either a first interpolation method or a second interpolation method based on the reference datum RDATA received from the LUT in response to a comparison signal CS, and output the corrected datum CDATA to theDSI host 241 illustrated inFIG. 2 . The first interpolation method may be different from the second interpolation method. - The first interpolation method may be used when a value of the image datum IDATA is less than the reference value REF. The first interpolation method may be a method of calculating the corrected datum CDATA using an equation reflecting the exponential characteristic of a gamma curve.
- The second interpolation method may be used when the value of the image datum IDATA is greater than or equal to the reference value REF. The second interpolation method may be a method of calculating the corrected datum CDATA using linear interpolation.
- The
comparator 330 a may compare the image datum IDATA with the reference value REF and output the comparison signal CS to theinterpolator 310 a. The reference value REF may have been predetermined and stored in memory during device design. In other words, the reference value REF may be preset. However, the inventive concept is not restricted to this example. Alternatively, the reference value REF may be programmed For instance, when the image datum IDATA is 12 bits and the number of reference data RDATA is 26 (or 64), the reference value REF may be 26 (or 64). Consequently, the product of the number of reference data RDATA (e.g., 26) and the reference value REF (e.g., 26) is the same as the number of values (e.g., 212) that can be expressed by the image data IDATA. The reference value REF may be set in this manner -
FIG. 3B is a conceptual block diagram of aninterpolation circuit 300 b according to an exemplary embodiment of the inventive concept. Referring toFIG. 3B , theinterpolation circuit 300 b may include afirst interpolator 310 b, asecond interpolator 320 b, acomparator 330 b, and a multiplexer (MUX) 340 b. - The
first interpolator 310 b may receive the image datum IDATA and may output a first interpolated value IV1 to theMUX 340 b using a first interpolation method based on the reference data RDATA received from the LUT. Thesecond interpolator 320 b may receive the image datum IDATA and may output a second interpolated value IV2 to theMUX 340 b using a second interpolation method based on the reference data RDATA received from the LUT. Thecomparator 330 b may compare the image datum IDATA with the reference value REF and output the comparison signal CS to theMUX 340 b. - As described above, the reference value REF may be predetermined and stored in memory during device design, or the reference value REF may be programmed
- The
MUX 340 b may select and output either the first interpolated value IV1 or the second interpolated value IV2 as the corrected datum CDATA to theDSI host 241 illustrated inFIG. 2 , based on the comparison signal CS. -
FIG. 4 is a graph showing the relationship between image data IDATA and correction data, e.g., the reference data RDATA, according to an exemplary embodiment of the inventive concept. The curve shown inFIG. 4 is a gamma curve. As described above, the gamma curve is used to prevent image distortion which occurs because human vision reacts to brightness non-linearly. The characteristic of the gamma curve varies with a gamma value G.FIG. 4 shows the gamma curve when the gamma value G is 2.2. - A normal gamma curve is expressed as Equation 1:
-
y=x 1/G, (1) - where “y” is the vertical axis of the graph, “x” is the horizontal axis of the graph, and G is the gamma value.
- The gamma value G may vary with an OS or a type of display device. For instance, the gamma value G may be set to 1.8 for the MAC OS of APPLE and to 2.2 for the WINDOWS OS of MICROSOFT. However, the inventive concept is not restricted to these examples.
- Like the reference value REF, the gamma value G may be predetermined and stored in memory during device design. In other words, the gamma value G may be preset. However, the inventive concept is not restricted to this example.
- It is assumed below that the reference value REF is 26 (or 64) and each image datum IDATA and each reference datum RDATA are 12 bits. In the present exemplary embodiment, the number of reference data RDATA is 64, but only eight reference data RDATA are illustrated for ease of description.
- Referring to
FIG. 4 , the horizontal axis may indicate values expressed by the image data IDATA. The vertical axis may indicate values expressed by the reference data RDATA. - Each of the reference data RDATA may be a value obtained when the image datum IDATA is applied to the gamma curve, e.g.,
Equation 1. For instance, the reference datum RDATA, corresponding to the image datum IDATA of 512, may be 1591 and the reference datum RDATA, corresponding to the image datum IDATA of 1024, may be 2181, but the inventive concept is not restricted to the present exemplary embodiment. - In other words, the reference data RDATA stored in the
LUT 120 may vary with the gamma value G and the value of the image datum IDATA. The reference data RDATA may be predetermined and stored in memory during device design. For instance, when the image datum IDATA is 12 bits and the number of reference data RDATA is 26 (or 64), the reference value REF may be 26 (or 64). Consequently, the product of the number of reference data RDATA and the reference value REF is the same as the number of values (e.g., 212) that can be expressed by the image data IDATA. Alternatively, the reference value REF and the reference data RDATA may be programmed -
FIG. 5 is a table showing the reference data RDATA stored in theLUT 120 according to an exemplary embodiment of the inventive concept. Referring toFIG. 5 , theLUT 120 may store a plurality of the reference data RDATA corresponding to values of the image data IDATA. - When the
LUT 120 stores the reference data RDATA corresponding to all values of the image data IDATA, the size of theLUT 120 is too large. Therefore, as shown inFIG. 5 , theLUT 120 may store the reference data RDATA corresponding to values of the image data IDATA which appear at intervals of the reference value REF. For instance, when the reference value REF is 64, theLUT 120 may store the reference data RDATA corresponding tovalues LUT 120 may store a total of 64 reference data RDATA. - According to exemplary embodiments of the inventive concept, the
LUT 120 may also include a reference datum RDATA of 0 corresponding to a value of 0 of the image data IDATA. -
FIG. 6 is a flowchart of a gamma correction method of thegamma correction circuit 100 according to an exemplary embodiment of the inventive concept. Referring toFIG. 6 , thegamma correction circuit 100 may receive an image datum IDATA in operation S110. Thegamma correction circuit 100 may determine whether a value of the image datum IDATA is less than the reference value REF in operation S120. - When it is determined that the value of the image datum IDATA is less than the reference value REF (e.g., YES) in operation S120, the
gamma correction circuit 100 may calculate the corrected datum CDATA using a first interpolation method in operation S130. The first interpolation method may use an equation which reflects the exponential characteristic of a gamma curve. - When it is determined that the value of the image datum IDATA is greater than or equal to the reference value REF (e.g., NO) in operation S120, the
gamma correction circuit 100 may calculate the corrected datum CDATA using a second interpolation method in operation S140. The second interpolation method may be a linear interpolation method. -
FIG. 7 is a flowchart of a first interpolation method of theinterpolation circuit 300 according to an exemplary embodiment of the inventive concept. Referring toFIG. 7 , theinterpolation circuit 300 may receive a reference datum RDATA from theLUT 120 based on the image datum IDATA in operation S210. - Referring to
FIGS. 2, 5, and 7 , theinterpolation circuit 300 may receive, from theLUT 120, the reference datum RDATA that corresponds to the product of the image datum IDATA and the reference value REF. For instance, when the image datum IDATA is a 12-bit datum “000000000001”, e.g., the value of the image datum IDATA is 1, and the reference value REF is 64, the product is 64. As such, theinterpolation circuit 300 may receive the reference datum RDATA of 618, which corresponds to 64. - The
interpolation circuit 300 may calculate the corrected datum CDATA using the exponential characteristic of a gamma curve in operation S220. Theinterpolation circuit 300 may calculate the corrected datumCDATA using Equation 2 which reflects the exponential characteristic of a gamma curve: -
- In
Equation 2, RDATA is the reference datum, REF is the reference value, and G is the gamma value. - For instance, when the reference value REF is 64 and the gamma value G is 2.2, the denominator may be 6.622. The denominator may be calculated or may be a value that has been stored in memory.
- Consequently, the
interpolation circuit 300 may calculate the corrected datum CDATA by applying the values toEquation 2, according to the first interpolation method. For example, when the image datum IDATA is 1, the reference datum RDATA is 618 and thus, the corrected datum CDATA is calculated to be 93. -
FIG. 8 is a block diagram of anelectronic system 400 according to an exemplary embodiment of the inventive concept. - Referring to
FIG. 8 , theelectronic system 400 may be embodied as personal computer (PC), a data server, a laptop computer, or a portable device. The portable device may be a mobile phone, a smart phone, a tablet PC, a personal digital assistant (PDA), an enterprise digital assistant (EDA), a digital still camera, a digital video camera, a portable multimedia player (PMP), a personal navigation device or a portable navigation device (PDN), a handheld game console, or an e-book. - The
electronic system 400 includes anAP 10, apower source 410, astorage device 420, amemory 430, input/output (I/O)ports 440, anexpansion card 450, anetwork device 460, and adisplay 470. According to an exemplary embodiment of the inventive concept, theelectronic system 400 may further include acamera module 480. - The
AP 10 may control an operation of at least one among theelements 410 to 480. TheAP 10 corresponds to theAP 10 illustrated inFIGS. 1 and 2 . - The
power source 410 may supply an operating voltage to at least one among theelements - The
storage device 420 may be embodied as a hard disk drive or a solid state drive (SSD). - The
memory 430 may be embodied as a volatile memory or a nonvolatile memory. According an exemplary embodiment of the inventive concept, a memory controller, which may control data access operations, e.g., a program operation, an erase operation, or a read operation, of thememory device 430, may be integrated or embedded in theAP 10. According to an exemplary embodiment of the inventive concept, the memory controller may be implemented between theAP 10 and thememory device 430. - The I/
O ports 440 are ports configured to transmit data to theelectronic system 400 or transmit data output from theelectronic system 400 to an external device. For example, the I/O ports 440 may include a port configured to connect a pointing device such as a computer mouse to theelectronic device 400, a port configured to connect a printer to theelectronic device 400, a port configured to connect a universal serial bus (USB) drive to theelectronic device 400, etc. - The
expansion card 450 may be embodied as a secure digital (SD) card or a multimedia card (MMC). According to an exemplary embodiment of the inventive concept, theexpansion card 450 may be a subscriber identification module (SIM) card or a universal subscriber identity module (USIM) card. - The
network device 460 is a device configured to connect theelectronic system 400 to a wired or wireless network. - The
display 470 may display data output from thestorage device 420, thememory 430, the I/O ports 440, theexpansion card 450, or thenetwork device 460. - The
camera module 480 is a module configured to convert an optical image into an electrical image. Thus, the electrical image output from thecamera module 480 may be stored in thestorage device 420, thememory 430, or theexpansion card 450. Also, the electrical image output from thecamera module 480 may be displayed on thedisplay 470. -
FIG. 9 illustrates anelectronic system 1000 and an interface according to an exemplary embodiment of the inventive concept. - Referring to
FIG. 9 , theelectronic system 1000 may be a data processing apparatus capable of using or supporting a MIPI interface, e.g., a mobile phone, a personal digital assistant (PDA), a portable multimedia player (PMP), an internet protocol television (IPTV), or a smart phone. - The
electronic system 1000 includes anapplication processor 1010, animage sensor 1040, and adisplay unit 1050. - A camera serial interface (CSI)
host 1012 included in theapplication processor 1010 may establish serial communication with aCSI device 1041 of theimage sensor 1040 through a CSI. For example, an optical deserializer may be included in theCSI host 1012, and an optical serializer may be included in theCSI device 1041. - A display serial interface (DSI)
host 1011 included in theapplication processor 1010 may establish serial communication with aDSI device 1051 of thedisplay 1050 through a DSI. For example, an optical serializer may be included in theDSI host 1011 and an optical deserializer may be included in theDSI device 1051. - The
electronic system 1000 may further include a radio-frequency (RF)chip 1060 for communicating with theapplication processor 1010. Aphysical layer PHY 1013 of theapplication processor 1010 and aphysical layer PHY 1061 of theRF chip 1060 may exchange data with each other according to the MIPI DigRF standard. - The
electronic system 1000 may further include a global positioning system (GPS) 1020, astorage unit 1070, amicrophone 1080, a dynamic random access memory (DRAM) 1085, and aspeaker 1090. Theelectronic system 1000 may establish communication using world-wide interoperability for microwave (Wimax) 1030, a wireless local area network (WLAN) 1100, an ultra-wide band (UWB) 1110, etc. - As described above, according to exemplary embodiments of the inventive concept, a display controller and an application processor may accurately and efficiently perform gamma correction despite using a small LUT, thereby reducing errors.
- While the inventive concept has been shown and described with reference to exemplary embodiments thereof, it will be understood by those of ordinary skill in the art that various changes in form and detail may be made thereto without departing from the spirit and scope of the inventive concept as defined by the following claims.
Claims (20)
1. A display controller comprising:
a lookup table configured to store a plurality of reference data; and
an interpolation circuit configured to calculate a corrected datum by performing correction on an image datum based on the plurality of reference data,
wherein the interpolation circuit determines whether the image datum is less than a reference value, calculates the corrected datum using a first interpolation method when the image datum is less than the reference value, and calculates the corrected datum using a second interpolation method different from the first interpolation method when the image datum is greater than or equal to the reference value, and
when the corrected datum is calculated using the first interpolation method, the interpolation circuit calculates the corrected datum based on a first reference datum, which corresponds to a product of the image datum and the reference value, among the plurality of reference data.
2. The display controller of claim 1 , wherein the interpolation circuit comprises:
an interpolator configured to select a selected interpolation method, among the first and second interpolation methods, based on a comparison signal and to calculate the corrected datum by performing interpolation using the selected interpolation method; and
a comparator configured to compare the image datum with the reference value and output the comparison signal to the interpolator.
3. The display controller of claim 2 , wherein when the interpolator performs the interpolation using the first interpolation method, the interpolator calculates the corrected datum using
where CDATA is the corrected datum, RDATA is the first reference datum, REF is the reference value, and G is a gamma value.
4. The display controller of claim 3 , wherein the plurality of reference data stored in the lookup table are calculated from a gamma curve for which the gamma value is 2.2.
5. The display controller of claim 3 , wherein the gamma value and the reference value are preset in memory, and are changeable.
6. The display controller of claim 1 , wherein the lookup table is implemented in memory and the plurality of reference data stored in the lookup table vary with a gamma value.
7. The display controller of claim 1 , wherein the interpolation circuit comprises:
a first interpolator configured to calculate a first corrected datum using the first interpolation method;
a second interpolator configured to calculate a second corrected datum using the second interpolation method;
a comparator configured to compare the image datum with the reference value and generate a comparison signal; and
a multiplexer configured to select one of the first and second corrected datum as the corrected datum based on the comparison signal.
8. The display controller of claim 1 , wherein the second interpolation method is linear interpolation.
9. The display controller of claim 1 , wherein when the image datum is an n-bit datum and the reference value is 2m, the lookup table stores 2(n−m) reference data, “n” being an integer greater than or equal to 2 and “m” being a natural number less than “n”.
10. The display controller of claim 9 , wherein the lookup table further stores a second reference datum, among the plurality of reference data, corresponding to the image datum having a value of 0.
11. An application processor comprising:
a central processing unit;
a random access memory (RAM) configured to store image data; and
a display controller comprising a lookup table configured to store a plurality of reference data and an interpolation circuit configured to calculate a corrected datum by performing correction on an image datum based on the plurality of reference data,
wherein when the image datum is less than the reference value, the interpolation circuit calculates the corrected datum using an exponential interpolation method based on a reference datum, which corresponds to a product of the image datum and a reference value, among the plurality of reference data, and
when the image datum is greater than or equal to the reference value, the interpolation circuit calculates the corrected datum using a linear interpolation method.
12. The application processor of claim 11 , wherein the interpolation circuit comprises:
an interpolator configured to calculate the corrected datum by performing interpolation using an interpolation method, selected from among the exponential interpolation method and the linear interpolation method, based on a comparison signal; and
a comparator configured to compare the image datum with the reference value and output the comparison signal to the interpolator.
13. The application processor of claim 11 , wherein when the image datum is an n-bit datum and the reference value is 2m, the lookup table stores 2(n−m) reference data, “n” being an integer greater than or equal to 2 and “m” being a natural number less than “n”.
14. The application processor of claim 12 , wherein when the interpolator performs the interpolation using the exponential interpolation method, the interpolator calculates the corrected datum using
where CDATA is the corrected datum, RDATA is the reference datum, REF is the reference value, and G is a gamma value.
15. The application processor of claim 14 , wherein the plurality of reference data stored in the lookup table are calculated from a gamma curve for which the gamma value is 2.2.
16. A gamma correction method, the method comprising:
receiving an image datum, the image datum having n bits;
comparing the image datum to a reference value, which has a value of 2m;
determining that the image datum is less than the reference value;
receiving a reference datum, from among a plurality of reference data stored in a lookup table, that corresponds to a product of the image datum and the reference value; and
calculating a corrected datum using the reference datum and the exponential characteristic of a gamma curve having a gamma value, wherein “n” is an integer greater than or equal to 2 and “m” is a natural number less than “n”.
17. The gamma correction method of claim 16 , wherein the number of reference data stored in the lookup table is 2(n−m).
18. The gamma correction method of claim 16 , wherein
the lookup table stores a plurality of possible values for the product of the image datum and the reference value,
each of the plurality of possible values corresponds to one of the plurality of reference data, and
the interval between consecutive possible values is equal to the reference value.
19. The gamma correction method of claim 16 , wherein
the corrected datum is calculated using
where CDATA is the corrected datum, RDATA is the reference datum, REF is the reference value, and G is the gamma value.
20. The gamma correction method of claim 16 , the method further comprising:
adjusting the gamma value based on operating system or display device type;
programming the plurality of reference data based on the gamma value; and
programming the reference value.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2016--0004963 | 2016-01-14 | ||
KR1020160004963A KR102433924B1 (en) | 2016-01-14 | 2016-01-14 | Display controller and application processor including the same |
KR10-2016-0004963 | 2016-01-14 |
Publications (2)
Publication Number | Publication Date |
---|---|
US20170206856A1 true US20170206856A1 (en) | 2017-07-20 |
US10249261B2 US10249261B2 (en) | 2019-04-02 |
Family
ID=59314667
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/402,458 Active 2037-03-06 US10249261B2 (en) | 2016-01-14 | 2017-01-10 | Display controller and application processor including the same |
Country Status (2)
Country | Link |
---|---|
US (1) | US10249261B2 (en) |
KR (1) | KR102433924B1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109582911A (en) * | 2017-09-28 | 2019-04-05 | 三星电子株式会社 | For carrying out the computing device of convolution and carrying out the calculation method of convolution |
US11501719B2 (en) * | 2020-08-27 | 2022-11-15 | Samsung Display Co., Ltd. | Display device that compensates for image sticking appearing on an image displayed through a display panel and method of driving the same |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6288745B1 (en) * | 1997-04-24 | 2001-09-11 | Mitsubishi Denki Kabushiki Kaisha | Scanner line interpolation device |
US20020140652A1 (en) * | 2001-03-29 | 2002-10-03 | Fujitsu Limited | Liquid crystal display control circuit that performs drive compensation for high- speed response |
US20080069479A1 (en) * | 2006-09-20 | 2008-03-20 | Park Bong-Im | Interpolation device for use in a display apparatus and interpolation method |
US20080174534A1 (en) * | 2006-09-15 | 2008-07-24 | Po-Yun Park | Apparatus and method for compensating an image display |
US20110134164A1 (en) * | 2006-07-10 | 2011-06-09 | Himax Technologies Limited | Method for generating a gamma table |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3532781B2 (en) | 1999-02-12 | 2004-05-31 | 株式会社メガチップス | Image processing circuit of image input device |
KR100570609B1 (en) | 2003-10-16 | 2006-04-12 | 삼성에스디아이 주식회사 | A plasma display panel, a white linearity control device and a control method thereof |
JP4720088B2 (en) | 2004-02-02 | 2011-07-13 | セイコーエプソン株式会社 | Gradation correction circuit, image display device, and image processing method |
US8665486B2 (en) | 2004-03-29 | 2014-03-04 | Marvell International Ltd. | Look-up table for transfer function |
JP4599897B2 (en) | 2004-06-10 | 2010-12-15 | ソニー株式会社 | Apparatus and method for driving display optical device |
US7783105B2 (en) | 2006-06-07 | 2010-08-24 | National Semiconductor Corporation | Method and system for digitally scaling a gamma curve |
EP2153639B1 (en) | 2007-05-22 | 2020-09-23 | InterDigital Madison Patent Holdings | Method and system for prediction of gamma characteristics for a display |
JP4922091B2 (en) | 2007-07-23 | 2012-04-25 | ルネサスエレクトロニクス株式会社 | Video signal processing device, video signal processing method, and display device |
JP2009094947A (en) | 2007-10-11 | 2009-04-30 | Sanyo Electric Co Ltd | Correction arithmetic circuit |
JP2009270893A (en) | 2008-05-02 | 2009-11-19 | Fuji Xerox Co Ltd | Position measuring device, position measuring method, and program |
JP2011017997A (en) | 2009-07-10 | 2011-01-27 | Sony Corp | Self light emitting display device and method of driving self light emitting display device |
US8830256B2 (en) | 2009-12-23 | 2014-09-09 | Samsung Display Co., Ltd. | Color correction to compensate for displays' luminance and chrominance transfer characteristics |
-
2016
- 2016-01-14 KR KR1020160004963A patent/KR102433924B1/en active IP Right Grant
-
2017
- 2017-01-10 US US15/402,458 patent/US10249261B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6288745B1 (en) * | 1997-04-24 | 2001-09-11 | Mitsubishi Denki Kabushiki Kaisha | Scanner line interpolation device |
US20020140652A1 (en) * | 2001-03-29 | 2002-10-03 | Fujitsu Limited | Liquid crystal display control circuit that performs drive compensation for high- speed response |
US20110134164A1 (en) * | 2006-07-10 | 2011-06-09 | Himax Technologies Limited | Method for generating a gamma table |
US20080174534A1 (en) * | 2006-09-15 | 2008-07-24 | Po-Yun Park | Apparatus and method for compensating an image display |
US20080069479A1 (en) * | 2006-09-20 | 2008-03-20 | Park Bong-Im | Interpolation device for use in a display apparatus and interpolation method |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109582911A (en) * | 2017-09-28 | 2019-04-05 | 三星电子株式会社 | For carrying out the computing device of convolution and carrying out the calculation method of convolution |
US11501719B2 (en) * | 2020-08-27 | 2022-11-15 | Samsung Display Co., Ltd. | Display device that compensates for image sticking appearing on an image displayed through a display panel and method of driving the same |
Also Published As
Publication number | Publication date |
---|---|
US10249261B2 (en) | 2019-04-02 |
KR102433924B1 (en) | 2022-08-19 |
KR20170085388A (en) | 2017-07-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10096304B2 (en) | Display controller for improving display noise, semiconductor integrated circuit device including the same and method of operating the display controller | |
US10096303B2 (en) | Host and multi-display system including the same | |
US9524533B2 (en) | Methods and systems on chip for updating frames based on an indication signal for a display system | |
US9865231B2 (en) | Adaptive image compensation methods and related apparatuses | |
US10554865B2 (en) | Display controller for generating video sync signal using external clock, an application processor including the controller, and an electronic system including the controller | |
US10438526B2 (en) | Display driver, and display device and system including the same | |
US20150138212A1 (en) | Display driver ic and method of operating system including the same | |
US9258539B2 (en) | Method of calibrating automatic white balance and image capturing device performing the same | |
KR20190065789A (en) | Electronic device performing training on memory device by rank unit and training method thereof | |
US9936126B2 (en) | Autofocus method of camera using face detection and apparatus for controlling the camera | |
US9978336B2 (en) | Display controller and semiconductor integrated circuit devices including the same | |
US10255890B2 (en) | Display controller for reducing display noise and system including the same | |
US20180277061A1 (en) | System-on-chip (soc) devices, display drivers and soc systems including the same | |
US10249261B2 (en) | Display controller and application processor including the same | |
CN112309341B (en) | Electronic device for blending layers of image data | |
US10346209B2 (en) | Data processing system for effectively managing shared resources | |
US8675020B2 (en) | Image display devices and methods of displaying image | |
US10079004B2 (en) | Display controller and display system including the same | |
US20230137060A1 (en) | Display driver integrated circuit and method of operating the same | |
US9223725B2 (en) | Method and apparatus for selectively reading image data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: SAMSUNG ELECTRONICS CO., LTD., KOREA, REPUBLIC OF Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:SONG, BYOUNG-JU;PARK, DEOK SOO;REEL/FRAME:040933/0282 Effective date: 20160810 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 4 |