CN110830803B - Image compression method combining block matching and string matching - Google Patents
Image compression method combining block matching and string matching Download PDFInfo
- Publication number
- CN110830803B CN110830803B CN201911089009.3A CN201911089009A CN110830803B CN 110830803 B CN110830803 B CN 110830803B CN 201911089009 A CN201911089009 A CN 201911089009A CN 110830803 B CN110830803 B CN 110830803B
- Authority
- CN
- China
- Prior art keywords
- micro
- block
- matching
- string
- pixel
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 29
- 238000007906 compression Methods 0.000 title claims abstract description 12
- 230000006835 compression Effects 0.000 title claims abstract description 12
- 238000011156 evaluation Methods 0.000 claims abstract description 5
- 239000013598 vector Substances 0.000 claims description 40
- 238000013139 quantization Methods 0.000 claims description 10
- 238000001914 filtration Methods 0.000 claims description 6
- 230000009466 transformation Effects 0.000 claims description 6
- 230000003044 adaptive effect Effects 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 241000023320 Luma <angiosperm> Species 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
The invention provides an image compression method and device. When coding the coding unit, in the reconstructed reference pixel sample value set, according to the preset evaluation criterion, using the micro-block containing at least two pixel sample values as the basic matching unit, searching and obtaining one or more optimal micro-block matching strings, and recording the relative position and the micro-block number of the micro-block matching strings into the compressed code stream. During decoding, the relative positions and the number of the micro-blocks of the micro-block matching strings are read out one by one from the code stream, so that the pixel sample value of the current coding unit is obtained by restoration.
Description
Technical Field
The invention relates to a digital video compression coding and decoding system, in particular to a method and a device for coding and decoding computer screen images and videos.
Background
With the development and popularization of a new generation cloud computing and information processing mode and platform taking a remote desktop as a typical representation form, the interconnection among multiple computers, a computer host, an intelligent television, a smart phone, a tablet personal computer and other digital devices and various digital devices becomes a reality and becomes a mainstream trend. This makes real-time screen transmission from the server side (cloud) to the user side an urgent need. Since the amount of screen video data to be transmitted is large, for example, a 24-bit true color screen image with 2048x1536 pixel resolution and 60 frame/second refresh rate of a tablet computer, the data to be transmitted is 2048x1536x60x24 to 4320 megabits per second, and it is impossible for such much data to be transmitted in real time under real network conditions, so that it is essential for effective data compression of computer screen images.
The method fully utilizes the characteristics of a computer screen image to perform ultra-high Efficiency compression on the computer screen image, and is also a main target of the latest international Video compression standard HEVC (high Efficiency Video coding).
A significant feature of computer screen images is that there are usually many similar or even identical pixel patterns (pixel patterns) within the same frame image. For example, Chinese characters or foreign language characters frequently appearing in computer screen images are composed of a few basic strokes, and many similar or identical strokes can be found in the same frame of image. Menus, icons, etc. that are commonly found in computer screen images also have many similar or identical patterns. An intra prediction (intra prediction) mode adopted in the existing image and video compression technology only refers to adjacent pixel samples, and the compression efficiency cannot be improved by utilizing the similarity or the sameness in one frame of image. The intra motion compensation (intra block copy) method in the prior art is also called an intra block copy (intra block copy) method, and intra block matching (intra block matching) encoding is performed by using several blocks with fixed sizes (such as 4x4, 8x8, 16x16, 32x32 and 64x64 pixels), and various matches with different sizes and shapes cannot be found. While another string matching (string matching) method in the prior art can effectively find matches of various sizes and shapes, but has the problems of high complexity, large calculated amount, large memory read-write bandwidth and the like. Therefore, a new coding tool must be sought, which can not only fully exploit and utilize similar or identical patterns existing in computer screen images to greatly improve the compression effect, but also control the complexity, the calculation amount, the memory read-write bandwidth and the like within a small range.
The natural form of a digital video signal of a screen image is a sequence of images. A picture is usually a rectangular area of several pixels, and if a digital video signal has 50 pictures per second, a 30 minute digital video signal is a sequence of video pictures consisting of 30x60x50 — 90000 pictures, sometimes referred to as a video sequence or sequence for short. Encoding a digital video signal is encoding a picture.
In the latest international video compression standard HEVC, when an image is encoded, the image is divided into a plurality of sub-images of blocks MxM pixels, which are called "Coding Unit (CU)" and the sub-images are encoded one block by one block with the CU as a basic Coding Unit. Commonly used sizes of M are 4, 8, 16, 32, 64. Thus, encoding a sequence of video images is the sequential encoding of the individual coding units. Similarly, each coding unit is decoded sequentially during decoding, and finally the entire video image sequence is reconstructed.
To adapt to the difference of image content and properties of each part in an image, the most efficient coding is performed in a targeted manner, and the sizes of CUs in an image can be different, namely 8x8, 64x64 and the like. In order to enable seamless splicing of CUs of different sizes, a picture is always divided into "Largest Coding Units (LCUs)" of the same size and with NxN pixels, and each LCU is further divided into a plurality of CUs of different sizes. For example, an image is first divided into LCUs of 64x64 pixels (N-64) of identical size. One of the LCUs is composed of 3 CUs of 32x32 pixels and 4 CUs of 16x16 pixels. And another LCU is composed of 2 CUs of 32x32 pixels, 3 CUs of 16x16 pixels, and 20 CUs of 8x8 pixels. An image is coded by sequentially coding a CU.
One color pixel is composed of 3 components (components). The two most commonly used pixel color formats are the GBR color format, which consists of a green component, a blue component, and a red component, and the YUV color format, which consists of one luminance (luma) component and two chrominance (chroma) components, also known as the YCbCr color format. Therefore, when encoding one CU, one CU may be divided into 3 component planes (G plane, B plane, R plane, or Y plane, U plane, V plane), and the 3 component planes may be encoded separately; it is also possible to bundle 3 components of a pixel into one 3-tuple and encode the whole CU consisting of these 3-tuples. The former arrangement of pixels and their components is called planar format (planar format) of the image (and its CUs), while the latter arrangement of pixels and their components is called packed format (packed format) of the image (and its CUs).
The YUV color format can be further subdivided into a plurality of seed formats depending on whether down-sampling is performed on the color components: 1 pixel is in YUV4:4:4 pixel color format consisting of 1Y component, 1U component and 1V component; the left and right adjacent 2 pixels are in YUV4:2:2 pixel color format consisting of 2Y components, 1U component and 1V component; the 4 pixels which are arranged at the spatial position of 2x2 and are adjacent left, right, upper and lower are in YUV4:2:0 pixel color format which consists of 4Y components, 1U component and 1V component. One component is generally represented by 1 number of 8-16 bits. The YUV4:2:2 pixel color format and the YUV4:2:0 pixel color format are both obtained by down-sampling the chrominance components of the YUV4:4:4 pixel color format. A pixel component is also referred to as a pixel sample (sample) or simply a sample (sample).
Intra block matching (intra block matching, also called intra motion compensation or intra block copy) encoding is to search a matching block (called an optimal matching block) with the minimum matching error with a CU (namely a matched block) in a certain predetermined search range (search range) in a reconstructed reference pixel sample set in the same frame when encoding the CU, and then write the relative position (called a motion vector or motion vector for short MV) between the matched block and the optimal matching block into a video compressed code stream.
The intra block matching decoding is to determine the position of a matching block in a reconstructed reference pixel sample set in the same frame according to an MV parsed from a video compressed code stream when decoding a CU, and then copy and paste the matching block to the position of the CU (i.e., a matched block).
In intra-string matching (intra-string matching) coding, when a CU is coded, one or more optimal matching strings of pixel samples of variable length are obtained by searching within a predetermined search range (search range) in a set of reconstructed reference pixel samples in the same frame, and each matching string is characterized by a matching relative position (referred to as a Motion Vector (MV)) and a matching length (referred to as a pair of Motion Vectors (MV)). One or more pairs (motion vectors, match length) are then written into the video compressed bitstream.
In the intra-frame string matching decoding, when a CU is decoded, the position of one or more matching strings of pixel samples in a reconstructed reference pixel sample set in the same frame is determined according to one or more pairs (motion vectors, matching lengths) analyzed from a video compressed code stream, and then one or more matching strings are copied and pasted to the relative position of the CU (namely, the position of the matched string). The number of pixel samples for each copied and pasted matching string is the matching length. The corresponding matched strings also have the same matching length.
Disclosure of Invention
The invention provides an image compression method combining block matching and string matching, which aims to solve the technical problem.
In order to achieve the purpose, the technical scheme of the invention is realized as follows:
an image encoding method characterized by comprising the steps of:
step 1) performing pixel resolution on an original pixel of an input coding unit of which the pixel resolution is M × M, wherein the value of M includes 4, 8, 16, 32 and 64, and the value limiting conditions of M and n include: the values of m and n are respectively integers including 1 or 2 or 4, m and n can not simultaneously take the value of 1, the micro block string with the basic matching unit is subjected to matching coding, and (1) the optimal motion vector with the pixel sample value as the unit, namely the matching relative position or the matching distance, and (2) the number of micro blocks with the micro block as the unit of the optimal matching micro block string are generated; starting from a starting micro block in the coding unit, searching to obtain one or more optimal matching micro block strings in a preset search range in a reconstructed reference pixel sample value temporary storage area according to a preset evaluation criterion and an arrangement rule of the micro block strings; the number of the micro blocks of the matched micro block string obtained by searching is the same as that of the corresponding matched micro block string in the coding unit; the motion vector is the difference between the position coordinates of the matching micro-block string and the position coordinates of the matched micro-block string; the unit of the motion vector is the minimum coordinate unit of the pixel sample value and not the micro-block; the unit of the micro-block number is the coordinate unit of the micro-block instead of the pixel sample value; the output of the micro-block string matching coding is the motion vector, the micro-block number and the matching residual; the matching residual is the difference between the value of the pixel sample of the matching micro-block string and the value of the pixel sample of the matched micro-block string;
step 2) other common coding and reconstruction steps, such as intra-frame prediction, inter-frame prediction, transformation, quantization, inverse transformation, inverse quantization, entropy coding, deblocking filtering and sample value self-adaptive compensation; the input of this step consists of two parts: the first part is the output of the step 1) and the second part is the original pixel in the step 1); the output of this step is the reconstructed pixel and the compressed code stream containing the motion vector, the number of micro-blocks and other coding results; the reconstructed pixel is placed in a temporary storage area of a reconstructed reference pixel sample value and is used as a reference pixel required by a subsequent micro block string matching coding step, other common coding and reconstruction steps; the compressed code stream is also the final output of the coding method;
the micro-blocks are in a pack format; the number of microblocks can only take a plurality of preset values, each preset value is represented by a number, also called an index, and for each matching microblock string, the number of microblocks read out from the compressed code stream by the decoder is not the value of the number of microblocks but the number of the preset value of the number of microblocks.
Drawings
FIG. 1 is a schematic illustration of micro-tile string match encoding and decoding, size of micro-tile, matching micro-tile string, and matched micro-tile string
FIG. 2 is a flow chart of the encoding method of the present invention
FIG. 3 is a flow chart of the decoding method of the present invention
FIG. 4 is a block diagram of an encoding apparatus according to the present invention
Fig. 5 is a schematic block diagram of a decoding apparatus according to the present invention.
Detailed Description
The main technical features of the invention are shown in figure 1. The matching micro-block string and the matched micro-block string shown in fig. 1 may be a matching micro-block string and a matched micro-block string in a lap-bag format, or may be a matching micro-block string and a matched micro-block string of one component (sample) in a plane format. The method and apparatus of the present invention are thus applicable to both the encoding and decoding of pixels of LCUs and CUs in a stacked packet format and the encoding and decoding of pixel samples of one plane of LCUs and CUs in a planar format. One tile in fig. 1 consists of 4 pixels or pixel samples 2x2 with a width of 2 and a height of 2, called a 2x2 tile. But the invention can also use microblocks of other sizes, such as 2x1 ═ 2 pixels or 2x1 microblocks composed of pixel samples with width 2 and height 1, or 1x2 ═ 2 pixels or 1x2 microblocks composed of pixel samples with width 1 and height 2, or 4x1 ═ 4 pixels or 4x1 microblocks composed of pixel samples with width 4 and height 1, or 1x4 ═ 4 pixels or 1x4 microblocks composed of pixel samples with width 1 and height 4, or 4x4 ═ 16 pixels or 4x4 microblocks composed of pixel samples with width 4 and height 4.
In the encoding method and apparatus of the present invention, the most basic characteristic technical feature is that when encoding a current CU, a search is performed in a history pixel sample set (also referred to as a reconstructed reference pixel sample set) that has already been encoded, and one or more optimal matching micro-block strings that match the pixel sample of the current CU and have micro-blocks as basic matching units are found one by one. Two parameters are used for each string of matching tiles: the motion vector (i.e. the matching relative position or the matching distance) and the number of matching micro-blocks (micro-block number for short), i.e. a pair (motion vector, micro-block number). Each string of matched tiles contains an integer number of tiles, but the starting position of the string of matched tiles may be the position of any pixel sample in the set of reconstructed reference pixel samples, regardless of the size of the tile, and without being limited by the size of the tile. That is, the motion vector is in units of pixel samples rather than in units of tiles. The string of microblocks in the current CU that corresponds to the best matching microblock string found in the set of reconstructed reference pixel samples is called the matching microblock string. The starting position of the matched micro-block string in the current CU is always in micro-block units, and cannot be the position of any pixel sample.
In the decoding method and apparatus of the present invention, the most basic characteristic technical feature is that when decoding the compressed code stream data of the currently decoded CU, one or more pairs (motion vector, number of micro-blocks) are sequentially read out from the code stream data. The position of the first tile of the matching tile string within the reconstructed reference pixel sample set is then calculated from the position of the first tile of the currently decoded matched tile string and the motion vector. Then, according to the predetermined rule of arranging the micro-block string, copying the whole matching micro-block string (containing the micro-block number determined by the micro-block number) from the reconstructed reference pixel sample value set, moving and pasting the whole matching micro-block string to the position of the matched micro-block string in the current decoding, and recovering the whole matched micro-block string. In this way, a matching micro-block string is copied, moved and pasted in sequence, and finally all pixel samples of the whole current decoding CU are restored. As in the case of encoding, each string of matched tiles contains an integer number of tiles, but the starting position of the string of matched tiles may be the position of any pixel sample in the set of reconstructed reference pixel samples, regardless of the size of the tile, and without being limited by the size of the tile. That is, the motion vector is in units of pixel samples rather than in units of tiles. On the other hand, the starting position of the matched micro-block string in the current CU is always in units of micro-blocks, and cannot be the position of an arbitrary pixel sample.
The technical features of the present invention are explained above by specific embodiments. Other advantages and effects of the present invention will be readily apparent to those skilled in the art from the disclosure herein. The invention is capable of other and different embodiments and of being practiced or of being carried out in various ways, and its several details are capable of modification in various respects, all without departing from the spirit and scope of the present invention.
The flow chart of the encoding method of the present invention is shown in fig. 2. The encoding method of the present invention comprises the steps of:
1) performing micro-block string matching coding on an input coding unit, namely original pixels of a CU, and generating (1) an optimal motion vector, namely a matching relative position or a matching distance, taking a pixel sample value as a unit and (2) a micro-block number, taking a micro-block as a unit, of an optimal matching micro-block string; starting from a starting micro block in the CU, searching one or more optimal matching micro block strings in a preset searching range in the reconstructed reference pixel sample set according to a preset evaluation criterion and an arrangement rule of the micro block strings; the number of the micro blocks of the matched micro block strings obtained by searching is the same as that of the corresponding matched micro block strings in the CU; the motion vector is the difference between the position coordinates of the matching micro-block string and the position coordinates of the matched micro-block string; the unit of the motion vector is the smallest coordinate unit of a pixel sample (whole pixel sample or half, quarter, eighth pixel sample) instead of a tile; the unit of the micro-block number is the coordinate unit of the micro-block instead of the pixel sample value; the output of the micro-block string matching coding is the motion vector, the micro-block number and the matching residual; the matching residual is the difference between the value of the pixel sample of the matching micro-block string and the value of the pixel sample of the matched micro-block string;
2) the remaining common coding and reconstruction steps, such as intra prediction, inter prediction, transform, quantization, inverse transform, inverse quantization, entropy coding, deblocking filtering, Sample Adaptive compensation (Sample Adaptive Offset); the input of the step is the output and input original pixel of the step 1); the output of this step is the reconstructed pixel and the compressed code stream containing the motion vector, the number of micro-blocks and other coding results; the reconstructed pixel is placed in a temporary storage area of a reconstructed reference pixel sample value and is used as a reference pixel required by a subsequent micro block string matching coding step, other common coding and reconstruction steps; the compressed code stream is also the final output of the encoding method.
The flow chart of the decoding method of the present invention is shown in fig. 3. The decoding method of the present invention comprises the steps of:
1) analyzing a compressed code stream containing a motion vector, the number of micro blocks and other encoding results, and outputting 1) the motion vector and the number of the micro blocks which are obtained by analyzing and matched with the micro block string, and 2) the data obtained by analyzing the rest;
2) performing micro-block string matching decoding of a current CU by using the input motion vector and the number of micro-blocks; that is, calculating the position of the determined matching micro-block string from the position of the motion vector and the current matched micro-block string in the CU in the reconstructed reference pixel sample value temporary storage area, copying all sample values of the whole matching micro-block string with the micro-block number (length) as the micro-block number according to the known arrangement rule of the micro-block string, and moving and pasting the whole matching micro-block string to the position of the current matched micro-block string to restore the whole matched micro-block string; the matched micro-block string and the matching micro-block string have the same number of micro-blocks; the unit of the motion vector is the smallest coordinate unit of a pixel sample (whole pixel sample or half, quarter, eighth pixel sample) instead of a tile; the unit of the micro-block number is the coordinate unit of the micro-block instead of the pixel sample value; the output of the micro-block string matching decoding is the pixel sample value of the matched micro-block string which is restored;
3) the remaining common decoding and reconstruction steps, such as intra prediction, inter prediction, inverse transform, inverse quantization, entropy decoding, deblocking filtering, Sample Adaptive compensation (Sample Adaptive Offset); the input of the step is the output of the step 2) and the output 2) of the step 1), namely the data obtained by other analysis; the output of this step is the reconstructed pixel; the reconstructed pixel is placed in a temporary storage area of a reconstructed reference pixel sample value and is used as a reference pixel required by a subsequent micro-block string matching decoding step and other common decoding and reconstruction steps; the reconstructed pixels are also the final output of the present decoding method.
The schematic diagram of the encoding device of the present invention is shown in fig. 4. The whole coding device consists of the following modules:
1) the micro-block string matching search coding module: performing micro-block string matching coding on input video image pixel sample values, and searching to obtain one or more optimal matching micro-block strings in each input Coding Unit (CU) from a starting micro-block within a preset searching range in a reconstructed reference pixel sample value set according to a preset evaluation criterion and an arrangement rule of the micro-block strings; the number of the micro blocks of the matched micro block strings obtained by searching is the same as that of the corresponding matched micro block strings in the CU; the difference between the position coordinates of the matching micro-block string and the position coordinates of the matched micro-block string is called a motion vector; the unit of the motion vector is the smallest coordinate unit of a pixel sample (whole pixel sample or half, quarter, eighth pixel sample) instead of a tile; the unit of the micro-block number is the coordinate unit of the micro-block instead of the pixel sample value; the output of this module is the motion vector, the number of micro-blocks and the matching residual; the matching residual is the difference between the value of the pixel sample of the matching micro-block string and the value of the pixel sample of the matched micro-block string;
2) the remaining various common techniques encode and reconstruct modules: encoding and reconstruction operations that perform various conventional techniques, such as intra prediction, inter prediction, transformation, quantization, inverse transformation, inverse quantization, de-blocking filtering, Sample Adaptive compensation (Sample Adaptive Offset); the inputs to this module are the output of the above module 1) and the original input video image pixels; the output of this module is the reconstructed pixels and the rest of the coding results; the reconstructed pixel is put into a temporary storage module of a reconstructed reference pixel sample value and is used as a reference pixel required by the matching coding of a subsequent micro block string, the coding and reconstruction of other various common technologies;
3) a reconstructed reference pixel sample value temporary storage module: all previously reconstructed pixel samples stored temporarily until the position of the matched micro-block string in the current coding or the position of the CU in the current coding are used as reference pixel samples of the matched micro-block string in the current coding (namely, pixel samples of candidate matched micro-block strings) and also used as reference pixel samples required when various encoding and reconstruction operations of common technologies are carried out;
4) an entropy coding module: performing entropy coding operation on all coding results which need to be output to a compressed code stream and comprise a motion vector, the number of micro blocks and other coding results; the result of the entropy coding is also the final output of the present coding apparatus.
The decoding device of the present invention is schematically shown in fig. 5. The whole decoding device consists of the following modules:
1) an entropy decoding module: performing entropy decoding on the input compressed code stream, and analyzing the significance of various data obtained by the entropy decoding; sending the motion vector and the micro-block number obtained by analysis to a micro-block string matching decoding module; sending the rest data obtained by analysis to other common technology decoding and reconstructing modules;
2) the micro-block string matching decoding module: the input of the module is a motion vector and the number of micro blocks; the module calculates the position of the matched micro-block string determined by the position of the matched micro-block string in the current decoding from the reconstructed reference pixel sample value set by the motion vector, copies all sample values of the whole matched micro-block string with the micro-block number (length) according to the known arrangement rule of the micro-block string, moves and pastes the whole matched micro-block string to the position of the matched micro-block string in the current decoding, and restores the whole matched micro-block string; the matched micro-block string and the matching micro-block string have the same number of micro-blocks; the unit of the motion vector is the smallest coordinate unit of a pixel sample (whole pixel sample or half, quarter, eighth pixel sample) instead of a tile; the unit of the micro-block number is the coordinate unit of the micro-block instead of the pixel sample value; the output of the micro-block string matching decoding module is the restored pixel sample value of the matched micro-block string;
3) the remaining various common techniques decode and reconstruct modules: performing the remaining various common techniques, such as intra prediction, inter prediction, inverse transform, inverse quantization, deblocking filtering, Sample Adaptive compensation (Sample Adaptive Offset), decoding and reconstruction operations on the matched micro-block strings in the current decoding or the CUs in the current decoding; the output of this module is the reconstructed pixel; the reconstructed pixel is put into a reconstructed reference pixel sample value set and is used as a reference pixel required by subsequent micro-block string matching decoding operation and other various common technologies for decoding and reconstructing operation; the reconstructed pixel is also the final output of the decoding device;
4) a reconstructed reference pixel sample value temporary storage module: the pixel samples of the reconstructed reference pixel sample set, that is, all the previously reconstructed pixel samples up to the position of the matched micro-block string in the current decoding or up to the position of the CU in the current decoding are temporarily stored and used as the reference pixel samples of the matched micro-block string in the current decoding (that is, the pixel samples of the matched micro-block string), and also used as the reference pixel samples required when the CU in the current decoding is subjected to various encoding and reconstruction operations of common techniques.
The drawings provided above are only schematic illustrations of the basic idea of the present invention, and the drawings only show the components directly related to the present invention rather than the number, shape and size of the components in actual implementation, and the type, number and proportion of the components in actual implementation may be changed arbitrarily, and the layout of the components may be more complicated.
Further implementation details and variants of the invention follow.
In the method or the device for matching and encoding and decoding the micro-block strings, the number of the micro-blocks of the micro-block strings can only take a plurality of preset numbers (such as 2, 4, 6, 8, 12 and 16), so that the number of the plurality of preset micro-blocks is not the number of the micro-blocks per se but is written in or read from the code stream data of the compressed code stream for each matching micro-block string.
Claims (1)
1. An image compression method combining block matching and string matching, characterized by comprising the steps of:
step 1) performing micro-block string matching coding on an original pixel of an input coding unit with a pixel resolution of M × M by using a micro-block with a pixel resolution of M × n as a basic matching unit, wherein the value of M includes 4, 8, 16, 32 and 64, and the value limiting conditions of M and n include: the values of m and n are respectively integers including 1 or 2 or 4, m and n can not simultaneously take the value of 1, and (1) the optimal motion vector which takes a pixel sample value as a unit, namely the matching relative position or the matching distance, and (2) the number of the microblocks which take the microblock as a unit of the optimal matching microblock string are generated; starting from a starting micro block in the coding unit, searching to obtain one or more optimal matching micro block strings in a preset search range in a reconstructed reference pixel sample value temporary storage area according to a preset evaluation criterion and an arrangement rule of the micro block strings; the number of the micro blocks of the matched micro block string obtained by searching is the same as that of the corresponding matched micro block string in the coding unit; the motion vector is the difference between the position coordinates of the matching micro-block string and the position coordinates of the matched micro-block string; the unit of the motion vector is the minimum coordinate unit of the pixel sample value and not the micro-block; the unit of the micro-block number is the coordinate unit of the micro-block instead of the pixel sample value; the output of the micro-block string matching coding is the motion vector, the micro-block number and the matching residual; the matching residual is the difference between the value of the pixel sample of the matching micro-block string and the value of the pixel sample of the matched micro-block string;
step 2) the rest encoding and reconstructing steps comprise intra-frame prediction, inter-frame prediction, transformation, quantization, inverse transformation, inverse quantization, entropy encoding, deblocking filtering and sample value self-adaptive compensation; the input of this step consists of two parts: the first part is the output of the step 1) and the second part is the original pixel in the step 1); the output of this step is the reconstructed pixel and the compressed code stream containing the motion vector, the number of micro-blocks and other coding results; the reconstructed pixel is placed in a temporary storage area of a reconstructed reference pixel sample value and is used as a reference pixel required by a subsequent micro-block string matching coding step, and other coding and reconstruction steps; the compressed code stream is also the final output of the coding method;
the micro-blocks are in a pack format; the number of microblocks can only take a plurality of preset values, each preset value is represented by a number, also called an index, and for each matching microblock string, the number of microblocks read out from the compressed code stream by the decoder is not the value of the number of microblocks but the number of the preset value of the number of microblocks.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911089009.3A CN110830803B (en) | 2013-10-12 | 2013-10-12 | Image compression method combining block matching and string matching |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911089009.3A CN110830803B (en) | 2013-10-12 | 2013-10-12 | Image compression method combining block matching and string matching |
CN201310475108.1A CN104581177B (en) | 2013-10-12 | 2013-10-12 | Image compression method and device combining block matching and string matching |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310475108.1A Division CN104581177B (en) | 2013-10-12 | 2013-10-12 | Image compression method and device combining block matching and string matching |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110830803A CN110830803A (en) | 2020-02-21 |
CN110830803B true CN110830803B (en) | 2022-04-19 |
Family
ID=53096236
Family Applications (7)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911088103.7A Withdrawn CN110913222A (en) | 2013-10-12 | 2013-10-12 | Image compression method combining block matching and string matching |
CN201911088985.7A Withdrawn CN110691252A (en) | 2013-10-12 | 2013-10-12 | Image compression apparatus combining block matching and string matching |
CN201911088982.3A Expired - Fee Related CN110691250B (en) | 2013-10-12 | 2013-10-12 | Image compression apparatus combining block matching and string matching |
CN201911088984.2A Withdrawn CN110708543A (en) | 2013-10-12 | 2013-10-12 | Image compression apparatus combining block matching and string matching |
CN201911089009.3A Active CN110830803B (en) | 2013-10-12 | 2013-10-12 | Image compression method combining block matching and string matching |
CN201911088109.4A Withdrawn CN110913216A (en) | 2013-10-12 | 2013-10-12 | Image compression method combining block matching and string matching |
CN201310475108.1A Active CN104581177B (en) | 2013-10-12 | 2013-10-12 | Image compression method and device combining block matching and string matching |
Family Applications Before (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911088103.7A Withdrawn CN110913222A (en) | 2013-10-12 | 2013-10-12 | Image compression method combining block matching and string matching |
CN201911088985.7A Withdrawn CN110691252A (en) | 2013-10-12 | 2013-10-12 | Image compression apparatus combining block matching and string matching |
CN201911088982.3A Expired - Fee Related CN110691250B (en) | 2013-10-12 | 2013-10-12 | Image compression apparatus combining block matching and string matching |
CN201911088984.2A Withdrawn CN110708543A (en) | 2013-10-12 | 2013-10-12 | Image compression apparatus combining block matching and string matching |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911088109.4A Withdrawn CN110913216A (en) | 2013-10-12 | 2013-10-12 | Image compression method combining block matching and string matching |
CN201310475108.1A Active CN104581177B (en) | 2013-10-12 | 2013-10-12 | Image compression method and device combining block matching and string matching |
Country Status (1)
Country | Link |
---|---|
CN (7) | CN110913222A (en) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108235007B (en) * | 2016-12-12 | 2023-06-27 | 上海天荷电子信息有限公司 | Data compression method and device for each mode using different precision and same coding parameter |
CN112543333B (en) * | 2020-06-02 | 2021-08-24 | 腾讯科技(深圳)有限公司 | Video decoding method, video encoding method and related equipment |
CN112532988B (en) * | 2020-06-02 | 2022-05-06 | 腾讯科技(深圳)有限公司 | Video encoding method, video decoding method and related equipment |
CN112532989B (en) * | 2020-06-02 | 2022-02-25 | 腾讯科技(深圳)有限公司 | Video encoding method, video decoding method and related equipment |
CN112565767B (en) * | 2020-06-04 | 2022-04-01 | 腾讯科技(深圳)有限公司 | Video decoding method, video encoding method and related equipment |
CN111866512B (en) * | 2020-07-29 | 2022-02-22 | 腾讯科技(深圳)有限公司 | Video decoding method, video encoding method, video decoding apparatus, video encoding apparatus, and storage medium |
CN112055219B (en) * | 2020-08-05 | 2021-08-31 | 浙江大华技术股份有限公司 | String matching prediction method and device and computer readable storage medium |
CN112073719B (en) * | 2020-08-21 | 2021-09-14 | 浙江大华技术股份有限公司 | String matching prediction method, device and system and computer readable storage medium |
CN114390289A (en) * | 2020-10-18 | 2022-04-22 | 腾讯科技(深圳)有限公司 | Reference pixel candidate list construction method, device, equipment and storage medium |
CN114615498A (en) * | 2020-12-05 | 2022-06-10 | 腾讯科技(深圳)有限公司 | Video decoding method, video encoding method, related device and storage medium |
CN112672160B (en) * | 2020-12-17 | 2023-10-10 | 绍兴文理学院 | Encoding and decoding method and device for fusing intra-frame block copy and string copy encoding parameters |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101420614A (en) * | 2008-11-28 | 2009-04-29 | 同济大学 | Method for compressing image and device that a kind of hybrid coding and dictionary encoding are integrated |
CN102497546A (en) * | 2011-11-28 | 2012-06-13 | 同济大学 | Screen image compression device and compression method thereof |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3478836B2 (en) * | 1997-05-07 | 2003-12-15 | シーメンス アクチエンゲゼルシヤフト | Method and apparatus for encoding digital image sequence |
US6535642B1 (en) * | 1999-07-13 | 2003-03-18 | Microsoft Corporation | Approximate string matching system and process for lossless data compression |
US6420979B1 (en) * | 2000-11-15 | 2002-07-16 | Nec Corporation | Method for compressing and decompressing image signals and apparatus for compressing and decompressing image signals |
WO2004062110A1 (en) * | 2002-12-26 | 2004-07-22 | Fujitsu Limited | Data compressing method, program and apparatus |
KR100621004B1 (en) * | 2003-10-13 | 2006-09-08 | 엘지전자 주식회사 | Macroblock detecting method in mobile communication system |
CN1777283A (en) * | 2004-12-31 | 2006-05-24 | 上海广电(集团)有限公司 | Microblock based video signal coding/decoding method |
CN100496126C (en) * | 2006-03-03 | 2009-06-03 | 凌阳科技股份有限公司 | Image coder and coding method |
US20080279478A1 (en) * | 2007-05-09 | 2008-11-13 | Mikhail Tsoupko-Sitnikov | Image processing method and image processing apparatus |
CN106937113B (en) * | 2011-12-05 | 2020-06-02 | 同济大学 | Image compression method and device based on mixed chroma sampling rate |
US20130243090A1 (en) * | 2012-03-13 | 2013-09-19 | Yan Xin Li | Block-matching Motion Estimation Method and Apparatus |
CN103327340B (en) * | 2013-06-20 | 2016-06-15 | 华为技术有限公司 | A kind of integer searches method and device |
-
2013
- 2013-10-12 CN CN201911088103.7A patent/CN110913222A/en not_active Withdrawn
- 2013-10-12 CN CN201911088985.7A patent/CN110691252A/en not_active Withdrawn
- 2013-10-12 CN CN201911088982.3A patent/CN110691250B/en not_active Expired - Fee Related
- 2013-10-12 CN CN201911088984.2A patent/CN110708543A/en not_active Withdrawn
- 2013-10-12 CN CN201911089009.3A patent/CN110830803B/en active Active
- 2013-10-12 CN CN201911088109.4A patent/CN110913216A/en not_active Withdrawn
- 2013-10-12 CN CN201310475108.1A patent/CN104581177B/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101420614A (en) * | 2008-11-28 | 2009-04-29 | 同济大学 | Method for compressing image and device that a kind of hybrid coding and dictionary encoding are integrated |
CN102497546A (en) * | 2011-11-28 | 2012-06-13 | 同济大学 | Screen image compression device and compression method thereof |
Non-Patent Citations (2)
Title |
---|
Pseudo-2D-matching based dual-coder architecture for screen contents coding;Tao Lin等;《2013 IEEE International Conference on Multimedia and Expo Workshops (ICMEW)》;20131003;全文 * |
融合全色度LZMA与色度子采样HEVC的屏幕图像编码;张培君等;《电子与信息学报》;20130115;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN104581177B (en) | 2020-03-31 |
CN110913222A (en) | 2020-03-24 |
CN104581177A (en) | 2015-04-29 |
CN110830803A (en) | 2020-02-21 |
CN110913216A (en) | 2020-03-24 |
CN110691250A (en) | 2020-01-14 |
CN110708543A (en) | 2020-01-17 |
CN110691250B (en) | 2022-04-08 |
CN110691252A (en) | 2020-01-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110830803B (en) | Image compression method combining block matching and string matching | |
EP3334153B1 (en) | Reference frame decoding method | |
CN111010568B (en) | Training method and device of interpolation filter, video image coding and decoding method and coder-decoder | |
CN104244007B (en) | Image coding method and device and decoding method and device | |
CN104683805B (en) | Image coding, coding/decoding method and device | |
CN104754361B (en) | Image Coding, coding/decoding method and device | |
US11212539B2 (en) | Efficient lossless compression of captured raw image information systems and methods | |
CN105100814B (en) | Image coding and decoding method and device | |
WO2015120818A1 (en) | Picture coding and decoding methods and devices | |
CN113766249B (en) | Loop filtering method, device, equipment and storage medium in video coding and decoding | |
CN104754362B (en) | Image compression method using fine-divided block matching | |
CN104853211A (en) | Image compression method and apparatus employing various forms of reference pixel storage spaces | |
JP2023504408A (en) | Method and apparatus for chroma sampling | |
WO2020103800A1 (en) | Video decoding method and video decoder | |
CN104704826A (en) | Two-step quantization and coding method and apparatus | |
EP3711302A1 (en) | Spatially adaptive quantization-aware deblocking filter | |
CN110505488B (en) | Image coding or decoding method for expanding prediction pixel array | |
CN114584776A (en) | Method and device for decoding intra-frame prediction mode | |
CN104581186B (en) | Method for coding and decoding intra-frame motion vector in image compression | |
WO2024012249A1 (en) | Method and apparatus for coding image including text, and method and apparatus for decoding image including text | |
WO2023000182A1 (en) | Image encoding, decoding and processing methods, image decoding apparatus, and device | |
CN107770544A (en) | Using multiclass match parameter and the data compression method and device of preceding parameter buffer | |
CN116134817A (en) | Motion compensation using sparse optical flow representation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20220329 Address after: 518000 a1222, Auto building, No. 45, Zhenhua Road, Huaqiang North Street, Futian District, Shenzhen, Guangdong Province Applicant after: Shenzhen Yihui film and television media Co.,Ltd. Address before: 430000, 705, 706a, building 1, Huigu spacetime, No. 206, Laowu Huanghe Road, Donghu New Technology Development Zone, Hongshan District, Wuhan City, Hubei Province Applicant before: Hong Xuewen |
|
GR01 | Patent grant | ||
GR01 | Patent grant |