Gamma lookup table compression based on dimensionality reduction
The gamma lookup table is compressed through dimensionality reduction technology, and the basis function and weight set representation are used to solve the memory usage and cost of the display, and efficient gamma correction and display of different pixel density areas are achieved.
Patent Information
- Application Number
- CN202080059766.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-01-21
- Publication Date
- 2024-12-20
- Estimated Expiration
- 2040-01-21
AI Technical Summary
Existing monitors store a large number of gamma lookup tables at different refresh rates and brightness, resulting in increased memory resource usage and increased costs. Monitors with different pixel density areas need more gamma lookup tables, further increasing the storage burden.
Adopt gamma lookup table compression technology based on dimensionality reduction, and represents the gamma lookup table through the basis function and weight set, reducing the amount of memory required for storage, and using circuits such as multiplexers and multipliers to realize the gamma lookup table. Reconstruct and map.
It effectively reduces the memory resources required to store gamma lookup tables, reduces the physical size and cost, and supports display of different pixel density areas, improving the display efficiency of the display.
Smart Images

Figure CN114365211B_ABST
Abstract
Description
Background Art
[0001] Gamma correction may be performed when displaying an image on a display. For example, pixel values in an image may be gamma corrected, and the image may then be displayed using the gamma corrected values. Gamma correction may be used so that an image is accurately displayed. For example, gamma correction may account for variations in performance of different displays due to differences in the physical structure of pixels across displays. Summary of the invention
[0002] This specification describes techniques, methods, systems, and other mechanisms for gamma lookup table (LUT) compression based on dimensionality reduction. A gamma lookup table can be used to accurately display an image on a display. For example, a gamma lookup table can remap the gamma value G50 of a pixel in an image to G48 so that the display accurately displays the pixel of the image. In another example, a gamma lookup table can remap the gamma value G51 of a pixel in an image to G52 so that the display accurately displays the pixel of the image.
[0003] The gamma lookup table can be unique for each display. A first display may have a gamma lookup table that outputs different values than a second display due to the different ways in which the pixels in each display respond to the drive current. For example, the gamma lookup table for the first display may remap G50 to G45, and the gamma lookup table for the second display may remap G50 to G48.
[0004] A display may have many gamma lookup tables to perform gamma correction. For example, an organic light emitting diode (OLED) display may operate at two different refresh rates and seven display brightness values (DBVs), so it stores 42 gamma lookup tables (3 each for red, green, and blue, each multiplied by two frequencies, and each frequency multiplied by seven DBVs).
[0005] The DBVs may correspond to different brightness ranges of the display. For example, a display brightness between 0 and 13% of the entire display may correspond to a DBV of 0 (also referred to as DBV 0), a display brightness between 14% and 26% of the entire display may correspond to DBV 1, a display brightness between 27% and 41% of the entire display may correspond to DBV 2, etc. In another example, the DBV of the display may be divided into three different ranges, wherein DBV 0 corresponds to a brightness of 0 to 33% of the entire display, DBV 1 corresponds to 34% to 66%, and DBV 2 corresponds to 67% to 100%.
[0006] As the refresh rate of the display and the number of DBVs increase, the number of gamma lookup tables stored for the display may also increase. Additionally, some displays may include regions with different pixel densities. For example, a display may include a top portion of a display having a pixel density that is half the pixel density of a bottom portion of the display. Regions with different pixel densities may each behave differently from one another. For example, a region with a lower pixel density may display a gamma value that is less bright than a region with a higher pixel density, and thus the region with a lower pixel density may use a gamma table to remap a higher gamma value than the gamma table used by the region with a higher pixel density.
[0007] Thus, a display that includes areas with two different pixel densities and operates at three refresh rates and seven DGVs can store 126 gamma lookup tables (three each for red, green, and blue, each multiplied by three frequencies, each frequency multiplied by seven DGVs, each DGV multiplied by two different pixel densities).
[0008] However, increasing the number of stored gamma lookup tables may increase the amount of memory resources required to store the gamma lookup tables. For example, doubling the number of gamma lookup tables may double the amount of physical memory required to store the gamma lookup tables. Increasing the number of memory resources may increase the physical size of the memory and increase the cost of the memory itself.
[0009] Gamma lookup table compression based on dimensionality reduction can address issues where one or more of the displays include regions of different pixel densities, operate at a greater refresh rate, or operate at a greater DBV. In general, dimensionality reduction can be used to reduce the amount of memory required to represent a gamma lookup table. For example, dimensionality reduction can represent a gamma lookup table with 20% of the number of bits required to represent the gamma lookup table without the need for compression.
[0010] The gamma lookup table may be slightly different across different refresh rates and different DBVs. For example, a gamma lookup table for a 60 Hertz (Hz) refresh rate and DBV 0 may have output values that are slightly higher than the output values of a gamma lookup table for a 90 Hz refresh rate and DBV 0. Therefore, dimensionality reduction may be used to represent the gamma lookup table using basis functions and corresponding weights of the basis functions.
[0011] For example, 16 gamma lookup tables for a single color to be displayed in an area with a single pixel density can be represented by two basis functions and 16 different weight sets of the basis functions. Each weight set can correspond to a gamma lookup table, and adding the product of the two basis functions and the weight set corresponding to the gamma lookup table can reconstruct the gamma lookup table.
[0012] Representing the gamma lookup table with basis functions of the weight set may be advantageous because storing the basis functions and weights may require less memory than storing the gamma lookup table. For example, while storing each basis function may use the same amount of memory as storing each gamma lookup table, fewer basis functions may be stored to represent the gamma lookup table than gamma lookup tables, and thus less total memory may be used for storage.
[0013] Generally speaking, an innovative aspect of the subject matter described in the present specification can be embodied as a method, which includes the following actions: obtaining a selection of a specific display condition of a display panel from different display conditions of the display panel, based on the selection of the specific display condition, selecting a weight set of a basis function set from different weight sets corresponding to the different display conditions of the display panel, determining a gamma lookup table for the specific display condition of the display panel based on the selected weight set and basis function set, and remapping an image based on the gamma lookup table for the specific display condition for output on the display panel.
[0014] Other embodiments of this aspect include corresponding circuit systems, computer systems, devices, and computer programs recorded on one or more computer storage devices, each of which is configured to perform the actions of the method. The system of one or more computers can be configured to perform specific operations or actions because there is software, firmware, hardware, or a combination thereof installed on the system to cause the system to perform actions when running. One or more computer programs can be configured to perform specific operations or actions because they include instructions that, when executed by a data processing device, cause the device to perform actions.
[0015] These and other embodiments can each optionally include one or more of the following features. In some aspects, obtaining a selection of a specific display condition of the display panel from among different display conditions of the display panel includes receiving an indication of a specific combination of a display frequency and a display brightness value of the display panel as the specific display condition. In some aspects, the different display conditions include different combinations of a display frequency and a display brightness value of the display panel.
[0016] In some embodiments, selecting a weight set of a basis function set from different weight sets corresponding to different display conditions of the display panel includes: receiving a selection signal indicating a selection at a multiplexer, wherein the multiplexer receives different weight sets as inputs and selects the weight set to be output from the multiplexer in response to the selection signal. In some aspects, determining a gamma lookup table for a specific display condition of the display panel based on the selected weight set and basis function set includes: determining a sum of the basis function sets weighted by the weight set as the gamma lookup table for the specific display condition.
[0017] In some aspects, determining the sum of the basis function set weighted by the weight set as the gamma lookup table for the specific display condition includes: determining the product of each basis function in the basis function set multiplied by the weight of the basis function specified by the weight set, and summing the products as the gamma lookup table for the specific display condition. In some embodiments, determining the gamma lookup table for the specific display condition of the display panel based on the selected weight set and basis function set includes: determining the gamma lookup table as a predetermined number of values represented by a predetermined number of bits.
[0018] In some aspects, each basis function is specified by a predetermined number of values represented by a predetermined number of bits, and the number of weights in each weight set corresponds to the number of basis functions in the basis function set. In some aspects, remapping an image for output on a display panel based on a gamma lookup table for a particular display condition includes providing a gamma value for a pixel in the image to the gamma lookup table, receiving a remapped gamma value for a pixel in the image from the gamma lookup table, and providing the remapped gamma value for the pixel in the image for output on the display panel.
[0019] In some embodiments, the actions include: obtaining a gamma lookup table corresponding to different display conditions of a display panel, determining a basis function set of the gamma lookup table based on the gamma lookup table, determining a weight set of the basis function set, which weight sets are combined with the basis function set to represent the gamma lookup table, and storing both the basis function set of the gamma lookup table and the weight set of the basis function set on a display device including the display panel.
[0020] The details of one or more embodiments of the subject matter described in this specification are set forth in the accompanying drawings and the description below. Other features, aspects, and advantages of the subject matter will become apparent from the description, drawings, and claims. BRIEF DESCRIPTION OF THE DRAWINGS
[0021] Figure 1 is a block diagram of an example system with dimensionality reduction based gamma lookup table compression.
[0022] FIG. 2A to FIG. 2C is an additional block diagram of an example system with dimensionality reduction based gamma lookup table compression.
[0023] Figure 3 is a flow chart illustrating a process for remapping with a compressed gamma lookup table.
[0024] In different drawings, the same reference numerals and designations refer to the same elements. DETAILED DESCRIPTION
[0025] Figure 11 is a block diagram of an example system 100 with dimensionality reduction-based gamma lookup table compression. The system 100 compresses gamma lookup tables 110A & 110B (collectively referred to as 110) into a basis function set 120 and a weight set 130, each of which corresponds to a gamma lookup table 110. The gamma lookup tables 110A each correspond to a different DBV of a display frequency of 60 Hz, and the gamma lookup tables 110B each correspond to a different DBV of a display frequency of 90 Hz. The system 100 can be included in a display device. For example, the system 100 can be included in a smartphone that includes a display panel on which an image is displayed based on correction of a gamma lookup table.
[0026] System 100 includes: a weight selector 140, which selects a weight set corresponding to a display condition from a weight set 130; a multiplier 150, which multiplies a basis function set 120 by the selected weight set; and a combiner 160, which combines the product of the basis function set 120 and the selected weight set.
[0027] For example, Figure 2A The system 100 is shown generating a gamma lookup table for a display condition of DBV 7 and a display frequency of 60 Hz. In another example, Figure 2B The system 100 is shown generating a gamma lookup table for a display condition of DBV 1 and a display frequency of 60 Hz. In yet another example, Figure 2C The system 100 is shown generating a gamma lookup table for a display condition of DBV 7 and a display frequency of 90 Hz.
[0028] The gamma lookup tables 110 may each include a predetermined number of values defining a gamma curve. For example, each gamma lookup table may include 10 numbers each represented by 10 bits. The basis functions 120 may each include a determined number of values. For example, the basis functions 120 may each include 10 numbers each represented by 10 bits.
[0029] Even when each basis function is stored in the same amount of memory as a gamma lookup table, the basis functions 120 may be stored together in less memory than the gamma lookup tables 110 because there may be fewer basis functions than gamma lookup tables. For example, 16 gamma lookup tables 110 may be represented by two, three, four, or some other number of basis functions 120 that is less than 16.
[0030] The weight sets 130 may each correspond to a gamma lookup table, and each weight set may include a weight for each basis function. For example, where there are two basis functions 120 representing 16 gamma lookup tables 110, there may be 16 weight sets 130, each of which includes two weights for the corresponding basis functions. Each weight may be represented by the same number of bits or fewer bits as used to represent each value in the gamma lookup table. For example, each weight may be represented by 10 bits.
[0031] The weight selector 140 may be a multiplier that receives as input the weight set 130 and as a selection signal the gamma lookup table selection, and outputs the selected weight set. Figure 2A As shown in , the weight selector 140 receives "7" as the selection signal, where "7" corresponds to the weight set labeled W7, which corresponds to the display condition of DBV 7 and the frequency of 60 Hz, and outputs W7 in response. In another example, as Figure 2B As shown in , the weight selector 140 receives "1" as a selection signal, wherein "1" corresponds to a weight set labeled W1, which corresponds to the display condition of DBV 1 and the frequency of 60 Hz, and outputs W1 in response. In yet another example, as Figure 2B As shown in FIG. 1 , the weight selector 140 receives “15” as the selection signal, wherein “15” is associated with the value marked as W. 15 The weight set corresponds to the display condition of DBV 7 and the frequency of 90 Hz, and is output as a response W 15 .
[0032] The multiplier 150 receives the basis function 120 and the weight set output by the weight selector 140, and multiplies the basis function by the weight set. For example, in the case where W7 is selected, the multiplier 150 multiplies the basis function 0 by W 7,0 , multiply the basis function 1 by W 7,1 , and multiply the basis function 2 by W 7,2 , etc. In another example, when W1 is selected, the multiplier 150 multiplies the basis function 0 by W 1,0 , multiply the basis function 1 by W 1,1 , and multiply the basis function 2 by W 1,2 ,etc.
[0033] Combiner 160 receives the products of the multiplications performed by multiplier 150 and combines the products into a gamma lookup table. For example, combiner 160 receives the products from multiplier 150 and sums all the products of each basis function multiplied by the weight of the basis function specified by the weight set.
[0034] Equation 1 below is an example of calculation of the compression ratio based on principal component analysis:
[0035] R = (10*N*M+24*N*L) / 30*M*L (Equation 1)
[0036] Where R is the compression ratio, N is the number of basis functions, M is the number of values for each basis function and each gamma table, L is the number of display conditions, each value in the basis function and gamma table has 10 bits, there are two color channels, and each weight has 8 bits. For example, with N=5, L=16, and M=10, R=0.5, so the size is reduced by 50%. In another example, with N=4, L=16, and M=10, R=0.4, so the size is reduced by 40%. As L and M increase, the compression ratio increases.
[0037] Figure 3 is a flow chart illustrating a process 300 for remapping with a compressed gamma lookup table. The process 300 may be performed by the system 100. In brief summary, and as described in more detail below, the process 300 includes obtaining a selection of a specific display condition of a display panel (310), selecting a weight set for a set of basis functions based on the selection of the specific display condition (320), determining a gamma lookup table for the specific display condition of the display panel based on the weight set (330), and remapping an image for output on the display panel based on the gamma lookup table (340).
[0038] Process 300 includes obtaining a selection of a particular display condition for a display panel (310). For example, system 100 may receive a selection of a DBV of 1 without an indication of a display frequency. In another example, system 100 may receive a selection of a display frequency of 90 Hz without an indication of a DBV.
[0039] In some embodiments, obtaining a selection of a specific display condition of the display panel from among different display conditions of the display panel includes: receiving an indication of a specific combination of a display frequency and a display brightness value of the display panel as the specific display condition. For example, the display device may receive a user input indicating that the user wants the display device to display at a display frequency of DBV 7 and 60 Hz, and in response, the weight selector 140 may receive an indication of a "7" corresponding to a weight set W7, which corresponds to a display frequency of DBV 7 and 60 Hz. In another example, the display device may receive a user input indicating that the user wants the display device to display at a display frequency of DBV 1 and 60 Hz, and in response, the weight selector 140 may receive an indication of a "1" corresponding to a weight set W1, which corresponds to a display frequency of DBV 1 and 60 Hz.
[0040] In some embodiments, the selection of a specific display condition of the display panel can be a selection among different display conditions of the display panel, wherein the different display conditions include different combinations of display frequencies and display brightness values of the display panel. For example, where the display panel can operate at DBV 0-7 and at a display frequency of 60 Hz or 90 Hz, there may be 16 different display conditions. In another example, where the display panel can operate at DBV 0-9 and at a display frequency of 60 Hz, 90 Hz, or 120 Hz, there may be 30 different display conditions.
[0041] Process 300 includes selecting a weight set for a set of basis functions based on a selection of a particular display condition (320). For example, weight set W7 corresponding to DBV 7 and display frequency 60 Hz may be selected. In another example, weight set W1 corresponding to DBV 1 and display frequency 60 Hz may be selected.
[0042] In some embodiments, selecting a weight set of a basis function set from different weight sets corresponding to different display conditions of a display panel includes: receiving a selection signal indicating a selection at a multiplexer, wherein the multiplexer receives different weight sets as input and selects a weight set to be output from the multiplexer in response to the selection signal.
[0043] For example, weight selector 140 may receive an indication of "7" corresponding to weight set W7, and output W7 in response. In another example, weight selector 140 may receive an indication of "1" corresponding to weight set W1, and output W1 in response. In yet another example, weight selector 140 may receive an indication of "1" corresponding to weight set W1, and output W1 in response. 15 The corresponding "15" indication and the response output W 15 .
[0044] Process 300 includes determining a gamma lookup table for a particular display condition of the display panel based on the weight set (330). For example, a gamma lookup table for DVB 7 and a display frequency of 60 Hz can be determined from basis function 120 and weight set W7. In another example, a gamma lookup table for DVB 1 and a display frequency of 60 Hz can be determined from basis function 120 and weight set W1. In yet another example, a gamma lookup table for DVB 7 and a display frequency of 90 Hz can be determined from basis function 120 and weight set W2. 15 Sure.
[0045] In some embodiments, determining a gamma lookup table for a specific display condition of the display panel based on the selected weight set and basis function set includes: determining a sum of the basis function set weighted by the weight set as the gamma lookup table for the specific display condition. For example, a gamma lookup table for DBV 7 and a display frequency of 60 Hz may be determined by determining the sum of the basis functions 120 weighted by W7 using the combiner 160. In another example, a gamma lookup table for DBV 1 and a display frequency of 60 Hz may be determined by determining the sum of the basis functions 120 weighted by W1 using the combiner 160. In yet another example, a gamma lookup table for DBV 7 and a display frequency of 90 Hz may be determined by determining the sum of the basis functions 120 weighted by W7 using the combiner 160. 15 The weighted basis functions 120 are determined by summing them.
[0046] In some embodiments, determining the sum of a set of basis functions weighted by a weight set as a gamma lookup table for a specific display condition includes: determining the product of each basis function in the basis function set multiplied by the weight of the basis function specified by the weight set, and summing the products as the gamma lookup table for the specific display condition.
[0047] For example, the product of each basis function 120 and the weight set W7 may be determined by the multiplier 150, and then the combiner 160 may sum the outputs of the multipliers 150 as a DBV 7 and a gamma lookup table for a display frequency of 60 Hz. In another example, the product of each basis function 120 and the weight set W1 may be determined by the multiplier 150, and then the combiner 160 may sum the outputs of the multipliers 150 as a DBV 1 and a gamma lookup table for a display frequency of 60 Hz. In yet another example, each basis function 120 and the weight set W1 may be determined by the multiplier 150, and then the combiner 160 may sum the outputs of the multipliers 150 as a DBV 1 and a gamma lookup table for a display frequency of 60 Hz. 15 The product of may be determined by multiplier 150, and then combiner 160 may sum the outputs of multiplier 150 as a gamma lookup table for DBV 7 and display frequency 90 Hz.
[0048] In some embodiments, determining a gamma lookup table for a specific display condition of a display panel based on a selected set of weights and a set of basis functions includes determining the gamma lookup table as a predetermined number of values represented by a predetermined number of bits. For example, the gamma lookup table may include 10 values each represented by 10 bits. In another example, the gamma lookup table may include 12 values each represented by 8 bits.
[0049] In some embodiments, each basis function is specified by a predetermined number of values represented by a predetermined number of bits, and the number of weights in each weight set corresponds to the number of basis functions in the basis function set. For example, each of the two basis functions can be represented by 10 values each represented by 10 bits, wherein each gamma lookup table is also represented by 10 values each represented by 10 bits, and there are two weights in each weight set, wherein each weight is represented by 10 bits.
[0050] Process 300 includes remapping the image for display on the display panel based on the gamma lookup table (340). For example, the display device may remap the gamma value of G80 for the pixel in the image to G81 based on the gamma lookup table. In another example, the display device may then remap the gamma value of G60 for the pixel in the image to G59 based on the gamma lookup table.
[0051] In some embodiments, remapping an image for output on a display panel based on a gamma lookup table for specific display conditions includes providing gamma values of pixels in the image to the gamma lookup table, receiving remapped gamma values of pixels in the image from the gamma lookup table, and providing remapped gamma values of pixels in the image for output on the display panel.
[0052] For example, a display device may provide the gamma values of G80 as input to a gamma lookup table, receive the remapped gamma values of G81 as output from the gamma lookup table, and then provide the remapped gamma values of G81 to a driver integrated circuit configured to receive the remapped values and provide voltages to pixels in the display.
[0053] In some embodiments, process 300 includes obtaining a gamma lookup table corresponding to different display conditions of a display panel, determining a basis function set of the gamma lookup table based on the gamma lookup table, determining a weight set of the basis function set, which weight sets are combined with the basis function set to represent the gamma lookup table, and storing both the basis function set of the gamma lookup table and the weight set of the basis function set on a display device including the display panel.
[0054] For example, a computing device in a factory that manufactures display devices may receive several images of a display panel of a display device under different display conditions, generate a gamma lookup table for each display condition of the image, perform dimensionality reduction on the gamma lookup table to obtain a set of basis functions and a set of weights for the basis function sets, and then store the basis functions and the set of weights for the basis functions on the display device.
[0055] Dimensionality reduction can be performed using various techniques, including but not limited to discrete cosine transform, Fourier transform, compressed sensing, or principal component analysis. Compression can be determined by pruning basis functions to remove basis functions with smaller weights.
[0056] Embodiments of the subject matter and operations described in this specification may be implemented in digital electronic circuit systems or in computer software, firmware or hardware (including the structures disclosed in this specification and their structural equivalents), or in a combination of one or more of them. Embodiments of the subject matter described in this specification may be implemented as one or more computer programs, i.e., one or more modules of computer program instructions encoded on a computer storage medium for execution by a data processing apparatus or for controlling the operation of a data processing apparatus.
[0057] A computer storage medium can be or be included in a computer-readable storage device, a computer-readable storage substrate, a random or serial access memory array or device, or a combination of one or more of them. In addition, while a computer storage medium is not a propagated signal, a computer storage medium can be a source or destination of computer program instructions encoded in an artificially generated propagated signal. A computer storage medium can also be or be included in one or more separate physical components or media (e.g., multiple CDs, disks, or other storage devices).
[0058] The operations described in this specification can be implemented as operations performed by a data processing apparatus on data stored on one or more computer-readable storage devices or received from other sources.
[0059] The term "data processing apparatus" includes various devices, equipment and machines for processing data, including, for example, a programmable processor, a computer, a system on a chip or multiple systems on a chip or a combination of the above components. The apparatus may include a dedicated logic circuit system, for example, an FPGA (field programmable gate array) or an ASIC (application-specific integrated circuit). In addition to hardware, the apparatus may also include code that creates an execution environment for the computer program in question, for example, code that constitutes processor firmware, a protocol stack, a database management system, an operating system, a cross-platform runtime environment, a virtual machine, or a combination of one or more of them. The apparatus and execution environment can implement a variety of different computing model infrastructures, such as web services, distributed computing, and grid computing infrastructures.
[0060] A computer program (also referred to as a program, software, software application, script, or code) may be written in any form of programming language, including assembled or interpreted languages, declarative or procedural languages, and it may be deployed in any form, including as a stand-alone program or as a module, component, subroutine, object, or other unit suitable for use in a computing environment. A computer program may (but does not necessarily) correspond to a file in a file system. A program may be stored in a portion of a file that holds other programs or data (e.g., one or more scripts stored in a markup language document), in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files that store portions of one or more modules, subroutines, or code). A computer program may be deployed to execute on one computer or on multiple computers located at one site or distributed among multiple sites and interconnected by a communications network.
[0061] The processes and logic flows described in this specification can be performed by one or more programmable processors executing one or more computer programs to perform actions by operating on input data and generating output. The processes and logic flows can also be performed by a special purpose logic circuit system (e.g., an FPGA (field programmable gate array) or an ASIC (application specific integrated circuit)), and the device can also be implemented as this special purpose logic circuit system.
[0062] For example, processors suitable for executing computer programs include both general-purpose microprocessors and special-purpose microprocessors, as well as any one or more processors of any kind of digital computer. Typically, the processor will receive instructions and data from a read-only memory or a random access memory or both. The basic elements of a computer are a processor for performing actions according to instructions and one or more memory devices for storing instructions and data. Typically, a computer will also include one or more mass storage devices (e.g., disks, magneto-optical disks, or optical disks) for storing data or be operably coupled to receive data from the mass storage device or transfer data to the mass storage device or perform these two operations. However, a computer does not necessarily need to have such a device. In addition, a computer can be embedded in another device, for example, a mobile phone, a personal digital assistant (PDA), a mobile audio or video player, a game console, a global positioning system (GPS) receiver, or a portable storage device (e.g., a universal serial bus (USB) flash drive), to name a few. Devices suitable for storing computer program instructions and data include all forms of non-volatile memory, media and storage devices, including, for example, semiconductor memory devices (e.g., EPROM (erasable programmable read-only memory), EEPROM (electrically erasable programmable read-only memory) and flash memory devices), magnetic disks (e.g., internal hard disks or removable disks), magneto-optical disks, and CD-ROM and DVD-ROM disks. The processor and the memory may be supplemented by, or incorporated in, special purpose logic circuitry.
[0063] To provide interaction with a user, embodiments of the subject matter described in this specification may be implemented on a computer having a display device for displaying information to the user, such as a CRT (cathode ray tube) or LCD (liquid crystal display) or OLED (organic light emitting diode) monitor; and a keyboard and pointing device, such as a mouse or trackball, through which the user can provide input to the computer. Other kinds of devices may also be used to provide interaction with the user; for example, the feedback provided to the user may be any form of sensory feedback, such as visual feedback, auditory feedback, or tactile feedback; and the input from the user may be received in any form, including sound input, voice input, or tactile input. In addition, the computer may interact with the user by sending documents to and receiving documents from a device used by the user, such as by sending a web page to a web browser on a user device of the user in response to a request received from the web browser.
[0064] Embodiments of the subject matter described in this specification may be implemented in a computing system that includes a back-end component, e.g., as a data server, or includes a middleware component, e.g., an application server, or includes a front-end component, e.g., a user computer with a graphical user interface or a web browser through which a user can interact with an implementation of the subject matter described in this specification, or any combination of one or more such back-end components, middleware components, or front-end components. The components of the system may be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include local area networks ("LANs") and wide area networks ("WANs"), internets (e.g., the Internet), and point-to-point networks (e.g., ad hoc point-to-point networks).
[0065] A computing system may include a user and a server. The user and the server are usually remote from each other and usually interact through a communication network. The relationship between the user and the server is generated by computer programs running on respective computers and having a user-server relationship with each other. In some embodiments, the server transmits data (e.g., an HTML page) to a user device (e.g., in order to display data to a user interacting with the user device and receive user input from the user). Data generated at the user device (e.g., the result of the user interaction) can be received from the user device at the server.
[0066] Although this specification contains many specific implementation details, these details should not be interpreted as limitations on the scope of any feature or possible required content, but as descriptions of features specific to a particular embodiment. Certain features described in this specification in the context of separate embodiments may also be implemented in combination in a single embodiment. On the contrary, the various features described in the context of a single embodiment may also be implemented individually or in any suitable sub-combination in multiple embodiments. In addition, although features may be described above as working in certain combinations and initially even the same requirements were made, one or more features from the required combination may be deleted from the combination in some cases, and the required combination may involve a sub-combination or a change in the sub-combination.
[0067] Similarly, although the operations are depicted in a particular order in the figures, this should not be understood as requiring such operations to be performed in the particular order shown or in a sequential order, or performing all of the operations shown to achieve the desired result. In some cases, multitasking and parallel processing can be advantageous. In addition, the separation of the various system components in the above-described embodiments should not be understood as requiring such separation in all embodiments, and it should be understood that the described program components and systems can generally be integrated together in a single software product or packaged into multiple software products.
[0068] Thus, specific embodiments of the subject matter have been described. Other embodiments are within the scope of the following claims. In some cases, the actions recited in the claims can be performed in a different order and still achieve the desired results. In addition, the processes depicted in the accompanying drawings do not necessarily require the specific order or sequential order shown to achieve the desired results. In some embodiments, multitasking and parallel processing can be advantageous.
Claims
1. A method, include: Obtaining a selection of a specific display condition of the display panel from among different display conditions of the display panel; Based on the selection of the specific display condition, selecting a weight set of a basis function set from different weight sets corresponding to the different display conditions of the display panel, wherein the different display conditions include different combinations of display frequency and display brightness value of the display panel; Determine a gamma lookup table for the specific display condition of the display panel based on the selected weight set and the basis function set; and An image is remapped for output on the display panel based on the gamma lookup table for the specific display condition.
2. The method according to claim 1, in, Obtaining a selection of a specific display condition of the display panel from among different display conditions of the display panel comprises: An indication of a specific combination of a display frequency and a display brightness value of the display panel is received as the specific display condition.
3. The method according to claim 1, in, The weight set of selecting a basis function set from different weight sets corresponding to the different display conditions of the display panel comprises: A selection signal indicative of the selection is received at a multiplier, wherein the multiplier receives the different weight sets as input and selects the weight set to be output from the multiplier in response to the selection signal.
4. The method according to claim 1, in, The gamma lookup table for determining the specific display condition of the display panel based on the selected weight set and the selected basis function set includes: A sum of the set of basis functions weighted by the set of weight values is determined as the gamma lookup table for the specific display condition.
5. The method according to claim 4, in, The gamma lookup table for determining the sum of the basis function set weighted by the weight value set as the specific display condition comprises: determining the product of each basis function in the basis function set multiplied by the weight of the basis function specified by the weight set; and The products are summed as the gamma lookup table for the specific display condition.
6. The method according to claim 1, in, The gamma lookup table for determining the specific display condition of the display panel based on the selected weight set and the selected basis function set includes: The gamma lookup table is determined to be a predetermined number of values represented by a predetermined number of bits.
7. The method according to claim 6, in, Each of the basis functions is specified by the predetermined number of values represented by the predetermined number of bits, and the number of weights in each weight set corresponds to the number of basis functions in the basis function set.
8. The method according to claim 1, in, Remapping an image based on the gamma lookup table for the specific display condition to output on the display panel comprises: providing gamma values of pixels in the image to the gamma lookup table; receiving a remapped gamma value for the pixel in the image from the gamma lookup table; and The remapped gamma values for the pixels in the image are provided for output on the display panel.
9. The method according to claim 1, include: Obtaining a gamma lookup table corresponding to the different display conditions of the display panel; determining the set of basis functions of the gamma lookup table based on the gamma lookup table; Determining a weight set of the basis function set, wherein the weight set combined with the basis function set represents the gamma lookup table; as well as Both the set of basis functions of the gamma lookup table and the set of weights of the basis function set are stored on a display device including the display panel.
10. A system comprising a circuit system configured to: Obtaining a selection of a specific display condition of the display panel from among different display conditions of the display panel; Based on the selection of the specific display condition, a weight set of a basis function set is selected from different weight sets corresponding to the different display conditions of the display panel, in, The different display conditions include different combinations of display frequency and display brightness value of the display panel; Determine a gamma lookup table for the specific display condition of the display panel based on the selected weight set and the basis function set; as well as An image is remapped for output on the display panel based on the gamma lookup table for the specific display condition.
11. The system according to claim 10, in, Obtaining a selection of a specific display condition of the display panel from among different display conditions of the display panel comprises: An indication of a specific combination of a display frequency and a display brightness value of the display panel is received as the specific display condition.
12. The system according to claim 10, in, The weight set of selecting a basis function set from different weight sets corresponding to the different display conditions of the display panel comprises: A selection signal indicative of the selection is received at a multiplier, wherein the multiplier receives the different weight sets as input and selects the weight set to be output from the multiplier in response to the selection signal.
13. The system according to claim 10, in, The gamma lookup table for determining the specific display condition of the display panel based on the selected weight set and the selected basis function set includes: A sum of the set of basis functions weighted by the set of weight values is determined as the gamma lookup table for the specific display condition.
14. The system according to claim 13, in, The gamma lookup table for determining the sum of the basis function set weighted by the weight value set as the specific display condition comprises: determining the product of each basis function in the basis function set multiplied by the weight of the basis function specified by the weight set; and The products are summed as the gamma lookup table for the specific display condition.
15. The system according to claim 10, in, The gamma lookup table for determining the specific display condition of the display panel based on the selected weight set and the selected basis function set includes: The gamma lookup table is determined to be a predetermined number of values represented by a predetermined number of bits.
16. The system according to claim 15, in, Each of the basis functions is specified by the predetermined number of values represented by the predetermined number of bits, and the number of weights in each weight set corresponds to the number of basis functions in the basis function set.
17. The system according to claim 10, in, Remapping an image based on the gamma lookup table for the specific display condition to output on the display panel comprises: providing gamma values of pixels in the image to the gamma lookup table; receiving a remapped gamma value for the pixel in the image from the gamma lookup table; and The remapped gamma values for the pixels in the image are provided for output on the display panel.
18. A non-transitory computer-readable medium storing software, the software comprising instructions executable by one or more computers, the instructions when such executed causing the one or more computers to perform operations, the operations include: Obtaining a selection of a specific display condition of the display panel from among different display conditions of the display panel; Based on the selection of the specific display condition, selecting a weight set of a basis function set from different weight sets corresponding to the different display conditions of the display panel, wherein the different display conditions include different combinations of display frequency and display brightness value of the display panel; Determine a gamma lookup table for the specific display condition of the display panel based on the selected weight set and the basis function set; and An image is remapped for output on the display panel based on the gamma lookup table for the specific display condition.
