CN101115195B - Macroblock grade coupled decoding and loop filtering method and apparatus for video code stream - Google Patents
Macroblock grade coupled decoding and loop filtering method and apparatus for video code stream Download PDFInfo
- Publication number
- CN101115195B CN101115195B CN2006100293116A CN200610029311A CN101115195B CN 101115195 B CN101115195 B CN 101115195B CN 2006100293116 A CN2006100293116 A CN 2006100293116A CN 200610029311 A CN200610029311 A CN 200610029311A CN 101115195 B CN101115195 B CN 101115195B
- Authority
- CN
- China
- Prior art keywords
- macro block
- decoding
- band
- macro
- loop filtering
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
The invention provides a method and device of a decoding and a loop-filtering for video traffic macro block coupling, which is suitable for the decoding and the loop-filtering for compressed video stream with a flexible macro-block ordering and an arbitrary band sequential mechanism. The invention needs not to carry out the loop-filtering after all macro block decoding for a picture is finished but to carry out the loop-filtering immediately after each macro block decoding so that between the decoding process and the loop-filtering, the macro block of a whole picture needs not to be stored temporarily in a buffer and the temporary storage and a re-read time and a re-read calculation can be avoided. In the methods and devices of a decoding and a loop-filtering for macro-block coupling, the decoding process is operated in sequence of a raster scan for a macro-block. As a filtering in a current macro block can utilize the relevant pixel in the top macro-block and the left macro-block, the relevant pixel in the top row macro blocks and the left macro block for the current macro block are only needed to be stored temporarily, thus obviously reducing the space of a buffer memory and the realizing cost of the decoder.
Description
Technical field
The present invention relates to the decode procedure when adopting flexible macro-block ordering (FMO) and any band order (ASO) technology in the video compression, particularly relate to the decoding of video code flow and the method and apparatus of loop filtering.
Background technology
In video compression standard (as H.264), many key technologies that are applicable to IP-based conversational applications are arranged, as multi-ribbon group (slice group) flexible macro-block ordering (Flexible Macroblock Ordering is FMO) and any band order (Abitrary Slice Order is ASO).Adopt flexible macro-block ordering (FMO) technology to help realizing error concealing, improve the robustness of video communication network, in the network that unordered (out of order) transport behavior is arranged, adopt any band sequential technologies more effectively to utilize the network bandwidth, reduce transmission delay.But adopt flexible macro-block ordering (FMO) and any band order (ASO) technology also the realization (particularly hardware realization) of decode procedure and loop filtering (deblocking filter) to be had a direct impact.
Image is pressed the mode of macroblock coding:
In video compression standard, piece image is made of an integer macro block (macroblock), and as shown in Figure 1, macro block is the square area of 16 * 16 (pixels) size, the serial number that the sequence number (address) of macro block in image pressed raster scan.
As shown in Figure 1, be example with the image of 176 * 144 sizes, comprise the individual macro block in 99 ((176 * 144)/(16 * 16)) in the piece image altogether, the sequence number of macro block increases progressively according to direction shown in the arrow among Fig. 1, and this mode is the mode by the raster scan order numbering.In video compression standard, cataloged procedure and decode procedure all are that unit carries out with the macro block, and obviously, decoded macro block still will be placed by last order shown in Figure 1 could guarantee the correct of decoded picture.
The structure of video code flow and order are described below:
In video compression standard, original image file is called code stream through the later binary file of coding, and the basic composition unit of information is band (slice) in the code stream, and band is by hierarchy tissue shown in Figure 2.
In video code flow, the information of piece image is made up of several bands, and each band comprises slice header (slice header) and strip data (slice data) two parts.Wherein slice header has comprised the common information of all macro blocks in this band, and strip data is to constitute (as comprising 8 macro blocks among Fig. 3) by an integer macro block, and the macro block in the band is placed with dual mode, respectively shown in Fig. 3 (a) and Fig. 3 (b).In Fig. 3 (a), the macro block sequence number in the band increases progressively by natural number, and in Fig. 3 (b), after the sequence number of macro block was operated through certain mapping (MAP) in the band, the macro block sequence number in the band not necessarily increased progressively by natural number, i.e. macro block sequence number i after the mapping
0, i
1... i
7Not necessarily increase progressively by 1 step-length.
Loop filtering:
Video compression standard is as H.264, and MPEG-1 among the MPEG-4, adopts block-based hybrid coding method, i.e. the method that predictive coding and transition coding combine.In cataloged procedure, macro block further is divided into littler piece, and the size of piece is complied with different video compression standards and difference.In order further to improve the efficient of video compression, can make full use of the characteristics of video sequence itself, i.e. the spatial coherence of neighbor and the temporal correlation between the successive frames.So-called spatial coherence refers to that the value of color of neighbor in the same width of cloth image generally is a smooth change, and temporal correlation refers to the corresponding identical usually physics scene of successive frames of video sequence, and object only wherein may move.Predictive coding has made full use of the temporal correlation of video sequence, the piece that search is mated most in the reference picture that image block in the current encoded image can formerly have been encoded, this is called estimation, and the difference of current block and coupling (prediction) piece respective pixel constitutes blocks of prediction.Transition coding (as discrete cosine transform) has then made full use of the spatial coherence between the pixel, and in video compression standard, transition coding is applied to blocks of prediction, and the coefficient after the transition coding carries out entropy coding again and can further be compressed after quantizing.In above cataloged procedure, the quantification of coefficient can produce certain encoding error after the transition coding, and mainly the form with blocking effect shows.In order to reduce encoding error, usually coded image is adopted the method for loop filtering (being also referred to as block-eliminating effect filtering, i.e. deblocking filtering).Loop filtering is that unit carries out usually with the macro block, will use the pixel of macro block and left side macro block above current macro adjacent in filtering, as shown in Figure 4.
In Fig. 4, the filtering of current macro will be used the pixel among macro block A and the macro block B, so the filtering of current macro must just can be carried out under macro block A and macro block B have finished the prerequisite of decoding, this will find the solution yard process and be undertaken by the order of macro block raster scan.When adopting multi-ribbon group flexible macro-block ordering (FMO) and any band order (ASO), if decode procedure is undertaken by the order of band in code stream, can not guarantee order decoding, so loop filtering can only can carry out just after all macro block decoding end of piece image by the macro block raster scan.
Decoding and loop circuit filtering method when disclosed at present employing flexible macro-block ordering (FMO) and any band order (ASO) are as follows:
1) deposits restored map picture frame/field buffer memory before the loop filtering in by all bands of the order decoding piece image of band in code stream and decoded macro block;
2) image after the decoding in restored map picture frame/field buffer memory before the loop filtering is carried out the loop filtering of macro-block level;
3) repeating step 1) and 2), finish up to video code flow.
Above-mentioned decoding process figure as shown in Figure 5.
Above-mentioned macro block decoding and the applied device schematic diagram of loop circuit filtering method are as shown in Figure 6.Whole macro block decoding and loop filter are made up of following 5 modules:
1. the slice header decoder module is used for decoding bar and takes the lead;
2. macroblock decode module is used for the decoding of each macro block;
3. restored map picture frame before the loop filtering/field buffer memory.Owing to press the order decoding band of band in code stream, can not realize decoding, so all macro blocks of decoded entire image will be temporarily stored in this frame/field buffer memory earlier through before the loop filtering by the macro block raster scan order;
4. loop filtering module is pressed all macro blocks in the order filtering image of raster scan;
5. image shows and memory module, is used for the demonstration and the storage of restored image behind the loop filtering.
The related data of these prior aries has the VCEG of video coding expert group (video codingexperts group) of ITU-T (International Telecommunications Union) and common joint video team (Joint Video Team) the reference software JM85 version of setting up of the MPEG of Motion Picture Experts Group (moving pictureexperts group) of ISO/IEC (International Standards Organization).
As can be seen from Figure 5, the loop filtering process is carried out after the piece image decoding is all over, therefore decoded entire image must be placed on earlier in the buffering area, and then from buffering area, take out and carry out loop filtering, this needs very big buffer-stored space and a lot of clock periodicities, and therefore this method has increased the delay that is decoded to loop filtering greatly and realized cost.
Summary of the invention
The object of the present invention is to provide a kind of macroblock grade coupled decoding and loop circuit filtering method and device of video code flow, be decoded to the delay of loop filtering and realize cost with minimizing.For reaching above-mentioned purpose, the present invention adopts following technical scheme:
A kind of macroblock grade coupled decoding and loop circuit filtering method of video code flow, comprise decoding and loop filtering step, press the macro block raster scan in sequence in described its decoding step, and the related pixel of top macro block and left side macro block is used in the filtering of temporary current macro, utilize temporary related pixel that current macro is carried out loop filtering in the described loop filtering step, finish up to the present image decoding, carry out loop filtering at current decoded macroblock by the macro block raster scan order immediately after decoding finishes to each macro block in described its decoding step, finish up to the present image decoding.
Wherein, described decoding and loop filtering specifically may further comprise the steps:
1) all stripe information that read present image in the input code flow are also kept in;
2) the index i=0 of the current decoded macroblock of initialization;
3) find under the current decoded macroblock i this macro block of decoding i behind the band;
4) macro block i is carried out loop filtering;
5) macro block index i increases progressively 1;
6) judge whether the present image decoding finishes,, otherwise jump to step 3) if finish then to carry out following steps in proper order;
7) judge whether video code flow finishes, all finish if finish then decoding, otherwise jump to the decoding that step 1) is descended piece image.
A kind of macroblock grade coupled decoding and loop filter of video code flow comprise:
The sequence parameter set memory module is used for storing the sequence parameter set of reading from code stream;
The picture parameter set memory module is used for storing the picture parameter set of reading from code stream;
All slice header information cache module of entire image, all slice header contents that are used for storing the piece image of reading;
All strip data cache modules of entire image, all strip data contents that are used for storing the piece image of reading;
The decoding control module, its input links to each other with all slice header information cache module of sequence parameter set memory module, picture parameter set memory module and entire image, accept the information of these three modules, be used for controlling whole decoding process, judge which band is the band at the current decoded macroblock place that increases progressively by raster scan order, and judge whether the decoding of piece image finishes; So that realization is carried out loop filtering at current decoded macroblock after by the macro block raster scan order each macro block decoding being finished immediately, the decoding of straight way present image finishes;
The macro block read module, its input links to each other with the strip data cache module with the decoding control module, according to the information that the decoding control module provides, the data of reading current decoded macroblock from the corresponding band of strip data cache module;
Macro block decoding and loop filtering module, its input links to each other with the macro block read module, accepts the data that the macro block read module provides, and realizes the function of macro block decoding and loop filtering;
Image shows or memory module, the restored image content behind demonstration or storage decoding and the loop filtering.
Described decoding control module comprises with lower unit: first macro block and 0 comparing unit in the band, its input links to each other with the slice header information cache module, its output links to each other with the macro block read module, be used for determining the band that first macro block equals 0 in the band, and from then on indication macro block read module reads macro block data in the band;
Mapping storage and macro block place band judgement unit, its input links to each other with the slice header information cache module, its output links to each other with the macro block read module, be used to store macro block to band group's map information and calculate the band group number at each macro block place, determine the band at macro block i place according to these information, and indicate the macro block read module from then on to read macro block data in the band; Present image decoded macroblock number and macro block sum comparing unit are used to judge whether the decoding of piece image is all over.
Macroblock grade coupled decoding and the loop circuit filtering method and the device of the video code flow that the present invention proposes are applicable to flexible macro-block ordering and any band decoding and the loop filtering of the compressed video stream of mechanism in proper order.It need not carry out loop filtering again after the whole macro block decodings of piece image finish, but after finishing, each macro block decoding carries out loop filtering immediately, do not need between decode procedure and the loop filtering the temporary buffering area that arrives of the macro block of entire image has been avoided temporary and read needed time and calculating more yet.Its decode procedure is by the macro block raster scan in sequence, because the relevant pixel of top macro block and left side macro block is used in the filtering of current macro, therefore only the respective pixel of the macro block of the top delegation macro block and the left side of current macro need be kept in and get final product, significantly reduce the space of buffer storage, reduced the realization cost of decoder.
Description of drawings
Fig. 1 is the image of existing 176 * 144 sizes and the macro block and the raster scan order schematic diagram of 16 * 16 sizes thereof;
Fig. 2 is laminated tissue's structural representation of existing band;
Fig. 3 is two kinds of modes of emplacements of macro block in the existing band;
The macro block schematic diagram that Fig. 4 need use for existing current macro decoding;
Fig. 5 is the flow chart of existing decoding and loop circuit filtering method;
Fig. 6 is existing decoding and loop filter schematic diagram;
Fig. 7 is the macroblock grade coupled decoding of the present invention and the flow chart of loop circuit filtering method;
Fig. 8 is macroblock grade coupled decoding of the present invention and the applied device schematic diagram of loop circuit filtering method;
Fig. 9 is existing two kinds of different colourity sub-sampling forms;
The schematic diagram of the part macro block that Figure 10 need use for embodiment of the invention current macro decoding;
Figure 11 is the flow chart of macroblock grade coupled decoding of the embodiment of the invention and loop circuit filtering method;
Figure 12 is macroblock grade coupled decoding of the embodiment of the invention and loop filter schematic diagram;
Embodiment
As shown in Figure 7, a kind of macroblock grade coupled decoding and loop circuit filtering method of video code flow may further comprise the steps:
1) all stripe information that read present image in the input code flow are also kept in;
2) the index i=0 of the current decoded macroblock of initialization;
3) find under the current decoded macroblock i this macro block of decoding i behind the band;
4) macro block i is carried out loop filtering;
5) macro block index i increases progressively 1;
6) judge whether the present image decoding finishes,, otherwise jump to step 3) if finish then to carry out following steps in proper order;
7) judge whether video code flow finishes, all finish if finish then decoding, otherwise jump to the decoding that step 1) is descended piece image.
As shown in Figure 8, a kind of macroblock grade coupled decoding and loop filter of video code flow comprise:
The sequence parameter set memory module is used for storing the sequence parameter set of reading from code stream;
The picture parameter set memory module is used for storing the picture parameter set of reading from code stream;
All slice header information cache module of entire image, all slice header contents that are used for storing the piece image of reading;
All strip data cache modules of entire image, all strip data contents that are used for storing the piece image of reading;
The decoding control module, its input links to each other with all slice header information cache module of sequence parameter set memory module, picture parameter set memory module and entire image, accept the information of these three modules, be used for controlling whole decoding process, one of its major function is to judge which band is the band at the current decoded macroblock place that increases progressively by raster scan order, two of its major function is whether the decoding of judging piece image finishes, and other functions that decode procedure is controlled;
The macro block read module, its input links to each other with the strip data cache module with the decoding control module, according to the information that the decoding control module provides, the data of reading current decoded macroblock from the corresponding band of strip data cache module;
Macro block decoding and loop filtering module, its input links to each other with the macro block read module, accepts the data that the macro block read module provides, and realizes the function of macro block decoding and loop filtering;
Image shows or memory module, the restored image content behind demonstration or storage decoding and the loop filtering.
H.264 the example of filtering immediately after each macro block decoding of realization in:
In the colorful digital video image, each pixel value is made of three components, be respectively a brightness (luma) component (Y) and two colourities (chroma) component (U and V), each component is represented its concrete numerical value with 8 bits (bit)=1 bytes (byte) usually.Because the human visual system is more responsive to brightness ratio colourity, so the spatial sampling rate to chromatic component can be less than the spatial sampling rate of luminance component, adopt the spatial sampling rate of different brightness and colourity to constitute different colourity sub-sampling forms, for example for two chromatic components, in every row, adopt the sub-sampling of half, be corresponding two the U sampling points of per 4 Y sampling points and two V sampling points in every row, this is called the 4:2:2 form; As if the sub-sampling that chromatic component is all carried out in the horizontal and vertical directions half, the corresponding U sampling point of promptly per 4 Y sampling points and a V sampling point, this is called the 4:2:0 form, and the relative position of the brightness of different-format and colourity sampling point is illustrated in fig. 9 shown below.In H.264, be example with the video sequence of 4:2:0 sub-sampling form, for the luminance component macro block of each 16 * 16 size, the chromatic component piece of corresponding two 8 * 8 sizes.When adopting the 4:2:0 form, the shared memory space of one entire image is: the image with 176 * 144 sizes is an example, to luminance component, need 176 * 144=25344 bytes of memory space, to two chromatic components, need (88 * 72) * 2=12672 bytes of memory space, so need 38016 bytes of memory spaces altogether.
As noted earlier, in H.264, decoding will be carried out loop filtering after finishing, and loop filtering is that unit carries out with the macro block, and will carry out filtering respectively to luminance component piece and two chromatic component pieces.Concerning luminance component, the filtering of each macro block to use in the macro block above it with adjacent four lines pixel of current macro and left side macro block in the four row pixels adjacent with current macro, and concerning two chromatic components, each filtering of 8 * 8 will be used the two row pixels on 8 * 8 on top 8 * 8 two row pixels and the left side, is illustrated in fig. 10 shown below.
After realizing that macro block is pressed the raster scan order decoding, loop filtering can carry out after each macro block decoding finishes immediately, because macro block filtering will be used the pixel of adjacent top macro block and left side macro block, so concerning luminance component, four row pixels of a macro block of the four lines pixel and the left side of the top delegation macro block of the current decoded macroblock of needs storage, and concerning two 8 * 8 chromatic component piece, two row pixels of the top delegation piece of the current decoding block of needs storage and two row pixels of the piece in the left side.Image with 176 * 144 sizes is an example, to luminance component, need 176 * 4+16 * 4=704+64=768 bytes of memory space, to two chromatic components, need (88 * 2+8 * 2) * 2=384 bytes of memory space, so need 1152 bytes of memory spaces altogether, be received within these in loop filtering buffer.
As previously mentioned, in video compression standard, the difference of the prediction piece after current block and the process estimation forms blocks of prediction, in order further to remove the spatial coherence between the pixel, blocks of prediction also will be passed through transition coding and quantification, and the coefficient after the quantification further improves compression efficiency by entropy coding.In H.264, two kinds of selectable entropy coding methods are arranged, be based on contextual Variable Length Code CAVLC (context-adaptive variable-length coding) respectively and based on contextual binary arithmetic coding CABAC (context-adative binary arithmetic coding).For the CABAC coded system, contextual information is different to different bands, and contextual information (context model) to be sent to next macro block after last macro block decoding finishes in the same band, so when adopting the CABAC coded system, contextual information in each band need be preserved, when current decoded macroblock is positioned at different band with next decoded macroblock, when promptly needing band to switch, the contextual information of corresponding each band also must together switch.
In H.264, every width of cloth image is become by one or several band group, and each band group is contained one or several bands again.In same band group, macro block is always placed with the macro block sequence number that increases progressively (but not necessarily continuous), and flexible macro-block ordering (FMO) is to realize by mapping (MAP) operation of macro block to the band group.H.264 the content of code stream occurs with the syntactic structure sheet form, and has level characteristics, and the upper strata syntactic structure is formed and may be comprised the syntactic structure of bottom by corresponding syntactic element.Comprised syntactic element and macroblock_layer () syntactic structures such as mb_skip_flag as strip data (slice data) syntactic structure, macroblock_layer () syntactic structure has been stipulated the information that is comprised in the macro block.Picture parameter set (picture parameterset) is a syntactic structure in the code stream H.264, and it comprises all relevant informations of all bands of piece image.Before the band that begins to decode, there are one or more picture parameter sets to be transferred to and to be stored in the decoder in the code stream.Which picture parameter set piece image uses selected by the syntactic element pic_parameter_set_id in the slice header syntax structure.In picture parameter set (picture parameter set) syntactic structure, comprise num_slice_group_minus_1 and two syntactic elements of slice_group_map_type.Num_slice_group_minus_1 has characterized the employed band group of present image number.When this parameter gets 0, illustrate that present image has only a band group, all macro blocks belong to this band group and macro block is arranged with raster scan order in band; When this parameter greater than 0 the time, illustrate that present image has more than one band group and mapping (MAP) form between macro block and the band group to determine by parameter s lice_group_map_type.In H.264, the slice_group_map_type span be 0,1,2,3,4,5,6}, each is worth corresponding a kind of mapping mode, promptly has 7 kinds of projected forms between macro block and the band group.The difference of the corresponding macro block of different projected forms in the band group placed.Therefore just can determine all macro blocks that piece image comprised and the mapping relations between the band group after num_slice_group_minus_1 in obtaining the picture parameter set syntactic structure and the slice_group_map_type information, that is to say after the sequence number i of given macro block by raster scan, before decoding band content, just can determine the affiliated band group of this macro block.The information of these mappings is placed on array MbToSliceGroupMap[] in.In addition, contain first macro block (first_mb_in_slice) in the syntactic element band in the slice header syntax structure, it provides the sequence number of first macro block in the current band.Utilize array MbToSliceGroupMap[], first macro block (first_mb_in_slice) and macro block sequence number always increase progressively the character of (but not necessarily continuous) in the band in same band group, just can find the band that comprises macro block i in not decoded band.
By above explanation, an embodiment of macroblock grade coupled decoding and loop circuit filtering method is described below:
1) reads all stripe information of present image in the input code flow and put into the band buffer area;
2) each band of initialization is used for the contextual information of CABAC decoding and puts into the contextual information working area of band;
3) the index i=0 of the current decoded macroblock of initialization;
4) in all bands of present image, find the band that the sequence number of first macro block equals 0 in the band, jump to step 6);
5) mapping (MbToSliceGroupMap[first_mb_in_slice]) of its first macro block of search equals the non-NULL band of the mapping (MbToSliceGroupMap[i]) of macro block i in the band buffer area, and this band is the band at macro block i place;
6) from the contextual information working area, read the contextual information of the band at macro block i place;
7) decoded macroblock i in the band at macro block i place;
8) macro block i is carried out loop filtering;
9) sampled value relevant with follow-up macro block filtering among the macro block i is put into the loop filtering buffer;
10) the latest content information that macro block i place band is used for CABAC decoding is put into the contextual information working area of band;
11) decoded macroblock index i increases progressively 1;
12) judge whether i equals total macro block number that piece image comprises, the present image decoding finishes if equal then, and order is carried out following steps, otherwise jumps to step 5);
13) judge whether video code flow finishes, all finish if finish then decoding, otherwise jump to the decoding that step 1) is descended piece image.
The flow chart of above-mentioned decoding and loop filtering embodiment is as shown in figure 11:
Above-mentioned macroblock grade coupled decoding and the applied device schematic diagram of loop filtering embodiment be as shown in figure 12:
Whole decoding and loop filter are by forming with lower module and unit:
The sequence parameter set memory module is used for storing the sequence parameter set of reading from code stream;
The picture parameter set memory module is used for storing the picture parameter set of reading from code stream;
All slice header information cache module of entire image, all slice header contents that are used for storing the piece image of reading;
All strip data cache modules of entire image, all strip data contents that are used for storing the piece image of reading;
The decoding control module, its input links to each other with all slice header information cache module of sequence parameter set memory module, picture parameter set memory module and entire image, accepts the information of these three modules, is used for controlling whole decoding process.This module comprises with lower unit:
(1) first macro block (first_mb_in_slice) and 0 comparing unit in the band, its input links to each other with the slice header information cache module, its output links to each other with the macro block read module, be used for determining the band that first macro block (first_mb_in_slice) equals 0 in the band, and from then on indication macro block read module reads macro block data in the band;
(2) mapping storage and macro block place band judgement unit, its input links to each other with the slice header information cache module, its output links to each other with the macro block read module, be used to store macro block to band group's map information and calculate the band group number at each macro block place, determine MbToSliceGroupMap[first_mb_in_slice according to these information]=MbToSliceGroupMap[i] band, be the band at macro block i place, and from then on indication macro block read module read macro block data in the band;
(3) present image decoded macroblock number and macro block sum comparing unit is used for judging whether the decoding of piece image is all over, thereby can begins to decode the new image of a width of cloth.
The macro block read module, its input links to each other with the strip data cache module with the decoding control module, according to the information that the decoding control module provides, the data of reading current decoded macroblock from the corresponding band of strip data cache module;
Macro block decoding and loop filtering module comprise with lower unit:
(1) macro block decoding and loop filtering unit, its input and macro block read module, loop filtering buffer unit, the contextual information temporary storage location of band links to each other, and accepts the data that these modules or unit provide, and realizes the function of macro block decoding and loop filtering;
(2) loop filtering buffer, its input, output all link to each other with macro block decoding and loop filtering unit, after current macro filtering finishes, the last four lines of luminance component macro block and last two row and the rightmost two row contents of rightmost four row and two chromatic component pieces are kept in, be used for the filtering of follow-up macro block.
(3) the contextual information initialization unit of band, its input links to each other with macro block sum comparing unit with the present image decoded macroblock number of decoding in the control module, when the new picture decoding of a width of cloth begins, the contextual information of each band of initialization also deposits it contextual information temporary storage location of band in, i.e. its output links to each other with the contextual information temporary storage location of band.
(4) the contextual information temporary storage location of band, its input links to each other with the contextual information initialization unit of macro block decoding and loop filtering unit and band, and after macro block i decoding finished, temporary macro block i place band was used for the latest content information of CABAC decoding.
Image shows or memory module, the restored image content behind demonstration or storage decoding and the loop filtering.
Claims (5)
1. the macroblock grade coupled decoding and the loop circuit filtering method of a video code flow, comprise decoding and loop filtering step, it is characterized in that: press the macro block raster scan in sequence in described its decoding step, and the related pixel of top macro block and left side macro block is used in the filtering of temporary current macro, utilize temporary related pixel that current macro is carried out loop filtering in the described loop filtering step, finish up to the present image decoding, carry out loop filtering at current decoded macroblock by the macro block raster scan order immediately after decoding finishes to each macro block in described its decoding step, finish up to the present image decoding.
2. the macroblock grade coupled decoding and the loop circuit filtering method of video code flow according to claim 1 is characterized in that described decoding and loop filtering specifically may further comprise the steps:
1) all stripe information that read present image in the input code flow are also kept in;
2) the index i=0 of the current decoded macroblock of initialization;
3) find under the current decoded macroblock i this macro block of decoding i behind the band;
4) macro block i is carried out loop filtering;
5) macro block index i increases progressively 1;
6) judge whether the present image decoding finishes,, otherwise jump to step 3) if finish then to carry out following steps in proper order;
7) judge whether video code flow finishes, all finish if finish then decoding, otherwise jump to the decoding that step 1) is descended piece image.
3. the macroblock grade coupled decoding and the loop circuit filtering method of video code flow according to claim 1, it is characterized in that: when the entropy coding of video code flow was CABAC, described decoding and loop filtering specifically may further comprise the steps:
1) reads all stripe information of present image in the input code flow and put into the band buffer area;
2) each band of initialization is used for the contextual information of CABAC decoding and puts into the contextual information working area of band;
3) the index i=0 of the current decoded macroblock of initialization;
4) in all bands of present image, find the band that the sequence number of first macro block equals 0 in the band, jump to step 6);
5) macro block of its first macro block of search equals the non-NULL band of the macro block of macro block i to band group mapping to band group mapping in the band buffer area, and this band is the band at macro block i place;
6) from the contextual information working area, read the contextual information of the band at macro block i place;
7) decoded macroblock i in the band at macro block i place;
8) macro block i is carried out loop filtering;
9) sampled value relevant with follow-up macro block filtering among the macro block i is put into the loop filtering buffer;
10) the latest content information that macro block i place band is used for CABAC decoding is put into the contextual information working area of band;
11) decoded macroblock index i increases progressively 1;
12) judge whether i equals total macro block number that piece image comprises, the present image decoding finishes if equal then, and order is carried out following steps, otherwise jumps to step 5);
13) judge whether video code flow finishes, all finish if finish then decoding, otherwise jump to the decoding that step 1) is descended piece image.
4. the macroblock grade coupled decoding and the loop filter of a video code flow is characterized in that comprising:
The sequence parameter set memory module is used for storing the sequence parameter set of reading from code stream;
The picture parameter set memory module is used for storing the picture parameter set of reading from code stream;
All slice header information cache module of entire image, all slice header contents that are used for storing the piece image of reading;
All strip data cache modules of entire image, all strip data contents that are used for storing the piece image of reading;
The decoding control module, its input links to each other with all slice header information cache module of sequence parameter set memory module, picture parameter set memory module and entire image, accept the information of these three modules, be used for controlling whole decoding process, judge which band is the band at the current decoded macroblock place that increases progressively by raster scan order, and judge whether the decoding of piece image finishes; So that realization is carried out loop filtering at current decoded macroblock after by the macro block raster scan order each macro block decoding being finished immediately, finish up to the present image decoding;
The macro block read module, its input links to each other with the strip data cache module with the decoding control module, according to the information that the decoding control module provides, the data of reading current decoded macroblock from the corresponding band of strip data cache module;
Macro block decoding and loop filtering module, its input links to each other with the macro block read module, accepts the data that the macro block read module provides, and realizes the function of macro block decoding and loop filtering;
Image shows or memory module, the restored image content behind demonstration or storage decoding and the loop filtering;
Described decoding control module comprises with lower unit:
First macro block and 0 comparing unit in the band, its input links to each other with the slice header information cache module, its output links to each other with the macro block read module, is used for determining the band that first macro block equals 0 in the band, and from then on indication macro block read module reads macro block data in the band;
Mapping storage and macro block place band judgement unit, its input links to each other with the slice header information cache module, its output links to each other with the macro block read module, be used to store macro block to band group's map information and calculate the band group number at each macro block place, determine the band at macro block i place according to these information, and indicate the macro block read module from then on to read macro block data in the band; Present image decoded macroblock number and macro block sum comparing unit are used to judge whether the decoding of piece image is all over, and wherein, i represents the macro block sequence number.
5. the macroblock grade coupled decoding and the loop filter of video code flow according to claim 4, it is characterized in that: decoding of described macro block and loop filtering module comprise that macro block is decoded and loop filtering unit, loop filtering buffer, the contextual information initialization unit of band, the contextual information temporary storage location of band, wherein:
Macro block decoding and loop filtering unit, its input and macro block read module, loop filtering buffer unit, the contextual information temporary storage location of band links to each other, and accepts the data that these modules or unit provide, and realizes the function of macro block decoding and loop filtering; The loop filtering buffer, its input, output all link to each other with macro block decoding and loop filtering unit, after current macro filtering finishes, the last four lines of luminance component macro block and last two row and the rightmost two row contents of rightmost four row and two chromatic component pieces are kept in, be used for the filtering of follow-up macro block;
The contextual information initialization unit of band, its input links to each other with macro block sum comparing unit with the present image decoded macroblock number of decoding in the control module, when the new picture decoding of a width of cloth begins, the contextual information of each band of initialization also deposits it contextual information temporary storage location of band in, i.e. its output links to each other with the contextual information temporary storage location of band;
The contextual information temporary storage location of band, its input links to each other with the contextual information initialization unit of macro block decoding and loop filtering unit and band, and after macro block i decoding finished, temporary macro block i place band was used for the latest content information of CABAC decoding, wherein, i represents the macro block sequence number.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2006100293116A CN101115195B (en) | 2006-07-24 | 2006-07-24 | Macroblock grade coupled decoding and loop filtering method and apparatus for video code stream |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2006100293116A CN101115195B (en) | 2006-07-24 | 2006-07-24 | Macroblock grade coupled decoding and loop filtering method and apparatus for video code stream |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101115195A CN101115195A (en) | 2008-01-30 |
CN101115195B true CN101115195B (en) | 2010-08-18 |
Family
ID=39023249
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2006100293116A Expired - Fee Related CN101115195B (en) | 2006-07-24 | 2006-07-24 | Macroblock grade coupled decoding and loop filtering method and apparatus for video code stream |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101115195B (en) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011065859A1 (en) * | 2009-11-24 | 2011-06-03 | Intel Corporation | Displaying decompressed pictures on liquid crystal dispays in macroblock raster scan order |
US8344917B2 (en) * | 2010-09-30 | 2013-01-01 | Sharp Laboratories Of America, Inc. | Methods and systems for context initialization in video coding and decoding |
US9060174B2 (en) | 2010-12-28 | 2015-06-16 | Fish Dive, Inc. | Method and system for selectively breaking prediction in video coding |
CN102222319B (en) * | 2011-04-08 | 2015-08-12 | 中兴通讯股份有限公司 | A kind of image processing method and device |
CN102685368B (en) * | 2011-12-12 | 2015-07-08 | 苏州科雷芯电子科技有限公司 | Method for performing scanning by taking sub-column as unit |
US9241167B2 (en) * | 2012-02-17 | 2016-01-19 | Microsoft Technology Licensing, Llc | Metadata assisted video decoding |
US10757431B2 (en) * | 2014-02-12 | 2020-08-25 | Chips & Media, Inc | Method and apparatus for processing video |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1589032A (en) * | 2004-07-30 | 2005-03-02 | 联合信源数字音视频技术(北京)有限公司 | Loop filter based on multistage parallel pipeline mode |
CN1722842A (en) * | 2004-06-22 | 2006-01-18 | 三星电子株式会社 | The filtering method of audio-visual codec and filter apparatus |
CN1725860A (en) * | 2004-07-19 | 2006-01-25 | 三星电子株式会社 | The filtering method that in audio-video codec, uses, equipment and medium |
CN1742281A (en) * | 2002-12-27 | 2006-03-01 | 摩托罗拉公司 | Video deblocking method and apparatus |
-
2006
- 2006-07-24 CN CN2006100293116A patent/CN101115195B/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1742281A (en) * | 2002-12-27 | 2006-03-01 | 摩托罗拉公司 | Video deblocking method and apparatus |
CN1722842A (en) * | 2004-06-22 | 2006-01-18 | 三星电子株式会社 | The filtering method of audio-visual codec and filter apparatus |
CN1725860A (en) * | 2004-07-19 | 2006-01-25 | 三星电子株式会社 | The filtering method that in audio-video codec, uses, equipment and medium |
CN1589032A (en) * | 2004-07-30 | 2005-03-02 | 联合信源数字音视频技术(北京)有限公司 | Loop filter based on multistage parallel pipeline mode |
Non-Patent Citations (2)
Title |
---|
P.Lambert,W.De Neve,Y.Dhondt,R.Van de Walle.Flexible macroblock ordering in H.264/AVC.J.Vis. Commun.Image R.2005,358-375. * |
毕厚杰.新一代视频压缩编码标准——H.264/AVC 1.人民邮电出版社,2005,89-255. * |
Also Published As
Publication number | Publication date |
---|---|
CN101115195A (en) | 2008-01-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101087408B (en) | Image coding/recording apparatus and image coding/recording method | |
CN101115195B (en) | Macroblock grade coupled decoding and loop filtering method and apparatus for video code stream | |
US8711931B2 (en) | Picture information coding device and coding method | |
CN1981537B (en) | Method and apparatus to enable acquisition of media in streaming applications | |
EP0542195B1 (en) | Interframe predicting method and picture signal coding/decoding apparatus | |
CN101252686B (en) | Undamaged encoding and decoding method and system based on interweave forecast | |
ES2767933T3 (en) | Sector layer in video codec | |
CN100446572C (en) | Method of decoding digital video and digital video decoder system thereof | |
CN102150428A (en) | System and method for video encoding using adaptive segmentation | |
CN102835107A (en) | Super-block for high performance video coding | |
CN104904208A (en) | Video buffering operations for random access in video coding | |
CN104067620A (en) | Video decoding methods and video encoding methods | |
JPH0998429A (en) | Digital video signal encoding device and decoding device therefor | |
CN100539670C (en) | The editor of the A/V sequence of having encoded | |
CN100544445C (en) | A kind of wireless video transmission system based on the Brew platform | |
KR100215824B1 (en) | The frame memory and image data decoding method in mpeg decoder | |
CN1224269C (en) | Run-length coding for non-coded macroblocks | |
JP4133346B2 (en) | Intra coding of video data blocks by selection of prediction type | |
JPH10271516A (en) | Compression coder, coding method, decoder and decoding method | |
JPH07143494A (en) | Coding method for moving image | |
CN101888545B (en) | Compression coding method for signal source with low code rate | |
KR20050012706A (en) | Image decoding device and image decoding method | |
JP3599942B2 (en) | Moving picture coding method and moving picture coding apparatus | |
KR100381556B1 (en) | Process for decording and coding a compressed video data stream with reduced memory requirements | |
JP3990011B2 (en) | Decoded image conversion circuit and decoded image conversion device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20100818 Termination date: 20130724 |