CN103634609A - Method and system for carrying out deblocking filtering on coding macro-block - Google Patents

Method and system for carrying out deblocking filtering on coding macro-block Download PDF

Info

Publication number
CN103634609A
CN103634609A CN201210452056.1A CN201210452056A CN103634609A CN 103634609 A CN103634609 A CN 103634609A CN 201210452056 A CN201210452056 A CN 201210452056A CN 103634609 A CN103634609 A CN 103634609A
Authority
CN
China
Prior art keywords
block
sub
elimination filtering
perpendicular edge
horizontal sides
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
CN201210452056.1A
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.)
NXP USA Inc
Original Assignee
Freescale Semiconductor Inc
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 Freescale Semiconductor Inc filed Critical Freescale Semiconductor Inc
Priority to CN201210452056.1A priority Critical patent/CN103634609A/en
Publication of CN103634609A publication Critical patent/CN103634609A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

The invention relates to a method and system for carrying out deblocking filtering on a coding macro-block, wherein the method and system satisfy the H.264/AVC standard. The method comprises that deblocking filtering is successively carried out on three sides of a first subblock of the micro-block, two vertical sides of a second subblock adjacent to the first subblock, and the upper horizontal side of the second subblock, wherein deblocking filtering is carried out on the upper horizontal side of the second subblock to provide a deblocked and filtered first subblock; the deblocking filtering is implemented on the upper horizontal side of the second subblock the moment deblocking filtering on the three sides of the first subblock and the left and right vertical sides of the second subblock is completed; and the deblocked and filtered first subblock is stored in an output buffer before any further deblocking filtering.

Description

Method and system to coded macroblocks block elimination filtering
Background of invention
The present invention relates to video data and process, more specifically, relate to a kind of method and system to the coded macroblocks block elimination filtering of video data.
H.264 advanced video coding (AVC) standard comprises and allows vision signal with relatively low bit rate, to transmit and realize the data compression technique of the efficient storage of video data.In standard H.264/AVC, each frame of video is divided and is encoded in macroblock level, wherein each macro block be pixel piece of 16 * 16.Each macro block is encoded with frame mode, and wherein the reconstruction macro block based in present frame forms predicted macroblock, or with coded in inter mode, wherein the macro block based on reference frame forms predicted macroblock.Spatial information in intra-frame encoding mode application present frame, wherein, the sampling from the present frame of formerly encoding, decoding and rebuilding forms predicted macroblock.On the contrary, interframe encoding mode utilization formerly and/or the temporal information of following reference frame, is carried out estimation, thereby forms predicted macroblock.
Many video encoding standards, comprise H.264/AVC standard, use block-based coding, and it is relatively efficient, but can cause the significant discontinuous or artifact of appearance between adjacent block and adjacent sub-blocks.If removed or level and smooth these discontinuous or artifacts, the perceptible visual image quality obtaining so can improve.
H.264/AVC standard allow optional de-blocking filter to remove or level and smooth adjacent block and adjacent sub-blocks between discontinuous or artifact.De-blocking filter can be a part for system, when to Signal coding for encoder as filter in ring, or can be when to signal decoding as the preprocessor of image decoder.But, go piece process to take considerable memory, and when going piece to meet H.264/AVC standard, must carry out and remove block operations by the particular order according to this standard management.
Brief Description Of Drawings
By reference to the accompanying drawings, with reference to the following explanation of preferred embodiment, can well understand the present invention and object thereof and advantage, in accompanying drawing:
Fig. 1 is the block diagram to the electronic system of the coded macroblocks block elimination filtering of video data according to a preferred embodiment of the invention;
Fig. 2 is the schematic diagram of brightness (Y) and colourity (Cb, Cr) macro block 200, and it shows the order of going the prior art of piece to meeting the sub-block edge of standard H.264/AVC;
Fig. 3 is the schematic diagram of brightness (Y) and colourity (Cb, Cr) macro block 300, and it shows and meets H.264/AVC standard and according to a first advantageous embodiment of the invention sub-block edge is gone the order of piece;
Fig. 4 is the schematic diagram of brightness (Y) and colourity (Cb, Cr) macro block 400, and it shows and meets H.264/AVC standard and the second preferred embodiment according to the present invention goes the order of piece to sub-block edge;
Fig. 5,6 and 7 is the flow chart to the method for at least one coded macroblocks block elimination filtering of video data according to a first advantageous embodiment of the invention;
Fig. 8 and 9 is the flow chart of the second preferred embodiment according to the present invention to the method for at least one coded macroblocks block elimination filtering of video data;
Figure 10 shows the schematic diagram of 4 * 4 pel arrays in each sub-block of macro block.
Preferred embodiment illustrates
Next illustrating and be intended to illustrate currently preferred embodiment of the present invention by reference to the accompanying drawings, is not intended to present unique form that the present invention is put into practice.Be appreciated that by being included in the different embodiment in spirit and scope of the invention, can realize function identical or that be equal to.In the accompanying drawings, identical Reference numeral represents identical parts all the time.And, term " comprises " or other distortion, be intended to cover comprising of non-removing property, the system, circuit, equipment component and the method that for example comprise parts or preset manual not merely comprise these parts, but comprise, do not list especially or other element or step that this type systematic, circuit, equipment component or step are intrinsic.The additional provided as one homogeneous element that not getting rid of in advance of " comprising ... one " that element afterwards or step be not unrestricted comprises this element or step or step.
In one embodiment of the invention, provide the method at least one coded macroblocks block elimination filtering of video data.The method comprises the left perpendicular edge block elimination filtering to the first sub-block of described macro block, to the right perpendicular edge block elimination filtering of the first sub-block and the upper horizontal sides block elimination filtering to the first sub-block.The method is carried out block elimination filtering to the left perpendicular edge of the second sub-block of described macro block afterwards, to the right perpendicular edge block elimination filtering of the second sub-block and the upper horizontal sides block elimination filtering to the second sub-block, thereby provides the first sub-block after block elimination filtering.The upper horizontal sides of the second sub-block is the lower horizontal sides of the first sub-block.And, to the left perpendicular edge of the first sub-block, right perpendicular edge and upper horizontal sides, after the left perpendicular edge of the second sub-block and right perpendicular edge block elimination filtering, immediately the upper horizontal sides of the second sub-block is carried out to block elimination filtering.
In another embodiment of the present invention, provide the method for at least one coded macroblocks of video data being carried out to block elimination filtering.The method comprises three limit block elimination filterings to the first sub-block of macro block, and two perpendicular edge block elimination filterings to second sub-block adjacent with this first sub-block.The method is the upper horizontal sides block elimination filtering to the second sub-block also, thereby the first sub-block after block elimination filtering is provided.After to the left perpendicular edge of these three limits and the second sub-block and right perpendicular edge block elimination filtering, immediately the upper horizontal sides of the second sub-block is carried out to block elimination filtering.Before carrying out any further block elimination filtering, the first sub-block after block elimination filtering is suitably stored in output buffer.
In another embodiment of the present invention, provide a kind of system to the coded macroblocks block elimination filtering of video data.This system comprises for storing the input buffer of macro block, its de-blocking filter that is coupled.One controller is coupled to this de-blocking filter, and an output buffer is coupled to de-blocking filter.During operation, controller is controlled this de-blocking filter block elimination filtering, two perpendicular edge block elimination filterings to second sub-block adjacent with this first sub-block is carried out in three limits of the first sub-block of macro block.The method also comprises the upper horizontal sides block elimination filtering to the second sub-block, so that the first sub-block after block elimination filtering to be provided.After to the left perpendicular edge of these three limits and the second sub-block and right perpendicular edge block elimination filtering, immediately the upper horizontal sides of the second sub-block is carried out to block elimination filtering.Before carrying out any further block elimination filtering, the method also says that the first sub-block after block elimination filtering is stored in an output buffer.
Referring to Fig. 1, show the block diagram of the electronic system 100 for the coded macroblocks block elimination filtering to video data according to a preferred embodiment of the invention.This system 100 comprises the de-blocking filter 120 for storing the input buffer 110 of macro block and being coupled to this input buffer 110.Shown de-blocking filter comprises that brightness (Y) de-blocking filter 130 and look become (Cb, Cr) de-blocking filter 140.Controller 150 is coupled to de-blocking filter 120, and output buffer 160 is coupled to de-blocking filter 120.In one embodiment, the encoder that system 100 is encoded video signal, or in another embodiment, system 100 is for the preprocessor to the Video Decoder of code signal decoding.
Referring to Fig. 2, show meet standard H.264/AVC sub-block edge is removed to the brightness (Y) of prior art order of piece and the schematic diagram of colourity (Cr, Cb) macro block 200.Each brightness (Y) macro block comprises that sub-block q00 is to q33, and each colourity (Cr, Cb) macro block comprises that sub-block q00 is to q11, and wherein each sub-block comprises the array of 16 pixel values (pixel data of coding).As shown in the figure, four left perpendicular edge of brightness (Y) macro block start block elimination filtering from the left perpendicular edge 0 of sub-block q00, are then the perpendicular edge 1 of sub-block q10, are then the perpendicular edge 2 of sub-block q20, the perpendicular edge 3 of following by sub-block q30.Sub-block q00 is to four right perpendicular edge of q30 subsequently by 4,5,6,7 order successively block elimination filtering.
Afterwards sub-block q01 to four right perpendicular edge of q31 with 8,9,10,11 order block elimination filtering, afterwards sub-block q02 to four right perpendicular edge of q32 with 12,13,14,15 order block elimination filtering.
Afterwards sub-block q00 to four of q30 upper horizontal sides with 16,17,18,19 order block elimination filtering, then sub-block q01 to four upper horizontal sides of q31 with 20,21,22,23 order block elimination filtering.Subsequently sub-block q02 to four of q32 upper horizontal sides with 24,25,26,27 order block elimination filtering, and sub-block q03 to four upper horizontal sides of q33 with 28,29,30,31 order block elimination filtering.
Colourity (Cb, Cr) macro block is block elimination filtering equally in a similar fashion.More specifically, chrominance macroblock (Cb) is first with perpendicular edge sequence 32,33,34,35 block elimination filterings, afterwards with horizontal sides sequence 36,37,38,39 block elimination filterings.Similarly, chrominance macroblock (Cr) is first with perpendicular edge sequence 40,41,42,43 block elimination filterings, afterwards with horizontal sides sequence 44,45,46,47 block elimination filterings.
For the sub-block edge of luminance macroblock (Y), going the prior art of piece is above sequentially relatively to take multi-memory more, this be because, at the first sub-block q00, for example, by complete block elimination filtering and while being ready to be sent to output buffer (buffer 160), all sub-block q00 go piece version to be stored to the part of q33.Other go the prior art sequence order of piece to have equally similar undesirable storage load to sub-block edge, and need to, before the first sub-block q00 is by complete block elimination filtering, store at least four sub-blocks that part is removed piece.
Referring to Fig. 3, show the schematic diagram of brightness (Y) and colourity (Cb, Cr) macro block 300, illustrate and meet H.264/AVC standard the sequence order that sub-block edge is removed to piece according to a first advantageous embodiment of the invention.Each brightness (Y) macro block comprises that sub-block q00 is to q33, and each colourity (Cb, Cr) macro block comprises that sub-block q00 is to q11, and wherein each sub-block comprises the array of 16 pixel values (pixel data of coding).The left perpendicular edge 0 of the first sub-block q00 of brightness as shown in the figure, (Y) macro block is by block elimination filtering.Then, the right perpendicular edge 1 of the first sub-block q00 is by block elimination filtering.The upper horizontal sides 2 of the first sub-block q00 is by block elimination filtering afterwards, and then the left perpendicular edge 3 of the second sub-block q10 is by block elimination filtering, and the right perpendicular edge 4 of the second sub-block q10 is by block elimination filtering subsequently.Then the upper horizontal sides 5 of the second sub-block q10 is by block elimination filtering, thus provide the first sub-block DF00 after block elimination filtering (wherein DF00 be sub-block q00 remove piece version).The first sub-block DF00 of this block elimination filtering is stored in output buffer 160 subsequently.
After the left perpendicular edge 6 of the 3rd sub-block q20, by block elimination filtering, then the right perpendicular edge 7 of the 3rd sub-block q20 is by block elimination filtering.The upper horizontal sides 8 of the 3rd sub-block q20 is by block elimination filtering, so that the second sub-block DF10 after block elimination filtering to be provided subsequently.The second sub-block DF10 after this block elimination filtering is stored in output buffer 160 subsequently.This sequence is carried out according to shown in the sequence order of edge order 0-31, until to all sub-block q00 to q33 block elimination filtering, obtain being stored in filtering sub-block DF00 in output buffer 160 to DF33.Colourity (Cb, Cr) macro block is block elimination filtering in an identical manner, and wherein chrominance C b macro block is pressed block elimination filtering shown in edge order 0-7, and chrominance C r macro block is pressed block elimination filtering shown in edge order 8-15.
Referring to Fig. 4, show the schematic diagram of brightness (Y) and colourity (Cb, Cr) macro block 400, illustrated and met H.264/AVC standard sequence order of sub-block edge being removed to piece according to a second, preferred embodiment of the present invention.Each brightness (Y) macro block comprises that sub-block q00 is to q33, and each colourity (Cb, Cr) macro block comprises that sub-block q00 is to q11, and wherein each sub-block comprises the array of 16 pixel values (pixel data of coding).The left perpendicular edge 0 of the first sub-block q00 of brightness as shown in the figure, (Y) macro block is by block elimination filtering.Then, the right perpendicular edge 1 of the first sub-block q00 is by block elimination filtering.After the upper horizontal sides 2 of the first sub-block q00, by block elimination filtering, then the left perpendicular edge 3 of the second sub-block q10 is by block elimination filtering, and the right perpendicular edge 4 of the second sub-block q10 is by block elimination filtering subsequently.Then the upper horizontal sides 5 of the second sub-block q10 is by block elimination filtering, thus provide the first sub-block DF00 after block elimination filtering (wherein DF00 be sub-block q00 remove piece version).The first sub-block DF00 of this block elimination filtering is stored in output buffer 160 subsequently.
After the right perpendicular edge 6 of the 3rd sub-block q01, by block elimination filtering, then the upper horizontal sides 7 of the 3rd sub-block q01 is by block elimination filtering.The right perpendicular edge 8 of the 4th sub-block q11 is by block elimination filtering subsequently, then the upper horizontal sides 9 of the 4th sub-block q11 by block elimination filtering so that the second sub-block DF01 after block elimination filtering to be provided.Sub-block DF01 after this block elimination filtering is stored in output buffer 160 subsequently.This sequence is carried out according to shown in the sequence order of edge order 0-31, until to all sub-block q00 to q33 block elimination filtering, obtain being stored in filtering sub-block DF00 in output buffer 160 to DF33.Colourity (Cb, Cr) macro block is block elimination filtering in an identical manner, and wherein chrominance C b macro block is pressed block elimination filtering shown in edge order 0-7, and chrominance C r macro block is pressed block elimination filtering shown in edge order 8-15.
Fig. 5 is flow chart, and it shows the first that according to a first advantageous embodiment of the invention at least one coded macroblocks of video data is carried out the method 500 of block elimination filtering.The method 500 can be carried out on the hardware that comprises system 100 of being controlled by controller 150 any suitable, and with reference to macro block 300 to its explanation.In the step 505 of method 500, it is 0 that two counter i, j are set, and it is 1 that counter k is set.Afterwards, in step 510, the left perpendicular edge 0 of the first sub-block q00 of brightness (Y) macro block 300 is carried out to block elimination filtering.In step 515, right perpendicular edge 1 block elimination filtering to the first sub-block q00, and in step 520, upper horizontal sides 2 block elimination filterings to the first sub-block q00.
Testing procedure 525 determines whether to exist sub-block qkj subsequently, and wherein in the first example, qkj is q10.This sub-block exists, left perpendicular edge 3 block elimination filterings of the second sub-block q10 of step 530 pair brightness (Y) macro block 300.Subsequently, in the step 535 of method 500, right perpendicular edge 4 block elimination filterings to the second sub-block q10, afterwards in step 540, upper horizontal sides 5 block elimination filterings to the second sub-block q10.The block elimination filtering of upper horizontal sides 5 obtain the first sub-block DF00 after block elimination filtering (wherein DF00 be sub-block q00 remove piece version).This is because the upper horizontal sides 5 of the second sub-block q10 is also the lower horizontal sides of the first sub-block q00, and the block elimination filtering of the upper horizontal sides 5 of the second sub-block q10 comprises the lower horizontal sides block elimination filtering to the first sub-block q00.
It will be apparent to those skilled in the art that, to the left perpendicular edge 0 of the first sub-block q00, right perpendicular edge 1 and upper horizontal sides 2, and after the left perpendicular edge 3 of the second sub-block q10 and right perpendicular edge 4 block elimination filterings, immediately the upper horizontal sides 5 of the second sub-block q10 is carried out to block elimination filtering.In step 545, method 500 is stored in the first sub-block DF00 after block elimination filtering in output buffer 160, and in step 550, counter i and k increase progressively.After testing procedure 525, again determine whether to exist sub-block qkj.Because sub-block q20 exists, repeating step 530 to 550, left perpendicular edge 6 block elimination filterings to the 3rd sub-block q20, right perpendicular edge 7 block elimination filterings to the 3rd sub-block q20, and upper horizontal sides 8 block elimination filterings to the 3rd sub-block q20, so that the second sub-block D10 after block elimination filtering to be provided, it is stored in output buffer 160.
Significantly, the upper horizontal sides 8 of the 3rd sub-block q20 is the lower horizontal sides of the second sub-block q10, and after to the left perpendicular edge 6 of the 3rd sub-block q20 and right perpendicular edge 7 block elimination filterings, immediately upper horizontal sides 8 block elimination filterings to the 3rd sub-block q20.Same, be appreciated that upper horizontal sides 8 block elimination filterings of the 3rd sub-block q20 are comprised to the lower horizontal sides block elimination filtering to the second sub-block q10.
Counter i and k increase progressively again in step 550, thereby testing procedure 525 determines whether to exist sub-block q30.Because sub-block q30 exists, repeating step 530 to 550, obtains the 3rd sub-block D20 after block elimination filtering, and it is stored in output buffer 160.Now, testing procedure 525 is definite there is not sub-block q40, thereby in step 555, the sub-block D30 after block elimination filtering is stored in output buffer 160 (or any other buffer).After step 555, to the sub-block of the left column of brightness (Y) macro block 300 (its Counter j=0) successively manner of execution 500.More specifically, method 500 is characterised in that: in other sub-blocks of macro block, by before block elimination filtering completely, at least three sub-block q00 in left column are to q02 by block elimination filtering completely and be stored in output buffer.
Fig. 6 is flow chart, and it shows the second portion that according to a first advantageous embodiment of the invention at least one coded macroblocks of video data is carried out the method 500 of block elimination filtering.It is 0 that method 500 arranges counter i in step 605, and it is 1 that counter j, k are set.In step 615, the right perpendicular edge 12 of sub-block q01 is carried out to block elimination filtering, in step 620, the upper horizontal sides 13 of sub-block q01 is carried out to block elimination filtering.
Testing procedure 625 determines whether to exist sub-block qkj afterwards, and wherein the first example qkj is q11.This sub-block exists, thereby right perpendicular edge 14 block elimination filterings of step 635 couple sub-block q11, afterwards, in step 640, upper horizontal sides 15 block elimination filterings to sub-block q11.To the block elimination filtering of upper horizontal sides 15 obtain block elimination filtering sub-block DF01 (wherein DF01 be sub-block q01 remove piece version).
In step 645, method 500 is stored in the first sub-block DF01 of block elimination filtering in output buffer 160, and in step 650, counter i and k increase progressively.Afterwards, testing procedure 625 determines whether to exist sub-block qkj again.If sub-block q21 exists, repeating step 635 to 650.This can cause the vertical 16 limit block elimination filterings in the right side of sub-block q21, and upper horizontal sides 17 block elimination filterings of sub-block q21, thereby the sub-block D11 of block elimination filtering is provided, and it is stored in output buffer 160.
At step 650 counter i and k, again increase progressively, at testing procedure 625 thereby will determine and have sub-block q31.Because sub-block q31 exists, repeating step 630 to 650, thus obtaining the sub-block D21 of block elimination filtering, it is stored in output buffer 160.This now, testing procedure 625 determines that sub-block q41 does not exist, thereby in step 655, the sub-block D31 of block elimination filtering is stored in this output buffer 160 (or other any buffers).In step 660, counter i is set to 0, and counter k is set to 1, and counter j increases progressively (counter j=2).Testing procedure 665 determines whether qij+1 exists subsequently, and because q03 exists, method 500 turns back to step 615.When method 500 turns back to step 660, counter i is set to 0, and counter k is set to 1, and counter j increases progressively (counter j=3), thereby at testing procedure 665, determines that q04 does not exist.Therefore complete that (q00 is to q30 to the leftmost side three row of brightness (Y) macro block 300; Q01 is to q31; And q02 is to q32) the block elimination filtering of sub-block process.
Referring to Fig. 7, show according to a first advantageous embodiment of the invention the flow chart of third part that at least one coded macroblocks of video data is carried out to the method 500 of block elimination filtering.It is 0 that method 500 arranges counter i in step 705, and counter j is 3, and counter k is 1.In step 720, upper horizontal sides 28 block elimination filterings to sub-block q03.
Testing procedure 725 determines whether to exist sub-block qkj afterwards, and wherein the first example qkj is q13.This sub-block exists, thereby the upper horizontal sides 29 of step 740 couple sub-block q13 is carried out block elimination filtering.To the block elimination filtering of upper horizontal sides 29 obtain sub-block DF03 after block elimination filtering (wherein DF03 be sub-block q03 remove piece version).
In step 745, method 500 is stored in the first sub-block DF03 of block elimination filtering in output buffer 160, and in step 750, counter i and k increase progressively.Testing procedure 725 determines whether to exist sub-block qkj subsequently again.Because sub-block q23 exists, repeating step 740 to 750.This causes the block elimination filtering to the upper horizontal sides 30 of sub-block q23, and so that the sub-block D13 of block elimination filtering to be provided, it is stored in output buffer 160.
In step 750, counter i and k increase progressively again, and therefore testing procedure 725 will determine that sub-block q33 exists.Because sub-block q33 exists, repeating step 740 to 750, obtains the sub-block D23 after block elimination filtering, and it is stored in output buffer 160.Now, testing procedure 725 determines that sub-block q43 does not exist, thereby in step 755, the sub-block D33 of block elimination filtering is stored in output buffer 160 (or any other buffer).The method 500 stops in step 760 subsequently.
Very clearly, colourity (Cb, Cr) macro block 300 also in a similar fashion using method 500 by block elimination filtering.The most lower and the rightmost of brightness meanwhile, (Y) and colourity (Cb, Cr) macro block 300 is not according to the complete block elimination filtering of single execution quilt of method 500.Yet during follow-up execution on adjacent microlith, these the most lower and rightmosts can the complete block elimination filterings of ripple.
Referring to Fig. 8, show the first of the second preferred embodiment according to the present invention to the method 800 of at least one coded macroblocks block elimination filtering of video data.The method 800 can be carried out on any suitable hardware of being controlled by controller 150 that comprises system 100, and describes with reference to macro block 400.It is that 0, one counter k is 1 that method 800 arranges two counter i, j in step 805.Then, in step 810, left perpendicular edge 0 block elimination filtering to the first sub-block q00 of brightness (Y) macro block 400.In step 815, right perpendicular edge 1 block elimination filtering to the first sub-block q00, in step 820, upper horizontal sides 2 block elimination filterings to the first sub-block q00.
Testing procedure 825 determines whether counter j=0 subsequently.In the first example, j is 0, thereby the left perpendicular edge 3 of the second sub-block q01 of step 830 pair brightness (Y) macro block 300 is carried out block elimination filtering.The method 800 is subsequently at right perpendicular edge 4 block elimination filterings of step 835 couple the second sub-block q10.Subsequently, in step 840, upper horizontal sides 5 block elimination filterings to the second sub-block q10.To the block elimination filtering of upper horizontal sides 5 obtain the first sub-block DF00 after block elimination filtering (wherein DF00 be sub-block q00 remove piece version).This be because, the upper horizontal sides 5 of the second sub-block q10 is also the lower horizontal sides of the first sub-block q00, the block elimination filtering of the upper horizontal sides 5 of the second sub-block q10 comprises the block elimination filtering to the lower horizontal sides of the first sub-block q00.
In step 845, method 800 is stored in the first sub-block DF00 of block elimination filtering in output buffer 160, in step 850, counter j increases progressively, thereby testing procedure 855 determines whether sub-block qij+1 exists, because sub-block q02 exists, repeating step 815 to 820 and step 835 to 850 (counter j is not equal to 0, so step 830 is skipped).This causes the block elimination filtering to the right perpendicular edge 6 of the 3rd sub-block q01, the block elimination filtering to the right perpendicular edge 8 of the block elimination filtering of the upper horizontal sides 7 of the 3rd sub-block q01 and the 4th sub-block q11, and the block elimination filtering to the upper horizontal sides 9 of the 4th sub-block q11.After step 835 to 850 completes, counter j is incremented, thereby obtains the sub-block D01 after block elimination filtering, and it is stored in output buffer 160.And then significantly, the left perpendicular edge of the 3rd sub-block q01 is that the left perpendicular edge of right perpendicular edge 1, the four sub-block q11 of the first block q00 is the right perpendicular edge 4 of the second sub-block q10.
Testing procedure 855 determines whether to exist sub-block qij+1 again.Because sub-block q03 exists, repeating step 815 to 820 and step 835 to 850 (counter j is not equal to 0, thereby skips steps 830).This causes right perpendicular edge 10 block elimination filterings, upper horizontal sides 11 block elimination filterings of sub-block q02, upper horizontal sides 13 block elimination filterings of right perpendicular edge 12 block elimination filterings of sub-block q12 and sub-block q12 to sub-block q02.After step 835 to 850 completes, counter j is incremented, and the sub-block D02 after block elimination filtering is provided, and it is stored in output buffer 160.And very clearly, the left perpendicular edge of sub-block q02 is the right perpendicular edge 6 of sub-block q01, and the left perpendicular edge of sub-block q12 is the right perpendicular edge 8 of sub-block q11.
When method 800 turns back to testing procedure 855, sub-block q1j+1 is q04, and it does not exist.Thereby method 800 is at upper horizontal sides 14 block elimination filterings of step 860 couple sub-block q03, in step 865, the upper horizontal sides 15 of sub-block q13 is carried out to block elimination filtering.This obtains the sub-block D03 after block elimination filtering, and it is stored in output buffer 160 (or any other buffer) in step 870.
After completing steps 870, method 800 is carried out block elimination filtering to the upper row q00 of brightness (Y) macro block 400 to the sub-block of q03 successively, like this in any other sub-block of luminance macroblock 400 by before block elimination filtering completely, at least three sub-block q00, q01 in upper row and q02 are also kept in output buffer 160 by block elimination filterings completely.
Referring to Fig. 9, show the second preferred embodiment according to the present invention and at least one coded macroblocks of video data is carried out to the second portion of the method 800 of block elimination filtering.The method 800 is made as 1 in step 905 by counter i, counter j be made as 0 and counter k be made as 2.Next in step 910, the left perpendicular edge block elimination filtering to the sub-block q20 of brightness (Y) macro block 400.In step 915, right perpendicular edge 17 block elimination filterings to sub-block q20, in step 920, upper horizontal sides 18 block elimination filterings to sub-block q20.The block elimination filtering of upper horizontal sides 18 is obtained to the sub-block DF10 after block elimination filtering, and it is stored in output buffer 160 in step 945.
In step 950, counter j increases progressively, thereby testing procedure 955 determines whether to exist sub-block qij+1.Because sub-block q12 exists, repeating step 915 to 950.This can cause right perpendicular edge 19 block elimination filterings to sub-block q21, and upper horizontal sides 20 block elimination filterings to sub-block q21.The block elimination filtering of upper horizontal sides 20 obtains the sub-block DF11 after block elimination filtering, and it is stored in output buffer 160 in step 945.When step 950 determines that sub-block qij+1 does not exist (being that q14 does not exist), in step 960, the method is carried out block elimination filtering to the upper horizontal sides 23 of sub-block q23, and then in step 965, the sub-block DF13 after block elimination filtering is stored in output buffer 160.
In step 970, counter i and k increase progressively, and counter j is set to 0.After test block 975, determine whether to exist sub-block qkj, because sub-block q30 exists, method 800 turns back to step 910.When test block 975, determine and do not have sub-block qkj (not having q40), repeating step 980 and 985, until the sub-block DF30 after block elimination filtering, DF31, DF32 and DF33 are stored in output buffer 160 (or any other buffer).The method 800 stops in step 990 subsequently.
Very clearly, in the similar mode of employing method 800 equally to colourity (Cb, Cr) macro block 400 block elimination filterings.And, according to the single execution of method 800, brightness (Y) and colourity (Cb, Cr) macro block 400 bottom with rightmost not by complete block elimination filtering.Yet in the follow-up execution of adjacent microlith, these bottom will be by complete block elimination filtering with rightmost.
Referring to Figure 10, show the schematic diagram 1000 of 4 * 4 pel arrays in each sub-block in diagram macro block.As shown in the figure, two adjacent sub-blocks 1010 and 1020 have common perpendicular edge 1030.Each sub-block 1010 and 1020 comprises 4 * 4 arrays of 16 pixel values, and wherein to have pixel value be a00 to sub-block 1010 to the four row A0 of a33 to A3, and sub-block 1020 to have pixel value be that b00 is listed as B0-B3 to four of b33.
When the perpendicular edge 1030 to common is carried out block elimination filtering, the row of calculating pixel value ai0 to ai3 and bi0 to bi3 place simultaneously, wherein i is from 0 to 3 integer.All sub-blocks in macro block are applied to this processing mode, when considering common horizontal sides, be clear that very much to those skilled in the art, can to the respective column of each sub-block, carry out filtering simultaneously.
Because block elimination filtering is known, not to its detailed description.This class filtering comprises that boundary intensity BS well known to those skilled in the art analyzes and Alpha α and beta β Threshold Analysis.But, block elimination filtering can be categorized as with the next stage:
If stage 1-> BS unequal to 0, so read pixel from input buffer 110; BS=0, forbids filter element else if;
Stage 2-> obtains threshold alpha and β;
Stage 3-> calculates | a0-b0|, | a1-a0|, | b1-b0|, | a2-a0| and | b2-b0|, and determine whether to enable or forbid filter;
If stage 4-> BS is less than 4, calculate so a1 ', a0 ' and b1 ', b0 '; BS equals 4 else if, calculates so a2 ', a1 ', a0 ' and b2 ', b1 ', b0 '; And
Stage 5-> stores filtered pixel.
Can adopt pipeline system to carry out the above-mentioned stage at least some limits in macro block, when frame per second speed is very crucial, this can save time especially.
In short, the invention provides three limit block elimination filterings to the first sub-block of macro block, afterwards two perpendicular edge block elimination filterings to the second sub-block with the first sub-block adjacency.To the block elimination filtering of the upper horizontal sides of the second sub-block, provide the first sub-block after block elimination filtering, wherein, after to the left perpendicular edge of these three limits and the second sub-block and right perpendicular edge block elimination filtering, carried out immediately the block elimination filtering to the upper horizontal sides of the second sub-block.Before carrying out arbitrarily further block elimination filtering, the first sub-block after block elimination filtering is stored in output buffer 160. Method 500 and 800 meets H.264 advanced video coding standard, and for each sub-block in macro block, the order of block elimination filtering is like this: left perpendicular edge, right perpendicular edge, upper horizontal sides and lower horizontal sides.
Advantageously, the present invention thereby provide and meet the H.264/AVC block elimination filtering of standard, reduces or has at least alleviated and meet the intensive storage demand that H.264/AVC prior art of standard is removed block method.!
The explanation of the preferred embodiments of the present invention is for showing and explanation and presenting, but and do not mean that it is exhaustive or the present invention is defined as to disclosed form.It will be understood by those skilled in the art that under the situation that does not deviate from extensive creative concept of the present invention and can make change to the above embodiments.Thereby, be appreciated that the present invention is not defined as disclosed specific embodiment, but covered the modification in the spirit and scope of the present invention that limited by accessory claim.

Claims (20)

1. at least one coded macroblocks of video data is carried out to a method for block elimination filtering, described method is carried out in electronic system, comprises the steps:
Left perpendicular edge block elimination filtering to the first sub-block of described macro block;
Right perpendicular edge block elimination filtering to the first sub-block;
Upper horizontal sides block elimination filtering to the first sub-block;
Left perpendicular edge block elimination filtering to the second sub-block of described macro block;
Right perpendicular edge block elimination filtering to the second sub-block; And
Upper horizontal sides block elimination filtering to the second sub-block, so that the first sub-block after block elimination filtering to be provided, wherein the upper horizontal sides of the second sub-block is the lower horizontal sides of the first sub-block, and after to the left perpendicular edge of the left perpendicular edge of the first sub-block, right perpendicular edge and upper horizontal sides and the second sub-block and right perpendicular edge block elimination filtering, immediately the upper horizontal sides of the second sub-block is carried out to block elimination filtering.
2. method of carrying out block elimination filtering as claimed in claim 1, further comprises:
Left perpendicular edge block elimination filtering to the 3rd sub-block of described macro block;
Right perpendicular edge block elimination filtering to the 3rd sub-block; And
Upper horizontal sides block elimination filtering to the 3rd sub-block, so that the second sub-block after block elimination filtering to be provided, wherein the upper horizontal sides of the 3rd sub-block is the lower horizontal sides of the second sub-block, and after to the left perpendicular edge of the 3rd sub-block and right perpendicular edge block elimination filtering, the upper horizontal sides block elimination filtering to the 3rd sub-block immediately.
3. method of carrying out block elimination filtering as claimed in claim 2, wherein the upper horizontal sides block elimination filtering of the second sub-block is comprised to the lower horizontal sides block elimination filtering to the first sub-block, the upper horizontal sides block elimination filtering of the 3rd sub-block is comprised to the lower horizontal sides block elimination filtering to the second sub-block.
4. method of carrying out block elimination filtering as claimed in claim 2, wherein carries out described method to each sub-block of the left column of macro block successively, thereby before the complete block elimination filtering of any other sub-block quilt of macro block, at least three sub-blocks in this left column are by complete block elimination filterings.
5. method of carrying out block elimination filtering as claimed in claim 1, further comprises:
Right perpendicular edge block elimination filtering to the 3rd sub-block;
Upper horizontal sides block elimination filtering to the 3rd sub-block;
Right perpendicular edge block elimination filtering to the 4th sub-block; And
Upper horizontal sides block elimination filtering to the 4th sub-block, wherein the left perpendicular edge of the 3rd sub-block is the right perpendicular edge of the first sub-block, and the left perpendicular edge of the 4th sub-block is the right perpendicular edge of the second sub-block.
6. method of carrying out block elimination filtering as claimed in claim 5, wherein the right perpendicular edge block elimination filtering of the first sub-block is comprised to the left perpendicular edge block elimination filtering to the 3rd sub-block, the right perpendicular edge block elimination filtering of the second sub-block is comprised to the left perpendicular edge block elimination filtering to the 4th sub-block.
7. method of carrying out block elimination filtering as claimed in claim 5, wherein successively each sub-block of the upper row of macro block is carried out to described method, thereby before the complete block elimination filtering of any other sub-block quilt of macro block, at least three sub-blocks in described upper row are also stored in output buffer by complete block elimination filterings.
8. method of carrying out block elimination filtering as claimed in claim 1, further comprises that micro-filtered the first sub-block is stored in output buffer.
9. method of carrying out block elimination filtering as claimed in claim 1, wherein each sub-block comprises the array of 16 pixel values.
10. method of carrying out block elimination filtering as claimed in claim 1, wherein said method meets H.264 advanced video coding standard, so that for each sub-block in macro block, the order of block elimination filtering is: left perpendicular edge, right perpendicular edge, upper horizontal sides and lower horizontal sides.
11. 1 kinds of methods of at least one coded macroblocks of video data being carried out to block elimination filtering, described method is carried out in electronic system, comprises the steps:
Three limit block elimination filterings to the first sub-block of macro block;
Two perpendicular edge block elimination filterings to second sub-block adjacent with the first sub-block;
Upper horizontal sides block elimination filtering to the second sub-block, so that the first sub-block after block elimination filtering to be provided, wherein after to the left perpendicular edge of these three limits and the second sub-block and right perpendicular edge block elimination filtering, the upper horizontal sides block elimination filtering to the second sub-block immediately; And
Before carrying out any other block elimination filtering, the first sub-block after block elimination filtering is stored in output buffer.
12. as the method for carrying out block elimination filtering of claim 11, further comprises:
Left perpendicular edge block elimination filtering to the 3rd sub-block of described macro block;
Right perpendicular edge block elimination filtering to the 3rd sub-block; And
Upper horizontal sides block elimination filtering to the 3rd sub-block, so that the second sub-block after block elimination filtering to be provided, wherein the upper horizontal sides of the 3rd sub-block is the lower horizontal sides of the second sub-block, and after to the left perpendicular edge of the 3rd sub-block and right perpendicular edge block elimination filtering, the upper horizontal sides block elimination filtering to the 3rd sub-block immediately.
13. as the method for carrying out block elimination filtering of claim 12, wherein successively each sub-block of the left column of macro block is carried out to described method, so that before the complete block elimination filtering of any other sub-block quilt of macro block, at least three sub-blocks quilts in left column are block elimination filtering completely, and is stored in output buffer.
14. as the method for carrying out block elimination filtering of claim 11, and wherein said method further comprises:
Right perpendicular edge block elimination filtering to the 3rd sub-block;
Upper horizontal sides block elimination filtering to the 3rd sub-block;
Right perpendicular edge block elimination filtering to the 4th sub-block; And
Upper horizontal sides block elimination filtering to the 4th sub-block, wherein the left perpendicular edge of the 3rd sub-block is the right perpendicular edge of the first sub-block, the left perpendicular edge of the 4th sub-block is the right perpendicular edge of the second sub-block.
15. as the block-removal filtering method that carries out of claim 11, wherein brightness and relevant chrominance macroblock is carried out to described method successively.
16. 1 kinds of systems to the coded macroblocks block elimination filtering of video data, this system comprise input buffer for storing macro block, with the de-blocking filter of this input buffer coupling; Controller with this de-blocking filter coupling; With the output buffer of this de-blocking filter coupling, wherein this controller is controlled de-blocking filter by carrying out following steps in operation:
Three limit block elimination filterings to the first sub-block of macro block;
Two perpendicular edge block elimination filterings to second sub-block adjacent with the first sub-block;
Upper horizontal sides block elimination filtering to the second sub-block, so that the first sub-block after block elimination filtering to be provided, wherein, after to the left perpendicular edge of these three limits and the second sub-block and right perpendicular edge block elimination filtering, carries out block elimination filtering to the upper horizontal sides of the second sub-block immediately; And
Before carrying out any other block elimination filtering, the first sub-block after block elimination filtering is stored in output buffer.
17. as the system of the processing coded macroblocks of claim 16, and wherein said controller is controlled de-blocking filter and carried out following steps:
Left perpendicular edge block elimination filtering to the 3rd sub-block of described macro block;
Right perpendicular edge block elimination filtering to the 3rd sub-block; And
Upper horizontal sides block elimination filtering to the 3rd sub-block, so that the second sub-block after block elimination filtering to be provided, wherein the upper horizontal sides of the 3rd sub-block is the lower horizontal sides of the second sub-block, and after to the left perpendicular edge of the 3rd sub-block and right perpendicular edge block elimination filtering, the upper horizontal sides block elimination filtering to the 3rd sub-block immediately.
18. as the system of the processing coded macroblocks of claim 16, and wherein said controller is controlled de-blocking filter and carried out following steps:
Right perpendicular edge block elimination filtering to the 3rd sub-block;
Upper horizontal sides block elimination filtering to the 3rd sub-block;
Right perpendicular edge block elimination filtering to the 4th sub-block; And
Upper horizontal sides block elimination filtering to the 4th sub-block, wherein the left perpendicular edge of the 3rd sub-block is the right perpendicular edge of the first sub-block, the left perpendicular edge of the 4th sub-block is the right perpendicular edge of the second sub-block.
19. as the system of the processing coded macroblocks of claim 16, and wherein this de-blocking filter comprises brightness and chrominance filter.
20. as the system of the processing coded macroblocks of claim 16, wherein this system is carried out and is met the H.264 block elimination filtering of advanced video volume standard, so that for each sub-block in macro block, the order of block elimination filtering is: left perpendicular edge, right perpendicular edge, upper horizontal sides and lower horizontal sides.
CN201210452056.1A 2012-08-23 2012-08-23 Method and system for carrying out deblocking filtering on coding macro-block Pending CN103634609A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210452056.1A CN103634609A (en) 2012-08-23 2012-08-23 Method and system for carrying out deblocking filtering on coding macro-block

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210452056.1A CN103634609A (en) 2012-08-23 2012-08-23 Method and system for carrying out deblocking filtering on coding macro-block

Publications (1)

Publication Number Publication Date
CN103634609A true CN103634609A (en) 2014-03-12

Family

ID=50215180

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210452056.1A Pending CN103634609A (en) 2012-08-23 2012-08-23 Method and system for carrying out deblocking filtering on coding macro-block

Country Status (1)

Country Link
CN (1) CN103634609A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018120230A1 (en) * 2016-12-30 2018-07-05 华为技术有限公司 Image filtering method, apparatus and device

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018120230A1 (en) * 2016-12-30 2018-07-05 华为技术有限公司 Image filtering method, apparatus and device
US11146826B2 (en) 2016-12-30 2021-10-12 Huawei Technologies Co., Ltd. Image filtering method and apparatus

Similar Documents

Publication Publication Date Title
CN105898335B (en) Promote the loop circuit filtering method and loop filter of hardware efficiency
US20230098413A1 (en) Systems and methods for reducing blocking artifacts
US10003798B2 (en) Method and apparatus for reduction of deblocking filter
RU2653244C2 (en) Deblock filtering control
EP2708027B1 (en) Method and apparatus for reduction of in-loop filter buffer
CN103404147B (en) De-blocking filtering device method and device
CN111630857B (en) Video encoding and decoding method/device and corresponding non-volatile computer readable medium
CN100571391C (en) The method for parallel processing that is used for the video coding and decoding system de-blocking filter
US20060133504A1 (en) Deblocking filters for performing horizontal and vertical filtering of video data simultaneously and methods of operating the same
EP2938075A1 (en) Deblocking filtering
US20150010091A1 (en) Method and apparatus for loop filtering cross tile or slice boundaries
CN103220529A (en) Method for achieving video coding and decoding loop filtering
CA2700557A1 (en) Universal blockiness correction
WO2012096623A1 (en) Deblocking filtering
US20230319318A1 (en) Asymmetric deblocking in a video encoder and/or video decoder
EP2742691B1 (en) Method and apparatus of deblocking filter with simplified boundary strength decision
CN107155109B (en) Filtering method and device for video frame
CN107040778A (en) Loop circuit filtering method and loop filter
JP2023103284A (en) Deblocking filter for video coding
CN103634609A (en) Method and system for carrying out deblocking filtering on coding macro-block
US20140056363A1 (en) Method and system for deblock filtering coded macroblocks
CN107172423B (en) A kind of method and device that video frame is filtered
JP7260638B2 (en) Deblocking between block boundaries and sub-block boundaries in a video encoder and/or video decoder
JP7386883B2 (en) Deblocking using subpel motion vector thresholding
KR100993303B1 (en) Apprartus for deblocking fitering in moving picture compression system

Legal Events

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

Application publication date: 20140312