Background technology
Along with taking remote desktop as the cloud computing of new generation of classic manifestations and the development of messaging model and platform and universal, interconnected between multiple stage computer, between other digital devices such as main frame and intelligent television, smart mobile phone, panel computer and between various all kinds of digital device has become a reality and has increasingly become a kind of main trend.This makes server end (cloud) become current active demand to the real time screen transmission of user side.Owing to needing the screen video data volume of transmission very large, for panel computer 2048x1536 pixel resolution and 60 frames/second refresh rate 24 true color screen pictures, the data of transmission are needed to reach 2048x1536x60x24=4320 megabit per second, it is impossible that so many data want under the network condition of reality, realize real-time Transmission, and the effective data compression therefore for computer screen image is essential.
Making full use of the feature of computer screen image, computer screen image is carried out to the compression of Ultra-High Efficiency, is also up-to-date international video compression standards HEVC(High Efficiency Video Coding) a main target.
A distinguishing feature of computer screen image usually has much similar even identical pixel patterns (pixel pattern) in same two field picture.Such as, the Chinese of normal appearance in computer screen image or foreign language word, be all be made up of a few basic strokes, can find much similar or identical stroke in same two field picture.Menu common in computer screen image, icon etc., also have much similar or identical pattern.Infra-frame prediction (intra prediction) mode adopted in existing image and video compression technology, only with reference to adjacent pixel sample value, cannot utilize the similitude in a two field picture or homogeny to improve compression efficiency.Intra frame motion compensation of the prior art (intra motion compensation) mode copies (intra block copy) mode also referred to as intra block, by several fixed size (as 4x4,8x8,16x16,32x32,64x64 pixel) block carry out intra block coupling (intra block matching) coding, the coupling of various different size and shape can not be found.And another kind of String matching of the prior art (string matching) mode, although the coupling of various different size and shape effectively can be found, there is the problems such as complexity, amount of calculation, memory read/write bandwidth be all larger.Therefore, new coding tools must be sought, fully can excavate and utilize the similar or identical pattern existed in computer screen image, to increase substantially compression effectiveness, again complexity, amount of calculation, memory read/write bandwidth etc. all being controlled in less scope.
The natural form of the digital video signal of screen picture is the sequence of image.The rectangular area that piece image is normally made up of some pixels, if digital video signal is per second 50 width images, so one section of digital video signal of 30 minutes is exactly a sequence of video images be made up of 30x60x50=90000 width image, sometimes also referred to as video sequence or sequence.Digital encoding video signal is encoded to a width piece image exactly.
In up-to-date international video compression standards HEVC, when piece image is encoded, piece image is divided into the subgraph of some pieces of MxM pixels, is called " coding unit (Coding Unit is called for short CU) ", take CU as basic coding unit, subgraph one piece a piece is encoded.The size of conventional M is 4,8,16,32,64.Therefore, carry out coding to a sequence of video images to encode successively to each coding unit exactly.Equally, be also that each coding unit is decoded successively during decoding, finally reconstruct whole sequence of video images.
For adapting to the different of each several part picture material and character in piece image, carry out most efficient coding targetedly, in piece image, the size of each CU can be different, has plenty of 8x8, has plenty of 64x64, etc.In order to enable the CU of different size seamless spliced, piece image is always first divided into that size is identical to be had
nx
n" maximum coding unit (Largest Coding Unit is called for short LCU) " of pixel, then each LCU again Further Division become multiple phasing not of uniform size with CU.Such as, piece image is first divided into the LCU(of the identical 64x64 pixel of size
n=64).Wherein certain LCU is made up of the CU of CU and 4 16x16 pixel of 3 32x32 pixels.And another LCU is made up of the CU of CU and 20 8x8 pixel of the CU of 2 32x32 pixels, 3 16x16 pixels.Encoding to piece image, is exactly encode to CU one by one successively.
A color images have 3 component (component) compositions.The GBR color format that the most frequently used two kinds of pixel color forms (pixel color format) are made up of green component, blue component, red component and the YUV color format be made up of brightness (luma) component and two colourity (chroma) components also claim YCbCr color format.Therefore, when a CU is encoded, a CU can be divided into 3 component planes (G plane, B plane, R plane or Y plane, U plane, V plane), 3 component planes are encoded respectively; Also 3 of a pixel component binding combination can be become 3 tuples, the CU entirety be made up of these 3 tuples is encoded.The arrangement mode of front a kind of pixel and component thereof is called the planar format (planar format) of image (and CU), and then the arrangement mode of a kind of pixel and component thereof is called the stacked package form (packed format) of image (and CU).
YUV color format can be subdivided into several subformat according to whether carrying out down-sampling to chromatic component again: the YUV4:4:4 pixel color form that 1 pixel is made up of 1 Y-component, 1 U component, 1 V component; The YUV4:2:2 pixel color form that adjacent 2 pixels in left and right are made up of 2 Y-component, 1 U component, 1 V component; The YUV4:2:0 pixel color form that 4 pixels of the neighbouring 2x2 of the pressing spatial arrangements in left and right are made up of 4 Y-component, 1 U component, 1 V component.One-component generally represents by the numeral of 18 ~ 16 bit.YUV4:2:2 pixel color form and YUV4:2:0 pixel color form are all obtain the down-sampling of YUV4:4:4 pixel color form execution chromatic component.Pixel component is also referred to as a pixel sample value (pixel sample) or be called a sample value (sample) simply.
Intra block coupling (intra block matching, also claim intra frame motion compensation intra motion compensation or claim intra block to copy intra block copy) encoding is exactly when encoding to a CU, in certain predetermined hunting zone (search range) among the pixel of reconstructed reference sample value collection in same frame, search and described CU(are namely by match block) between the minimum match block (being called blocks and optimal matching blocks) of matching error, then write in compressed video stream by the relative position (calling that mobile vector and motion vector are called for short MV) between match block and blocks and optimal matching blocks.
Intra block matching and decoding is exactly when decoding to a CU, according to the MV parsed from compressed video stream, determine the position of the match block among the pixel of the reconstructed reference sample value collection in same frame, then described match block copy and paste to described CU(namely by match block) position.
In frame, String matching (intra string matching) coding is exactly when encoding to a CU, in certain predetermined hunting zone (search range) among the pixel of reconstructed reference sample value collection in same frame, search obtains the pixel sample value coupling string of the variable-length of one or more optimum, each coupling string a coupling relative position (being called that mobile vector and motion vector are called for short MV) and a matching length, namely a pair (mobile vector, matching length) characterizes.Then one or more pairs of (mobile vector, matching length) is write in compressed video stream.
In frame, String matching decoding is exactly when decoding to a CU, according to the one or more pairs of (mobile vectors parsed from compressed video stream, matching length), determine the position of the one or more pixel sample value coupling strings among the pixel of the reconstructed reference sample value collection in same frame, then the relative position (namely by the position of coupling string) of one or more described coupling string copy and paste to described CU.The pixel sample number of the coupling string of each copy and paste is exactly described matching length.Corresponding is also had identical described matching length by coupling string.
Technical characteristics of the present invention as shown in Figure 1.The coupling microlith string represented in Fig. 1 and by coupling microlith string can be stacked package form coupling microlith string and by coupling microlith string, also can be the one-component (sample value) of planar format coupling microlith string and by coupling microlith string.Thus method and apparatus of the present invention, had both gone for the Code And Decode of the pixel of LCU and CU to stacked package form, also went for the Code And Decode of the pixel sample value of a plane of LCU and CU to planar format.A microlith in Fig. 1 by width to be 2 be highly 2 2x2=4 pixel or pixel sample value form, be called 2x2 microlith.But the present invention also can with the microlith of other sizes, as width to be 2 be highly 2x1=2 the pixel of 1 or the 2x1 microlith of pixel sample value composition, or width to be 1 be highly 1x2=2 the pixel of 2 or the 1x2 microlith of pixel sample value composition, or width to be 4 be highly 4x1=4 the pixel of 1 or the 4x1 microlith of pixel sample value composition, or width to be 1 be highly 1x4=4 the pixel of 4 or the 1x4 microlith of pixel sample value composition, width to be 4 be highly 4 4x4=16 pixel or the 4x4 microlith that forms of pixel sample value.
In coding method of the present invention and device, the most basic peculiar technical characteristic is exactly when encoding to current C U, search in the history pixel collection of samples (also claiming reconstructed reference pixel sample value collection) completing coding, find one by one one or more match with the pixel sample value of present encoding CU with microlith be the optimum of basic matching unit mate microlith string.Each coupling microlith string two parameters: mobile vector (namely mating relative position or matching distance) and coupling microlith number (being called for short microlith number), namely a pair (mobile vector, microlith number) characterizes.Each coupling microlith string is containing an integer microlith, but the original position of coupling microlith string can be the position of pixel sample value arbitrarily among reconstructed reference pixel sample value collection, has nothing to do, be not also subject to the restriction of the size of microlith with the size of microlith.That is, mobile vector is in units of pixel sample value but not in units of microlith.That microlith string that those microliths current C U among corresponding with the Optimum Matching microlith string found among reconstructed reference pixel sample value collection form is called and is mated microlith string.Being mated the original position of microlith string among current C U always in units of microlith, can not be the position of arbitrary pixel sample value.
In coding/decoding method of the present invention and device, the most basic peculiar technical characteristic is exactly when the compressed bit stream decoding data to current decoding CU, reads successively one or more pairs of (mobile vector, microlith number) from bit stream data.Then, from current decoding calculated by the position of first microlith of coupling microlith string and mobile vector coupling microlith string among reconstructed reference pixel sample value collection the position of first microlith.Then, again according to the queueing discipline of predetermined microlith string, whole coupling microlith string (the microlith number containing being determined by described microlith number) is copied among reconstructed reference pixel sample value collection, that whole coupling microlith string is moved and pasted in current decoding is described by the position of coupling microlith string, restores whole by coupling microlith string.Copy so successively, move, paste and mate microlith string one by one, finally restore all pixel sample values of whole current decoding CU.The same with situation during coding, each coupling microlith string is containing an integer microlith, but the original position of coupling microlith string can be the position of pixel sample value arbitrarily among reconstructed reference pixel sample value collection, has nothing to do, also not by the restriction of the size of microlith with the size of microlith.That is, mobile vector is in units of pixel sample value but not in units of microlith.On the other hand, being mated the original position of microlith string among current C U always in units of microlith, can not be the position of arbitrary pixel sample value.
By some specific instantiations, technical characteristic of the present invention is described above.Those skilled in the art can understand other advantages of the present invention and effect easily by content disclosed in the present specification.The present invention can also be implemented or be applied by embodiments different in addition, and the every details in this specification also can based on different viewpoints and application, carries out various modification or change not deviating under spirit of the present invention.
The schematic flow sheet of coding method of the present invention as shown in Figure 2.Coding method of the present invention comprises the steps:
1) microlith String matching coding is carried out to the coding unit of an input and the original pixels of CU, produce the microlith number in units of microlith that namely (1) optimum mobile vector in units of pixel sample value mates relative position or matching distance and (2) Optimum Matching microlith string; Namely from the initial microlith of in described CU, in one among reconstructed reference pixel sample value collection predetermined hunting zone, according to the queueing discipline of predetermined assessment level and microlith string, search obtains the coupling microlith string of one or more optimum; Search for the described coupling microlith string obtained and have identical described microlith number with the corresponding microlith string that mated in described CU; Described mobile vector is exactly that the position coordinates of described coupling microlith string is mated the difference of the position coordinates of microlith string with described; The unit of described mobile vector is the min coordinates unit of pixel sample value (Integer Pel sample value or 1/2nd, 1/4th, 1/8th pixel sample values) but not microlith; The unit of described microlith number is then microlith but not the coordinate unit of pixel sample value; The output of microlith String matching coding is described mobile vector, described microlith number and coupling residual error; Described coupling residual error is exactly that the numerical value of the pixel sample value of described coupling microlith string is mated the difference of the numerical value of the pixel sample value of microlith string with described;
2) remaining conventional coding and reconstruction step, as infra-frame prediction, inter prediction, conversion, quantification, inverse transformation, inverse quantization, entropy code, block-eliminating effect filtering, sample value adaptive equalization (Sample Adaptive Offset); The input of this step is above-mentioned steps 1) output and input original pixels; The output of this step is reconstructed pixel and the compressed bit stream containing mobile vector, microlith number and other coding results; Described reconstructed pixel puts into reconstructed reference pixel sample value working area, as the reference pixel required for follow-up microlith String matching coding step, all the other conventional codings and reconstruction step; Described compressed bit stream is also the last output of this coding method.
The schematic flow sheet of coding/decoding method of the present invention as shown in Figure 3.Coding/decoding method of the present invention comprises the steps:
1) resolve containing the compressed bit stream of mobile vector, microlith number and other coding results, export 1) resolve mobile vector and the microlith number of the coupling microlith string obtained, 2) all the other resolve the data obtained;
2) mobile vector of input and microlith number is used to carry out the microlith String matching decoding of a current C U; Namely from reconstructed reference pixel sample value working area by the position of the coupling microlith string determined by the position calculation of coupling microlith string current in described mobile vector and described CU, according to the queueing discipline of known microlith string, all sample values of the whole coupling microlith string that to copy microlith quantity (length) be microlith number, and whole described coupling microlith string is moved and pastes current described by the position of coupling microlith string, restore whole described by coupling microlith string; Described had identical described microlith number by coupling microlith string with described coupling microlith string; The unit of described mobile vector is the min coordinates unit of pixel sample value (Integer Pel sample value or 1/2nd, 1/4th, 1/8th pixel sample values) but not microlith; The unit of described microlith number is then microlith but not the coordinate unit of pixel sample value; The output of microlith String matching decoding is that restore described is mated the pixel sample value of microlith string;
3) remaining conventional decoding and reconstruction step, as infra-frame prediction, inter prediction, inverse transformation, inverse quantization, entropy decoding, block-eliminating effect filtering, sample value adaptive equalization (Sample Adaptive Offset); The input of this step is above-mentioned steps 2) output and above-mentioned steps 1) output 2) namely all the other resolve the data that obtain; The output of this step is reconstructed pixel; Described reconstructed pixel puts into reconstructed reference pixel sample value working area, as the reference pixel required for follow-up microlith String matching decoding step, all the other conventional decodings and reconstruction step; Described reconstructed pixel is also the last output of this coding/decoding method.
Code device schematic diagram of the present invention as shown in Figure 4.Whole code device forms by with lower module:
1) microlith String matching search coding module: microlith String matching coding is implemented to inputted video image pixel sample value, in the coding unit and CU of each input, from an initial microlith, in one among reconstructed reference pixel sample value collection predetermined hunting zone, according to the queueing discipline of predetermined assessment level and microlith string, search obtains the coupling microlith string of one or more optimum; Search for the described coupling microlith string obtained and have identical microlith number with the corresponding microlith string that mated in described CU; The position coordinates of described coupling microlith string is called mobile vector with the described difference by the position coordinates mating microlith string; The unit of described mobile vector is the min coordinates unit of pixel sample value (Integer Pel sample value or 1/2nd, 1/4th, 1/8th pixel sample values) but not microlith; The unit of described microlith number is then microlith but not the coordinate unit of pixel sample value; The output of this module is described mobile vector, described microlith number and coupling residual error; Described coupling residual error is exactly that the numerical value of the pixel sample value of described coupling microlith string is mated the difference of the numerical value of the pixel sample value of microlith string with described;
2) remaining various common technology coding and reconstructed module: implement various common technology, as infra-frame prediction, inter prediction, conversion, quantification, inverse transformation, inverse quantization, block-eliminating effect filtering, sample value adaptive equalization (Sample Adaptive Offset), coding and restructing operation; The input of this module is above-mentioned module 1) output and original input video image pixel; The output of this module is reconstructed pixel and all the other coding results; Described reconstructed pixel puts into reconstructed reference pixel sample value temporary storage module, as the reference pixel required for follow-up microlith String matching coding, remaining various common technology coding and reconstruct;
3) reconstructed reference pixel sample value temporary storage module: keep in present encoding by till the position of coupling microlith string or to the position of CU in present encoding all before reconstructed pixel sample value, as in present encoding by the reference pixel sample value (i.e. the pixel sample value of the coupling microlith string of candidate) of coupling microlith string, reference pixel sample value required when being also used as coding and the restructing operation of the various common technology of execution;
4) entropy code module: to all coding results execution entropy code computings needing to output in compressed bit stream comprising mobile vector, microlith number, all the other coding results; The result of entropy code is also the last output of this code device.
Decoding device schematic diagram of the present invention as shown in Figure 5.Whole decoding device forms by with lower module:
1) entropy decoder module: entropy decoding is implemented to the compressed bit stream of input, and parse entropy and to decode the meaning of the various data obtained; The mobile vector that parsing is obtained and microlith number are sent to microlith String matching decoder module; Remaining various common technology decoding and reconstructed module is sent to resolving the remainder data obtained;
2) microlith String matching decoder module: the input of this module is mobile vector and microlith number; This module among reconstructed reference pixel sample value collection by the position of the coupling microlith string determined by the position calculation of coupling microlith string described mobile vector and current decoding, according to the queueing discipline of known microlith string, all sample values of the whole coupling microlith string that to copy microlith quantity (length) be microlith number, and whole described coupling microlith string to be moved and pastes described in current decoding by the position of coupling microlith string, restore whole described by coupling microlith string; Described had identical described microlith number by coupling microlith string with described coupling microlith string; The unit of described mobile vector is the min coordinates unit of pixel sample value (Integer Pel sample value or 1/2nd, 1/4th, 1/8th pixel sample values) but not microlith; The unit of described microlith number is then microlith but not the coordinate unit of pixel sample value; The output of microlith String matching decoder module is that restore described is mated the pixel sample value of microlith string;
3) remaining various common technology decoding and reconstructed module: implemented remaining various common technology by CU in coupling microlith string or current decoding in current decoding, as infra-frame prediction, inter prediction, inverse transformation, inverse quantization, block-eliminating effect filtering, sample value adaptive equalization (Sample Adaptive Offset), decoding and restructing operation; The output of this module is reconstructed pixel; Described reconstructed pixel is put among reconstructed reference pixel sample value collection, as the reference pixel required for follow-up microlith String matching decoding computing and remaining various common technology decoding and restructing operation; Described reconstructed pixel is also the last output of this decoding device;
4) reconstructed reference pixel sample value temporary storage module: the pixel sample value of temporary reconstructed reference pixel sample value collection, namely in current decoding by reconstructed pixel sample value before all the position of coupling microlith string or to the position of CU in current decoding, as in current decoding by the reference pixel sample value of coupling microlith string (namely mating the pixel sample value of microlith string), reference pixel sample value required when being also used as to implement coding and the restructing operation of various common technology to CU in current decoding.
Above provided diagram only illustrates basic conception of the present invention in a schematic way, only the assembly directly relevant with the present invention is shown but not component count, shape and size when implementing according to reality is drawn in diagram, it is actual when implementing, and the kenel of each assembly, quantity and ratio can be a kind of change arbitrarily, and its assembly layout kenel also may be more complicated.
Below more implementation detail of the present invention and variant.
In described microlith String matching Code And Decode method or device, the microlith number of microlith string only can get several predetermined numeral (as 2,4,6,8,12,16), therefore, for each coupling microlith string, write compressed bit stream or what read from code stream bit stream data is not microlith number itself, but the numbering of these predetermined microlith numbers.
Fig. 1 is microlith String matching Code And Decode, the size of microlith, coupling microlith string and the Pictorial examples by coupling microlith string
Fig. 2 is coding method schematic flow sheet of the present invention
Fig. 3 is coding/decoding method schematic flow sheet of the present invention
Fig. 4 is the module composition schematic diagram of code device of the present invention
Fig. 5 is the module composition schematic diagram of decoding device of the present invention.