The embodiments described herein set forth techniques for compressing high-resolution, multiple-channel images (e.g., red, green, and blue (RGB) images) that store burn-in statistics for display devices (e.g., organic light emitting diode (OLED) displays). In particular, the techniques involve pre-processing the images (i.e., prior to compression) in a manner that can enhance resulting compression ratios when the images are compressed using lossless compressors (e.g., Lempel-Ziv-Welch (LZW)-based compressors).
Image compression techniques involve exploiting aspects of an image to reduce its overall size while retaining information that can be used to re-establish the image to its original (lossless) or near-original (lossy) form. Different parameters can be provided to compressors to achieve performance characteristics that best-fit particular environments. For example, higher compression ratios can be used to increase the amount of available storage space within computing devices (e.g., smart phones, tablets, wearables, etc.), but this typically comes at a cost of cycle-intensive compression procedures that consume correspondingly higher amounts of power and time. On the contrary, cycle-efficient compression techniques can reduce power and time consumption, but this typically comes at a cost of correspondingly lower compression ratios and amounts of available storage space within computing devices.
Notably, new compression challenges are arising as computing device capabilities are improved through hardware and software advancements. For example, organic light-emitting diode (OLED) displays—which are becoming a popular choice for computing device displays—can degrade in a non-uniform manner over their lifespans and lead to unwanted color/brightness artifacts. To address this concern, burn-in statistics—which record historical usage information associated with a given OLED display—can be used to artificially adjust the operation of the OLED display to substantially restore visual uniformity throughout its operation. Notably, such burn-in statistics can take the form of a high-resolution, multiple-channel image that consumes a considerable amount of storage space within the computing device in which the OLED display is included. For obvious reasons, this consumption can dissatisfy users as their overall expected amount of available storage space is reduced for seemingly unknown reasons. It is therefore desirable to store the burn-in statistics in a more efficient manner.
Representative embodiments set forth herein disclose techniques for compressing high-resolution, multiple-channel images that store burn-in statistics for display devices. In particular, the techniques involve pre-processing the images (i.e., prior to compression) in a manner that can enhance resulting compression ratios when the images are compressed using lossless compressors.
One embodiment sets forth a method for pre-processing image data for compression (e.g., an image storing burn-in statistics for a given display device). According to some embodiments, the method can be performed by an image analyzer implemented on a computing device. Initially, the method involves receiving the image data, where the image data comprises a plurality of pixels, and each pixel of the plurality of pixels comprises at least two sub-pixel values (e.g., a red sub-pixel value, a blue sub-pixel value, a green sub-pixel value, etc.). Next, the method involves quantizing, for each pixel of the plurality of pixels, the at least two sub-pixel values to produce a plurality of modified pixels.
After the plurality of pixels are quantized, the method involves performing a series of operations against each modified pixel of the plurality of modified pixels. In particular, a first operation involves applying an invertible transformation to the at least two sub-pixel values for the modified pixel to produce an equal number of transformed sub-pixel values. A second operation involves applying a predictive coding to at least one of the transformed sub-pixel values of the modified pixel, where applying the predictive coding involves establishing a differential value by subtracting a corresponding and previously-processed sub-pixel value from the at least one of the transformed sub-pixel values. A third operation involves encoding the differential value into two corresponding bytes, and encoding each of the other transformed sub-pixel values (different from the at least one of the transformed sub-pixel values) into respective two corresponding bytes. A fourth operation involves serially storing the corresponding bytes as a data stream into a buffer. Finally, a fifth operation involves compressing the data stream in the buffer, where the outputs of the compressed data streams for each of the modified pixels are continuously joined together to produce a compressed image.
Other embodiments include a non-transitory computer readable storage medium configured to store instructions that, when executed by a processor included in a computing device, cause the computing device to carry out the various steps of any of the foregoing methods. Further embodiments include a computing device that is configured to carry out the various steps of any of the foregoing methods.
Other aspects and advantages of the invention will become apparent from the following detailed description taken in conjunction with the accompanying drawings that illustrate, by way of example, the principles of the described embodiments.
The disclosure will be readily understood by the following detailed description in conjunction with the accompanying drawings, wherein like reference numerals designate like structural elements.
Representative applications of methods and apparatus according to the present application are described in this section. These examples are being provided solely to add context and aid in the understanding of the described embodiments. It will thus be apparent to one skilled in the art that the described embodiments can be practiced without some or all of these specific details. In other instances, well-known process steps have not been described in detail in order to avoid unnecessarily obscuring the described embodiments. Other applications are possible, such that the following examples should not be taken as limiting.
In the following detailed description, references are made to the accompanying drawings, which form a part of the description and in which are shown, by way of illustration, specific embodiments in accordance with the described embodiments. Although these embodiments are described in sufficient detail to enable one skilled in the art to practice the described embodiments, it is understood that these examples are not limiting such that other embodiments can be used, and changes can be made without departing from the spirit and scope of the described embodiments.
The embodiments described herein set forth techniques for compressing high-resolution, multiple-channel images (e.g., 32-bit red, green, and blue (RGB) images) that store burn-in statistics for display devices (e.g., organic light emitting diode (OLED) displays). In particular, the techniques involve pre-processing the images (i.e., prior to compression) in a manner that can enhance resulting compression ratios when the images are compressed using lossless compressors (e.g., Lempel-Ziv-Welch (LZW)-based compressors).
According to some embodiments, the techniques described herein can be performed by an image analyzer implemented on a computing device. Initially, the image analyzer receives image data to be compressed, e.g., burn-in statistics for a display device, where the image data is composed of a collection of pixels. In particular, each pixel in the collection of pixels can correspond to a respective physical pixel on the display device, where a value of the pixel represents cumulative usage information for the respective physical. For example, a computing device in which the display device is included can be configured to periodically sample (e.g., once per second) the output of the display and maintain, for each physical pixel, a summation of the luminosities displayed by the physical pixel. Using this approach, the summations can be stored as the pixels within the image data. Notably, this image data can increase in size and complexity over the lifespan of the display device (as burn-in occurs), and it can be desirable to compress this image data in an efficient manner to reduce the amount of storage space needed to maintain the image data.
To achieve this goal, the image analyzer can be configured to pre-process the image data in the following manner to enhance the overall attainable compression ratio when the image data is ultimately provided to a compressor. According to some embodiments, each pixel in the collection of pixels (of the image data) corresponds to a respective group of sub-pixel values (e.g., a red sub-pixel value, a blue sub-pixel value, a green sub-pixel value, etc.). The image analyzer first quantizes, for each pixel in the collection of pixels, the sub-pixel values to produce a collection of modified sub-pixel values. According to some embodiments, the quantization of the pixels can represent a “lossy” step in which the overall accuracy of the image data is downgraded, but this can be fine-tuned/minimized by controlling the manner in which the quantization is performed, which is described below in greater detail in conjunction with
After the collection of pixels are quantized, the image analyzer performs a series of operations against each modified pixel in the collection of modified pixels. In particular, a first operation involves applying an invertible transformation to the sub-pixel values for the modified pixel to produce an equal number of transformed sub-pixel values, which is described below in greater detail in conjunction with
Next, a third operation involves encoding the differential value into two corresponding bytes, and encoding each of the other transformed sub-pixel values (different from the at least one of the transformed sub-pixel values) into respective two corresponding bytes, which is described below in greater detail in conjunction with
Accordingly, the techniques set forth herein involve pre-processing high-resolution, multi-channel images in a manner that can enhance resulting compression ratios when the images are provided to compressors (e.g., LZW-based compressors), thereby enabling computing devices to maintain highly accurate burn-in statistics while reducing the amount of required storage space. A more detailed description of these techniques is provided below in conjunction with
According to some embodiments, the image analyzer 110 can be configured to implement the techniques described herein that involve pre-processing a high-resolution, multiple-channel image 108 prior to compressing the multiple-channel image 108. In particular, and as shown in
As shown in
Next, each modified (i.e., quantized) pixel is provided to a transformer 114, a predictor 116, and an encoder 118, to perform a series of operations on modified pixel prior to compressing the modified pixel. In particular, the transformer 114 is configured to apply an invertible transformation to the respective group of sub-pixel values belonging to the modified pixel to produce an equal number of transformed sub-pixel values, which is described below in greater detail in conjunction with
Notably, and according to some embodiments, the compressor(s) 120 can be configured to implement one or more compression techniques for compressing the buffer(s) 119. Moreover, the compressor(s) 120 can be implemented in any manner to establish an environment that is most-efficient for compressing the buffer(s) 119. For example, multiple buffers 119 can be instantiated (where modified pixels can be pre-processed in parallel), and each buffer 119 can be tied to a respective compressor 120 such that the buffers 119 can be simultaneously compressed in parallel as well. Moreover, the same or a different type of compressor 120 can be tied to each of the buffer(s) 119 based on the inherent formatting of the content that is placed into the buffer(s) 119.
Accordingly,
As noted above, the conceptual diagram 200 illustrates how the quantizer 112 can execute a first step, Step 1, that involves quantizing the different types of sub-pixel values 204 (included within the pixel values 202). For example, when each pixel value 202 includes a red sub-pixel value 204, a green sub-pixel value 204, and a blue sub-pixel value 204, the quantizer 112 can be configured to: (1) quantize all of the red sub-pixel values 204 (of all of the pixel values 202) using a first quantizer, (1) quantize all of the green sub-pixel values 204 (of all of the pixel values 202) using a second quantizer, and (3) quantize all of the blue sub-pixel values 204 (of all of the pixel values 202) using a third quantizer. According to some embodiments, each of the first, second, and third quantizers can be configured to quantize their respective sub-pixel values 204 in accordance with a range defined by the minimum and maximum values identified across their respective sub-pixel values 204. Moreover, each of the first, second, and third quantizers can be configured with a particular quantization rate that corresponds to an acceptable level of accuracy degradation that will occur as a consequence of the quantization, e.g., eight bits per sub-pixel value 204 when each sub-pixel value 204 has a depth of thirty-two bits. It is noted that the quantizer 112 can be configured in any manner to accommodate additional types of multiple-channel images 108 having different resolutions, layouts, bit-depths, and so on, without departing from the scope of this disclosure. When the quantizer 112 completes the quantization of the sub-pixel values 204 (using the individual quantizers described above), the sub-pixel values 204 are replaced with quantized sub-pixel values 206, as illustrated in
Turning now to
Turning now to
Turning now to
Next, the encoder 118 can be configured to separate each of the sub-pixel bits 264 into respective two corresponding bytes: least significant bytes (LSBs) 266 and most significant bytes (MSBs) 268. The encoder 118 can perform this operation using a variety of approaches, e.g., performing an in-place modification of the sub-pixel bits 264 (and ordered according to the distribution illustrated in
Finally, turning now to
At step 304, the image analyzer 110—specifically, the quantizer 112—quantizes, for each pixel of the plurality of pixels, the at least two sub-pixel values to produce a plurality of modified pixels (e.g., as described above in Step 1 of
Next, at step 312, the image analyzer 110—specifically, the encoder 118—encodes the differential value into two corresponding bytes, and, at step 314, the encoder 118 encodes each of the other transformed sub-pixel values different from the at least one of the transformed sub-pixel values into respective two corresponding bytes (e.g., as described above in Step 4 of
As noted above, the computing device 400 also include the storage device 440, which can comprise a single disk or a collection of disks (e.g., hard drives), and includes a storage management module that manages one or more partitions within the storage device 440. In some embodiments, storage device 440 can include flash memory, semiconductor (solid state) memory or the like. The computing device 400 can also include a Random Access Memory (RAM) 420 and a Read-Only Memory (ROM) 422. The ROM 422 can store programs, utilities or processes to be executed in a non-volatile manner. The RAM 420 can provide volatile data storage, and stores instructions related to the operation of applications executing on the computing device 102, including the image analyzers 110/154 and the compressor(s) 120.
It is additionally noted that the computing device 400 can include a secure enclave 442 that provides a highly-secure processing/storage area within the computing device 400 that is only accessible to authorized entities. In particular, the secure enclave 442 can establish a sandboxed environment in which unauthorized entities (e.g., user-level applications) are prohibited from accessing the sandboxed environment, while authorized entities (e.g., operating system (OS) daemons) are permitted to access the sandboxed environment. Accordingly, in some embodiments, all or part of the image analyzer 110 can be implemented by the secure enclave 442 to ensure that the burn-in statistics described herein are managed and stored securely and is not accessed by unauthorized entities.
The various aspects, embodiments, implementations or features of the described embodiments can be used separately or in any combination. Various aspects of the described embodiments can be implemented by software, hardware or a combination of hardware and software. The described embodiments can also be embodied as computer readable code on a computer readable medium. The computer readable medium is any data storage device that can store data which can thereafter be read by a computer system. Examples of the computer readable medium include read-only memory, random-access memory, CD-ROMs, DVDs, magnetic tape, hard disk drives, solid state drives, and optical data storage devices. The computer readable medium can also be distributed over network-coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.
The foregoing description, for purposes of explanation, used specific nomenclature to provide a thorough understanding of the described embodiments. However, it will be apparent to one skilled in the art that the specific details are not required in order to practice the described embodiments. Thus, the foregoing descriptions of specific embodiments are presented for purposes of illustration and description. They are not intended to be exhaustive or to limit the described embodiments to the precise forms disclosed. It will be apparent to one of ordinary skill in the art that many modifications and variations are possible in view of the above teachings.
The present application claims the benefit of U.S. Provisional Application No. 62/465,093, entitled “COMPRESSION TECHNIQUES FOR BURN-IN STATISTICS OF ORGANIC LIGHT EMITTING DIODE (OLED) DISPLAYS,” filed Feb. 28, 2017, the content of which is incorporated herein by reference in its entirety for all purposes.
Number | Date | Country | |
---|---|---|---|
62465093 | Feb 2017 | US |