Method, medium, and system compressing and/or reconstructing image information with low complexity
09554135 ยท 2017-01-24
Assignee
Inventors
Cpc classification
H04N19/12
ELECTRICITY
G09G2340/16
PHYSICS
H04N19/90
ELECTRICITY
G09G2320/0261
PHYSICS
International classification
H04N19/90
ELECTRICITY
H04N19/12
ELECTRICITY
Abstract
A system, medium, and method compressing and/or restoring images. Such a data compression method may include selecting a mode from among a plurality of modes for compressing current data, according to predetermined criteria, and calculating a difference between the current data and reference data, according to the selected mode, and compressing the current data, or truncating a part of the current data and compressing the current data. Accordingly, it is possible to significantly lower the complexity of an image encoder/decoder system and exactly meet a picture-based CBR required by LCD DCC devices/systems.
Claims
1. A data compression method comprising: determining a difference between first data corresponding to a first pixel and second data corresponding to a second pixel after selectively applying a bit shifting operation on the first data and the second data; when the difference satisfies a first specified condition, generating first compressed data corresponding to the first data based at least in part on the difference; when the difference satisfies a second specified condition, generating second compressed data corresponding to the first data based at least in part by truncating at least one portion of the first data.
2. The method of claim 1, wherein the generating of the first compressed data is performed when the difference falls within a specified range, and wherein the generating of the second compressed data is performed when the difference falls outside the specified range.
3. The method of claim 1, wherein the determining comprises selecting at least one pixel from among pixels adjacent to the first pixel, and determining the second pixel based on the selected at least one pixel.
4. The method of claim 3, wherein the second data is determined from a pixel of data most similar to the first data from among the pixels adjacent to the first pixel.
5. The method of claim 3, wherein the second data comprises average data of specified pixels adjacent to the first pixel.
6. The method of claim 1, wherein the generating of the first compressed data comprises generating at least one portion of the first data based at least in part on bits having a specified constant length.
7. An apparatus comprising: a first encoder configured to generate first compressed data corresponding to first data by using a difference between the first data corresponding to a first pixel and second data corresponding to a second pixel, wherein the first data and the second data have been selectively applied to a bit shift operation; and a second encoder configured to, when the difference satisfies a specified condition, generate second compressed data corresponding to the first data by truncating at least one portion of the first data; and a memory configured to store output from the first or second encoder.
8. The apparatus of claim 7, wherein the first encoder is configured to generate the first compressed data when the difference falls within a specified range, and wherein the second encoder is configured to generates the second compressed data when the difference falls outside the specified range.
9. The apparatus of claim 7, wherein the second pixel is selected from among at least one pixel adjacent to the first pixel.
10. The apparatus of claim 7, wherein the second data is data most similar to the first data, from among data of at least one pixel adjacent to the first pixel.
11. The apparatus of claim 7, wherein the second data is average data of a plurality of pixels adjacent to the first pixel.
12. The apparatus of claim 7, wherein the first encoder is configured to generate at least one portion of the first data based at least in part on bits having a specified constant length.
13. A data compression method comprising: determining a difference between first data corresponding to a first pixel and second data corresponding to a second pixel, wherein the first data and the second data have been selectively applied to a bit shift operation; and compressing the first data by using one of a first compression mode or a second compression mode based on whether the difference satisfies a specified condition.
14. The method of claim 13, wherein the compressing of the first data is performed based on whether the difference falls within a specified range.
15. The method of claim 13, wherein the compressing comprises compressing the first data by using the difference in the first compression mode.
16. The method of claim 13, wherein the compressing comprises generating at least one portion of the first data based at least in part on bits having a specified constant length.
17. The method of claim 13, wherein the compressing comprises truncating at least one portion of the first data in the second compression mode.
18. The method of claim 13, wherein the determining comprises determining the second pixel based at least in part on at least one pixel block from among pixels adjacent to the first pixel.
19. The method of claim 13, wherein the second data is determined from a pixel of data most similar to the first data from among pixels adjacent to the first pixel.
20. The method of claim 13, wherein the second data comprises average data of specified pixels adjacent to the first pixel.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) These and/or other aspects and advantages of the invention will become apparent and more readily appreciated from the following description of the embodiments, taken in conjunction with the accompanying drawings of which:
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
(15)
(16)
(17)
(18)
(19)
(20)
DETAILED DESCRIPTION
(21) Reference will now be made in detail to embodiments of the present invention, examples of which are illustrated in the accompanying drawings, wherein like reference numerals refer to the like elements throughout. Embodiments are described below to explain the present invention by referring to the figures.
(22)
(23) Referring to
(24) The data compression system 21 may compress data, e.g., using one of two data compression methods, that is, a Differential Pulse Code Modulation (DPCM) method and a Pulse Code Modulation (PCM) method, for example.
(25) The memory 22 may receive and store the compressed data from the data compression system 21. By performing this operation, when a current picture is received, the previous picture may already be stored in the memory 22.
(26) The data reconstruction system 23 may reconstruct data using one of the two data compression methods, that is, the DPCM method and the PCM method, for example.
(27) The LUT module 24 may calculate a voltage value required to achieve a target response time of a TFT-LCD panel, with reference to a lookup table. In more detail, the LUT module 24 may search the lookup table for voltage value information corresponding to a difference between the luminance value of a certain pixel in the currently received picture and the luminance value of the corresponding pixel in the previous picture, e.g., as reconstructed by the data reconstruction system 23, and calculate the voltage value required to achieve the target response time of the TFT-LCD panel, using the voltage value information and the target response time of the TFT-LCD panel.
(28)
(29) Referring to
(30)
(31) Referring to
(32) From the above descriptions, it should be understood that the DPCM and PCM methods, which may be used by the data compression system 21 and the data reconstruction system 23, for example, can have very low complexity compared to conventional image compression methods, such as JPEG, H.264, and JPEG-LS standards. In particular, in an embodiment, by using the DPCM and PCM methods, for example, data can be easily compressed by a constant amount. According one embodiment, a constant bit rate required by LCD DCC devices/systems can be exactly achieved.
(33)
(34) Referring to
(35) The data compression system 21 may compress the 22 block to 4 bits of mode data and 44 bits of compressed data. In more detail, 4 bits may be assigned to the 8 bits corresponding to the R component of each pixel, 4 bits may be assigned to the 8 bits corresponding to the G component of each pixel, and 3 bits may be assigned to the 8 bits corresponding to the B component of each pixel, again noting that alternative embodiments are equally available. In order to achieve an exact compression rate of the 96 bits, 4 bits may be assigned to the mode data, and 3 bits may be assigned to the B component of each pixel, as illustrated in
(36) As described above, in this embodiment, since the DPCM or PCM compression methods with 22 blocks are used, it is possible to minimize picture quality deterioration when images shift, compared to conventional image compression methods in which images are compressed in a unit of 1616 macroblocks or 88 blocks. That is, since this embodiment compresses and/or reconstructs images in units of very small pieces, e.g., the 22 blocks, compared to the conventional methods, a slight difference between the values of pixels within a block does not substantially influence the result obtained by compressing and reconstructing the corresponding image. Accordingly, this embodiment can significantly enhance subjective picture quality performance.
(37) Embodiments of the present invention can be widely applied to image compression fields requiring low complexity and subjective lossless picture quality, other than the above-mentioned LCD DCC device/system illustrated in
(38)
(39) Referring to
(40) The splitter 61 may receive a current picture, divide the current picture into units of 22 blocks as illustrated in
(41) The bit shifter 62 may also receive a 22 block from the DPCM encoder 64, shift 8 bits of current image data corresponding to each color component of each pixel of the 22 block, and 8 bits of reference image data corresponding to the 8 bits of current image data, in a unit of 1 bit, in a direction to the right, and output the result of the bit-shifting to the mode selection unit 63. In addition, whenever the bit shifter 62 shifts the current image data in a unit of 1 bit to the right, the bit shifter 62 may increase the indicated number of bit-shifting operations of the current image data by 1. Here, the bit shifter 62 may also receive the current image data corresponding to a 22 block from the splitter 61 and output the current image data to the DPCM encoder 64, without bit-shifting, in which case, the bit shifter 62 may set the indicated number of bit-shifting operations of the current image data to 0.
(42) Thus, the current image data received from the DPCM encoder 64 may not be shifted by the bit shifter 92, or may be shifted at least once by the bit shifter 62. In addition, the reference image data may be image data of one pixel from among pixels adjacent to a pixel corresponding to the current image data. The reference image data may be image data which is most closely matched with the current image data, among image data corresponding to the adjacent pixels. In one embodiment, it is assumed that a reference pixel of a pixel P0 is a pixel P1, a reference pixel of a pixel P1 is a pixel P0, a reference pixel of a pixel P2 is a pixel P0, and a reference pixel of a pixel P3 is the average value of the pixel P1 and the pixel P2. The pixel P1 may be one pixel from among the adjacent pixels of the pixels P0, P1, P2, and P3, for example.
(43) In addition, the shifting the 8 bits of current image data and the 8 bits of reference image data in the unit of 1 bit to the right means shifting the current image data in the unit of 1 bit toward the Least Significant Bit (LSB) side. Accordingly, such shifting by the unit of 1 bit is equivalent to dividing the 8 bits of a current image data value by 2 and dividing the 8 bits of a reference image data value by 2.
(44) The mode selection unit 63 may select a mode, from among a plurality of modes which can compress the current image data, on the basis of the number of the bit-shifting operations of the 8 bits of current image data corresponding to each color component of each pixel of the 22 block received from the bit shifter 62. In more detail, if the number of the bit-shifting operations of the 8 bits of current image data does not exceed 4 when the color component is a R or G component, or if the number of the bit-shifting operations does not exceed 3 when the color component is a B component, the mode selection unit 63 may select a DPCM encoding mode corresponding to the number of the bit-shifting operations, from among a plurality of DPCM encoding modes, and output the 8 bits of current image data bit-shifted by the number of the bit-shifting operations to the DPCM encoder 64. If the number of the bit-shifting operations of the 8 bits of current image data exceeds 4 when the color component is an R or G component, or if the number of the bit-shifting operations exceeds 3 when the color component is a B component, the mode selection unit 63 may select a PCM encoding mode, and output the 8 bits of current image data to the PCM encoder 65 without bit-shifting, e.g., for merely truncation of the image data. In this example, the current image data output to the PCM encoding unit 65 by the mode selection unit 63 is a value that is not bit-shifted. When the color component is an R or G component, the current image data may be a value which is bit-shifted 4 times. When the color component is a B component, the current image data may be a value that is bit-shifted 3 times. In one embodiment, as described herein, 12 encoding modes are provided, noting that alternatives are equally available. These 12 encoding modes will be described in further detail below with reference to
(45) The DPCM encoder 64 may calculate a difference between the 8 bits of current image data corresponding to each color component of each pixel of the 22 block received from the mode selection unit 63, and the 8 bits of reference image data corresponding to the 8 bits of current image data, according to a mode selected by the mode selection unit 63, to compress the current image data. In more detail, in this embodiment, if the mode selected by the mode selection unit 63 is a DPCM encoding mode, the DPCM encoding unit 64 may, thus, calculate a difference between the 8 bits of current image data and the 8 bits of reference image data, and determine whether the difference can be represented by bits of a constant length, for example. Successively, if the difference can be represented by bits of a constant length, the DPCM encoder 64 may output the difference as compressed data of the current image data to the MUX 66. In this embodiment, if the difference cannot be represented by bits of a constant length, the DPCM encoder 64 may output the 8 bits of current image data directly to the bit shifter 62.
(46) According to the data compression format illustrated in
(47) Alternatively, if the difference cannot be represented by 4 bits, the PCM encoder 65 may merely truncate 4 bits of the 8 bits of current image data corresponding to the color component of the pixel of the 22 block received from the mode selection unit 63, according to the mode selected by the mode selection unit 63, to compress the current image data. In more detail, if the mode selected by the mode selection unit 65 is a PCM encoding mode, the PCM encoder 65 may truncate the lower 4 bits of the 8 bits of current image data corresponding to the color component of each pixel of the 22 block received from the mode selection unit 63, and output the remaining 4 bits of the current image data as the compressed data of the current image data to the MUX 66.
(48) The MUX 66 thereafter multiplexes the 4 bits of mode data representing the mode selected by the mode selection unit 63, with a total of 44 bits of the compressed data received from the DPCM encoder 64 and/or the compressed data received from the PCM encoder 65, and may further store 48 bits of data in the memory 22.
(49)
(50) Referring to
(51) In this case, the DPCM encoder 64 calculates a difference between 8 bits of current image data corresponding to the R component of a pixel P0 received from the mode selection unit 63 and 8 bits of reference image data corresponding to the R component of a pixel P1. If the difference can be represented by 4 bits, that is, if the difference is in a range of 8 to 7, the DPCM encoder 64 outputs the difference as 4 bits of compressed data to the MUX 66. However, if the difference is not in the range of 8 to 7, i.e., if the difference cannot be represented by 4 bits, the DPCM encoder 64 may output the 8 bits of current image data corresponding to the R component of the pixel P0 received from the mode selection unit 63, to the bit shifter 62. In addition, the DPCM encoder 64 may process 8 bits of current image data corresponding to the G component of the pixel P0 received from the bit shifter 62, in the same way as the processing of the R component.
(52) In addition, the DPCM encoder 64 may calculate a difference between 8 bits of current image data corresponding to the B component of the pixel P0 received from the mode selection unit 63 and 8 bits of reference image data corresponding to the B component of the pixel P1. If the difference can be represented by 3 bits, that is, if the difference is in a range of 4 to 3, the DPCM encoder 64 may output the difference as 3 bits of compressed data. If the difference is not in the range of 4 to 3, i.e., the difference cannot be represented by 3 bits, the DPCM encoder 64 may output the 8 bits of current image data corresponding to the B component of the pixel P0 received from the mode selection unit 63, back to the bit shifter 62.
(53) The DPCM encoder 64 may process pixels P1, P2, and P3 received from the mode selection unit 63 in a similar manner as the processing of the pixel P0, for example.
(54)
(55) Thus, referring to
(56) In this case, if the 8 bits of current data is an R or G component, the DPCM encoder 64 may process the R or G component in a similar way as the processing described above with reference to
(57) In addition, the DPCM encoder 64 may process pixels P1, P2, and P3 received from the mode selection unit 63, in a similar manner as the processing of the pixel P0.
(58)
(59) Referring to
(60) In this case, if the 8 bits of current image data is a B component, the DPCM encoder 64 may process the B component in a similar manner as the processing illustrated above with reference to
(61) In addition, if 8 bits of current image data of a pixel P0 received from the mode selection unit 63 is a G component, the DPCM encoder 64 may process the G component, in a similar manner as the processing of the R component. Further, the DPCM encoder 64 may process pixels P1, P2, and P3 received from the mode selection unit 63, in a similar manner as the processing of the pixel P0.
(62)
(63)
(64)
(65)
(66)
(67) The modes 4 through 7 illustrated in
(68)
(69) In particular, in the mode 8 illustrated in
(70) Further, in the mode 9 illustrated in
(71) In the mode 10 illustrated in
(72)
(73)
(74) Referring to
(75) In operation 191, a picture may be received and divided into units of 22 blocks, e.g., as illustrated in
(76) In operation 192, the indicated number of shifting operations that are to be applied to current image data corresponding to the 22 blocks in operation 191, may be set to 0.
(77) In operation 193, if the number of bit shifting operations applied to 8 bits of current image data corresponding to a certain color component of a certain pixel of a 22 block is 4 or less when the color component is a R or G component, and is 3 or less when the color component is a B component, the process may proceed to operation 194. If the number of the bit shifting operations exceeds 4 when the color component is an R or G component or exceeds 3 when the color component is a B component, the process may proceed to operation 198.
(78) In operation 194 a difference between the 8 bits of current image data corresponding to the color component of the pixel of the 22 block and reference image data corresponding to the current image data may be calculated.
(79) In operation 195, whether the calculated difference can be represented by bits of a constant length may be determined. If the difference can be represented by bits of a constant length, the process may proceed to operation 196, and if the difference cannot be represented by bits of a constant length, the process may proceed to operation 197.
(80) In operation 196, the difference may be output as compressed data of the current image data.
(81) In operation 197, 8 bits of current image data corresponding to the color component of the pixel of the 22 block and 8 bits of reference image data corresponding to the current image data may be shifted, in a unit of 1 bit, in a direction to the right. Then, the indicated number of bit-shifting operations of the current image data may be increased by 1, and the process may return to operation 193.
(82) In operation 198, 4 bits of the 8 bits of current image data corresponding to the color component of the pixel of the 22 block may be truncated and the remaining 4 bits of the current image data may be output as compressed data of the current image data.
(83) In operation 199, 4 bits of mode data indicating either of a DPCM encoding mode and a PCM mode corresponding to the number of bit-shifting operations of the current image data may be multiplexed with the total of 44 bits of the compressed data output in respective operation 196 and operation 198, such that the resultant 48 bits of data may be stored, e.g., in the memory 22.
(84)
(85) Referring to
(86) The DEMUX 201 may read 48 bits of data from the memory 22, extracts 4 bits of mode data and 44 bits of compressed data from the 48 bits of data, and output the 4 bits of mode data and the 44 bits of compressed data to the mode identifying unit 202.
(87) The mode identifying unit 202 identifies the mode selected by the data compression system 21, from among a plurality of modes which can compress current image data corresponding to a 22 block, for example, using the example 4 bits of mode data received from the DEMUX 201. In addition, the mode identifying unit 202 may output the 44 bits of compressed data received from the DEMUX 201 to the bit shifter 203 or the PCM decoder 205, according to the identified mode. That is, if the 4 bits of mode data received from the DEMUX 201 indicates one of the modes 0 through 7, the mode identifying unit 202 may output the 44 bits of compressed data received from the DEMUX 201 to the bit shifter 203. Further, if the 4 bits of mode data received from the DEMUX 201 indicates one of the modes 9 through 11, the mode identifying unit 202 may output the 44 bits of compressed data received from the DEMUX 201 to the PCM decoder 205. If the 4 bits of mode data received from the DEMUX 201 indicates the mode 8, the mode identifying unit 202 may output 32 bits of compressed data corresponding to R and G components from among the 44 bits of compressed data received from the DEMUX 201, to the PCM decoder 205, and outputs 12 bits of compressed data corresponding to a B component from among the 44 bits of compressed data received from the DEMUX 201, to the bit shifter 203.
(88) The bit shifter 203 may shift bits of a constant length, e.g., 4 bits of compressed data, corresponding to a difference between 8 bits of current image data and reference image data corresponding to the current image data, by the number of bit-shifting operations of the 8 bits of current image data indicated by the mode identified by the mode identifying unit 202, in a unit of a bit. In particular, the bit shifter 203 may shift the compressed data in a direction to the left, which is the reverse direction of the bit shifting operations performed when the current image data is compressed. Shifting the 4 bits of compressed data to the left in a unit of 1 bit means shifting the image data in the Most Significant Bit (MSB) side. Accordingly, shifting 8 bits of compressed data in a unit of 1 bit is equivalent to doubling the 8 bits of compressed data value.
(89) In addition, the bit shifter 203 may then add a binary value corresponding to the number of bit-shifting operations of the 8 bits of current image data, to the bit-shifted 4 bits of compressed data, thus restoring the difference between the current image data and the reference image data, and output the restored difference to the DPCM decoder 204. For example, if the mode identified by the mode identifying unit 202 is the mode 4, e.g., as illustrated in
(90) The DPCM decoder 204 may add the difference between the current image data and the reference image data, to the 8 bits of reference image data, according to the mode identified by the mode identifying unit 202, thereby reconstructing the 8 bits of current image data. In more detail, if the mode identified by the mode identifying unit 202 indicates a mode in which the DPCM method is used, the DPCM decoder 204 may add the difference between the current image data and the reference image data to the 8 bits of reference image data, thereby reconstructing the 8 bits of current image data. In particular, the DPCM decoder 204 may select reference image data corresponding to the current image data, in a similar manner as the reference image data selecting method is used by the data compression system 21, for example.
(91) The PCM decoder 205 may add 4 bits of a binary value to the 4 bits of compressed data received from the mode identifying unit 202, according to the mode identified by the mode identifying unit 202, thereby reconstructing the current image data. In more detail, if the mode identified by the mode identifying unit 202 is a mode in which the PCM method is used, the PCM decoder 205 adds 4 bits of a binary value, for example, 1000, to the 4 bits of compressed data received from the mode identifier 202, thereby reconstructing the current image data.
(92) The merger 206 may merge the current image data reconstructed by the DPCM decoder 204 and the current image data reconstructed by the PCM decoder 205, that is, to generate the total 96 bits of 22 blocks, thereby reconstructing a picture.
(93)
(94) Referring to
(95) In operation 211, 48 bits of data may be read from the memory 22, and 4 bits of mode data and 44 bits of compressed data may be extracted from the 48 bits of data.
(96) In operation 212, a mode selected for compression, e.g., by the data compression system 21, from among a plurality of modes which can compress current image data corresponding to a 22 block, may be identified from the 4 bits of mode data extracted in operation 211. If the identified mode is a mode in which the DPCM method is used, the process may proceed to operation 213, and if the identified mode is a mode in which the PCM method is used, the process may proceed to operation 215.
(97) In operation 213, 4 or 3 bits of compressed data may be shifted by the number of bit-shifting operations of the 8 bits of current image data indicated by the mode identified in operation 212, in a unit of 1 bit, in a direction to the left, and a binary value corresponding to the number of bit-shifting operations of the 8 bits of current image data may be added to the 4 or 3 bits of compressed data, thereby restoring the difference between the current image data and the reference image data.
(98) In operation 214, the difference between the current image data and the reference image data may be added to the 8 bits of reference image data, thereby reconstructing the 8 bits of current image data.
(99) In operation 215, 4 bits of a binary value may be added to the 4 bits of compressed data, thereby reconstructing the current image data.
(100) In operation 216, the reconstructed current image data reconstructed in operation 214 may be merged with the reconstructed current image data reconstructed in operation 215, to generate the total 96 bits of 22 blocks, and thereby reconstructing the corresponding picture.
(101) In addition to the above described embodiments, embodiments of the present invention can also be implemented through computer readable code/instructions in/on a medium, e.g., a computer readable medium, to control at least one processing element to implement any above described embodiment. The medium can correspond to any medium/media permitting the storing and/or transmission of the computer readable code.
(102) The computer readable code can be recorded/transferred on a medium in a variety of ways, with examples of the medium including recording media, such as magnetic storage media (e.g., ROM, floppy disks, hard disks, etc.) and optical recording media (e.g., CD-ROMs, or DVDs), and transmission media such as carrier waves, as well as through the Internet, for example. Thus, the medium may further be a signal, such as a resultant signal or bitstream, according to embodiments of the present invention. The media may also be a distributed network, so that the computer readable code is stored/transferred and executed in a distributed fashion. Still further, as only an example, the processing element could include a processor or a computer processor, and processing elements may be distributed and/or included in a single device.
(103) As described above, according to one or more embodiments of the present invention, by compressing and/or reconstructing image data selectively using one of a DPCM method and a PCM method, it is possible to significantly lower the complexity of an image encoder/decoder system and exactly meet a picture-based CBR required by LCD DCC devices/systems. Furthermore, according to one or more embodiments of the present invention, since data is compressed and/or reconstructed in a unit of a 22 block made up of 4 pixels, using the DPCM method and the PCM method, it is possible to compress data without subjective picture quality deterioration of original images.
(104) Although a few embodiments of the present invention have been shown and described, it would be appreciated by those skilled in the art that changes may be made in these embodiments without departing from the principles and spirit of the invention, the scope of which is defined in the claims and their equivalents.