KR20100013142A - Copression methode for frame memmory - Google Patents

Copression methode for frame memmory Download PDF

Info

Publication number
KR20100013142A
KR20100013142A KR1020080074680A KR20080074680A KR20100013142A KR 20100013142 A KR20100013142 A KR 20100013142A KR 1020080074680 A KR1020080074680 A KR 1020080074680A KR 20080074680 A KR20080074680 A KR 20080074680A KR 20100013142 A KR20100013142 A KR 20100013142A
Authority
KR
South Korea
Prior art keywords
color space
dpcm
frame memory
scan
mode
Prior art date
Application number
KR1020080074680A
Other languages
Korean (ko)
Inventor
이혁재
진용석
Original Assignee
재단법인서울대학교산학협력재단
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 재단법인서울대학교산학협력재단 filed Critical 재단법인서울대학교산학협력재단
Priority to KR1020080074680A priority Critical patent/KR20100013142A/en
Publication of KR20100013142A publication Critical patent/KR20100013142A/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/156Availability of hardware or computational resources, e.g. encoding based on power-saving criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding

Abstract

PURPOSE: A method for compressing a frame memory is provided to compress data stored in a frame memory, thereby reducing the size of the frame memory. CONSTITUTION: The 4×4 pixels are quantized by a quantization parameter. An encoding process is performed by DPCM(Differential Pulse Code Modulation) encoding. The compressed data is re-compressed. The DPCM uses 8 preset scan sequences. The preset scan sequences are determined by a prediction result of internal prediction mode of H.264/AVC.

Description

Frame memory compression method {copression methode for frame memmory}

The present invention relates to a frame memory compression method for reducing the frame memory size by compressing data stored in the frame memory.

Video processors designed to implement video compression standards such as MPEG-2, MPEG-4 and H.264 or H.264 / AVC require large amounts of frame memory bandwidth and size. Thus, frame memory size and bandwidth requirements often limit video processor performance. Frame memory recompression is a technique to reduce the frame memory size by compressing data stored in the frame memory. As data access requirements are reduced, memory bandwidth is also reduced by recompression.

1 is a block diagram of a video processor in which an encoder and a decoder of a conventional recompression algorithm are integrated inside a processor.

Reference frames are generally stored in off-chip memory. When the video processor stores reference frames in separate memory, the recompression encoder compresses the data. To access the reference frame from separate memory, the video processor fetches the compressed data from the separate memory and the recompression decoder decompresses and restores the original data.

An efficient recompression algorithm requires three characteristics: low latency, random accessibility, and low image quality degradation. Video processor performance is greatly affected by the speed of external memory, and recompression algorithm delays delay access to external memory. Thus, a low delay of the recompression algorithm is needed to minimize performance drop-off. Image compression algorithms, such as JPEG2000, are not suitable for recompression because they have high compression efficiency but are too complex to implement low delays. The second feature, random access, is necessary because frame memory can be accessed at arbitrary addresses. Finally, recompression algorithms generally employ lossy compression to maintain relatively high compression efficiency. Since lossy compression degrades the image quality, additional image degradation can limit the practical use of the recompression algorithm.

Much research and effort has been made to reduce the size and bandwidth requirements of frame memory. A common technique for frame memory recompression is a transform-based approach that reconstructs a frame into small blocks transformed into the frequency domain through simple transformations, such as the discrete cosine transform (DCT), the Hadamard transform, or variations thereof. based approach). The frequency domain coefficients are compressed by quantization and then subjected to variable length encoding, such as Golomb-Rice coding. Another approach is downsampling-based recompression, which requires relatively little computation. However, image quality is degraded due to edge pattern loss during downsampling for compression and upsampling for decompression.

The problem of the present invention is to increase the compression rate by compressing 4 × 4 blocks by 50% to generate a 64-bit packet after compressing 4 × 4 blocks by using the result of H.264 / AVC internal prediction, and further compressing them by Golomb-Rice coding. While preventing the deterioration of the image quality.

Another spatial domain compression based on differential pulse code modulatio is described by D.Pau, and R. Sannino, "MPEG-2 decoding with a reduced RAM Requisite by ADPCM Recompression befor storing MPEG decompressed data," US patent 5838597, Nov. Proposed in 1998, adaptive vector quantization schemes are described in R. Bruni, A. Chimienti, M. Lucenteforte, D. Pau, and R. Sannino, "A novel adaptive vector quantization method for memory reduction in MPEG-2 HDTV decoders, " in Proc. Int. Conf. Consumer Electronics , 1998, pp. 58-59. In addition, differential Huffman coding based on compression techniques for compression of display systems is described in H. Shim, Y. Cho, and N. Chang, "Frame buffer compression using a limited-size code book for low-power display systems," in 2005. workshop on embedded systems for real-time multimedia, pp. 7-12, Sept. Was offered in 2005.

The present invention is a new recompression algorithm that efficiently compresses frame data using internal prediction information provided by an H.264 / AVC encoder. In the present invention, image frames are divided into 4x4 blocks, and each block is independently compressed at 50% compression rate. For each 4x4 block, DPCM is performed according to a predefined scan order. In order to achieve high compression efficiency, eight DPCM scan sequences by the analysis of eight 4x4 internal prediction modes (except DC prediction modes) are predefined for the H.264 / AVC encoder. To choose the best scan order, the recompression algorithm uses the information provided by the H.264 / AVC internal prediction, because these predictions compute correlations between neighboring pixels and high correlation pixels. This is because it provides information about the direction between them. Once the H.264 internal prediction mode is selected, the scan order is selected from the internal prediction mode and DPCM is performed. DPCM results are further compressed with Colomb-Rice coding. If the compression rate is less than 50%, the 4x4 block pixel data is quantized by 1 bit right shift, DPCM repetition, and entropy coding.

Frame memory is used not only in video compression processors, but also in LCD drivers [10] or 2D / 3D graphics processing chips. Since the chip does not include internal prediction, the best scan mode is determined only by the recompression algorithm itself. Moreover, video compression standards generally employ the YCbCr4: 2: 0 color format for frame memory, while other chips often employ the RGV 4: 4: 4 color format. Thus, recompression algorithms for video processors cannot be applied directly to LCD drivers or 2D / 3D graphics chips.

The present invention is changing the proposed recompression algorithm for the H.264 / AVC encoder used for frame memory compression for this chip. This change involves converting the RGB color space into another color space that is efficient for compression. Another change is to include selecting the best scan mode and to include combined packetization of the three color components.

The recompression algorithm applied to the present invention achieves lower image quality than other transform based algorithms. Since information of H.264 / AVC video encoding is used, the computational complexity is relatively small. By using pixel correlation information by H.264 / AVC internal prediction, an efficient DPCM scan order is selected without increasing the amount of computation. The proposed algorithm performs 4 × 4 block compression to use horizontal and vertical correlation. As a result, it achieves higher compression efficiency than MHT based algorithm using only horizontal correlation.

In addition, the recompression algorithm of the present invention is modified for systems without an H.264 / AVC encoder. Since internal prediction from H.264 / AVC is not available, additional steps are needed to select the best scan order. Generally, such a system uses RGB color instead of YCbCr color as in H.264 / AVC compression. Saving. For improved compression efficiency, the RGB color space is converted to another color space and a compression algorithm is performed on the transformed domain. Experiments with various color spaces show that the most efficient results are obtained in the G, G-B, and G-R color spaces.

Hereinafter, a first embodiment of the present invention will be described.

The first embodiment has a recompression algorithm that can be used to reduce the frame memory for the H.264 / AVC encoder.

The recompression algorithm of the present invention is designed to generate a 64-bit packet by compressing a 4x4 block by 50%. To achieve this purpose, the proposed algorithm calculates the difference between successively scanned data, and for this efficient DPCM compression using this difference, the difference between successive data means that the data has a small number of bits It must be small so that it can be expressed as. The magnitude of the difference is affected by the content of the image as well as the scan order. Employ DPCM to represent data. For example, if a 4x4 block contains vertical stripes, then the DPCM scan along the vertical direction will be less than the difference along the horizontal direction. Therefore, it is important to choose a scan order that minimizes the difference between the data. For this purpose, the proposed algorithm uses eight scan modes.

2 is a diagram showing eight scan modes for DPCM in the present invention.

The eight modes are based on the analysis of the 4x4 internal prediction mode for the H.264 encoder. H.264 4x4 internal prediction is performed in nine different scan modes, but mode 2 is excluded from FIG. 2 because mode 2 (DC mode) does not provide useful information for scan order selection. The advantage of mode 2 exclusion is that only three bits are needed to represent the remaining eight modes. The eight modes of FIG. 2 describe various image types for DPCM scan. For example, mode 1 is suitable for images with horizontal stripes, while mode 0 is suitable for images with vertical stripes, and images with diagonal stripes may be optimal for one of the other modes.

3 is a flowchart of an algorithm applied to the first embodiment of the present invention.

A single 4x4 block is the input to this algorithm, and the output is a 64-bit packet. Since this recompression is designed to reduce the frame memory for H.264 / AVC compression, the H.264 / AVC compression operation is performed with recompression, including internal prediction. To select two scan modes from the eight modes shown in Figure 2, the algorithm evaluates the 4x4 internal prediction results. The first mode is the same as that determined by the internal prediction except for the DC mode. In general, horizontal and vertical modes result in efficient recompression. Therefore, one of these two modes is always selected as the second mode. For example, if mode 1, 3, 5 or 7 is selected first, mode 0 is selected as the second mode, while mode 1 is selected second if mode 0, 4, 6 or 8 is selected first. If the internal prediction selects the DC mode, mode 0 and mode 1 are selected as the first and second modes, respectively. Two selected scan sequences are provided as the next steps for performing DPCM operations in accordance with the selected scan sequence. Input 4x4 pixels are quantized with a quantization parameter (QP). Shift the input data to the right of QP for quantization. For example, if QP = 2, shift the input data twice to the right. During this shift operation, the left bits are filled with zeros. The quantization parameter is initially set to zero and incremented later as needed. The DPCM result is compressed using Golomb-Rice coding and the required number of bits for a single packet is calculated. Since two scan modes were selected and Golomb-Rice coding was performed for both modes, one requiring a smaller number of bits is selected. If the Golomb-Rice coding result requires a larger number of bits than the limit, the QP is increased by one, and quantization, DPCM, and Golomb-Rice coding are performed second. Golomb-Rice coding and packetization steps are described below.

Golomb-Rice coding accepts only non-negative numbers as input. However, DPCM results can be negative. Therefore, for Golomb-Rice coding input, the negative DPCM result is converted to a nonnegative number by Equation 1.

Equation 1

Figure 112008055121567-PAT00001

Where diff means the DPCM result and source means the input to Golomb-Rice coding. for diff > 0, 2 | diff | is simply obtained by doing a 1-bit logical shift to the left of diff (ie source = diff << 1). for diff <0, 2 | diff | -1 is equivalent to (~ diff ) << 1 + 1 Where (~ diff ) means the bit-wise complement of diff . source of the LSB (least significant bit) is diff are converted from source because it indicates whether or not the sound in diff is not difficult that if the (source [0] = 0, diff = source [n: 1]; source [0] Diff = ~ source [n: 1]) if = 1.

For Golomb-Rice coding, dividing source by 2k, the quotient of this division is expressed in unary notation, representing a nonnegative integer n with n zeros and ones. For example, 3 is represented as 0001 in binary notation. The remainder is represented in conventional k-bit binary notation. As shown in Equation 2, quotient and remainder are connected to form a Golomb-Rice codeword.

Equation 2

codeGR = {source [n: k] (binary notation), source [k1: 0] (binary notation)}

For example, if source is 9 and k is 1, the quotient and remainder are 4 and 1, respectively. The quotient in binary notation is 00001, and the remainder in binary notation is 1. So 000011 becomes codeGR for 9 The Golomb-Rice codeword length is affected by parameter k . The length of the quotient in binary notation

Figure 112008055121567-PAT00002
to be. here,
Figure 112008055121567-PAT00003
Is the largest integer less than or equal to x . The remainder is represented in k- bit binary notation. Therefore, the length of the Golomb-Rice codeword is shown in Equation 3 below.

Equation 3

Figure 112008055121567-PAT00004

For small sources , the smaller k , the smaller the length of the Golomb-Rice codeword. As source increases, larger k results in smaller code lengths. Therefore, the choice of k is influenced by the value of source . For example, when k = 0, the length increment is too large for a large source . On the other hand, if k > 2, the length is too large for a small source , and since the minimum number of bits assigned to each pixel is 4, it cannot accommodate k greater than 2 for 50% compression. Accordingly, the selection of the value k (chosen value) is 1 or 2. For the eight modes shown in Figure 2, the difference in dotted lines is encoded by k = 2, and the difference in straight lines is encoded by k = 1. Since the dashed line passes through the edge, the DPCM result drawn with the dashed line may be large. In this case, large k leads to a smaller number of bits to represent this large difference. In general, by assigning a large k (k = 2) to the dotted line and a small k (k = 1) to the rest, the total number of bits generated by Golomb-Rice coding for all 16 pixels is reduced.

Golomb-Rice codewords are packetized into 64-bit packets.

4 shows a packet format applied to the first embodiment of the present invention.

The eight scan modes are coded in 3 bits and stored in the leftmost position, followed by a 3 bit QP. The first pixel needs the (8-QP) bits stored after QP, and the remaining bits store the Golomb-Rice codeword for the remaining 15 pixels.

Video compression standards such as H.264 / AVC employ the 4: 2: 0 format of the YCbCr color space to represent images. In general, the three color components are stored in separate spaces of the frame memory. One reason for separate memory allocation is that the three components are not always accessed at the same time. For example, the motion estimation of H.264 / AVC only needs Y color components. Another reason is the difference in the data amounts of the Y and Cb (or Cr) color elements. All 2x2 pixels are assigned a single Cb (or Cr) data, while in the 4: 2: 0 format Y color data is assigned to each pixel. Thus, the amount of data for the Cb (or Cr) color component is one quarter of that for the Y color component. As a result, the Y color element requires four times as much memory space as the Cb (or Cr) color element. Since the three colors are stored separately and accessed independently, they are also compressed independently. Therefore, the recompression algorithm of FIG. 3 is performed three times independently for Y, Cb and Cr colors.

5 is a diagram for illustrating a compression process of the first embodiment of the present invention.

Figure 112008055121567-PAT00005

Consider the 4 × 4 block of FIG. 5, but assume that the internal prediction mode obtained from H.264 / AVC is 1. Thus, the selected first scan order is mode 1 and the second scan order is mode 0. FIG. QP = 0 requires 91 bits for Mode 1 and 212 bits for Mode 0. Therefore, QP = 0 cannot accommodate both modes. For QP = 1, mode 1 scans the data according to the arrows shown in FIG. 5 (b). Pixel values quantized to QP = 1 (ie, shifted to the right once) are also shown in FIG. 5 (b). The data scanned along the point arrows are 121, 120, 118, 118, 109, 108, 104, 103, 110, 110, 107, 105, 110, 110, 108 and 107. Therefore, the result of DPCM is 121, -1, -2, 0, -9, -1, -4, -1, 7, 0, -3, -2, 5, in the scan sequence shown in Fig. 5 (c). 0, -2 and -1. Table 1 below shows the Golomb-Rice codewords for the DPCM results. For example, the fourth DPCM result, DPCM [4], is -9. In Equation 3, the source for this value is 17. The quotient and remainder from k = 2 are 4 and 1, respectively. The quotient of binary notation is 00001, and the remainder of k-bit binary notation is 01. The final codeword is quotient and the remainder is 0000101. Table 1 shows the results of the overall DPCM. 50 bits are required for every word. In addition to these bits, six bits are required to store the mode and QP, and seven bits are needed for the first data. As a result, mode 1 packets with QP = 1 require 63 bits. Mode 0, on the other hand, requires 124 bits when QP = 1. Since mode 1 requires fewer bits than mode 0, mode 1 selects the best scan mode.

 Golomb-Rice codeword for the 4x4 block of FIG. Diff [1] -One One One 11 Diff [2] -2 3 One 011 Diff [3] 0 0 One 10 Diff [4] -9 17 2 0000101 Diff [5] -One One One 11 Diff [6] -4 7 One 00011 Diff [7] -One One One 11 Diff [8] 7 14 2 000110 Diff [9] 0 0 One 10 Diff [10] -3 5 One 0011 Diff [11] -2 3 One 011 Diff [12] 5 10 2 00110 Diff [13] 0 0 One 10 Diff [14] -2 3 One 011 Diff [15] -One One One 11

6 shows packetization results of the examples shown in FIGS. 5 and 1.

In FIG. 6 the first three bits 001 and the next three bits 001 represent mode 1 and QP, respectively. The next seven bits represent the first data quantized by QP = 1. The remaining bits are Golomb-Rice codewords of the next 15 DPCM results.

In addition to H.264 / AVC video compression, there are numerous applications for storing video data in frame memory. For example, an LCD display driver needs frame memory to store its output video. As another example, 2D or 3D graphics processors also require frame memory. The recompression algorithm of the first embodiment cannot be directly applied to these other applications because the information obtained by the H.264 / AVC internal prediction cannot be used. Moreover, an algorithm in 4: 2: 0 format was developed for video in the YCbCr color space, but generally other applications store video in the RGB color space. The second embodiment of the present invention extends the algorithm of the first embodiment to perform a recompression algorithm suitable for video in the RGB color space.

Hereinafter, recompression of the frame memory in the 4: 4: 4 format according to the second embodiment of the present invention will be described.

A. Recompression and Combined Packet Packetization in 4: 4: 4 Format

In an LCD display driver or 2D / 3D graphics processor, each pixel stores an image in RGB 4: 4: 4 format, in which R, G, and B color components are represented. Unlike YCbCr color, which is a 4: 2: 0 format, RGB color components in 4: 4: 4 format are usually accessed simultaneously. This allows efficient memory access by storing three color components for one pixel in consecutive memory addresses. Because three color components are stored sequentially and accessed simultaneously, these components may be compressed simultaneously and packetized into a single combined packet. Since these three colors can share the best scan mode and QP, the combined packets allow for more efficient compression than the separate packets.

7 shows the format of a combined packet, which is a second embodiment of the present invention.

A 4x4 block in 4: 4: 4 format consists of 16 pixels of three colors, requiring a total of 384 bits to store a single 4x4 block. With 50% compression, the compressed packet size is less than or equal to 192 bits. The best scan mode and QP are stored in the leftmost 6 bits. Note that you only need one best scan mode and QP for the three colors. The first pixel data of the three colors is stored next to the remaining pixels. For the compression of the rest of the data, it was experimentally observed that Exp-Golomb coding is more efficient than Golomb-Rice coding.

B. Exp-Golomb Coding

The Golomb-Rice codeword used in the first embodiment is effective when the value of source is not large. The length of the Golomb-Rice codeword increases in proportion to its value, but another entropy coding, Exp-Golomb coding, generates a codeword from source as shown in Equations 4 and 5 below.

Equation 4

Figure 112008055121567-PAT00006

here

Figure 112008055121567-PAT00007
The Exp-Golomb codeword is as follows:

Equation 5

Figure 112008055121567-PAT00008

The length of the Exp-Golomb codeword increases in proportion to log ( source ). Therefore, Exp-Golomb coding generates shorter codewords than Golomb-Rice coding when the value of source is large. Exp-Golomb coding is more efficient than Golomb-Rice coding for combined packetization. As with Golomb-Rice coding, when k is large, large k produces short codewords. On the other hand, small k is preferred for small sources. Therefore, the value of k is selected in the same manner as the Golomb-Rice coding of the first embodiment. That is, 1 is selected for the remaining DPCM results, and 2 is selected for the cource (DPCM results) represented by the dotted line of FIG. 2.

C. Determine Scan Mode

Of the eight possible scan modes shown in FIG. 2, the mode that produces the smallest packet size must be selected. The first embodiment determines two candidate scan modes from the internal prediction mode of H.264 / AVC. Then, the results of the two modes are compared and their packet sizes are compared to select the best mode between the two candidate modes. Information from H.264 / AVC cannot be used for recompression of the RGB color space. Therefore, we compare all eight scan modes and choose the best one among them. To do this, set the parameter QP to 0, calculate the lengths of 15 sources (DPCM results), and add them to get the packet size. Since the packet size must be calculated for all eight scan modes, a large amount of calculation is required to select the best scan mode.

 By taking advantage of the fact that there are many DPCM results shared by multiple scan modes, the calculation for the best mode selection can be reduced. For example, the first DPCM result of modes 1 and 2 in FIG. 2 is the same (ie, these are the difference between the leftmost end pixel and its right side pixel). The code length of 120 DPCM results is needed to calculate for 8 scan modes with 15 DPCM results each. One or more scan modes share 57 results among the 120 DPCM results. Therefore, a total of 63 DPCM results are needed to calculate the code length for the eight scan modes.

To get the correct packet size, we need to calculate the lengths of the sources repeatedly until the packet size is less than 192. Nevertheless, repeated calculations require too many calculations. Therefore, only the calculation with QP = 0 is used to select the best scan mode. The experiment shows that the order of packet sizes selected with QP = 0 is nearly identical to the order with the best QP.

D. Color Conversion

Experiments have shown that compression efficiency is improved by first converting the RGB color space to the YCbCr color space and then recompressing the image in the YCbCr space. In this case, the converted image becomes 4: 4: 4 format instead of 4: 2: 0 format of the first embodiment. Thus, all three color components are available for each pixel, which are packetized in the same format as shown in FIG. One reason why the YCbCr color space is more effective than the RGB color space is because the data of the Cb and Cr colors change more slowly than the R and B colors, respectively. As a result, DPCM results of Cb and Cr colors are smaller than R and B colors, respectively. The combined packetization of Y, Cb, and Cr has the advantage of assigning reduced bits to Cb and Cr colors, allowing the allocation of increased bits to Y colors. Allocating more bits to the Y color reduces the error of the Y color and, as a result, the error of Cb and Cr is also reduced since Y is used to derive Cb and Cr. Moreover, the Y color has a greater impact on subjective quality than the Cb or Cr color. As a result, image quality is generally improved through color space conversion.

Conversion between the RGB color space and the YCbCr color space requires the following operations:

Equation 6

Figure 112008055121567-PAT00009

Equation 7

Figure 112008055121567-PAT00010

In Equations 6 and 7, the coefficients are given by the ITU-R standard BT.601.

One cause of quality degradation in the YCbCr color space conversion is rounding error in the conversion operations of Equations 6 and 7. For example, consider a pixel having a value of {R, G, B} = {128, 128, 128}. Suppose we convert these pixels to the YCbCr color space. Through Equation 6, this pixel is converted to {Y, Cb, Cr} = {142.592, -8.46, -10.695}. If this value is rounded to an integer and stored in memory, this pixel is {143, -9, -11}. Suppose we want to convert this pixel back to the original RGB color space. With Equation 7, we get {R, G, B} = {131.784, 132.284, 124.058}. Rounding these values back to an integer, these pixels are {R, G, B} = {132, 132, 124}, which is quite different from the original values {128, 128, 128}. This example shows that serious errors can be caused by the conversion operations of Equations 6 and 7.

It is not necessary to use the YCbCr color space for recompression in the RGB color space. The JPEG2000 standard for image compression uses a modified YCbCr color space to eliminate conversion errors. Equation 8 shows the conversion from RGB color space to JPEG2000 YCbCr space, and Equation 9 is the equation for the inverse transform.

Equation 8

Figure 112008055121567-PAT00011

Equation 9

Figure 112008055121567-PAT00012

In the same way as in the original YCbCr color space, the recompression algorithm can be applied to the simplified YCbCr color space. JPEG2000 uses 9 bits to store in each of the Cb and Cr elements to avoid errors in the conversion. The color transform and its inverse transform can create another simplified YCbCr color space by the following Equations 10 and 11.

Equation 10

Figure 112008055121567-PAT00013

Equation 11

Figure 112008055121567-PAT00014

Because the transform and inverse transforms only require addition / subtraction and shift operations, using this simplified YCbCr region reduces translation errors. Therefore, the round-off error is greatly reduced, and the image quality of the simplified YCbCr space is better than that of the original YCbCr space.

Many demosaicing algorithms, as well as digital display interfaces such as low voltage differential signals (LVDS), employ color spaces consisting of G, R-G, and B-G instead of the YCbCr color space. One of the main advantages is that the conversion to and from the RGB color space is simple, since only subtraction is required for the conversion. Another advantage comes from the fact that the errors in R-G or B-G do not affect the G color space so that there are fewer errors in the G color space than in the R-G or B-G color space. This property allows the human eye to be more sensitive to G colors than to R or B colors, thereby reducing the quality degradation due to color conversion. For convenience, hereinafter, Dr and Db will be used to represent R-G and B-G spaces, respectively. Instead of the original YCbCr color space, the JPEG2000 color space, simplified color space or GDbDr color space can also be used for recompression.

In the packet of FIG. 7, the first three pixels are stored from the seventh bit. In the RGB color space, (8-QP) bits are required to store one color component of the first pixel. Therefore, 3 x (8-QP) bits are required to store three colors. In the simplified YCbCr color space as well as the original YCbCr color space, 8 bits are required to represent the Y, Cb, Cr color space. Thus, 3x (8-QP) bits are needed to store the first pixel of the packet shown in FIG. In the JPEG2000 YCbCr color space, (8-QP) bits are required for the first pixel. On the other hand, for the Cb color of the first pixel, (8-QP + 1) bits are required because they have a sign bit. Similarly, Cr requires (8-QP + 1) bits. Thus, to store the Y, Cb, and Cr colors of the first pixel, you need (8-QP) +2 (8-QP + 1) bits. In the GDbDr color space, Dr or Yu need 9 bits, while G needs 8 bits. Thus, (8-QP) +2 (8-QP + 1) is needed for the first pixel.

E algorithm

8 is a flowchart illustrating an algorithm of a second embodiment of the present invention.

The algorithm processes 3 color components in the YCbCr or GDbDr space simultaneously so that the number for the input 4x4 pixels is 384 and the number for the output packet is 50% compressed to 192. In comparison with the algorithm shown in FIG. 3, a first step is added to convert the RGB color space to the YCbCr (or GDbDr) color space. The scan mode determination step is different from that of FIG. 3 because the best scan mode is determined by comparing all eight scan modes. Exp-Exp-Golomb coding replaces Golomb-Rice coding. Quantization, DPCM steps are the same as in FIG.

F. Sequential Approach

The property of allowing random access is an important requirement for the compression of the frame memory of an H.264 / AVC encoder or decoder. LCDs do not always need this feature to compress frame memory. If random accessibility is not a requirement, the algorithm proposed in this section can be further optimized. Random access requires occupying 198 bits in every 4x4 block, even if the compression result of the 4x4 block requires less than 198 bits. In this case, part of the 198-bit memory space for the 4x4 block is wasted without being used. If 4x4 blocks are accessed in sequential form in raster scan order (i.e. from top to bottom, left to right), the unused memory space for one 4x4 block will be used in the next 4x4 block. Can be. This reduces the waste of memory space and allows for efficient memory utilization.

Another optimization is possible using the pixel values of the left 4x4 block. In the packet format shown in FIG. 7, DPCM is not performed for the first pixel. If compressed in the raster scan order, the data in the left block can be used. Therefore, the first pixel is subtracted from the adjacent pixels of the left block and stored the difference. Encode this pixel with Exp-Golomb coding like any other pixel. In modes 0, 1, 3 and 7, the first pixel is one of the leftmost pixels of the 4x4 block. Thus, pixels adjacent to these pixels can be used for the left 4x4 pixel. In order to make these adjacent pixels unavailable in the left block, the first pixels of the other modes (modes 2, 4, 5 and 6) are not positioned to the left of the 4x4 block. Thus, the original value (which may have quantization if necessary) is stored in other modes, while in modes 0, 1, 3, and 7 the difference from the adjacent cell of the left block will be filled by the first pixel.

G. Recompression up to 75%

Data in the RGB color space can be compressed up to 75% by a combination of color conversion, subsampling and the compression method proposed in the first embodiment. The subsampling of the first embodiment achieves 50% compression from 4: 4: 4 format to 4: 2: 0 format. Color conversion to other color spaces, such as YCbCr, is necessary because subsampling of Cb and Cr colors does not seriously compromise the visible quality of the image, and the human eye is more sensitive to Y colors than Cb and Cr colors. Because. The original YCbCr color space introduces rounding errors. To reduce this error, the JPEG2000 YCbCr color space, the simplified YCbCr color space, or the DGbDr color space is also considered as the target color space.

1 is a block diagram of a video processor in which an encoder and a decoder of a conventional recompression algorithm are integrated inside a processor.

2 is a diagram showing eight scan modes for DPCM in the present invention.

3 is a flowchart of an algorithm applied to the first embodiment of the present invention.

4 shows a packet format applied to the first embodiment of the present invention.

5 is a diagram for illustrating a compression process of the first embodiment of the present invention.

6 shows packetization results of the examples shown in FIGS. 5 and 1.

7 shows the format of a combined packet, which is a second embodiment of the present invention.

8 is a flowchart illustrating an algorithm of a second embodiment of the present invention.

Claims (8)

In a frame memory compression method that compresses a block of 4x4 pixels: Quantizing 4x4 pixels with a quantization parameter (QP); Encoding by differential pulse code modulation (DPCM); And recompressing the compressed data. 2. The internal prediction mode of H.264 / AVC according to claim 1, wherein the DPCM uses a preset scan order of eight, and the scan order calculates a correlation between neighboring pixels in the 4 × 4 block. Frame memory compression method characterized in that determined by the prediction result of. The method of claim 2, wherein the recompressing is performed by Golomb-Rice encoding. The frame memory compression method of claim 1, wherein the video data stored in the frame memory stores an image in RGB 4: 4: 4 format as video in R, G, and B color spaces. The method of claim 4, further comprising a color space conversion step and a scan mode determination step before the quantization step. The method of claim 5, wherein the color space conversion step converts an RGB color space into one of a YCbCr color space, a JPEG2000 YCbCr color space, a simplified YCbCr color space, and a DGbDr color space. The method of claim 6, wherein the recompressing is performed by Exe-Golomb encoding. The method of claim 5, wherein the determining of the scan mode comprises performing DPCM on eight scan modes when the quantization parameter QP is 0 to determine that the packet length is minimized as a selection mode.
KR1020080074680A 2008-07-30 2008-07-30 Copression methode for frame memmory KR20100013142A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080074680A KR20100013142A (en) 2008-07-30 2008-07-30 Copression methode for frame memmory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080074680A KR20100013142A (en) 2008-07-30 2008-07-30 Copression methode for frame memmory

Publications (1)

Publication Number Publication Date
KR20100013142A true KR20100013142A (en) 2010-02-09

Family

ID=42087227

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080074680A KR20100013142A (en) 2008-07-30 2008-07-30 Copression methode for frame memmory

Country Status (1)

Country Link
KR (1) KR20100013142A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8861876B2 (en) 2012-06-22 2014-10-14 Samsung Display Co., Ltd. Pixel data compression device
KR20200094364A (en) * 2019-01-30 2020-08-07 스노우 주식회사 Method and system for improving compression ratio by difference between blocks of image file
US11539955B2 (en) 2019-01-30 2022-12-27 Snow Corporation Method and system for improving compression ratio through pixel conversion of image file

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8861876B2 (en) 2012-06-22 2014-10-14 Samsung Display Co., Ltd. Pixel data compression device
KR20200094364A (en) * 2019-01-30 2020-08-07 스노우 주식회사 Method and system for improving compression ratio by difference between blocks of image file
US11308647B2 (en) 2019-01-30 2022-04-19 Snow Corporation Method and system for improving compression ratio by difference between blocks of image file
US11539955B2 (en) 2019-01-30 2022-12-27 Snow Corporation Method and system for improving compression ratio through pixel conversion of image file
US11823418B2 (en) 2019-01-30 2023-11-21 Snow Corporation Method and system for improving compression ratio by difference between blocks of image file

Similar Documents

Publication Publication Date Title
US7664184B2 (en) Interpolation image compression
TWI516095B (en) Video encoding and decoding using transforms
US6285796B1 (en) Pseudo-fixed length image compression scheme
US8326057B2 (en) Image encoding method, image decoding method, image encoding apparatus, image decoding apparatus, image encoding program, and image decoding program
US8767823B2 (en) Method and apparatus for frame memory compression
US9706214B2 (en) Image and video decoding implementations
US20150010068A1 (en) Method, device, and computer program for pre-encoding and post-decoding high bit-depth content in video encoder and decoder
US7953285B2 (en) Method and circuit of high performance variable length coding and decoding for image compression
JPH10243396A (en) Adaptive quantization method and method for encoding video signal data and system for encoding sampling-processed video signal data
US11812021B2 (en) Coding of quantization matrices using parametric models
US10349075B2 (en) Method and device for lossless compression of video data
WO2003060828A1 (en) Transform coefficient compression using multiple scans
KR20010043394A (en) Method and apparatus for increasing memory resource utilization in an information stream decoder
WO2002091282A2 (en) Color video codec method and system
CN116074516A (en) Image coding and decoding method and device
US11677932B2 (en) Image processing device
US20100002946A1 (en) Method and apparatus for compressing for data relating to an image or video frame
CN110708547B (en) Efficient entropy coding group grouping method for transform modes
KR20100013142A (en) Copression methode for frame memmory
US20210344900A1 (en) Image processing device
Jin et al. A new frame memory compression algorithm with DPCM and VLC in a 4× 4 block
KR20210091657A (en) Method of encoding and decoding image contents and system of transferring image contents
US10652543B2 (en) Embedded codec circuitry and method for frequency-dependent coding of transform coefficients
US9013595B1 (en) Digital video camera with internal data sample compression
KR100202957B1 (en) Quantizatizer

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application