+

CN101472176A - Decode method and apparatus for de-block effect filtering based on boundary strength factor - Google Patents

Decode method and apparatus for de-block effect filtering based on boundary strength factor Download PDF

Info

Publication number
CN101472176A
CN101472176A CN 200710173887 CN200710173887A CN101472176A CN 101472176 A CN101472176 A CN 101472176A CN 200710173887 CN200710173887 CN 200710173887 CN 200710173887 A CN200710173887 A CN 200710173887A CN 101472176 A CN101472176 A CN 101472176A
Authority
CN
China
Prior art keywords
macro
block
information
motion vector
intensity factor
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.)
Pending
Application number
CN 200710173887
Other languages
Chinese (zh)
Inventor
罗忠祥
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZHIDUO MICRO ELECTRON (SHANGHAI) CO Ltd
Original Assignee
ZHIDUO MICRO ELECTRON (SHANGHAI) CO Ltd
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 ZHIDUO MICRO ELECTRON (SHANGHAI) CO Ltd filed Critical ZHIDUO MICRO ELECTRON (SHANGHAI) CO Ltd
Priority to CN 200710173887 priority Critical patent/CN101472176A/en
Publication of CN101472176A publication Critical patent/CN101472176A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

The invention provides a decoding method based on edge intensity factors for conducting the de-blocking filter in the video compression processing, wherein, the acquisition of edge intensity factors is finished before the acquisition of the predication macro-block data and the residual block data. The method has the advantages that the current macro-block information can be released from a memory area in advance, and the needed information for the reference to macro blocks share the information existed in other storage area, so that the on-chip memory space in the decoding device is not exclusively occupied, and the memory space is in no need of being externally connected. Therefore, the demand on the memory device is reduced, the problems, such as the delay caused by the repeated memory, and the like are reduced, and the system efficiency is improved.

Description

Carry out the coding/decoding method and the device of block-eliminating effect filtering based on the boundary intensity factor
Technical field
The present invention relates to video coding and decoding technology, relate in particular to the method and the related device that are used for determining the boundary intensity factor in the coding and decoding video and use it for block elimination effect filter.
Background technology
In a lot of important video encoding standards, for example H.264, VC-1, AVS standard, the time redundancy that block-based estimation and compensation are widely used for reducing video sequence is to obtain higher code efficiency, and this scheme provides a kind of Model in Time Domain efficiently for many video flowings.In block-based hybrid coding scheme, the image after the decoding end inverse transformation quantizes can occur by in the block-based frame and the dct transform and the caused blocking effect of motion compensated prediction of Inter prediction residue.This blocking effect is based on the common artificial flaw of compression algorithm of block encoding.
Therefore, block elimination effect filter is applied to after the inverse transformation of coding side, and before the reconstruction of decoding end and the demonstration, to reduce by the caused distortion of blocking effect.The effect of filter is the smooth block border, improves the decoded frame quality.The motion compensated prediction that filtered macro block is used to frame in the future to be improving compression performance because after the filtering image than unfiltered image with blocking effect more near original image.Whether need to use filter, and the intensity of selected filter needs the boundary intensity factor to differentiate.
The scheme of obtaining and use it for the block elimination effect filter differentiation of carrying out the boundary intensity factor in existing video coding and decoding technology is as follows:
-by the relevant information of extracting the reference macroblock adjacent in the decoded data, comprise macro block (mb) type with current macro, the reference frame sequence number, motion vector, the required reference macroblock information stores of the computation bound intensity factor of code coefficient pattern is to the separate, stored district.
-deposit it in current macro memory block by needed information in the decode procedures such as the reference frame sequence number of extracting current macro in the decoded data and motion vector.
-read from the capable memory block of decoded macroblock and to rebuild the needed information of predicted macroblock data and rebuild the predicted macroblock data, and with reverse cosine transform after the residual block data addition that obtains, obtain the reconstruct data of current macro.The relevant information of current macro is write the capable memory block of decoded macroblock, with reference macroblock formerly as next macro block.
-after obtaining the reconstruct data of current macro, read in the separate, stored district storage in advance the boundary intensity factor obtain required reference macroblock information, read current macro information from the current macro memory block, carry out obtaining of the boundary intensity factor according to predetermined rule.
-according to the numerical value of the described boundary intensity factor, need to determine whether boundary filtering, and use which kind of mode to carry out block-eliminating effect filtering, last, finish the block-eliminating effect filtering on each border successively according to a definite sequence.
In this scheme, need in decode procedure, open up an independent memory space, the relevant information that is used for the required reference macroblock of obtaining of stored boundary intensity factor, stored information is used further to the boundary intensity factor and obtains after being saved to the reconstruction value of obtaining predicted macroblock data and residual block data, and stored information is not shared by other operations.This scheme has improved the requirement to memory capacity undoubtedly, and has increased the number of times of storage operation.And frequent storage read operation restricts the bottleneck of Filtering Processing ability exactly.Especially for carrying out after a frame reconstruct under the situation of block-eliminating effect filtering, the information of required a large amount of reference macroblocks may be stored in the chip external memory, for example among SDRAM or the DDR again.And to the storage or the read-write of described information, all need operations such as the sheet external register activate and cuts out, increased the time-delay and the power consumption of system greatly.
Summary of the invention
At prior art decode procedure in need the macro block information that obtaining of the boundary intensity factor is required to preserve separately and obtaining the reconstruction value of predicted macroblock data and residual block data after to carry out required memory space that the technical scheme of the obtaining institute of the boundary intensity factor may exist again big and read the problem of storage operation time-delay length, the present invention had adopted before the reconstruction value of obtaining predicted macroblock data and residual block data the required macro block information of extraction to handle to finish the control method of obtaining and the device of the boundary intensity factor.
According to a first aspect of the invention, a kind of coding/decoding method that carries out block-eliminating effect filtering in video compression is handled based on the boundary intensity factor is provided, it is characterized in that obtaining before the reconstruction value of obtaining predicted macroblock data and residual block data of the boundary intensity factor finished.
According to a second aspect of the invention, a kind of decoding device that carries out block-eliminating effect filtering in video compression is handled based on the boundary intensity factor is provided, has been used for before the reconstruction value of obtaining predicted macroblock data and residual block data, finishing obtaining of the boundary intensity factor.
Compared with prior art, the present invention is to finish before the reconstruction value of obtaining predicted macroblock data and residual block data to obtaining of border intensity factor, thereby can discharge the information of current macro memory block in advance, and the information of required reference macroblock can be shared the existing information in other memory block, and needn't occupy the sheet stored space of decoding device inside separately, or external memorizer space, thereby reduced requirement to needed storage device size, also reduced simultaneously and repeatedly stored the problems such as delay that cause, improved system effectiveness.
Description of drawings
By reading the detailed description of doing with reference to the following drawings that non-limiting example is done, it is more obvious that other features, objects and advantages of the present invention will become:
Fig. 1 is the flow chart of the decoding controlling schemes of general video chip;
Fig. 2 is the required filtering boundary schematic diagram of macro block;
Fig. 3 is the sampling schematic diagram of vertical and horizontal boundary neighborhood;
Fig. 4 is the flow chart of decision boundaries intensity factor;
Fig. 5 is the method flow diagram that is used for finishing the decoding scheme that obtains of the boundary intensity factor before the reconstruction value of predicted macroblock data and residual block data of the embodiment according to the present invention;
Fig. 6 is the macro block position schematic diagram of the embodiment correspondence according to the present invention;
Fig. 7 is the method flow diagram that is used for reading from the capable memory block of motion vector the decoding scheme of the required reference macroblock information of the boundary intensity factor of the embodiment according to the present invention;
Fig. 8 is the macro block position schematic diagram of the embodiment correspondence according to the present invention;
Fig. 9 is the method flow diagram of the decoding scheme that is used for a frame reconstruct of an embodiment according to the present invention;
Figure 10 is the block diagram of finishing the decoding scheme that obtains of the boundary intensity factor before the reconstruction value of predicted macroblock data and residual block data according to a specific embodiment of the present invention;
Figure 11 for according to a specific embodiment of the present invention be applicable to line by line in turn or by the block diagram of row decoding device in turn;
Figure 12 is the block diagram according to the decoding scheme that is used for a frame reconstruct of a specific embodiment of the present invention.
Embodiment
In order to understand the present invention better, be described further below in conjunction with specific embodiments of the invention, below explain earlier the background technology details that technical solution of the present invention is relevant.
The coding and decoding scheme of video decoding chip:
Existing video chip is general to be predicted by coded data formerly earlier, generates the predicted macroblock data of current macro.The current macro data deduct described predicted macroblock data, obtain the residual block data of current macro.After being compressed, described residual block data are transferred to Video Decoder.The information that is transferred to Video Decoder simultaneously also comprises the process information necessary that all Video Decoders repeat to predict (for example motion vector, predictive mode etc.).Video Decoder produces identical predicted macroblock data, itself and decoded residual block data are handled, obtain the reconstruction value of predicted macroblock data and residual block data, and the reconstruction value of these predicted macroblock data and residual block data is carried out block-eliminating effect filtering, to reduce distortion.
The flow chart of decoding controlling schemes can represent that H.264 its scope of application include but are not limited to, VC-1, AVS or Real standard with Fig. 1, below in conjunction with Fig. 1 the decoding controlling schemes is carried out integral body description.
In step S10, by information extraction in the elementary bit stream, comprising the required information of present image reconstruct, it comprises the motion vector relevant information, macro block (mb) type (Mbtype), reference frame sequence number (ref_idx) etc., and the boundary intensity factor obtain required information.Video Decoder writes each self-corresponding memory block with described information.
In step S11, from the memory block, read relevant information, rebuild the predicted macroblock data based on the Forecasting Methodology (inter prediction or infra-frame prediction) of current macro when encoding;
In step S12, compressed encoding is extracted in elementary bit stream decoding, by reorder, change of scale, inverse discrete cosine transform etc., generate the prediction residual blocks of data of current macro;
In step S13, with predicted macroblock data and the addition of residual block data, the reconstruction value of generation forecast macro block data and residual block data;
In step S14, carry out filter strength and differentiate, and use the block elimination effect filter that is fit to macroblock boundaries is carried out block-eliminating effect filtering.
The filtering object:
Block-eliminating effect filtering generally be based on macro block the basis on, be that example describes below in conjunction with Fig. 2 with the macro block of 16 x 16.The piecemeal of involved 16 4 x 4 of these 16 x, 16 macro blocks.Filter is applied to the vertical and horizontal boundary (except the edge of entire image) of each 4 x, 4 piecemeal.Fig. 2 (a) is depicted as one 4 x 4 macro blocks, and a, b, c, d are respectively 4 vertical borders that need filtering of filtering luminance component; E, f, g, h are respectively the border that needs filtering of 4 levels of filtering luminance component.Shown in Fig. 2 (b), i, j are respectively 2 vertical borders that need filtering of filtering chromatic component; K, l are respectively the border that needs filtering of 2 levels of filtering chromatic component; Each needs corresponding boundary intensity factor in border of filtering.
Each filtering operation influences three pixels on both sides, border.Fig. 3 (a) be depicted as the vertical boundary both sides of adjacent block p and q four pixels (p0, p1, p2, p3), Fig. 3 (b) be depicted as adjacent block p and q the horizontal boundary both sides four pixels and (q0, q1, q2, q3).
The boundary intensity factor:
As mentioning among the step S14, before carrying out block-eliminating effect filtering, Video Decoder needs earlier filtering strength to be differentiated, and chooses suitable block elimination effect filter according to described filtering strength again macroblock boundaries is carried out filtering.The effect of the boundary intensity factor is exactly to determine filtering strength.For example, in the existing H.264 standard the defined boundary intensity factor obtain motion vector mv, reference frame sequence number (ref_idx), macro block (mb) type (MBtype) and the code coefficient pattern (cbp) etc. that needed information comprises current macro and adjacent macroblocks.Determine that boundary intensity factor flow chart can specifically describe below in conjunction with Fig. 4 as shown in Figure 4:
1) if p and/or q are intraframe codings, and the border is macroblock boundaries, and the boundary intensity factor values is 4 so;
2) if p and q are intraframe codings, and this border is not macroblock boundaries, and the boundary intensity factor values is 3 so;
3) if p or q are not intraframe codings, and p and q comprise the code coefficient pattern, and the boundary intensity factor values is 2 so;
4) if p or q are not intraframe codings, and p or q do not comprise the code coefficient pattern, and p adopts different reference frame image with q, and perhaps p and q adopt identical reference picture, but the difference of motion vector greater than 4, the boundary intensity factor values is 1 so;
5) otherwise, the boundary intensity factor values is 0.
What the present invention introduced in video decode framework (as shown in Figure 1) that second aspect present invention provided carries out the device/module of block-eliminating effect filtering based on the boundary intensity factor, with the method that realizes that first aspect present invention was provided.
The first embodiment of the present invention, providing a kind of calculates by finished the boundary intensity factor before the reconstruction value of obtaining predicted macroblock data and residual block data, thereby discharge the storage area data of preserving the current macro relevant information in advance, to reduce the method for system loading.Below in conjunction with Fig. 5 the first embodiment of the present invention is described further.
At first in step S51, from elementary bit stream, extract the required current macro information of obtaining of the boundary intensity factor, and deposit it in current macro memory block, the described boundary intensity factor obtain motion vector and the reference frame sequence number that required current macro information comprises current macro.Piecemeal with 4 x 4 is an example, each macro block need preserve 16 motion vectors (x, y) and the information of 4 reference frame sequence numbers, and each motion vector components x or y need the 16bit space to store, each reference frame sequence number needs the 8bit space to store.Therefore, for the piecemeal of each independent 4x4, the required current macro informational needs that obtains of stored boundary intensity factor takies the space of 16*16*2+8*4=544bit at least.Video Decoder extracts other information that need in other decode procedures simultaneously from elementary bit stream, deposit respective storage areas in.
Then, in step S52, from the associated storage district, read relevant information based on the Forecasting Methodology (inter prediction or infra-frame prediction) of current macro when encoding and rebuild the predicted macroblock data;
Then, in step S53, Video Decoder extracts compressed encoding to elementary bit stream decoding, by reorder, change of scale, inverse discrete cosine transform etc., generate the prediction residual blocks of data of current macro;
In step S54, from the current macro memory block, read the required current macro information of obtaining of the boundary intensity factor, for example, motion vector and reference frame sequence number.Afterwards, according to the rule that sets in the video encoding and decoding standard, for example shown in Fig. 4, carry out obtaining of the boundary intensity factor.If filtering boundary is not a macroblock boundaries, and p and q be intraframe coding, is 3 to the boundary intensity factor that should filtering boundary then.After finishing the obtaining of the boundary intensity factor, the data of current macro memory block are write the reference macroblock memory block, the space of current macro memory block can be released.
In step S55, Video Decoder is handled the predicted macroblock data and the residual block data of current macro, obtains the reconstruction value of predicted macroblock data and residual block data.
In step S56, select suitable filters that the predicted macroblock data obtained among the step S55 and the reconstruction value of residual block data are carried out block-eliminating effect filtering according to the boundary intensity factor obtained among the step S55.In existing H.264 standard, the value of boundary intensity is big more, then the filtering that the respective edges both sides are carried out is strong more, this is to set according to the reason that produces blocking artifact, as adopt the square phenomenon of sub-piece of intra prediction mode more obvious, then bigger pixel edge intensity level is set in the corresponding edge in this sub-piece and carry out strong filtering.
It will be appreciated by those skilled in the art that described step S54 must finish before S55, but can be after the step S51 any time before the step S55 finish, not before the S55 after step S53.According to another embodiment of the present invention, obtaining also of the boundary intensity factor can be calculated before calculating at once after the extraction relevant information from elementary bit stream, perhaps obtaining the residual block data after the reconstruction of finishing the predicted macroblock data.In a word, situation shown in Figure 5 should not be considered as the restriction to protection scope of the present invention.
The second embodiment of the present invention provides a kind of scheme of obtaining of carrying out the boundary intensity factor in the situation of inter prediction by the reference macroblock information of sharing the capable memory block of motion vector.This implementation method need not to open up the separate, stored district for the required reference macroblock information of obtaining of the boundary intensity factor, has reduced the taking of memory space, and has also improved system effectiveness simultaneously.
For describe clear for the purpose of, earlier brief description is done in two memory blocks that relate in the present embodiment:
Table 1 memory block conceptual illustration
Notion Explanation
The capable memory block of motion vector In the prior art, be used to store the information of the required group of reference macroblock formerly of the predicted macroblock of rebuilding current macro, stored information comprises macro block (mb) type (MBtype), reference frame sequence number (ref_idx), motion vector mv.
The current macro memory block Be used for storing the required current macro information of decoding, stored information comprises macro block (mb) type (MBtype), reference frame sequence number (ref_idx), motion vector mv etc.
At first the capable memory block of motion vector is described further.
In decode procedure, the capable memory block of described motion vector is used to store the relevant information of rebuilding the required macro block formerly of predicted macroblock data.The macro block position that described macro block formerly comprises is initial to the macro block end of current macro left side from current macro top macro block.Macro block in the picture frame shown in Figure 6 is divided into 8 row and several rows, and X is a current macro, the included described macro block formerly in the capable memory block of then described motion vector be the macro block A shown in Fig. 6 to macro block H, always number is 8.The information of the capable memory block of motion vector comprises motion vector mv, reference frame sequence number (ref_idx), macro block (mb) type (MBtype).Be not difficult to find out that the information of the capable memory block of motion vector has comprised all information except that code coefficient pattern (cbp) that obtaining of the boundary intensity factor is required.Therefore, as long as deposit code coefficient pattern (cbp) in motion vector capable memory block, and carry out obtaining of the boundary intensity factor by the information that reads in the capable memory block of motion vector, just need not to open up the separate, stored district for the required information of obtaining of the boundary intensity factor again.
In the process of the predicted macroblock data of rebuilding current macro, the motion vector information that Video Decoder obtains from the elementary bit stream decoding is for respect to the residual information of the motion vector of macro block formerly.Suppose current macro X is carried out interframe encode, and macro block X is mv with respect to the motion vector of the reference macroblock of its interframe encode.Encoder reads formerly reference frame sequence number and the macro block (mb) type of macro block H earlier, if eligible then read the motion vector predictor of the motion vector of macro block H as current macro, supposes that this motion vector predictor is mvp.For eliminating time redundancy, coding side is sent to decoding end with the relative motion vector residual error mvd=mv-mvp encoding compression of macro block H formerly of described current macro X, and is not that motion vector mv is carried out coding transmission.Therefore, in decoding end, must from the capable memory block of motion vector, read earlier the motion vector predictor of the motion vector value mvp of macro block formerly as current macro, with its with elementary bit stream in the motion vector residual error mvd of current macro of the decoding acquisition motion vector mv that adds up and obtain current macro.Those skilled in the art can understand, the macro block formerly of current macro has more than a macro block that is limited to the current macro left side, the macro block formerly that can choose one or more relative current macro of having finished decoding (for example, choose macro block A and macro block H among Fig. 6 simultaneously) its motion vector is done weighted average, obtain the motion vector predictor mvp of current macro, determine mvd by described mvp again.
After the reconstruction of finishing the predicted macroblock data of current macro, the correlation values of current macro memory block is written into the capable memory block of motion vector, with the macro block formerly when other macro blocks are rebuild in the present image.With Fig. 6 is example, and the information of current macro X is written into the capable memory block of motion vector.Because the reference macroblock sum that the capable memory block of motion vector is comprised is constant, the information of macro block A is discharged from the capable memory block of motion vector.The relevant information that has then comprised macro block B-H and macro block X in the capable memory block of motion vector.When macro block Y carries out decode operation in to Fig. 6, macro block formerly when macro block X is the predicted macroblock of rebuilding macro block Y.Therefore, obtaining of the boundary intensity factor of current macro X finished before should being written into the capable memory block of motion vector in the information of current macro X.
Below in conjunction with Fig. 7 the second embodiment of the present invention is further described in detail.
The information of the capable memory block of motion vector comprises motion vector mv, reference frame sequence number (ref_idx), macro block (mb) type (MBtype) and code coefficient pattern (cbp) in the present embodiment.Code coefficient pattern (cbp) is not kept in the motion vector memory block in the prior art.
At first, in step S71, from elementary bit stream, extract the required current macro information of obtaining of the boundary intensity factor, and deposit it in current macro memory block, the described boundary intensity factor obtain motion vector residual error mvd and the reference frame sequence number ref_idx that required current macro information comprises current macro.Simultaneously, Video Decoder extracts other information that need in the decode procedure from elementary bit stream, deposit respective storage areas in.This step is identical with the step S51 among first embodiment, repeats no more herein.
Then, in step S72, Video Decoder reads the information of the macro block formerly of decoded current macro from the capable memory block of motion vector, rebuilds the predicted macroblock data.
Read the motion vector residual error mvd in the current macro memory block, in the capable memory block of motion vector based on the motion vector predictor mvp of macro block formerly.Motion vector residual error mvd and motion vector predictor mvp addition are obtained the motion vector of current macro reality.Macro block (mb) type and reference frame sequence number by the current macro predicted macroblock that finds current macro is rebuild the predicted macroblock data again.
Then, in step S73, Video Decoder carries out obtaining of the boundary intensity factor based on the information of current macro and the reference macroblock adjacent with current macro by given method.
From the current macro reference area, read the required current macro information of obtaining of the boundary intensity factor, for example, motion vector mv and reference frame sequence number ref_idx.From the capable register of motion vector, read the information of the reference macroblock adjacent, comprise motion vector mv, reference frame sequence number (ref_idx), macro block (mb) type (MBtype) and code coefficient pattern (cbp) with current macro.Described adjacent reference macroblock has identical filtering boundary with current macro.For example, as vertical boundary filtering, then can choose left side adjacent macroblocks H as the reference macro block to macro block X among Fig. 6.As the horizontal boundary filtering to macro block X, the adjacent macroblocks A that then can choose the top is as the reference macro block.Afterwards, according to the rule that sets in the video encoding and decoding standard, for example shown in Fig. 4, carry out obtaining of the boundary intensity factor.
In step S74, the information of current macro X is write the capable memory block of motion vector, with reference macroblock as next macro block.
With reference to Fig. 6, if decode line by line according to order from left to right for current image frame, current macro is X.So, obtaining of the boundary intensity factor of current macro X needs the reference macroblock of macro block A as horizontal direction, and macro block H is as the reference macroblock of vertical direction.Accordingly, when next macro block Y is carried out obtaining of the boundary intensity factor, need the reference macroblock of macro block B as horizontal direction respectively, macro block X is as the reference macroblock of vertical direction.Therefore, the information stores of macro block X must be arrived the capable memory block of motion vector.Owing to finished reconstruction before the step S74, no longer needed to use motion vector mvp and the reference frame sequence number ref_idx of current macro X in the later step to the predicted macroblock data.Therefore, can be immediately after finishing the obtaining of the boundary intensity factor information of current macro X be write the capable memory block of motion vector, discharge motion vector mvp and the reference frame sequence number ref_idx of macro block X in the current macro memory block immediately, reduced taking to the full extent the memory block.It will be appreciated by those skilled in the art that the situation that current macro X information is write the capable memory block of motion vector before obtaining the residual block data is a preferred embodiment of the technical program, but should not be considered as restriction protection scope of the present invention.
In step S75, compressed encoding is extracted in elementary bit stream decoding, by reorder, change of scale, inverse discrete cosine transform etc., generate the prediction residual blocks of data of current macro X.
In step S76, predicted macroblock data and the residual block data of current macro X are handled, obtain the reconstruction value of predicted macroblock data and residual block data.
In step S77, select suitable filters that the predicted macroblock data obtained among the step S76 and the reconstruction value of residual block data are carried out block-eliminating effect filtering according to the boundary intensity factor obtained among the step S73.
Be the required reference macroblock information of obtaining of stored boundary intensity factor in the present embodiment, only need increase certain space in the capable memory block of motion vector comes memory encoding patterns of coefficients cbp, simultaneously, need not be in addition open up independent memory space for the required conditional-variable of obtaining of the boundary intensity factor.In other words, only need in the memory block, increase the space of 4bit for each macro block.And in the prior art, be example with the piecemeal of 4 x 4, in the separate, stored district that opens up separately for each macro block need store 4 motion vectors (x, y), 2 reference frame sequence numbers, the information of 1 macro block (mb) type and a code coefficient pattern.Wherein each described motion vector components x or y need the 16bit space to store, each described reference frame sequence number needs the 8bit space to store, each macro block (mb) type needs the 4bit space to store, and each code coefficient pattern needs the 4bit space to store.Thus can inference, for each macro block, being used for the information of obtaining needed reference macroblock of the access boundary intensity factor is 4*2*16+8*2+4+4=152bits.Using the resolution of D1, promptly the every row of picture frame comprises and can save the memory space of 6660bits under the situation of 45 macro blocks.As seen, use the technical scheme of present embodiment, can save the space that obtains required information of stored boundary intensity factor to a great extent.
Below in conjunction with Fig. 7 and Fig. 8 first of second embodiment being changed example is described further.Suppose that current image frame is divided into the capable N of K row as shown in Figure 8, Video Decoder carries out decode operation to all macro blocks in the current image frame according to flow chart shown in Figure 7 according in turn order line by line.
At first, Video Decoder is according to shown in the flow chart of Fig. 7 capable first macro block of A being decoded.In the process that this macro block is decoded, the motion vector mvp of capable first macro block of A, reference frame sequence number (ref_idx), macro block (mb) type (MBtype) and code coefficient pattern (cbp) are deposited in the obtain required reference macroblock information of the capable memory block of motion vector as the boundary intensity factor of other macro block.Then, according to the order of the Row Column next macro block to this macro block, promptly capable second macro block of A decoded.In that capable second macro block carries out in the process of decode operation to A, need obtain the relevant boundary intensity factor of vertical component of described second macro block.Video Decoder reads the relevant information of capable first macro block of A to carry out obtaining of the boundary intensity factor from the capable memory block of motion vector.And deposited the motion vector mv of capable second macro block of A, reference frame sequence number (ref_idx), macro block (mb) type (MBtype) and code coefficient pattern (cbp) the obtain required reference macroblock information of the capable memory block of motion vector in as the boundary intensity factor of other macro block.By that analogy, Video Decoder is put and is finished capable the 3rd macro block of A, capable the 4th macro block of the A decode operation until capable N the macro block of A one by one.
To the A of present image capable finish decode operation after, Video Decoder begins to begin to decode to B is capable from capable first macro block of B.In the process that this macro block is decoded, need obtain the boundary intensity factor of the adjacent horizontal boundary of capable first macro block of this macro block and A.Video Decoder reads the relevant information of capable first macro block of A from the capable memory block of motion vector, and with current macro, promptly the motion vector mv of capable first macro block of B, reference frame sequence number (ref_idx), macro block (mb) type (MBtype) and code coefficient pattern (cbp) are deposited in the obtain required reference macroblock information of the capable memory block of motion vector as the boundary intensity factor of other macro block.After capable first macro block was finished decode operation to B, Video Decoder carried out decode operation to capable second macro block of B.Video Decoder reads the information of A capable second macro block adjacent with this macro block as the reference macro block information from the capable memory block of motion vector, obtain the boundary intensity factor on adjacent level border; The information that reads B capable first macro block adjacent with this macro block is obtained the boundary intensity factor of adjacent vertical edges circle as the reference macro block information.Afterwards, Video Decoder deposits motion vector mv, reference frame sequence number (ref_idx), macro block (mb) type (MBtype) and the code coefficient pattern (cbp) of capable second macro block of B the obtain required reference macroblock information of the capable memory block of motion vector as the boundary intensity factor of other macro block in.By that analogy, Video Decoder is finished capable the 3rd macro block of B, capable the 4th macro block of B one by one until capable N the macro block decode operation of B, the macro block that begins afterwards C in capable is decoded one by one, is that D is capable, E is capable then, the decoding of all macro blocks in all row in finishing present image.
First of second embodiment of the invention change example according to for each macro block in the macro block group line by line in turn order decode, it will be understood by those skilled in the art that embodiment of the present invention are equally applicable to according to decoding by row order in turn for each macro block in the macro block group.For each macro block, can be earlier to horizontal component filtering again vertical component carry out filtering, perhaps earlier to vertical component filtering again to horizontal component filtering.No matter decode in proper order, be stored in the capable memory block of motion vector, promptly meet the necessary condition of the boundary intensity factor of obtaining current macro as long as guarantee the reference macroblock information of current macro according to which kind of.
Second embodiment of the invention also is applicable in the multistage decoding pipelined architecture.With the level Four streamline is example, supposes, the first order of this level Four streamline is used for elementary bit stream is decoded, and extracts the required relevant information of decoding; The second level is used for by compressed encoding is extracted in elementary bit stream decoding, by reorder, change of scale, inverse discrete cosine transform etc., generate the prediction residual blocks of data of current macro; The third level is used to obtain the predicted picture blocks of data, and the reconstruction value of generation forecast macro block data and residual block data; The fourth stage is used for the reconstruction value of predicted macroblock data and residual block data is carried out the block-eliminating effect filtering operation.Transmit information by the pair register group between streamline at different levels.According to the second variation example of the present invention, can finish obtaining of the boundary intensity factor in the first order of this streamline.Then, need three pair register groups between streamline at different levels, to transmit the boundary intensity factor.Therefore, according to technical scheme of the present invention, for the situation that 4 each border factors of 4 x need 2bit to store, each register needs the 16*2*2=64bits stored boundary factor, and three pair register groups need 64*2*3=384bits memory capacity altogether.And prior art, need three pair register groups, between streamline at different levels, transmit the required relevant information of obtaining of the boundary intensity factor, the register-stored current macro information that needs 3*2* (16*2*16+2*8+4+4)=3216bits, (4*2*16+2*8+4+4) the on-chip memory space of * 45=6840bits.Wherein the cost of register is higher, and being needs one of key factor of considering in the system design.Be not difficult to find out that technical scheme of the present invention can reduce the requirement to memory space of obtaining of the boundary intensity factor greatly, reduces system cost.
At some particular condition, for example support any band to arrange in the video encoding and decoding standard of (ASO), need take the decoding schema of a frame reconstruct, promptly in obtaining current image frame, after the predicted macroblock data and residual block data of a macro block group, the more described a plurality of macro blocks in this macro block group are carried out block-eliminating effect filtering.Wherein, described macro block group can comprise one or more macro block in the current image frame.Change example according to second of second embodiment of the invention, can before block-eliminating effect filtering, finish, it is stored the obtaining of all the macroblock boundaries intensity factors in the individual macro block group.To this macro block group block-eliminating effect filtering the time, only the boundary intensity factor that need read in the memory block is carried out block-eliminating effect filtering, need not to open up the motion vector mv that obtains required a plurality of macro blocks, reference frame sequence number (ref_idx), macro block (mb) type (MBtype) and the code coefficient pattern (cbp) of a large amount of storage area stores boundary intensity factors.Below in conjunction with Fig. 9 second of second embodiment of the invention being changed example further describes.
Step S900 to S905 and step S70 are basic identical to step S76, promptly from elementary bit stream, extract the required current macro information of decoding, from the capable memory block of motion vector, read the predicted macroblock of macro block information reconstruction formerly data, read the reference macroblock data and finish obtaining of the boundary intensity factor from the capable memory block of motion vector, current macro information is write the reference macroblock information of the capable memory block of motion vector as other macro block, obtain the residual block data, obtain the reconstruction value of predicted macroblock data and residual block data.Wherein, the value of the boundary intensity factor of being obtained is written into the memory block, describes for convenient, and this memory block is called factor memory block, border.It will be understood by those skilled in the art that factor memory block, border can be a separate, stored district, also can merge with other memory block.
In step S906, whether Video Decoder is differentiated current macro is last macro block that need carry out in the macro block group of a frame reconstruct.If current macro is not last macro block in the current macro group, then select step S907, the macro block that the next one need be obtained predicted macroblock data and residual block data reconstruction value continues next macro block is operated as the current macro of after this operating.If current macro is last macro block in the current macro group, then select step S908.
In step S908, Video Decoder reads the boundary intensity factor from factor memory block, border, selects the filter of suitable filtering strength according to the value of the described boundary intensity factor, one by one the macro block in the current macro group is carried out block-eliminating effect filtering.In step S909, whether Video Decoder is differentiated current macro is last macro block that need carry out in the macro block group of a frame reconstruct.If current macro is not last macro block in the current macro group, then select step S910, the macro block of reconstruction value that the next one need be obtained predicted macroblock data and residual block data continues execution in step S908 and proceeds the block-eliminating effect filtering operation as the current macro of operation after this.If current macro is last macro block in the current macro group, then finished decoding to the current macro group.
Second of contrast second embodiment of the invention changes example and prior art, is not difficult to find out that the present invention can save memory space required in the acquisition process of the boundary intensity factor greatly.With D1 resolution, the situation that the entire image frame is carried out a frame reconstruct as the macro block group is an example.For this kind situation, current image frame is divided into 45*36=1620 macro block.Use second of second embodiment of the invention to change example, need the memory space stored boundary intensity factor of (16*2*2) * 1620=103680bits.Use the prior art scheme then to need the information of obtaining needed reference macroblock of the memory space stored boundary intensity factor of (16*2*16+2*8+4+4) bit*1620=868320bits.
The third embodiment of the present invention, a decoding device is provided, be used for before the reconstruction value of obtaining predicted macroblock data and residual block data, finishing to the obtaining of border intensity factor, thereby discharge the storage area data of preserving the current macro relevant information in advance, reduce system loading.
At first, decoding device extracts the required current macro information of obtaining of the boundary intensity factor from elementary bit stream, and deposit it in current macro memory block, the described boundary intensity factor obtain motion vector and the reference frame sequence number that required current macro information comprises current macro.Piecemeal with 4 x 4 is an example, each macro block need preserve 16 motion vectors (x, y) and the information of 4 reference frame sequence numbers, and each motion vector components x or y need the 16bit space to store, each reference frame sequence number needs the 8bit space to store.Therefore, for the piecemeal of each 4 independent x 4, the required current macro informational needs that obtains of stored boundary intensity factor takies the space of 16*16*2+8*4=544bit at least.The digital decoding device extracts other information that need in other decode procedures simultaneously from elementary bit stream, deposit respective storage areas in.
Then, decoding device reads relevant information based on the Forecasting Methodology (inter prediction or infra-frame prediction) of current macro when encoding and rebuilds the predicted macroblock data from the associated storage district.
Then, decoding device extracts compressed encoding to elementary bit stream decoding, by reorder, change of scale, inverse discrete cosine transform etc., generate the prediction residual blocks of data of current macro.
Afterwards, decoding device reads the required current macro information of obtaining of the boundary intensity factor from the current macro memory block, for example, and motion vector and reference frame sequence number.Afterwards, according to the rule that sets in the video encoding and decoding standard, for example shown in Fig. 4, finish obtaining of the boundary intensity factor.If filtering boundary is not a macroblock boundaries, and p and q be intraframe coding, is 3 to the boundary intensity factor that should filtering boundary then.After finishing the obtaining of the boundary intensity factor, the data of current macro memory block are write the reference macroblock memory block, the space of current macro memory block can be released.
After the obtaining of the boundary intensity factor, decoding device is handled the predicted macroblock data and the residual block data of current macro, obtains the reconstruction value of predicted macroblock data and residual block data.Decoding device is selected suitable filters according to the boundary intensity factor of obtaining, and current macro is carried out block-eliminating effect filtering.In existing H.264 standard, the value of boundary intensity is big more, then the filtering that the respective edges both sides are carried out is strong more, this is to set according to the reason that produces blocking artifact, as adopt the square phenomenon of sub-piece of intra prediction mode more obvious, then bigger pixel edge intensity level is set in the corresponding edge in this sub-piece and carry out strong filtering.
It will be appreciated by those skilled in the art that obtaining of the boundary intensity factor can be extracted after the relevant information in to elementary bit stream in the present embodiment, the reconstruction value any time before that obtains predicted macroblock data and residual block data finishes.Therefore, situation shown in the present embodiment should not be considered as the restriction to protection scope of the present invention.
The fourth embodiment of the present invention provides a kind of decoding device, is used for being undertaken by the information of reference macroblock formerly of sharing the capable memory block of motion vector in the situation of inter prediction the scheme of obtaining of the boundary intensity factor.This implementation method need not to open up the separate, stored district for the required information of reference macroblock formerly of obtaining of the boundary intensity factor, has reduced the taking of memory space, and has also improved system effectiveness simultaneously.
The definition of capable memory block of motion vector and current macro memory block is identical with second embodiment in the present embodiment, repeats no more herein.We are described further the capable memory block of motion vector earlier.
In decode procedure, the capable memory block of described motion vector is used to store the relevant information of rebuilding the required macro block formerly of predicted macroblock data.The macro block position that described macro block formerly comprises is initial to the macro block end of current macro left side from current macro top macro block.Macro block in the picture frame shown in Figure 6 is divided into 8 row and several rows, and X is a current macro, the included described macro block formerly in the capable memory block of then described motion vector be the macro block A shown in Fig. 6 to macro block H, always number is 8.The information of the capable memory block of motion vector comprises motion vector mv, reference frame sequence number (ref_idx), macro block (mb) type (MBtype).Be not difficult to find out that the information of the capable memory block of motion vector has comprised all information except that code coefficient pattern (cbp) that obtaining of the boundary intensity factor is required.Therefore, as long as deposit code coefficient pattern (cbp) in motion vector capable memory block, and carry out obtaining of the boundary intensity factor by the information that reads in the capable memory block of motion vector, just need not to open up the separate, stored district for the required information of obtaining of the boundary intensity factor again.
In the process of the predicted macroblock data of rebuilding current macro, the motion vector information that decoding device obtains from the elementary bit stream decoding is for respect to the residual information of the motion vector of macro block formerly.Suppose current macro X is carried out interframe encode, and macro block X is mv with respect to the motion vector of the reference macroblock of its interframe encode.Encoder reads formerly reference frame sequence number and the macro block (mb) type of macro block H earlier, if eligible then read the motion vector predictor of the motion vector of macro block H as current macro, supposes that this motion vector predictor is mvp.For eliminating time redundancy, coding side is sent to decoding end with the relative motion vector residual error mvd=mv-mvp encoding compression of macro block H formerly of described current macro X, and is not that motion vector mv is carried out coding transmission.Therefore, in decoding end, must from the capable memory block of motion vector, read earlier the motion vector predictor of the motion vector value mvp of macro block formerly as current macro, with its with elementary bit stream in the motion vector residual error mvd of current macro of the decoding acquisition motion vector mv that adds up and obtain current macro.Those skilled in the art can understand, the macro block formerly of current macro has more than a macro block that is limited to the current macro left side, the macro block formerly that can choose one or more relative current macro of having finished decoding (for example, choose macro block A and macro block H among Fig. 6 simultaneously) its motion vector is done weighted average, obtain the motion vector predictor mvp of current macro, determine mvd by described mvp again.
After the reconstruction of finishing the predicted macroblock data of current macro, the correlation values of current macro memory block is written into the capable memory block of motion vector, with the reference macroblock as other macro blocks in the present image.With Fig. 6 is example, and the information of current macro X is written into the capable memory block of motion vector.Because the reference macroblock sum that the capable memory block of motion vector is comprised is constant, the information of deletion macro block A from the capable memory block of motion vector.The relevant information that has then comprised macro block B-H and macro block X in the capable memory block of motion vector.When macro block Y carried out decode operation in to Fig. 6, macro block X was the reference macroblock of macro block Y.Therefore, obtaining of the boundary intensity factor of macro block X finished before should being written into the capable memory block of motion vector in the correlation values of current macro memory block.
Below in conjunction with Fig. 6 and Figure 10 the fourth embodiment of the present invention is further described in detail.Figure 10 is the block diagram of finishing the decoding device that obtains 1 of the boundary intensity factor in the situation of inter prediction by the information of reference macroblock formerly of sharing the capable memory block of motion vector of the embodiment according to the present invention.
This decoding device 1 comprises: reading device 100, deriving means 101, writing station 102 and de-block effect filter 103.The information of the capable memory block of motion vector comprises motion vector mv, reference frame sequence number (ref_idx), macro block (mb) type (MBtype) and code coefficient pattern (cbp) in the present embodiment.Code coefficient pattern (cbp) is not kept in the motion vector memory block in the prior art.
With the 4x4 piecemeal is example, supposes that current macro is the macro block X shown in Fig. 6.
Decoding device 1 extracts the information of the required current macro X of obtaining of the boundary intensity factor from elementary bit stream, and deposit it in current macro memory block, the described boundary intensity factor obtain motion vector residual error mvd and the reference frame sequence number ref_idx that required current macro information comprises current macro.Simultaneously, decoding device 1 extracts other information that need in the decode procedure from elementary bit stream, deposit respective storage areas in.
Decoding device 1 reads the information of decoded prediction reference macro block from the capable memory block of motion vector, rebuild the predicted macroblock data.Decoding device 1 reads the motion vector residual error mvd in the current macro memory block, in the capable memory block of motion vector based on the motion vector predictor mvp of macro block formerly.Motion vector residual error mvd and motion vector predictor mvp addition are obtained the motion vector of current macro X reality.Macro block (mb) type and reference frame sequence number by the current macro predicted macroblock that finds current macro is rebuild the predicted macroblock data again.
Reading device 100 reads the relevant information of the reference macroblock adjacent with current macro from the capable memory block of motion vector.For example, as the vertical boundary filtering to macro block X among Fig. 6, the information that then reads current macro X left side adjacent macroblocks H from the capable memory block of motion vector is as the reference macro block information.As the horizontal boundary filtering to macro block X, the information that then reads top adjacent macroblocks A from the capable memory block of motion vector is as the reference macro block information.This reading device 101 passes to described deriving means 101 with the reference macroblock information of its current macro that reads.
The information of the reference macroblock of the current macro that deriving means 101 reads based on information and the reading device 101 of current macro X is obtained the boundary intensity factor of current macro X.The method of obtaining of carrying out the boundary intensity factor should meet the rule that sets in the video encoding and decoding standard, for example shown in Fig. 4.This deriving means passes to described de-block effect filter 103 with the boundary intensity factor of its current macro X that obtains.
Then, writing station 102 writes the capable memory block of motion vector with the reference macroblock as next macro block with the information of current macro X.With reference to Fig. 6, if decode line by line according to order from left to right for current image frame, current macro is X.So, obtaining of the current macro X boundary intensity factor needs the reference macroblock of macro block A as horizontal direction, and macro block H is as the reference macroblock of vertical direction.Accordingly, when next macro block Y is carried out obtaining of the boundary intensity factor, need the reference macroblock of macro block B as horizontal direction respectively, macro block X is as the reference macroblock of vertical direction.Therefore, the information stores of macro block X must be arrived the capable memory block of motion vector.Owing to finished reconstruction, no longer needed to use motion vector mvp and the reference frame sequence number ref_idx of current macro X in the later step to the predicted macroblock data.Therefore, can be immediately after finishing the obtaining of the boundary intensity factor information of current macro X be write the capable memory block of motion vector, discharge motion vector mvp and the reference frame sequence number ref_idx of macro block X in the current macro memory block immediately, reduced taking to the full extent the memory block.It will be appreciated by those skilled in the art that the situation that current macro X information is write the capable memory block of motion vector before obtaining the residual block data is a preferred embodiment of the technical program, but should not be considered as restriction protection scope of the present invention.
Compressed encoding is extracted in the decoding of the 1 pair of elementary bit stream of decoding device, by reorder, change of scale, inverse discrete cosine transform etc., generate the prediction residual blocks of data of current macro X.Predicted macroblock data and the residual block data of current macro X are handled, obtained the predicted macroblock data of current macro X and the reconstruction value of residual block data.Decoding device 1 passes to described de-block effect filter 103 with the reconstruction value of described predicted macroblock data and residual block data.
The boundary intensity factor of the current macro X that de-block effect filter 103 obtains based on deriving means 101 is chosen suitable filters and is carried out block-eliminating effect filtering.So far, decoding device 1 has been finished the decoding to current macro.
The space that increases in the capable memory block of motion vector for the computation bound intensity factor only is used for memory encoding patterns of coefficients cbp in the present embodiment, simultaneously, need not open up independent memory space for the required conditional-variable of obtaining of the boundary intensity factor in addition.In other words, only need in the memory block, increase the space of 4bit for each macro block.And in the prior art, be example with the piecemeal of 4 x 4, in the separate, stored district that opens up separately for each macro block need store 4 motion vectors (x, y), 2 reference frame sequence numbers, the information of 1 macro block (mb) type and a code coefficient pattern.Wherein each described motion vector components x or y need the 16bit space to store, each described reference frame sequence number needs the 8bit space to store, each macro block (mb) type needs the 4bit space to store, and each code coefficient pattern needs the 4bit space to store.Thus can inference, for each macro block, being used for the information of obtaining required adjacent macroblocks of the access boundary intensity factor is 4*2*16+8*2+4+4=152bits.Using the resolution of D1, promptly the every row of picture frame comprises and can save the memory space of 6660bits under the situation of 45 macro blocks.As seen, use mentioned method in the present embodiment, can save the space that obtains required information of stored boundary intensity factor to a great extent.
Below in conjunction with Fig. 8 and Figure 11 first of the 4th embodiment being changed example is further described.Suppose that current image frame is divided into the capable N of K row as shown in Figure 8, decoding device 2 carries out decode operation according in turn order line by line to all macro blocks in the current image frame.
Figure 11 for according to a specific embodiment of the present invention be applicable to line by line in turn or by the block diagram of row decoding device 2 in turn.
This decoding device 2 comprises: border factor deriving means 110, first control device 111, de-block effect filter 112, wherein, border factor deriving means 110 also comprises reading device 113, deriving means 114 and writing station 115.
Border factor deriving means 110, be used for extracting the required current macro information of decoding from elementary bit stream, from the capable memory block of motion vector, read the predicted macroblock of macro block information reconstruction formerly data, the relevant information that reads reference macroblock from the capable memory block of motion vector is to carry out obtaining of the boundary intensity factor, current macro information is write the reference macroblock information of the capable memory block of motion vector as other macro block, obtain the residual block data, obtain the reconstruction value of predicted macroblock data and residual block data.Wherein, the value of the boundary intensity factor of being obtained is written into the memory block, describes for convenient, and this memory block is called factor memory block, border.It will be understood by those skilled in the art that factor memory block, border can be a separate, stored district, also can merge with other memory block.Specifically, also comprise following sub-device: reading device 113, deriving means 114 and writing station 115.Wherein, the function of each height device and reading device 100 mentioned above, deriving means 101 are identical with writing station 102, repeat no more herein.
First control device 111 generates judgement information according to the positional information of current macro, has all finished the block-eliminating effect filtering operation to determine whether all macro blocks in the macro block group.
At first, capable first macro block of 110 couples of A of boundary intensity deriving means is decoded.In the process that this macro block is decoded, the motion vector mv of capable first macro block of A, reference frame sequence number (ref_idx), macro block (mb) type (MBtype) and code coefficient pattern (cbp) are deposited in the obtain required reference macroblock information of the capable memory block of motion vector as the boundary intensity factor of other macro block.Boundary intensity deriving means 110 is the positional information of current macro, promptly A capable first, pass to described first control device 111, the boundary intensity factor of current macro is passed to described de-block effect filter 112.
Described de-block effect filter 112 is selected suitable filter based on the boundary intensity factor of the current macro that boundary intensity deriving means 110 transmits, and finishes the block-eliminating effect filtering to current macro.
Then, the positional information of the current macro of 111 pairs of boundary intensity deriving means of first control device, 110 transmission is differentiated.Learn after the differentiation also not finish all macro blocks in the macro block group are gone block operations operation., first control device 111 generates the next positional information that needs filtered macroblock, and it is passed to border factor deriving means 110.
Decoding device 2 is according to the order of the Row Column next macro block to this macro block, and promptly capable second macro block of A decoded.In that capable second macro block carries out in the process of decode operation to A, need obtain the relevant boundary intensity factor of vertical component of described second macro block.Boundary intensity deriving means 110 reads the relevant information of capable first macro block of A as the reference macro block information from the capable memory block of motion vector, and deriving means 101 is based on current macro, be the boundary intensity factor that information that capable second macro block of A is capable first macro block of A is obtained current macro, and the described boundary intensity factor is passed to described de-block effect filter 112.112 pairs of current macro of de-block effect filter, promptly capable second macro block of A carries out block-eliminating effect filtering.
By that analogy, decoding device 2 is finished capable the 3rd macro block of A, capable the 4th macro block of A one by one until capable N the macro block decode operation of A.Afterwards, decoding device 2 begins to begin to decode to B is capable from capable first macro block of B.Decoding device 2 is finished capable second macro block of B, capable the 3rd macro block of B one by one until capable N the macro block decode operation of B, the macro block that begins afterwards C in capable is decoded one by one, be that D is capable, E is capable then, the decoding of each macro block in finishing in all row to present image.After the decoding of finishing last macro block of macro block group, first control device 114 generates end signals, so far finishes the decode operation of whole macro block group.
First of fourth embodiment of the invention change example according to for each macro block in the macro block group line by line in turn order decode, it will be understood by those skilled in the art that embodiment of the present invention are equally applicable to according to decoding by row order in turn for each macro block in the macro block group.For each macro block, can be earlier to horizontal component filtering again vertical component carry out filtering, perhaps earlier to vertical component filtering again to horizontal component filtering.No matter decode in proper order, be stored in the capable memory block of motion vector, promptly meet the necessary condition of the boundary intensity factor of obtaining current macro as long as guarantee the reference macroblock information of current macro according to which kind of.
The decoding device 2 of fourth embodiment of the invention also can be used in the multistage decoding pipelined architecture.With the level Four streamline is example, supposes, the first order of this level Four streamline is used for elementary bit stream is decoded, and extracts the required relevant information of decoding; The second level is used for by compressed encoding is extracted in elementary bit stream decoding, by reorder, change of scale, inverse discrete cosine transform etc., generate the prediction residual blocks of data of current macro; The third level is used to obtain the predicted picture blocks of data, and the reconstruction value of generation forecast macro block data and residual block data; The fourth stage is used for the reconstruction value of predicted macroblock data and residual block data is carried out the block-eliminating effect filtering operation.Transmit information by the pair register group between streamline at different levels.According to the second variation example of the present invention, can finish obtaining of the boundary intensity factor in the first order of this streamline.Then, need three pair register groups between streamline at different levels, to transmit the boundary intensity factor.Therefore, according to technical scheme of the present invention, for the situation that 4 each border factors of 4 x need 2bit to store, each register needs the 16*2*2=64bits stored boundary factor, and three pair register groups need 64*2*3=384bits memory capacity altogether.And prior art, need three pair register groups, between streamline at different levels, transmit the required relevant information of obtaining of the boundary intensity factor, the register-stored current macro information that needs 3*2* (16*2*16+2*8+4+4)=3216bits, (4*2*16+2*8+4+4) the on-chip memory space of * 45=6840bits.Wherein the cost of register is higher, and being needs one of key factor of considering in the system design.Be not difficult to find out that technical scheme of the present invention can reduce the requirement to memory space of obtaining of the boundary intensity factor greatly, reduces system cost.
At some particular condition, for example support any band to arrange in the video encoding and decoding standard of (ASO), need take the decoding schema of a frame reconstruct, promptly in obtaining current image frame, after the predicted macroblock data and residual block data of a macro block group, the more described a plurality of macro blocks in this macro block group are carried out block-eliminating effect filtering.Wherein, described macro block group can comprise one or more macro block in the current image frame.The device that second of four embodiment of the invention changes example to be provided is used for finishing before block-eliminating effect filtering to the obtaining of all the macroblock boundaries intensity factors in the macro block group, and it is stored.To this macro block group block-eliminating effect filtering the time, only the boundary intensity factor that need read in the memory block is carried out block-eliminating effect filtering, need not to open up the motion vector mv that obtains required a plurality of macro blocks, reference frame sequence number (ref_idx), macro block (mb) type (MBtype) and the code coefficient pattern (cbp) of a large amount of storage area stores boundary intensity factors.Below in conjunction with Figure 12 second of second embodiment of the invention being changed example further describes.Figure 12 is the block diagram according to the decoding device that is applicable to a frame reconstruct 3 of a concrete real-time mode of the present invention.
This decoding device 3 comprises: border factor deriving means 120, de-block effect filter 121 and second control device 122, wherein, border factor deriving means 120 also comprises writing station 123, reading device 124 and deriving means 125.
Border factor deriving means 120, be used for extracting the required current macro information of decoding from elementary bit stream, from the capable memory block of motion vector, read the predicted macroblock of macro block information reconstruction formerly data, read the reference macroblock data from the capable memory block of motion vector and carry out obtaining of the boundary intensity factor, current macro information is write the reference macroblock information of the capable memory block of motion vector as other macro block, obtain the residual block data, obtain the reconstruction value of predicted macroblock data and residual block data.Wherein, the value of the boundary intensity factor of being obtained is written into the memory block, describes for convenient, and this memory block is called factor memory block, border.It will be understood by those skilled in the art that factor memory block, border can be a separate, stored district, also can merge with other memory block.Specifically, boundary intensity deriving means 120 also comprises following sub-device: writing station 123, reading device 124 and deriving means 125.Wherein, the function of each height device and writing station 102 mentioned above, reading device 100 are identical with deriving means 101, repeat no more herein.This boundary intensity deriving means 120 writes factor memory block, border with the boundary intensity factor of obtaining, and the positional information of current macro is passed to described second control device 122.
Second control device 122 generates the boundary intensity factor according to the positional information of current macro and judges information, with the boundary intensity factor of all macro blocks in the macro block group that determines whether to obtain to need filtering.
3 pairs of decoding devices obtain determines that the boundary intensity factor discriminant information that device 122 generates is analyzed.If also do not finish to the obtaining of the boundary intensity factor of all macro blocks in this macro block group, then with next macro block of current macro as the current macro of operation later on, boundary intensity deriving means 120 continues this macro block is carried out obtaining of the boundary intensity factor.If obtained the boundary intensity factor of all macro blocks in this macro block group, then de-block effect filter 121 begins the macro block device is carried out filtering.
De-block effect filter 121 reads the boundary intensity factor of current macro from factor memory block, border, select the filter of suitable filtering strength according to the value of the described boundary intensity factor, and current macro is carried out block-eliminating effect filtering.After de-block effect filter 121 is finished block-eliminating effect filtering to current macro, the positional information of current macro is passed to described second control device 122.
Second control device 122 is determined the block-eliminating effect filtering whether decoding device 3 has been finished all macro blocks in the macro block group according to the positional information of current macro.If do not finish, then with next macro block of current macro as the current macro of operation after this.If finish, then so far finished decoding to all macro blocks in this macro block group.
Second of contrast four embodiment of the invention changes example and prior art, is not difficult to find out that the present invention can save memory space required in the acquisition process of the boundary intensity factor greatly.With D1 resolution, the situation that the entire image frame is carried out a frame reconstruct as the macro block group is an example.For this kind situation, current image frame is divided into 45*36=1620 macro block.Use second of four embodiment of the invention to change example, need the memory space stored boundary intensity factor of (16*2*2) bit*1620=6480bits.Use the prior art scheme then to need the information of obtaining needed reference macroblock of the memory space stored boundary intensity factor of (16*2*16+2*8+4+4) bit*1620=868320bits.
More than specific embodiments of the present invention is described.It will be appreciated that the present invention is not limited to above-mentioned specific implementations, those skilled in the art can make various distortion or modification within the scope of the appended claims.

Claims (14)

1. a coding/decoding method that is used for carrying out based on the boundary intensity factor block-eliminating effect filtering in Video Decoder is characterized in that, obtaining before the reconstruction value of obtaining predicted macroblock data and residual block data of the boundary intensity factor finished.
2. method according to claim 1 is characterized in that wherein, this method may further comprise the steps:
A. from the capable memory block of motion vector, read the information of the reference macroblock adjacent with current macro;
B. obtain the boundary intensity factor based on described current macro and the information described and reference macroblock that current macro is adjacent;
D. choose suitable filter based on the described boundary intensity factor of being obtained the reconstruction value of described predicted macroblock data and residual block data is carried out block-eliminating effect filtering.
3. as method as described in the claim 2, it is characterized in that, further comprising the steps of before described steps d:
C. the information with described current macro writes the capable memory block of described motion vector, with the information as the reference macroblock of other adjacent macroblocks.
4. method as claimed in claim 3 is characterized in that, forms the macro block group by a plurality of macro blocks in the same picture frame, and is further comprising the steps of:
E. to each macro block in the described macro block group according to line by line in turn or by in turn order of row, repeating said steps a, b, c and d, the block-eliminating effect filtering of all macro blocks operation in finishing described macro block group.
5. method as claimed in claim 3 is characterized in that, forms the macro block group by a plurality of macro blocks in the same picture frame, and is further comprising the steps of:
F. each macro block in the described macro block group is carried out described step a, b and c, the boundary intensity factor of all macro blocks in obtaining described macro block group;
G. each macro block in the described macro block group is carried out the operation of described steps d, the block-eliminating effect filtering operation of all macro blocks in finishing described macro block group.
6. according to each described method in the claim 2 to 5, it is characterized in that the capable memory block of described motion vector also is used to store the required relevant information of predicted macroblock data of rebuilding described current macro.
7. as method described in the claim 1 to 6 each, wherein, H.264 the video encoding and decoding standard that described coding/decoding method is suitable for comprises, in VC-1, AVS or the Real standard any.
8. a decoding device that is used for carrying out based on the boundary intensity factor block-eliminating effect filtering in Video Decoder is characterized in that, is used for finishing obtaining of the boundary intensity factor before the reconstruction value of obtaining predicted macroblock data and residual block data.
9. as decoding device as described in the claim 8, it is characterized in that, comprising:
Reading device is used for reading from the capable memory block of motion vector the information of the reference macroblock adjacent with current macro;
Deriving means is used for obtaining the boundary intensity factor based on described current macro and the information described and reference macroblock that current macro is adjacent;
De-block effect filter is used for choosing suitable filter based on the described boundary intensity factor reconstruction value of described predicted macroblock data and residual block data is carried out block-eliminating effect filtering.
10. decoding device as claimed in claim 9 is characterized in that, also comprises:
Writing station is used for the information of described current macro is write the capable memory block of described motion vector, with the information as the reference macroblock of other adjacent macroblocks.
11. decoding device as claimed in claim 10 is characterized in that, also comprises:
First control device, be used for controlling described reading device, deriving means, de-block effect filter and writing station to the macro block of macro block group according to line by line in turn or carry out the block-eliminating effect filtering operation of aforesaid operations all macro blocks in finishing described macro block group by row order in turn, wherein, described macro block group is made up of a plurality of macro blocks in the same picture frame.
12. decoding device as claimed in claim 10 is characterized in that, also comprises:
Second control device, be used for controlling described reading device, deriving means and writing station to obtain the boundary intensity factor of described all macro blocks of macro block group, control described de-block effect filter again all macro blocks in the described macro block group are carried out the block-eliminating effect filtering operation, the block-eliminating effect filtering of all macro blocks operation in finishing described macro block group.
13., it is characterized in that the capable memory block of described motion vector also is used to store the required relevant information of predicted macroblock data of rebuilding described current macro according to each described decoding device in the claim 9 to 12.
14. as the described decoding device of claim 8 to 13, wherein, H.264 the video encoding and decoding standard that described decoding device is suitable for comprises, in VC-1, AVS or the Real standard any.
CN 200710173887 2007-12-29 2007-12-29 Decode method and apparatus for de-block effect filtering based on boundary strength factor Pending CN101472176A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200710173887 CN101472176A (en) 2007-12-29 2007-12-29 Decode method and apparatus for de-block effect filtering based on boundary strength factor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200710173887 CN101472176A (en) 2007-12-29 2007-12-29 Decode method and apparatus for de-block effect filtering based on boundary strength factor

Publications (1)

Publication Number Publication Date
CN101472176A true CN101472176A (en) 2009-07-01

Family

ID=40829246

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200710173887 Pending CN101472176A (en) 2007-12-29 2007-12-29 Decode method and apparatus for de-block effect filtering based on boundary strength factor

Country Status (1)

Country Link
CN (1) CN101472176A (en)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101909212A (en) * 2010-08-05 2010-12-08 上海交通大学 Multi-standard Macroblock Prediction System for Reconfigurable Multimedia SoC
CN101924938A (en) * 2010-08-11 2010-12-22 上海交通大学 Processing Method of Adjacent Block Information in Macroblock Prediction and Boundary Filtering of Video Decoding
CN102081795A (en) * 2011-01-14 2011-06-01 天津大学 Automatic deblocking method based on sparse representation
CN102316318A (en) * 2010-07-07 2012-01-11 中国科学院微电子研究所 A deblocking filter boundary strength calculation device and method based on H.264 standard
CN103119937A (en) * 2010-07-20 2013-05-22 Sk电信有限公司 Method and device for deblocking filtering and method and device for encoding and decoding using the method and device
CN105049848A (en) * 2010-01-14 2015-11-11 三星电子株式会社 Method and apparatus for decoding video by using deblocking filtering
CN105430414A (en) * 2015-12-03 2016-03-23 福州瑞芯微电子股份有限公司 Inter-frame prediction decoding method and device
CN106231342A (en) * 2010-04-13 2016-12-14 三星电子株式会社 Perform the method that video is decoded of block elimination filtering
CN106464866A (en) * 2014-05-29 2017-02-22 佳能株式会社 Method, apparatus and system for de-blocking a block of video samples
WO2020147782A1 (en) * 2019-01-17 2020-07-23 Huawei Technologies Co., Ltd. An encoder, a decoder and corresponding methods of deblocking filter adaptation
CN113473120A (en) * 2015-06-11 2021-10-01 英迪股份有限公司 Method for encoding and decoding image using adaptive deblocking filtering and apparatus therefor

Cited By (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105049848A (en) * 2010-01-14 2015-11-11 三星电子株式会社 Method and apparatus for decoding video by using deblocking filtering
US10284878B2 (en) 2010-01-14 2019-05-07 Samsung Electronics Co., Ltd. Method and apparatus for encoding video by using deblocking filtering, and method and apparatus for decoding video by using deblocking filtering
US9979986B2 (en) 2010-01-14 2018-05-22 Samsung Electronics Co., Ltd. Method and apparatus for encoding video by using deblocking filtering, and method and apparatus for decoding video by using deblocking filtering
CN105049848B (en) * 2010-01-14 2017-03-22 三星电子株式会社 Method and apparatus for decoding video by using deblocking filtering
US10432965B2 (en) 2010-04-13 2019-10-01 Samsung Electronics Co., Ltd. Video-encoding method and video-encoding apparatus based on encoding units determined in accordance with a tree structure, and video-decoding method and video-decoding apparatus based on encoding units determined in accordance with a tree structure
CN106231342A (en) * 2010-04-13 2016-12-14 三星电子株式会社 Perform the method that video is decoded of block elimination filtering
US10412411B2 (en) 2010-04-13 2019-09-10 Samsung Electronics Co., Ltd. Video-encoding method and video-encoding apparatus using prediction units based on encoding units determined in accordance with a tree structure, and video-decoding method and video-decoding apparatus using prediction units based on encoding units determined in accordance with a tree structure
US10306262B2 (en) 2010-04-13 2019-05-28 Samsung Electronics Co., Ltd. Video encoding method and video encoding apparatus and video decoding method and video decoding apparatus, which perform deblocking filtering based on tree-structure encoding units
CN102316318B (en) * 2010-07-07 2013-07-03 中国科学院微电子研究所 H.264 standard-based deblocking filtering boundary strength calculation device and method
CN102316318A (en) * 2010-07-07 2012-01-11 中国科学院微电子研究所 A deblocking filter boundary strength calculation device and method based on H.264 standard
CN105227958A (en) * 2010-07-20 2016-01-06 Sk电信有限公司 For the decoding device of decoded video signal
CN103119937A (en) * 2010-07-20 2013-05-22 Sk电信有限公司 Method and device for deblocking filtering and method and device for encoding and decoding using the method and device
CN103119937B (en) * 2010-07-20 2016-02-10 Sk电信有限公司 For de-blocking filter method and apparatus and utilize the method and device to carry out the method and apparatus of Code And Decode
CN105163118A (en) * 2010-07-20 2015-12-16 Sk电信有限公司 Method for decoding video signals
US9872019B2 (en) 2010-07-20 2018-01-16 Sk Telecom Co., Ltd. Method and device for deblocking-filtering, and method and device for encoding and decoding using same
US10327011B2 (en) 2010-07-20 2019-06-18 Sk Telecom Co., Ltd. Method and device for deblocking-filtering, and method and device for encoding and decoding using same
CN101909212A (en) * 2010-08-05 2010-12-08 上海交通大学 Multi-standard Macroblock Prediction System for Reconfigurable Multimedia SoC
CN101909212B (en) * 2010-08-05 2012-08-22 上海交通大学 Multi-standard macroblock prediction system of reconfigurable multimedia SoC
CN101924938B (en) * 2010-08-11 2012-09-05 上海交通大学 Method for processing adjacent block information in video decoding macro-block prediction and boundary filtering
CN101924938A (en) * 2010-08-11 2010-12-22 上海交通大学 Processing Method of Adjacent Block Information in Macroblock Prediction and Boundary Filtering of Video Decoding
CN102081795B (en) * 2011-01-14 2012-05-23 天津大学 Automatic deblocking method based on sparse representation
CN102081795A (en) * 2011-01-14 2011-06-01 天津大学 Automatic deblocking method based on sparse representation
US10298961B2 (en) 2014-05-29 2019-05-21 Canon Kabushiki Kaisha Method, apparatus and system for de-blocking a block of video samples
CN106464866A (en) * 2014-05-29 2017-02-22 佳能株式会社 Method, apparatus and system for de-blocking a block of video samples
CN106464866B (en) * 2014-05-29 2020-03-10 佳能株式会社 Method, device and system for deblocking a block of video samples
CN111294593A (en) * 2014-05-29 2020-06-16 佳能株式会社 Method, device and system for deblocking a block of video samples
CN113473120A (en) * 2015-06-11 2021-10-01 英迪股份有限公司 Method for encoding and decoding image using adaptive deblocking filtering and apparatus therefor
US12231697B2 (en) 2015-06-11 2025-02-18 Dolby Laboratories Licensing Corporation Method for encoding and decoding image using adaptive deblocking filtering, and apparatus therefor
CN105430414A (en) * 2015-12-03 2016-03-23 福州瑞芯微电子股份有限公司 Inter-frame prediction decoding method and device
WO2020147782A1 (en) * 2019-01-17 2020-07-23 Huawei Technologies Co., Ltd. An encoder, a decoder and corresponding methods of deblocking filter adaptation
US11962783B2 (en) 2019-01-17 2024-04-16 Huawei Technologies Co., Ltd. Encoder, a decoder and corresponding methods of deblocking filter adaptation
US12375689B2 (en) 2019-01-17 2025-07-29 Huawei Technologies Co., Ltd. Encoder, a decoder and corresponding methods of deblocking filter adaptation

Similar Documents

Publication Publication Date Title
CN101472176A (en) Decode method and apparatus for de-block effect filtering based on boundary strength factor
CN103416058B (en) video encoding and decoding
CN1812576B (en) Deblocking filters for performing horizontal and vertical filtering of video data simultaneously and methods of operating the same
CN103269432B (en) Utilize the method for decoding device process vision signal
CN105959697B (en) More sign bits in converter unit are hidden
CN111800640B (en) Method and device for encoding and decoding image by alternately changing direction and back-and-forth scanning string matching
CN104918056B (en) The method decoded to intra prediction mode
US10250904B2 (en) Apparatus and method for overlapped motion compensation for video coding
CN101779463B (en) Method for processing images and the corresponding electronic device
CN101072356B (en) A Motion Vector Prediction Method
CN101828400A (en) Interpolation filtering method, image encoding method, image decoding method, interpolation filtering device, program, and integrated circuit
CN101836455A (en) A method and an apparatus for processing a video signal
CN106385583A (en) Image processing device and method
US9380314B2 (en) Pixel retrieval for frame reconstruction
KR20160114166A (en) Coding and decoding method and device
CN101682769A (en) Method and apparatus for context dependent merging for skip-direct modes for video encoding and decoding
CN101711481A (en) Method and apparatus for video coding using prediction data refinement
TW201313028A (en) Coefficient scanning in video writing code
CN101411201A (en) Picture coding apparatus and picture decoding apparatus
CN107277512A (en) Method and apparatus for spatial variations residual coding
CN102484699A (en) Method for encoding and decoding images, corresponding apparatus for encoding and decoding, and computer program
US20060222080A1 (en) Reference data buffer for intra-prediction of digital video
CN103686173A (en) Conversion and inverse-conversion circuit
CN114731397A (en) Iterative training of neural networks for intra prediction
CN116569554A (en) Inter-frame prediction method, video encoding and decoding method, device and medium

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Open date: 20090701

点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载