WO2010067942A2 - Lossless video compression method for h.264 codec - Google Patents
Lossless video compression method for h.264 codec Download PDFInfo
- Publication number
- WO2010067942A2 WO2010067942A2 PCT/KR2009/004870 KR2009004870W WO2010067942A2 WO 2010067942 A2 WO2010067942 A2 WO 2010067942A2 KR 2009004870 W KR2009004870 W KR 2009004870W WO 2010067942 A2 WO2010067942 A2 WO 2010067942A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- variable length
- pixel
- compression
- compression codes
- pixel value
- Prior art date
Links
- 238000007906 compression Methods 0.000 title claims abstract description 131
- 230000006835 compression Effects 0.000 title claims abstract description 131
- 238000000034 method Methods 0.000 title claims abstract description 29
- 230000015654 memory Effects 0.000 claims abstract description 25
- 238000000059 patterning Methods 0.000 claims abstract description 7
- 238000006243 chemical reaction Methods 0.000 claims description 8
- 238000013139 quantization Methods 0.000 claims description 2
- 238000013144 data compression Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
Images
Classifications
-
- 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/93—Run-length coding
-
- 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/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
Definitions
- the present invention relates to H.264 codec, and more particularly, to a lossless video compression method for an H.264 codec that is used to reduce bandwidth for communications with an external memory.
- Video compression technology such as H.264 codec is used to predict movements not only within the space of one screen but also within the spaces of several screens on the time axis in order to increase compression efficiency.
- the frame memory is generally implemented as an external memory, such as an SDRAM, that requires a large data capacity.
- variable block-size motion compensation In order to increase the video compression efficiency and functionality, new techniques including variable block-size motion compensation, 1/4 pixel accuracy motion compensation, multiple reference picture prediction, 4x4 conversion and interlaced scanning stereo matching, have been brought into the H.264. These techniques increase video compression rates, but at the same time, significantly increase bandwidth for communications with the external memory.
- An aspect of the present invention provides a lossless video compression method for an H.264 codec that can significantly reduce bandwidth for communications with an external memory by compressing data and storing the compressed data in the external memory.
- Another aspect of the present invention provides a lossless video compression method for an H.264 codec that can compress data to be written in an external memory without loss of images, that is, without lowering video quality, considering the compression is applied to a video system.
- Another aspect of the present invention provides a lossless video compression method for an H.264 codec that allows for free access to data at an arbitrary location in an external memory by generating an address associated with the data written in the external memory.
- a lossless video compression method for an H.264 codec including: dividing an image to be compressed into n (n is a natural number) pixel regions; compressing the n pixel regions to convert the n pixel regions into n variable length compression codes; and generating an address for writing or reading the n variable length compression codes by patterning a size variation of the n variable length compression codes.
- the converting of the n pixel regions into the n variable length compression codes comprises: selecting a reference pixel having the minimum pixel value among m pixels (m is a natural number) according to the pixel regions; comparing the m pixels with the reference pixel to obtain m pixel value differences; converting the m pixel value differences into m compression codes having lengths corresponding to the m pixel value differences based on reference to compression code conversion specifications; and generating variable length compression codes comprising the pixel value of the reference pixel and compression codes respectively corresponding to the m pixels.
- the compression code conversion specifications comprise information about compression code notation varying according to pixel value difference range.
- the compression code notation is '0' + 3 bits when the pixel value difference is from 0 to 7
- the compression code notation is '10'+ 3 bits when the pixel value difference is from 8 to 15
- the compression code notation is '110' + 6 bits when the pixel value difference is from 16 to 79
- the compression code notation of '1110'+ 6 bits when the pixel value difference is from 81 to 143
- the compression code notation is '1111'+ 7 bits when the pixel value difference is from 144 to 271.
- the compression codes increase in length in proportion to the pixel value differences and has a data structure in which the pixel value Min of the reference pixel comes before the m compression codes that are sequentially connected in order of the pixels.
- the generating of the address comprises: quantizing the size of each of the n variable length compression codes; selecting a reference variation pattern most similar to a size variation pattern of the quantized variable length compression codes; obtaining the maximum value and the minimum value of the quantized variable length compression codes and obtaining a step size using a difference between the obtained maximum value and minimum value; and generating an address comprising information about the maximum value of the quantized variable length compression codes, the step size and the selected reference variation pattern.
- the quantization is performed by dividing the size of each of the n variable length compression codes by bandwidth for communications with an external memory.
- the method may further include writing or reading the n variable length compression codes in or from an external memory using the address.
- a lossless video compression method for an H.264 codec can significantly reduce bandwidth for communications with an external memory by applying lossless compression of data being written in the external memory and allows for free access to data at an arbitrary location.
- the energy consumed by H.264 codec can be reduced without lowering video quality, and an operation clock can be reduced.
- FIG. 1 is a view schematically illustrating a lossless video compression method for an H.264 codec according to an exemplary embodiment of the present invention
- FIG. 2 is a view illustrating an example of the operation S10 of dividing an image to be compressed into n pixel regions;
- FIG. 3 is a view illustrating an example of pixel values of adjacent pixels
- FIG. 4 is a view illustrating pixel value differences between a pixel having the minimum pixel value and the remaining pixels, shown in FIG. 3;
- FIG. 5 is a view illustrating the operation S20 of converting pixel regions into variable length compression codes according to an exemplary embodiment of the present invention
- FIG. 6 is a view illustrating a data structure of variable length compression codes according to an exemplary embodiment of the present invention.
- FIG. 7 is a view illustrating the operation S30 of patterning a size variation of n variable length compression codes to generate an address according to an exemplary embodiment of the present invention
- FIG. 8 is a view illustrating examples of reference variation patterns according to an exemplary embodiment of the present invention.
- FIG. 9 is view illustrating an application example of the operation S30 of patterning a size variation of n variable length compression codes, shown in FIG. 7.
- FIG. 1 is a view schematically illustrating a lossless video compression method for an H.264 codec according to an exemplary embodiment of the present invention.
- an image to be compressed is divided into n pixel regions PA1 to PA16 as shown in FIG. 2, in operation S10, the n pixel regions PA1 to PA16 are respectively compressed into n variable length compression codes in operation S20, a size variation of the n variable length compression codes is patterned to generate an address in operation S30, and the n variable length compression codes are written in or read from an external memory using the address generated in operation S30, in operation S40.
- images are not radically changed in terms of space.
- adjacent pixels have similar pixel values.
- a reference pixel having the minimum pixel value within a predetermined range is selected, and differences between the reference pixel and the remaining pixels are compressed to generate compression codes.
- FIG. 5 is a view illustrating the operation S20 of converting pixel regions into variable length compression codes according to an exemplary embodiment of the present invention.
- Each of the n pixel regions PA1 to PA16 is subject to conversion.
- a pixel having the minimum pixel value Min is set as a reference pixel among m pixels within the corresponding pixel region PA1 in operation S21.
- the pixel value of the reference pixel is compared with the pixel values of the m pixels within the corresponding pixel region to thereby obtain m pixel value differences MinDiff_1 to MinDiff_m in operation S22.
- the pixel value differences MinDiff_1 to MinDiff_m are converted into m compression codes Pixel_1 to Pixel_m, respectively, which have lengths variable depending on the differences in pixel values in accordance with compression code conversion specifications in operation S23.
- the lengths of the compression codes respectively corresponding to the m pixels increase in proportion to the pixel value differences between the m pixels and the reference pixel.
- a pixel value difference of '0' corresponds to a compression code of '0000'
- a pixel value difference of '1' corresponds to a compression code of '0001'
- a pixel value difference of '9' corresponds to a compression code of '10010'
- a pixel value difference of '16' corresponds to a compression code of '110000000'.
- variable length compression codes consisting of the minimum pixel value Min and the m compression codes Pixel_1 to Pixel_m according to pixels are generated in operation S24.
- variable length compression codes have a data structure in which the pixel value Min of the reference pixel comes before the m compression codes Pixel_1 to Pixel_m that are sequentially connected in order of the pixels.
- the m pixels are respectively converted into the m compression codes Pixel_1 to Pixel_m, which are then put together into one piece of data to thereby generate the variable length compression codes. Accordingly, the sizes of the variable length compression codes respectively corresponding to the n pixel regions do not remain constant but change continuously.
- the present invention proposes a new address generation method that allows for free access to data at a random location in an external memory even when the variable length compression codes respectively corresponding to the n pixel regions are variable, by utilizing a correlation between the variable length compression codes of the adjacent pixel regions.
- FIG. 7 is a view illustrating the operation S30 of patterning a size variation of the n variable length compression codes according to an exemplary embodiment of the present invention.
- the sizes of the n variable length compression codes, generated by converting the pixel regions into the compression codes in operation S20, are divided by communications bandwidth with the external memory to be quantized in operation S31.
- variable length compression code when a variable length compression code has a size of 160 bits and the bandwidth for communications with the external memory is 64 bits, the size of the variable length compression code is quantized into a value of 3 by dividing 160 bits by 64 bits. In other words, 3 cycles are required to read the variable length compression code having a size of 160 bits by the 64-bit bandwidth for communications.
- the maximum value and the minimum value are obtained among the quantized sizes of the n variable length compression codes in operation S32, and the difference between the maximum value and the minimum value is calculated in operation S33.
- a variation pattern of the quantized sizes of the n variable length compression codes is compared with k reference variation patterns, defined and determined beforehand, to select one reference variation pattern that is most similar to the variation pattern of the quantized sizes of the variable length compression codes in operation S34.
- the k reference variation patterns may be defined and determined before an address is generated by a user in operation S30. As shown in FIG. 8, the k reference variation patterns include various patterns.
- An address containing information about the maximum value of the variable length compression code, the difference between the maximum value and the minimum value of the quantized variable length compression codes, and the reference variation pattern selected in operation S34 is generated in operation S35.
- the address is represented in binary notation.
- the size variation of the n variable length compression codes is patterned to generate an address, and the n variable length compression codes are written in, or read from, the external memory based on the address, so that data at a random location in the external memory can be accessed.
- FIG. 9 it is assumed that an image to be compressed is divided into 16 pixel regions and each of the 16 pixel regions has variable length compression codes of sizes as shown in (a) of FIG. 9.
- each of the 16 variable length compression codes is quantized by a bandwidth of 64 bits for communications with the external memory.
- variable length compression code when a variable length compression code has a size of 64 bits or less, it is quantized into '1', when a variable length compression code has a size of '65 to 128' bits, it is quantized into '2', when a variable length compression code has a size of '129 to 192' bits, it is quantized into '3', when a variable length compression code has a size of '193 to 256' bits, it is quantized into '4', when a variable length compression code has a size of '257 to 320' bits, it is quantized into '5', and when a variable length compression code has a size of '321' or more, it is quantized into '6'.
- a maximum value (6) and a minimum value (3) are obtained among the 16 quantized variable length compression codes, and a difference between the maximum value (6) and the minimum value (3), that is, a step size is obtained.
- the 16 quantized variable length compression codes are arranged as shown in (c) of FIG. 9.
- a size variation pattern of the 16 quantized variable length compression codes is compared with the k reference variation patterns of FIG. 8, to select a reference variation pattern which is most similar to the size variation pattern of the 16 quantized variable length compression codes, for example, a pattern 11.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Organic Low-Molecular-Weight Compounds And Preparation Thereof (AREA)
Abstract
There is provided a lossless video compression method for an H.264 codec. A lossless video compression method for an H.264 codec according to an aspect of the invention may include: dividing an image to be compressed into n (n is a natural number) pixel regions; compressing the n pixel regions to convert the n pixel regions into n variable length compression codes; and generating an address for writing or reading the n variable length compression codes by patterning a size variation of the n variable length compression codes, thereby achieving lossless compression of data to be written in an external memory and allowing for access to data at an arbitrary location.
Description
The present invention relates to H.264 codec, and more particularly, to a lossless video compression method for an H.264 codec that is used to reduce bandwidth for communications with an external memory.
Video compression technology such as H.264 codec is used to predict movements not only within the space of one screen but also within the spaces of several screens on the time axis in order to increase compression efficiency.
To this end, a compressed image needs to be first restored and then written in a frame memory, and data at a desired location therein is read. Here, the frame memory is generally implemented as an external memory, such as an SDRAM, that requires a large data capacity.
In order to increase the video compression efficiency and functionality, new techniques including variable block-size motion compensation, 1/4 pixel accuracy motion compensation, multiple reference picture prediction, 4x4 conversion and interlaced scanning stereo matching, have been brought into the H.264. These techniques increase video compression rates, but at the same time, significantly increase bandwidth for communications with the external memory.
In addition, since images with resolutions as high as full-HD images have been required in the industrial field, the bandwidth for communications with external memories has been a significant factor, which makes it very difficult to achieve full-HD images.
An aspect of the present invention provides a lossless video compression method for an H.264 codec that can significantly reduce bandwidth for communications with an external memory by compressing data and storing the compressed data in the external memory.
Another aspect of the present invention provides a lossless video compression method for an H.264 codec that can compress data to be written in an external memory without loss of images, that is, without lowering video quality, considering the compression is applied to a video system.
Another aspect of the present invention provides a lossless video compression method for an H.264 codec that allows for free access to data at an arbitrary location in an external memory by generating an address associated with the data written in the external memory.
According to an aspect of the present invention, there is provided a lossless video compression method for an H.264 codec, the method including: dividing an image to be compressed into n (n is a natural number) pixel regions; compressing the n pixel regions to convert the n pixel regions into n variable length compression codes; and generating an address for writing or reading the n variable length compression codes by patterning a size variation of the n variable length compression codes.
The converting of the n pixel regions into the n variable length compression codes comprises: selecting a reference pixel having the minimum pixel value among m pixels (m is a natural number) according to the pixel regions; comparing the m pixels with the reference pixel to obtain m pixel value differences; converting the m pixel value differences into m compression codes having lengths corresponding to the m pixel value differences based on reference to compression code conversion specifications; and generating variable length compression codes comprising the pixel value of the reference pixel and compression codes respectively corresponding to the m pixels.
The compression code conversion specifications comprise information about compression code notation varying according to pixel value difference range.
The compression code notation is '0' + 3 bits when the pixel value difference is from 0 to 7, the compression code notation is '10'+ 3 bits when the pixel value difference is from 8 to 15, the compression code notation is '110' + 6 bits when the pixel value difference is from 16 to 79, the compression code notation of '1110'+ 6 bits when the pixel value difference is from 81 to 143, and the compression code notation is '1111'+ 7 bits when the pixel value difference is from 144 to 271.
The compression codes increase in length in proportion to the pixel value differences and has a data structure in which the pixel value Min of the reference pixel comes before the m compression codes that are sequentially connected in order of the pixels.
The generating of the address comprises: quantizing the size of each of the n variable length compression codes; selecting a reference variation pattern most similar to a size variation pattern of the quantized variable length compression codes; obtaining the maximum value and the minimum value of the quantized variable length compression codes and obtaining a step size using a difference between the obtained maximum value and minimum value; and generating an address comprising information about the maximum value of the quantized variable length compression codes, the step size and the selected reference variation pattern.
The quantization is performed by dividing the size of each of the n variable length compression codes by bandwidth for communications with an external memory.
The method may further include writing or reading the n variable length compression codes in or from an external memory using the address.
As set forth above, according to exemplary embodiments of the invention, a lossless video compression method for an H.264 codec can significantly reduce bandwidth for communications with an external memory by applying lossless compression of data being written in the external memory and allows for free access to data at an arbitrary location.
Accordingly, according to an exemplary embodiment of the present invention, the energy consumed by H.264 codec can be reduced without lowering video quality, and an operation clock can be reduced.
FIG. 1 is a view schematically illustrating a lossless video compression method for an H.264 codec according to an exemplary embodiment of the present invention;
FIG. 2 is a view illustrating an example of the operation S10 of dividing an image to be compressed into n pixel regions;
FIG. 3 is a view illustrating an example of pixel values of adjacent pixels;
FIG. 4 is a view illustrating pixel value differences between a pixel having the minimum pixel value and the remaining pixels, shown in FIG. 3;
FIG. 5 is a view illustrating the operation S20 of converting pixel regions into variable length compression codes according to an exemplary embodiment of the present invention;
FIG. 6 is a view illustrating a data structure of variable length compression codes according to an exemplary embodiment of the present invention;
FIG. 7 is a view illustrating the operation S30 of patterning a size variation of n variable length compression codes to generate an address according to an exemplary embodiment of the present invention;
FIG. 8 is a view illustrating examples of reference variation patterns according to an exemplary embodiment of the present invention; and
FIG. 9 is view illustrating an application example of the operation S30 of patterning a size variation of n variable length compression codes, shown in FIG. 7.
The present application will now be described more fully hereinafter in conjunction with the accompanying drawings, in which exemplary embodiments thereof are shown, so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art. In the following description of the present application, a detailed description of known functions and components incorporated herein will be omitted when it may make the subject matter of the present application rather unclear.
Reference should be made to the drawings, from which any parts that are not essential to the present application are omitted for the sake of clarity, and in which the same reference numerals and signs are used throughout the different drawings to designate the same or similar components.
In addition, unless explicitly described to the contrary, the word "comprise" and variations such as "comprises" or "comprising," will be understood to imply the inclusion of stated elements but not the exclusion of any other elements.
FIG. 1 is a view schematically illustrating a lossless video compression method for an H.264 codec according to an exemplary embodiment of the present invention.
Referring to FIG. 1, the lossless video compression method for an H.264 codec according to this embodiment, an image to be compressed is divided into n pixel regions PA1 to PA16 as shown in FIG. 2, in operation S10, the n pixel regions PA1 to PA16 are respectively compressed into n variable length compression codes in operation S20, a size variation of the n variable length compression codes is patterned to generate an address in operation S30, and the n variable length compression codes are written in or read from an external memory using the address generated in operation S30, in operation S40.
Hereinafter, the lossless video compression method for an H.264 codec will be described in more detail with reference to FIGS. 3 through 8.
In general, images are not radically changed in terms of space. As shown in FIG. 3, adjacent pixels have similar pixel values. In this embodiment, as shown in FIG. 4, a reference pixel having the minimum pixel value within a predetermined range is selected, and differences between the reference pixel and the remaining pixels are compressed to generate compression codes.
FIG. 5 is a view illustrating the operation S20 of converting pixel regions into variable length compression codes according to an exemplary embodiment of the present invention. Each of the n pixel regions PA1 to PA16 is subject to conversion.
When a predetermined pixel region, for example, the pixel region PA1 is selected to generate variable length compression codes, a pixel having the minimum pixel value Min is set as a reference pixel among m pixels within the corresponding pixel region PA1 in operation S21.
The pixel value of the reference pixel is compared with the pixel values of the m pixels within the corresponding pixel region to thereby obtain m pixel value differences MinDiff_1 to MinDiff_m in operation S22.
The pixel value differences MinDiff_1 to MinDiff_m are converted into m compression codes Pixel_1 to Pixel_m, respectively, which have lengths variable depending on the differences in pixel values in accordance with compression code conversion specifications in operation S23.
In Table 1, compression code conversion specifications are exemplified.
Referring to Table 1, the lengths of the compression codes respectively corresponding to the m pixels increase in proportion to the pixel value differences between the m pixels and the reference pixel. For example, a pixel value difference of '0' corresponds to a compression code of '0000', a pixel value difference of '1' corresponds to a compression code of '0001', a pixel value difference of '9' corresponds to a compression code of '10010', and a pixel value difference of '16' corresponds to a compression code of '110000000'.
In the case of a general image, as described above, most of the adjacent pixels have slight differences in pixel values. Thus, most of the pixels included in the predetermined pixel region are converted into compression codes having small lengths. Accordingly, according to an exemplary embodiment of the present invention, data compression efficiency can be maximized without the loss of compressed data.
Table 1
Compression code notation(binary) | Pixel value difference range | Number of compression codes | Number of Bits |
'0' + 3 | 0 to 7 | 8 | 4 |
'10'+ 3 | 8 to 15 | 8 | 5 |
'110' + 6 bits | 16 to 79 | 64 | 9 |
'1110'+ 6 bits | 81 to 143 | 64 | 10 |
'1111'+ 7 bits | 144 to 271 | 128 | 11 |
After the m compression codes Pixel_1 to Pixel_m respectively corresponding to the m pixels are generated in operation S23, variable length compression codes consisting of the minimum pixel value Min and the m compression codes Pixel_1 to Pixel_m according to pixels are generated in operation S24.
Here, as shown in FIG. 6, the variable length compression codes have a data structure in which the pixel value Min of the reference pixel comes before the m compression codes Pixel_1 to Pixel_m that are sequentially connected in order of the pixels.
As described so far, in this embodiment, the m pixels are respectively converted into the m compression codes Pixel_1 to Pixel_m, which are then put together into one piece of data to thereby generate the variable length compression codes. Accordingly, the sizes of the variable length compression codes respectively corresponding to the n pixel regions do not remain constant but change continuously.
Therefore, the present invention proposes a new address generation method that allows for free access to data at a random location in an external memory even when the variable length compression codes respectively corresponding to the n pixel regions are variable, by utilizing a correlation between the variable length compression codes of the adjacent pixel regions.
FIG. 7 is a view illustrating the operation S30 of patterning a size variation of the n variable length compression codes according to an exemplary embodiment of the present invention.
First, in this embodiment, the sizes of the n variable length compression codes, generated by converting the pixel regions into the compression codes in operation S20, are divided by communications bandwidth with the external memory to be quantized in operation S31.
For example, when a variable length compression code has a size of 160 bits and the bandwidth for communications with the external memory is 64 bits, the size of the variable length compression code is quantized into a value of 3 by dividing 160 bits by 64 bits. In other words, 3 cycles are required to read the variable length compression code having a size of 160 bits by the 64-bit bandwidth for communications.
After the size of each of the n variable length compression codes is quantized, the maximum value and the minimum value are obtained among the quantized sizes of the n variable length compression codes in operation S32, and the difference between the maximum value and the minimum value is calculated in operation S33.
Then, a variation pattern of the quantized sizes of the n variable length compression codes is compared with k reference variation patterns, defined and determined beforehand, to select one reference variation pattern that is most similar to the variation pattern of the quantized sizes of the variable length compression codes in operation S34.
Here, the k reference variation patterns may be defined and determined before an address is generated by a user in operation S30. As shown in FIG. 8, the k reference variation patterns include various patterns.
An address containing information about the maximum value of the variable length compression code, the difference between the maximum value and the minimum value of the quantized variable length compression codes, and the reference variation pattern selected in operation S34 is generated in operation S35. Here, the address is represented in binary notation.
In this embodiment of the present invention, the size variation of the n variable length compression codes is patterned to generate an address, and the n variable length compression codes are written in, or read from, the external memory based on the address, so that data at a random location in the external memory can be accessed.
In FIG. 9, the operation S30 of patterning the size variation of the n variable length compression codes, shown in FIG. 7, to generate an address is exemplified.
For convenience of explanation, in FIG. 9, it is assumed that an image to be compressed is divided into 16 pixel regions and each of the 16 pixel regions has variable length compression codes of sizes as shown in (a) of FIG. 9.
Then, as shown in (b) of FIG. 9, each of the 16 variable length compression codes is quantized by a bandwidth of 64 bits for communications with the external memory.
That is, when a variable length compression code has a size of 64 bits or less, it is quantized into '1', when a variable length compression code has a size of '65 to 128' bits, it is quantized into '2', when a variable length compression code has a size of '129 to 192' bits, it is quantized into '3', when a variable length compression code has a size of '193 to 256' bits, it is quantized into '4', when a variable length compression code has a size of '257 to 320' bits, it is quantized into '5', and when a variable length compression code has a size of '321' or more, it is quantized into '6'.
Then, a maximum value (6) and a minimum value (3) are obtained among the 16 quantized variable length compression codes, and a difference between the maximum value (6) and the minimum value (3), that is, a step size is obtained.
Then, the 16 quantized variable length compression codes are arranged as shown in (c) of FIG. 9. As shown in (d) of FIG. 9, a size variation pattern of the 16 quantized variable length compression codes is compared with the k reference variation patterns of FIG. 8, to select a reference variation pattern which is most similar to the size variation pattern of the 16 quantized variable length compression codes, for example, a pattern 11.
Then, as shown in FIG. 9E, an address containing information about the maximum value (6) of the variable length compression codes, the step size, and the reference variation pattern, that is, the pattern 11 is generated.
Exemplary embodiments of the present invention will now be described in detail with reference to the accompanying drawings. The invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art.
Claims (9)
- A lossless video compression method for an H.264 codec, the method comprising:dividing an image to be compressed into n (n is a natural number) pixel regions;compressing the n pixel regions to convert the n pixel regions into n variable length compression codes; andgenerating an address for writing or reading the n variable length compression codes by patterning a size variation of the n variable length compression codes.
- The method for claim 1, wherein the converting of the n pixel regions into the n variable length compression codes comprises:selecting a reference pixel having the minimum pixel value among m pixels (m is a natural number) according to the pixel regions;comparing the m pixels with the reference pixel to obtain m pixel value differences;converting the m pixel value differences into m compression codes having lengths corresponding to the m pixel value differences based on reference to compression code conversion specifications; andgenerating variable length compression codes comprising the pixel value of the reference pixel and compression codes respectively corresponding to the m pixels.
- The method for claim 2, wherein the compression code conversion specifications comprise information about compression code notation varying according to pixel value difference range.
- The method for claim 3, wherein the compression code notation is '0' + 3 bits when the pixel value difference is from 0 to 7, the compression code notation is '10'+ 3 bits when the pixel value difference is from 8 to 15, the compression code notation is '110' + 6 bits when the pixel value difference is from 16 to 79, the compression code notation of '1110'+ 6 bits when the pixel value difference is from 81 to 143, and the compression code notation is '1111'+ 7 bits when the pixel value difference is from 144 to 271.
- The method for claim 2, wherein the compression codes increase in length in proportion to the pixel value differences.
- The method for claim 2, wherein the compression codes has a data structure in which the pixel value Min of the reference pixel comes before the m compression codes that are sequentially connected in order of the pixels.
- The method for claim 1, wherein the generating of the address comprises:quantizing the size of each of the n variable length compression codes;selecting a reference variation pattern most similar to a size variation pattern of the quantized variable length compression codes;obtaining the maximum value and the minimum value of the quantized variable length compression codes and obtaining a step size using a difference between the obtained maximum value and minimum value; andgenerating an address comprising information about the maximum value of the quantized variable length compression codes, the step size and the selected reference variation pattern.
- The method of claim 7, wherein the quantization is performed by dividing the size of each of the n variable length compression codes by bandwidth for communications with an external memory.
- The method for claim 1, further comprising writing or reading the n variable length compression codes in or from an external memory using the address.
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2008-0125842 | 2008-12-11 | ||
KR20080125842 | 2008-12-11 | ||
KR1020090025868A KR101168157B1 (en) | 2008-12-11 | 2009-03-26 | Lossless compression method of image in h.264 codec |
KR10-2009-0025868 | 2009-03-26 |
Publications (2)
Publication Number | Publication Date |
---|---|
WO2010067942A2 true WO2010067942A2 (en) | 2010-06-17 |
WO2010067942A3 WO2010067942A3 (en) | 2010-11-11 |
Family
ID=42243145
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2009/004870 WO2010067942A2 (en) | 2008-12-11 | 2009-08-31 | Lossless video compression method for h.264 codec |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2010067942A2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107197286A (en) * | 2017-05-15 | 2017-09-22 | 华中科技大学 | A kind of Lossless Image Compression Algorithm method and system based on reversible long code |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1758401A2 (en) * | 2005-08-24 | 2007-02-28 | Samsung Electronics Co., Ltd. | Preprocessing for using a single motion compensated interpolation scheme for different video coding standards |
WO2007027012A1 (en) * | 2005-07-18 | 2007-03-08 | Samsung Electronics Co., Ltd. | Video coding method and apparatus for reducing mismatch between encoder and decoder |
US20080055328A1 (en) * | 2006-08-30 | 2008-03-06 | Jong-Chul Shin | Mapping method and video system for mapping pixel data included in the same pixel group to the same bank of memory |
-
2009
- 2009-08-31 WO PCT/KR2009/004870 patent/WO2010067942A2/en active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007027012A1 (en) * | 2005-07-18 | 2007-03-08 | Samsung Electronics Co., Ltd. | Video coding method and apparatus for reducing mismatch between encoder and decoder |
EP1758401A2 (en) * | 2005-08-24 | 2007-02-28 | Samsung Electronics Co., Ltd. | Preprocessing for using a single motion compensated interpolation scheme for different video coding standards |
US20080055328A1 (en) * | 2006-08-30 | 2008-03-06 | Jong-Chul Shin | Mapping method and video system for mapping pixel data included in the same pixel group to the same bank of memory |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107197286A (en) * | 2017-05-15 | 2017-09-22 | 华中科技大学 | A kind of Lossless Image Compression Algorithm method and system based on reversible long code |
Also Published As
Publication number | Publication date |
---|---|
WO2010067942A3 (en) | 2010-11-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1168290C (en) | Dual mode digital camera for video and still operation | |
US8502889B2 (en) | Solid-state image capturing device, and image capturing apparatus | |
CN1791220B (en) | Video decoder and associated methods of operation | |
CN1296697A (en) | Method and apparatus for still image capture during video streamins operations of tethered digital camera | |
WO2012033344A2 (en) | Method and apparatus for encoding/decoding images using the effective selection of an intra-prediction mode group | |
WO2010074521A2 (en) | Apparatus and method for converting image in an image processing system | |
GB2362055A (en) | Image compression using a codebook | |
CN102868871A (en) | Method and device for converting video image format | |
WO2010067942A2 (en) | Lossless video compression method for h.264 codec | |
CN1092587A (en) | Moving picture decoding device | |
US7499493B2 (en) | Dual block motion vector storage in compressed form | |
WO2018070585A1 (en) | Defective pixel information recording device, and defective pixel correction device and method | |
US6212300B1 (en) | Image processing apparatus, method and computer-executable program product for converting the format of data for specific image data | |
CN101443808B (en) | Memory organizational scheme and controller architecture for image and video processing | |
CN112740676A (en) | Coordination of intra transform coding and wide-angle intra prediction | |
CN101931804B (en) | Apparatus and method for rotating image without using memory | |
EP0779745A2 (en) | Method of converting data outputting sequence in inverse DCT and circuit thereof | |
WO2012096551A2 (en) | Method and device for encoding/decoding motion vector | |
KR101168157B1 (en) | Lossless compression method of image in h.264 codec | |
KR100266063B1 (en) | Image frame reallocation method | |
WO2024143824A1 (en) | Method and apparatus for inter-video screen prediction using event frames | |
Tajime et al. | Memory compression method considering memory bandwidth for HDTV decoder LSIs | |
RU2298885C2 (en) | Device for encoding and decoding video-frames | |
KR100614652B1 (en) | Image processing apparatus and method for reducing power consumption | |
CN114731397A (en) | Iterative training of neural networks for intra prediction |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 09832028 Country of ref document: EP Kind code of ref document: A2 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 09832028 Country of ref document: EP Kind code of ref document: A2 |