US10984561B2 - Method for compressing image and device using the same - Google Patents
Method for compressing image and device using the same Download PDFInfo
- Publication number
- US10984561B2 US10984561B2 US16/412,457 US201916412457A US10984561B2 US 10984561 B2 US10984561 B2 US 10984561B2 US 201916412457 A US201916412457 A US 201916412457A US 10984561 B2 US10984561 B2 US 10984561B2
- Authority
- US
- United States
- Prior art keywords
- specific
- sub
- group
- tree
- groups
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active, expires
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/40—Tree coding, e.g. quadtree, octree
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/184—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/96—Tree coding, e.g. quad-tree coding
Definitions
- the disclosure relates to a method for image compression and a device using the same. More particularly, the disclosure relates to a method for image compression based on a binary tree principle and a device using the same.
- image compression is generally performed to compress an image by utilizing spatial redundancy or inter-channel redundancy.
- a data difference existing in a part of blocks of the image may be too large so that almost no redundancy exists between the spaces or channels.
- it may be difficult to obtain preferable compression quality by a conventional method for image compression such that greater distortion or deviation may appear to a part of the data after being compressed.
- the greater deviation appears mostly due to errors occurring to a plurality of most significant bits (MSBs) after channel data is compressed.
- MSBs most significant bits
- the disclosure provides a method for image compression and a device using the same capable of improving quality of the image compression by preserving a plurality of most significant bits (MSBs) of channel data.
- MSBs most significant bits
- the disclosure provides a method for image compression includes: retrieving an image block including a plurality of pixels, wherein each of the pixels include a plurality of channel data; defining a plurality of root nodes according to an image compressing ratio of the image block; categorizing each of the channel data of each of the pixels into a plurality of groups corresponding to the root nodes, wherein a structure of each of the groups is a binary tree; if at least one empty tree exists in the groups, dividing at least one non-empty tree of the groups into a plurality of sub-trees and replacing the at least one empty tree and the at least one non-empty tree with the sub-trees to update the groups and the root nodes; building a center value of each of the groups and determining a group index of each of the channel data of each of the groups; and encoding the center value of each of the groups and characterizing each of the channel data as the corresponding center value and the group index to compress each of the channel data.
- the disclosure provides a device for image compression including a storage circuit and a processor.
- the storage circuit stores a plurality of modules.
- the processor is coupled to the storage circuit and accesses the modules to perform steps of: retrieving an image block including a plurality of pixels, wherein each of the pixels includes a plurality of channel data; defining a plurality of root nodes according to an image compressing ratio of the image block; categorizing each of the channel data of each of the pixels into a plurality of groups corresponding to the root nodes, wherein a structure of each of the groups is a binary tree; if at least one empty tree exists in the groups, dividing at least one non-empty tree of the groups into a plurality of sub-trees and replacing the at least one empty tree and the at least one non-empty tree with the sub-trees to update the groups and the root nodes; building a center value of each of the groups and determining a group index of each of the channel data of each of the groups; encoding the center value of
- the method for image compression and the device using the same can categorize all the data in the image block into a plurality of groups by utilizing the binary tree principle, such that the lossless encoding of information of MSBs can be assured as much as possible to reduce errors after the data is compressed.
- FIG. 1 is a functional block diagram illustrating an image compressing device according to an embodiment of the disclosure.
- FIG. 2 is a method for image compression according to an embodiment of the disclosure.
- FIG. 3A is a schematic diagram illustrating defining the root nodes based on the image compressing ratio according to an embodiment of the disclosure.
- FIG. 3B is a schematic diagram illustrating categorizing each channel data into the groups corresponding to the root nodes depicted in FIG. 3A .
- FIG. 3C is a schematic diagram illustrating the updated groups and root nodes depicted in FIG. 3B .
- FIG. 3D is a schematic diagram illustrating the updated groups and root nodes depicted in FIG. 3C .
- FIG. 4 is a schematic diagram illustrating updating the groups and accordingly building the center value according to an embodiment of the disclosure.
- FIG. 1 is a functional block diagram illustrating an image compressing device according to an embodiment of the disclosure.
- an image compressing device 100 includes a storage circuit 102 and a processor 104 .
- the image compressing device 100 may be a cell phone, a personal computer (PC), a notebook PC, a netbook PC, a tablet PC, a digital camera or other similar smart devices, but the disclosure is not limited thereto.
- the storage circuit 102 may be any fixed or movable random access memory (RAM), read only memory (ROM), flash memory, hard disk or other similar devices and may be used to store computer readable software, images, programming modules and other information.
- RAM random access memory
- ROM read only memory
- flash memory hard disk or other similar devices and may be used to store computer readable software, images, programming modules and other information.
- the processor 104 is coupled to the storage circuit 102 and may be a general purpose processor, a special purpose processor, a typical processor, a digital signal processor (DSP), a plurality of microprocessors, one or more microprocessors integrated with a DSP core, a controller, a micro-controller, an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), any other type of integrated circuit, a state machine, an advanced RISC machine-based processor or the like.
- DSP digital signal processor
- ASIC application specific integrated circuit
- FPGA field programmable gate array
- FIG. 2 is a method for image compression according to an embodiment of the disclosure.
- the method of the present embodiment may be performed by the image compressing device 100 illustrated in FIG. 1 , and detailed steps of the method will be described with reference to each element illustrated in FIG. 1 .
- the processor 104 may retrieve an image block.
- the processor 104 may, after receiving a complete image frame, divide the image frame into a plurality of image blocks having the same size. In order to describe the spirit of the disclosure, the description will be set forth based on one of the image blocks retrieved by the processor 104 .
- the size of the image block in consideration is assumed (but not limited) to be 8 ⁇ 2 (i.e., the length is 8 pixels, the width is 2 pixels, and the size is 16 pixels in total).
- Each pixel may have 3 pieces of channel data (respectively corresponding to R, G and B), and each channel data may include, for example, 8 bits.
- step S 220 the processor 104 may define a plurality of root nodes according to an image compressing ratio of the image block.
- FIG. 3A is a schematic diagram illustrating defining the root nodes based on the image compressing ratio according to an embodiment of the disclosure.
- the image compressing ratio used to compress the image block is 2
- the root nodes R 1 , R 2 , R 3 , R 4 , R 6 , R 7 , and R 8 may respectively include 000, 001, 010, 011, 100, 101, 110 and 111, as illustrated in FIG. 3A .
- the image compressing ratio may be adjusted according to a designer's demand, such that the root nodes defined in this way may be present in different aspects. For example, it is assumed that the image compressing ratio used to compress the image block is 3, and the root nodes may include 00, 01, 10 and 11. In another example, it is assumed that the image compressing ratio used to compress the image block is 6, and the root nodes may include 0 and 1. However, the disclosure is not limited thereto.
- step S 230 the processor 104 may categorize each channel data of each pixel into a plurality of groups corresponding to the root nodes, wherein a structure of each group is a binary tree.
- FIG. 3B is a schematic diagram illustrating categorizing each channel data into the groups corresponding to the root nodes depicted in FIG. 3A .
- the channel data due to having 3 most significant bits (MSBs) of “000”, may be categorized into a group G 1 which the root node R 1 (i.e., “000”) belongs to, thereby forming a leaf 311 in the group G 1 according to a general binary tree building principle.
- MSBs most significant bits
- the 2 pieces of channel data may be categorized into the group G 1 which the root node R 1 (i.e., “000”) belongs to, thereby forming a leaf 312 in the group G 1 according to the general binary tree building principle, wherein the arrow pointing to the leaf 312 is labeled by 2 to represent that the number of the channel data of “00000100” is 2 in total.
- the channel data may correspondingly categorized into a group G 2 , G 3 , G 4 , G 5 , G 6 , G 7 or G 8 as a leaf.
- exemplary aspects of the groups G 1 -G 8 are as follows. There are 17 sub-trees and 24 leaves in total in the group G 1 which the root node R 1 (i.e., “000”) belongs to. There are 2 sub-trees and 6 leaves in total in the group G 2 which the root node R 2 (i.e., “001”) belongs to. There are 5 sub-trees and 6 leaves in total in the group G 3 which the root node R 3 (i.e., “010”) belongs to.
- step S 240 if any empty tree exists in the aforementioned groups, the processor 104 may divide non-empty trees of the groups into a plurality of sub-trees and replace the empty trees and the non-empty trees with the sub-trees to update the groups and the root nodes.
- each of the non-empty trees at least has a left sub-tree and a right sub-tree.
- the non-empty trees may be, for example, the groups G 1 -G 3 and G 6 .
- the groups G 1 -G 3 and G 6 may be divided into a plurality of sub-trees and used to replace the empty trees illustrated in FIG. 3B , i.e., the groups G 7 and G 8 .
- the processor 104 may update the groups G 1 -G 8 by the following steps.
- a specific non-empty tree is selected from the non-empty trees.
- the specific non-empty tree is divided into a first sub-tree and a second sub-tree.
- the specific non-empty tree and a specific empty tree among the empty trees are replaced with the first sub-tree and the second sub-tree to update the groups G 1 -G 8 .
- Steps (a), (b), (c) and (d) are repeated until no non-empty tree exists in the groups G 1 -G 8 .
- the processor 104 may serve one of the non-empty trees which has a maximum number of leaves as the aforementioned specific non-empty tree. In another embodiment, if there are 2 non-empty trees simultaneously having the maximum number of leaves, the processor 104 may serve one of the non-empty trees which has a minimum number of sub-trees as the aforementioned specific non-empty tree. In other embodiments, if there are 2 non-empty trees simultaneously having the maximum number of leaves and the same number of sub-trees, the processor 104 may select one of them as the specific non-empty tree. However, the disclosure is not limited thereto.
- the processor 104 may select the group G 1 as the specific non-empty tree and may divide the group G 1 into the first sub-tree and the second sub-tree.
- the group G 1 may be divided into the first sub-tree serving a node of “0000” as a root node and the second sub-tree serving a node of “0001” as a root node. Then, the processor 104 may replace the specific non-empty tree (i.e., the group G 1 ) and the specific empty tree (e.g., the group G 7 ) among the empty trees with the first sub-tree and the second sub-tree to update the groups G 1 -G 8 .
- the specific non-empty tree i.e., the group G 1
- the specific empty tree e.g., the group G 7
- the processor 104 may replace a first root node (i.e., the root node R 1 ) corresponding to the specific non-empty tree (i.e., the group G 1 ) among the root nodes R 1 -R 8 with the root node (i.e., “0000”) of the first sub-tree and replace a second root node (i.e., the root node R 7 ) corresponding to the specific empty tree (i.e., the group G 7 ) among the root nodes R 1 -R 8 with the root node (i.e., “0001”) of the second sub-tree to update the root nodes R 1 -R 8 .
- a first root node i.e., the root node R 1
- the specific non-empty tree i.e., the group G 1
- the root node i.e., “0000”
- the aforementioned operation may be considered as first removing one of the empty trees and then selecting a larger one of the non-empty trees to categorize it into two separate binary trees, thereby creating new groups G 1 -G 8 .
- FIG. 3C is a schematic diagram illustrating the updated groups and root nodes depicted in FIG. 3B .
- the updated group G 1 may, for example, correspond to the first sub-tree serving the node of “0000” as the root node in FIG. 3B , and the root node R 1 of the group G 1 may also be correspondingly updated as “0000”.
- the updated group G 7 may, for example, correspond to the second sub-tree serving the node of “0001” as the root node in FIG. 3B , and the root node R 7 of the group G 7 may also be correspondingly updated as “0001”.
- the processor 104 may again perform the aforementioned steps (a)-(b) to update the aspect as illustrated in FIG. 3C .
- the processor 104 may select one of them which has a minimum number of sub-trees as the aforementioned specific non-empty tree. Because the group G 7 has 8 sub-trees less than 9 sub-trees of the group G 1 , the processor 104 may select the group G 7 as the aforementioned specific non-empty tree and may divide the group G 71 into the first sub-tree and the second sub-tree.
- the group G 7 may be divided into the first sub-tree serving a node of “000100” as a root node and the second sub-tree serving a node of “00011” as a root node. Then, the processor 104 may replace the specific non-empty tree (i.e., the group G 7 ) and a specific empty tree (e.g., the group 8 ) among the empty trees with the first sub-tree and the second sub-tree to update the groups G 1 -G 8 .
- the specific non-empty tree i.e., the group G 7
- a specific empty tree e.g., the group 8
- the processor 104 may replace a first root node (i.e., the root node R 7 ) corresponding to the specific non-empty tree (i.e., the group G 7 ) among the root nodes R 1 -R 8 with the root node (i.e., “000100”) of the first sub-tree and replace a second root node (i.e., the root node R 8 ) corresponding to the specific empty tree (i.e., the group G 8 ) among the root nodes R 1 -R 8 with the root node (i.e., “00011”) of the second sub-tree to update the root nodes R 1 -R 8 .
- a first root node i.e., the root node R 7
- the specific non-empty tree i.e., the group G 7
- the root node i.e., “000100”
- FIG. 3D is a schematic diagram illustrating the updated groups and root nodes depicted in FIG. 3C .
- the updated group G 7 may, for example, correspond to the first sub-tree serving the node of “000100” as the root node in FIG. 3C , and the root node R 7 of the group G 7 may also be correspondingly updated as “000100”.
- the updated group G 8 may, for example, correspond to the second sub-tree serving the node of “00011” as the root node in FIG. 3C , and the root node R 7 of the group G 8 may also be correspondingly updated as “00011”.
- the processor 104 may build a center value of each of the groups G 1 -G 8 and determining a group index of each channel data of each group.
- the processor 104 may retrieve a specific root node corresponding to the specific group among the root nodes R 1 -R 8 . Thereafter, the processor 104 may retrieve a specific sub-node under the specific root node.
- the specific sub-node has a maximum number of leaves among a plurality of sub-nodes of the specific root node. In another embodiment, the specific sub-node has a minimum number of sub-trees among the sub-nodes of the specific root node. In other embodiments, if the sub-nodes of the specific root node have the same number of leaves and the same number of sub-trees, the processor 104 may arbitrarily select one from these sub-nodes as the specific sub-node. Thereby, the selected specific sub-node may preferably exhibit data characteristics of the specific group, so as to reduce quality loss after the compression.
- the processor 104 may pad the specific sub-node to a specific length based on a highest bit of a difference between the specific root node and the specific sub-node. Meanwhile, the processor 104 may define the padded specific sub-node as a center value of the specific group.
- the processor 104 may retrieve a specific root node (i.e., the root node R 1 ) corresponding to the group G 1 among the root nodes R 1 -R 8 and select a specific sub-node under the root node R 1 .
- a specific root node i.e., the root node R 1
- the processor 104 may retrieve a specific root node (i.e., the root node R 1 ) corresponding to the group G 1 among the root nodes R 1 -R 8 and select a specific sub-node under the root node R 1 .
- the root node R 1 has, for example, a sub-node R 11 (i.e., “00000”) and a sub-node R 12 (i.e., “000010”), wherein even though the sub-nodes R 11 and R 12 have the same number (i.e., 6 ) of leaves, the processor 104 may select the sub-node R 12 as the specific sub-node because the number (i.e., 4 ) of sub-trees of the sub-node R 12 is less than the number (i.e., 5 ) of sub-trees of the sub-node R 11 .
- the processor 104 may pad the sub-node R 12 to a specific length based on a highest bit of a difference between the root node R 1 (i.e., “0000”) and the specific sub-node R 12 (i.e., “000010”).
- the difference between the root node R 1 and the sub-node R 12 is “10”
- the highest bit is “1”
- the processor 104 may pad the sub-node R 12 to a specific length (e.g., 8 bits) based on the highest bit.
- the processor 104 may use an inverted value (i.e., “0”) of the highest bit to pad the sub-node R 12 to 8 bits. Namely, the padded sub-node R 12 is “00001000”, and the processor 104 may define “00001000” (the padded sub-node R 12 ) as a center value of the group G 1 .
- the processor 104 may also obtain the center value of each of the groups G 1 -G 8 based on the teaching set forth above, and details thereof will not repeated hereinafter.
- the processor 104 may determine a group index of each channel data in each of the groups G 1 -G 8 .
- the processor 104 may retrieve a 1 st channel data from the aforementioned 48 pieces of channel data and accordingly define a 1 st group among the groups G 1 -G 8 , wherein the 1 st group is defaulted as a group which the first channel data belongs to.
- the group index of the first channel data may be omitted (i.e., the number of bits required for recording the group index is “0”).
- the processor 104 may indicate that a 2 nd channel data among the 48 pieces of channel data is located in the 1 st group or a 2 nd group among the groups G 1 -G 8 by using 1 bit.
- the 2 nd channel data may be placed in the 2 nd group.
- the 2 nd channel data needs 1 bit to indicate which group it belongs to.
- the processor 104 may indicate that the 3 rd channel data is located in the 1 st group, the 2 nd group or the 3 rd group by using 2 bits.
- the processor 104 may indicate that the 4 th channel data is located in the 1 st group, the 2 nd group or the 3 rd group by using 2 bits.
- the processor 104 For i th channel data among the 48 pieces of channel data, the processor 104 needs 3 bits to indicate that the i th channel data is located in a j th group among the groups G 1 -G 8 , wherein i is an integer ranging between 5 and X, X is a total number (i.e., 48 ) of the channel data, j is an integer ranging between 1 and Y, and Y is a total number (i.e., 8 ) of the groups G 1 -G 8 .
- step S 260 the processor 104 may encode the center value of each of the groups G 1 -G 8 and characterize each channel data as the corresponding center value and the group index to compress each channel data.
- the processor 104 may represent the center value corresponding to the n th group by using m MSBs thereof, wherein
- n an integer ranging between 1 and Y
- mod(a, b) is a remainder of b categorized by a.
- the group index used for encoding each channel data and the number of bits required for encoding the center value of each of the groups G 1 -G 8 may be organized in Table 1 below.
- the length of the center value of each of the groups G 1 -G 8 should be 8 bits.
- 55 bits are not sufficient to completely represent the center value of each of the groups G 1 -G 8 (where 64 bits in total are required), and thus, for a part of the groups G 1 -G 8 (e.g., the 7 th or the 8 th group), the center values of the part of the groups have to be encoded by a loss encoding method.
- the processor 104 may use 7 MSBs of the center value of the seventh group to represent the center value to encode the center value.
- the processor 104 may use 6 MSBs of the center value of the 8 th group to represent the center value to encode the center value.
- the processor 104 may characterize each channel data as the corresponding center value and the group index. Taking the channel data in the group G 1 as an example, all of these channel data are replaced with the center value of the encoded group G 1 . Meanwhile, since each channel data in the group G 1 has the corresponding group index according to the teaching of the embodiments set forth above, each channel data in the group G 1 may be characterized as “encoded center value+group index of the group G 1 ”, thereby, achieving an effect of compressing each channel data in the group G 1 .
- the processor 104 may adopt the similar concept to characterize each channel data in each of the groups G 1 -G 8 , thereby achieving the effect of compressing each channel data in the groups G 1 -G 8 .
- the method for image compression and the device using the same provided by the disclosure can categorize all the data in the image block into 8 groups by utilizing the binary tree principle, such that the lossless encoding of the information of MSBs can be assured as much as possible. Meanwhile, distribution characteristics of each channel data in each group have been considered during the process of building the center value of each group, so as to reduce errors after the compression. Thereby, the method of the embodiments of the disclosure can have preferable quality assurance in a condition that the difference between the data in the image block is relatively large (e.g., an image including a great amount of non-Chinese characters). Meanwhile, through experiments, a peak signal to noise ratio (PSNR) of the image block may be increased by about 1% to 7% by using the method for image compression of the disclosure.
- PSNR peak signal to noise ratio
- FIG. 4 is a schematic diagram illustrating updating the groups and accordingly building the center value according to an embodiment of the disclosure.
- the 48 pieces of channel data in the image block are sequentially listed at the leftmost side in FIG. 4 , and these channel data may be categorized into groups of corresponding root nodes based on the teaching set forth above.
- the groups may be updated as groups G 1 -G 7 as illustrated respectively corresponding to root nodes R 1 -R 7 .
- the processor 104 may again perform the update for the second time to update the groups G 1 -G 7 as the groups G 1 -G 8 as illustrated (respectively corresponding to root nodes R 1 -R 8 ).
- the processor 104 may build the center value of each of the groups G 1 -G 8 based on the teaching set forth above.
- the center value of the group G 1 is, for example, “00000111”, namely, the 1 st channel data through the 15 th channel data are replaced by this center value.
- the center value of the group G 2 is, for example, “00010111”, namely, the 16 th channel data through the 24 th channel data are replaced by this center value.
- the center value of the group G 3 is, for example, “00101111”, namely, the 25 th channel data through the 30 th channel data are replaced by this center value.
- the center value of the group G 4 is, for example, “01000111”, namely, the 31 st channel data through the 33 rd channel data are replaced by this center value.
- the center value of the group G 5 is, for example, “0110111”, namely, the 34 th channel data through the 37 th channel data are replaced by this center value.
- the center value of the group G 6 is, for example, “10001111”, namely, the 38 th channel data through the 39 th channel data are replaced by this center value.
- the center value of the group G 7 is, for example, “10101000”, namely, the 40 th channel data through the 42th channel data are replaced by this center value.
- the center value of the group G 8 is, for example, “11101111”, namely, the 43 rd channel data through the 48 th channel data are replaced by this center value.
- the processor 104 may encode each of the aforementioned center values and characterize each channel data together with the group index of each of the 48 pieces of channel data in an aspect of “encoded center value+group index”, thereby achieving the effect of compression.
- a total budget that may be used for encoding the 48 pieces of channel data in the image block is 128 (i.e., 384 / 3 ) bits.
- the processor 104 may categorize the aforementioned 48 pieces of channel data into 4 groups. Meanwhile, the processor 104 may retrieve a 1 st channel data from the aforementioned 48 pieces of channel data, and accordingly define a 1 st group among the 4 groups, wherein the 1 st group is defaulted as a group which the 1 st channel data belongs to. In this way, a group index of the 1 st channel data may be omitted (i.e., the number of bits required for recording the group index of the 1 st channel data is 0).
- the processor 104 may indicate that a 2 nd channel data among the 48 pieces of channel data is located in the 1 st group or a 2 nd group among the 4 groups by using 1 bit.
- the 2 nd channel data is not in the 1 st group, the 2 nd channel data is placed in the 2 nd group.
- the processor 104 For i th channel data among the 48 pieces of channel data, the processor 104 needs 2 bits to indicate that the i th channel data is located in a j th group among the 4 groups, wherein i is an integer ranging between 3 and X, X is a total number (i.e., 48) of the channel data, j is an integer ranging between 1 and Y, and Y is a total number (i.e., 4) of the 4 groups.
- the processor 104 may perform the lossless encoding on the center value corresponding to the n th group, wherein n is an integer ranging between 1 and Y.
- a total budget that may be used for encoding the 48 pieces of channel data in the image block is 64 (i.e., 384/6) bits.
- the processor 104 may categorize the aforementioned 48 pieces of channel data into 2 groups. Meanwhile, the processor 104 may retrieve a 1 st channel data from the aforementioned 48 pieces of channel data, so as to define a 1 st group of the 2 groups, wherein the 1 st group is defaulted as a group which the 1 st channel data belongs to. Thereby, a group index of the 1 st channel data may be omitted (i.e., the number of bits required for recording the group index of the 1 st channel data is 0).
- the processor 104 For i th channel data among the 48 pieces of channel data, the processor 104 needs 2 bits to indicate that the i th channel data is located in a j th group of the 2 groups, wherein i is an integer ranging between 2 and X, X is a total number (i.e., 48) of the channel data, j is an integer ranging between 1 and Y, and Y is a total number (i.e., 2) of the 2 groups.
- the processor 104 may perform the lossless encoding on the center value corresponding to the n th group, wherein n is an integer ranging between 1 and Y.
- the method for image compression and the device using the same provided by the disclosure can categorize all the data in the image block into a plurality of groups based on the binary tree principle and the image compressing ratio in consideration, such that the lossless encoding of the information of the MSBs can be assured as much as possible. Meanwhile, the distribution characteristics of the channel data in each group have also been considered during the process of building the center value of each group, so as to reduce the errors after the compression. In this way, the method of the embodiments of the disclosure can obtain preferable quality assurance in a condition that the difference between the data in the image block is relatively large.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Description
wherein n is an integer ranging between 1 and Y, and mod(a, b) is a remainder of b categorized by a.
| TABLE 1 | ||||||||
| |
1st | 2nd | 3rd | 4th | 5th | 6th | 7th | 8th |
| index | group | group | group | group | group | group | group | group |
| 137 | 7-8 | 7-8 | 7-8 | 7-8 | 7-8 | 7-8 | 0/7 | 0/6 |
| bits | bits | bits | bits | bits | bits | bits | bits | bits |
Claims (40)
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201910283606.3A CN109982086B (en) | 2019-04-10 | 2019-04-10 | Image compression method and device |
| CN201910283606.3 | 2019-04-10 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| US20200327704A1 US20200327704A1 (en) | 2020-10-15 |
| US10984561B2 true US10984561B2 (en) | 2021-04-20 |
Family
ID=67083801
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US16/412,457 Active 2039-09-03 US10984561B2 (en) | 2019-04-10 | 2019-05-15 | Method for compressing image and device using the same |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US10984561B2 (en) |
| CN (1) | CN109982086B (en) |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20020176494A1 (en) * | 2001-01-30 | 2002-11-28 | Qian Zhao | Lossless and near-lossless source coding for multiple access networks |
| US20050237951A1 (en) * | 2004-04-21 | 2005-10-27 | Yang En-Hui | Method, system and software product for color image encoding |
| US20170347122A1 (en) * | 2016-05-28 | 2017-11-30 | Microsoft Technology Licensing, Llc | Scalable point cloud compression with transform, and corresponding decompression |
| US20200374537A1 (en) * | 2017-12-06 | 2020-11-26 | V-Nova International Limited | Methods and apparatuses for encoding and decoding a bytestream |
| US20200389660A1 (en) * | 2017-12-06 | 2020-12-10 | V-Nova International Limited | Method and apparatus for decoding a received set of encoded data |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7660475B2 (en) * | 2004-12-22 | 2010-02-09 | Ntt Docomo, Inc. | Method and apparatus for coding positions of coefficients |
| KR20200049899A (en) * | 2009-07-02 | 2020-05-08 | 인터디지털 브이씨 홀딩스 인코포레이티드 | Methods and apparatus for video encoding and decoding binary sets using adaptive tree selection |
| CN108419086B (en) * | 2018-05-08 | 2019-04-05 | 北京理工大学 | An Image Compression Method Based on Huffman Coding |
-
2019
- 2019-04-10 CN CN201910283606.3A patent/CN109982086B/en active Active
- 2019-05-15 US US16/412,457 patent/US10984561B2/en active Active
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20020176494A1 (en) * | 2001-01-30 | 2002-11-28 | Qian Zhao | Lossless and near-lossless source coding for multiple access networks |
| US20050237951A1 (en) * | 2004-04-21 | 2005-10-27 | Yang En-Hui | Method, system and software product for color image encoding |
| US20170347122A1 (en) * | 2016-05-28 | 2017-11-30 | Microsoft Technology Licensing, Llc | Scalable point cloud compression with transform, and corresponding decompression |
| US20200374537A1 (en) * | 2017-12-06 | 2020-11-26 | V-Nova International Limited | Methods and apparatuses for encoding and decoding a bytestream |
| US20200389660A1 (en) * | 2017-12-06 | 2020-12-10 | V-Nova International Limited | Method and apparatus for decoding a received set of encoded data |
Also Published As
| Publication number | Publication date |
|---|---|
| CN109982086A (en) | 2019-07-05 |
| US20200327704A1 (en) | 2020-10-15 |
| CN109982086B (en) | 2020-12-08 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US12192499B2 (en) | Methods and apparatuses for encoding and decoding a bytestream | |
| DE112011101116B4 (en) | Two-level BCH codes for solid-state storage devices | |
| US9864550B2 (en) | Method and apparatus of recovering and encoding for data recovery in storage system | |
| JP3992495B2 (en) | Functional memory based on tree structure | |
| DE112010004863T5 (en) | Data management in solid state storage systems | |
| US9698819B1 (en) | Huffman code generation | |
| CN112152634B (en) | Block compression coding method, device, computer equipment and readable storage medium | |
| DE102008016179A1 (en) | Automatic generation of compact code tables | |
| CN116244313B (en) | JSON data storage and access method, device, computer equipment and medium | |
| CN103702133A (en) | Image compression display method and image compression display device | |
| US7840859B2 (en) | Block interleaving with memory table of reduced size | |
| CN101958150A (en) | Memory device and method of operating the same | |
| WO2024149302A1 (en) | Coding method and decoding method, coder and decoder, and chip, hard disk and communication system | |
| CN114203250B (en) | Data storage method and data reading method of solid-state memory and solid-state memory | |
| US10984561B2 (en) | Method for compressing image and device using the same | |
| WO2021012278A1 (en) | Data processing method, system, encoder, and decoder | |
| CN117097906B (en) | A method and system for efficient utilization of regional medical resources | |
| TWI416331B (en) | Data writing method for flash memory, and controller and storage apparatus using the same | |
| CN111263163A (en) | Method for realizing depth video compression framework based on mobile phone platform | |
| CN112115307A (en) | Vertex data rule storage structure of facing graph and connection topology compression method | |
| CN115913248A (en) | Live broadcast software development data intelligent management system | |
| CN110362580B (en) | BIM (building information modeling) construction engineering data retrieval optimization classification method and system thereof | |
| CN110311687B (en) | Time sequence data lossless compression method based on integration algorithm | |
| CN107005693A (en) | System and method for depth image coding of smooth depth image regions | |
| CN105844214A (en) | Multi-path depth encoded information fingerprint extraction method based on bit space |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| AS | Assignment |
Owner name: SHANGHAI ZHAOXIN SEMICONDUCTOR CO., LTD., CHINA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:LIU, SHUOSHUO;ZHAO, YONGTAO;WANG, WEI;REEL/FRAME:049189/0981 Effective date: 20190510 |
|
| FEPP | Fee payment procedure |
Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: NOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONS |
|
| AS | Assignment |
Owner name: GLENFLY TECHNOLOGY CO., LTD., CHINA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:SHANGHAI ZHAOXIN SEMICONDUCTOR CO., LTD.;REEL/FRAME:055054/0850 Effective date: 20210126 |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: NOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONS |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: PUBLICATIONS -- ISSUE FEE PAYMENT RECEIVED |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: PUBLICATIONS -- ISSUE FEE PAYMENT VERIFIED |
|
| STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
| FEPP | Fee payment procedure |
Free format text: ENTITY STATUS SET TO SMALL (ORIGINAL EVENT CODE: SMAL); ENTITY STATUS OF PATENT OWNER: SMALL ENTITY |
|
| MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YR, SMALL ENTITY (ORIGINAL EVENT CODE: M2551); ENTITY STATUS OF PATENT OWNER: SMALL ENTITY Year of fee payment: 4 |