CN100488253C - Decoding method and decoder for video code flow crossing multiple strip bands - Google Patents

Decoding method and decoder for video code flow crossing multiple strip bands Download PDF

Info

Publication number
CN100488253C
CN100488253C CN 200510023924 CN200510023924A CN100488253C CN 100488253 C CN100488253 C CN 100488253C CN 200510023924 CN200510023924 CN 200510023924 CN 200510023924 A CN200510023924 A CN 200510023924A CN 100488253 C CN100488253 C CN 100488253C
Authority
CN
China
Prior art keywords
band
macro block
decoding
slice header
index
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
Application number
CN 200510023924
Other languages
Chinese (zh)
Other versions
CN1819660A (en
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.)
Xinhua Microelectronic Co Ltd Shanghai
Original Assignee
Xinhua Microelectronic Co Ltd Shanghai
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 Xinhua Microelectronic Co Ltd Shanghai filed Critical Xinhua Microelectronic Co Ltd Shanghai
Priority to CN 200510023924 priority Critical patent/CN100488253C/en
Publication of CN1819660A publication Critical patent/CN1819660A/en
Application granted granted Critical
Publication of CN100488253C publication Critical patent/CN100488253C/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

The present invention relates to a method and a device thereof for decoding multiple bands of a video code flow. The method comprises: the current macro block index i is initialized as 0; an input codA video code stream cross many bandings decoding method and the equipment, including: initialization current great block exponential i=0; read the input code stream to find the banding of the great ble flow is read to find out the macro block containing the index as 0; i increases 1, if the band containing the macro block with i as 1 is found out, the macro block is decoded, else, the input code fock that includes the exponential i=0 and decode the great block; i increase 1, decode the great block if the finding banding include the i=1 great block, otherwise continue to read the input code strlow is read again until the band containing the macro block with i as 1 is found out, and the macro block is decoded; whether the current image is decoded is judged, if the current image is not decodeeam until find the banding with the i=1 great block and decode the great block; estimate the current i increase 1, continue the above steps until finish decoding the current image; the above steps cond, i increases 1, and the step is continued until the current image is decoded; the step is continued until the end of the input code flow. The present invention breaks through decoding limitation acctinue the end of the input code stream. The invention broke through the limit of order decode in the code stream according to the banding, realize the accurate cut of the banding and decode according ording to the sequence of bands in the code flow, switches the bands accurately, and decodes according to the sequence of indices of macro blocks across multiple bands. The decoding process and the poto the great block exponential order that cross many bandings, the decoding process and the post-processing process can the synchronization carry on, that reduce the space of the buffer storage and thst treatment process can be synchronously carried out, and the post treatment can be carried out without the whole decoding of the whole image; as a result, the space of a buffer memory can be reducede delay of the decoding post-processing. , and the delay from decoding to post treatment is shortened.

Description

The coding/decoding method of striding a plurality of bands and the device thereof of video code flow
(1) technical field
The present invention relates to a kind of decoding device and coding/decoding method thereof of video code flow, refer in particular to a kind of coding/decoding method of striding a plurality of bands and device thereof of video code flow.
(2) background technology
Multi-ribbon collection (slice group) flexible macro-block ordering (Flexible Macroblock Ordering) and any band order (Arbitrary slice order) are the key technologies that is used for network environment in the video compression standard (as H.264).
At first introduce the technology of multi-ribbon collection flexible macro-block ordering below.
Fig. 1 be in the prior art image by the schematic diagram of macroblock coding mode.
As shown in Figure 1, in video compression standard, piece image is divided into macro block (macroblock) group, and macro block MB is the square area of 16x16 (pixel) size, piece image among Fig. 1 is 176 * 144 pixels, the serial number that the order (address) of macro block MB in image pressed raster scan.
The macro block index (be also referred to as macro block sequence number) of macro block MB in piece image increases progressively (0 according to order shown in the arrow among the figure, 1,2......97,98), decode procedure is that unit carries out with macro block MB, decoded macro block MB content is placed to guarantee the correct of decoded picture by order shown in Figure 1.
Structure and order about video code flow 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.Band has hierarchy shown in Figure 2.As shown in Figure 2, in video code flow, each width of cloth image in the video sequence is made of several bands, and each band divides slice header (sliceheader) and strip data (slice data) two parts.Strip data is formed (among Fig. 3 a, the b be example with 8 macro blocks) by an integer macro block information, and the macro block in the band should be not overlapping, should be not overlapping between the band yet; Slice header has comprised first macro block and the total information of all macro blocks in this band.
In the band macro block MB be placed with dual mode, respectively shown in Fig. 3 a and Fig. 3 b.The macro block index (correspondence position in image) of the interior macro block of band is the modes of emplacement that increases progressively according to natural number among Fig. 3 a, and at this moment band can need not to consider the macro block index number problem of macro block MB by the decoding of the order in code stream.Wherein k is the macro block index of first macro block MB in the band.Fig. 3 b is called multi-ribbon collection flexible macro-block ordering (Flexible Macroblock Ordering) mode, the macro block MB macro block index that originally increased progressively by natural number in the band through a kind of mapping (MAP) operation after, the chaotic that becomes of the macro block MB macro block index in the band.Show as Fig. 3 b, behind map operation, original macro block numbering k, k+1, k+2......k+7 becomes i0, i1, i2......i6, i7, i0, i1, i2......i6, i7 might not increase progressively by 1 step-length, but still satisfies i0<i1<i2<i3<i4<i5<i6<i7.
Introduce any band sequential technologies (Arbitrary slice order) below.
Band sequential technologies (ASO) is meant in decode procedure arbitrarily, the decoding order of band might not strictly observe the macro block index monotonically increasing restriction of first macro block of decoding band in the piece image, that is to say that encoder can send and accept the band of piece image in any order, shown in Fig. 4 a the layout schematic diagram of macro block to band, macroblock partitions among the figure in the explanation piece image is band #1, band #2, three different bands of band #3, Fig. 4 b is the sequential schematic that band arrives decoder, when employing ASO technology has been described among the figure, the order of three band arrival decoders is band #2 among Fig. 4 a, band #1, band #3 is any band order.
Introduce at present disclosed coding/decoding method below at the flexible macro-block ordering.
Fig. 5 is the coding/decoding method schematic flow sheet of flexible macro-block ordering in the prior art.
Step 1 is read first stripe information of present image in the input code flow.
Step 2, to reading band, the macro block in the strip data is decoded successively by its order in strip data, and the macro block in band has all been separated.
Step 3 continues to read the next band of present image, and repeating step 2 is till the macro block in present image has all been separated.
Step 4 finishes until code stream following piece image repeating step 1~3.
The applied device schematic diagram of above-mentioned coding/decoding method is as shown in Figure 6:
Whole decoding device is made up of 5 modules:
Slice header decoder module 61 is used for the input code flow decoding bar is taken the lead.
Macroblock decode module 62 is used for the decoding of each macro block.
Restored map picture frame/field memory 63, be used for temporary decoded macro block, this is because by the order decoding band of band in code stream, so decoded macro block will be through temporary, by the time after the whole macro blocks in the images are all decoded and finished, just can carry out other processing such as filtering.
Post processing of image module 64 is used for subsequent operations such as the macro block filtering that carries out according to raster scan order and image scaling, enhancing.
Image shows and memory module 65, is used for the demonstration and the storage of image.
The related data of above-mentioned prior art has: common joint video team (JointVideo Team) the reference software JM85 version of setting up of the moving image encoding group MPEG (moving picture encoder group) of the VCEG of video coding expert group of ITU-T (International Telecommunications Union) (video coding experts group) and ISO/IEC (International Standards Organization).
To this method, macro block is decoded and is carried out not according to raster scan order, and convergent-divergent of decode later reprocessing such as image, enhancing, demonstration etc. carry out according to raster scan order, therefore just can carry out after last handling process can only wait entire image all to decode to finish, last handling process can not be synchronous with decode procedure.
Adopting the flexible macro-block ordering mechanism in source encoding mainly is in order to improve the particularly error resilience capability of IP-based video conferencing of communication network, and adopt any band sequential technologies can reduce decoding delay in the out-of-sequence transmission network, but the independent use of these two kinds of technology or use together and bring certain degree of difficulty all can for whole decoding work.
(3) summary of the invention
The objective of the invention is in order to solve problems of the prior art, a kind of incremental order decoding that begins again behind whole bit stream datas of receiving entire image earlier by the macro block index that do not require is provided, as long as but receive the incremental order decoding that just can proceed behind the bit stream data of current decoded macroblock i by the macro block index, and the space that can reduce buffer storage, also can reduce to be decoded to the coding/decoding method of striding a plurality of bands and the device thereof of video code flow of the delay of reprocessing.
The object of the present invention is achieved like this:
A kind of coding/decoding method of striding a plurality of bands of video code flow may further comprise the steps:
Step 1, decoding beginning, the current decoded macroblock index of initialization i=0; Step 2 is read band successively in the input code flow that receives, up to slice header that finds the band that comprises macro block index i=0 and corresponding strip data; Step 3, the macro block of the described macro block index i=0 that decodes; Step 4, the macro block exponential increasing 1 of macro block index i, if in the band that has found, contained the macro block of its index i=1, this macro block of just decoding, otherwise continue in the input code flow that receives, to read successively band, up to slice header that finds the band that comprises macro block index i=1 and corresponding strip data, and the macro block of decoded macroblock index i=1; Step 5, judge whether present image has decoded, if do not decoded, repeating step 4, promptly, the macro block index of macro block index i increases progressively 1 by the step, increased progressively 1 macro block by the step if in the band that has found, contained its index i, this macro block of just decoding, otherwise continue in the input code flow that receives, to read successively band, comprise macro block index i has increased progressively 1 band by the step slice header and corresponding strip data up to finding, and decoded macroblock index i has increased progressively 1 macro block by the step, so repeating step 4,5 has been decoded up to the judgement present image; Step 6 judges whether code stream finishes, if do not finish, repeats above-mentioned steps 1-5, finishes up to code stream.
A kind of device that carries out as the coding/decoding method of striding a plurality of bands of above-mentioned video code flow comprises: slice header decoder module, the slice header of the input code flow that is used to decode; Read the slice header and the strip data cache module of a plurality of bands, input links to each other with the output of described slice header decoder module, is used to store the band content of having read; Macro block sequence number incrementor links to each other with the strip data cache module with described slice header of having read a plurality of bands, is used for producing the macro block index that increases progressively by natural number; Band is selected module, input has been read the slice header of a plurality of bands and the output of strip data cache module links to each other with described, output links to each other with the strip data cache module with the slice header of reading a plurality of bands with described slice header decoder module respectively, and accept the output of described macro block sequence number incrementor, be used for seeking the band at current macro place, if band is arranged in and reads band buffer area, then decoded macroblock; Otherwise continue to read the next band in the code stream, decoding bar is taken the lead and is stored the band content; Macroblock decode module, input has been read the slice header of a plurality of bands and the output of strip data cache module links to each other with described, output feeds back to described slice header and the strip data cache module of having read a plurality of bands, is used for realizing the function of decoded macroblock; The post processing of image module, input links to each other with the output of described macroblock decode module, is used for carrying out subsequent operations such as macro block filtering and image scaling, enhancing; Image shows and memory module, accepts the output signal of described post processing of image module, is used for the demonstration and the storage of image;
Effect of the present invention: the decoding device of striding a plurality of bands and the coding/decoding method thereof of video code flow of the present invention propose a kind of flexible macro-block ordering (FMO) and band the coding/decoding method and device by the macro block raster scan order of striding a plurality of bands during (ASO) technology in proper order arbitrarily of adopting in video compression standard.The method has broken through the restriction by the order decoding of band in code stream, can correctly find band and decoding under the current decoded macroblock when the decoded macroblock exponential increasing, realizes the accurate switching of all bands of piece image.Because the reprocessing that decoding is later such as the convergent-divergent of image, enhancing, demonstration etc. are also carried out according to raster scan order, therefore decode procedure and last handling process can carry out synchronously, after all finishing, the decoding that needn't wait until entire image begins to carry out reprocessing again, can reduce the space of buffer storage like this, also can reduce to be decoded to the delay of reprocessing.
For further specifying above-mentioned purpose of the present invention, design feature and effect, the present invention is described in detail below with reference to accompanying drawing.
(4) description of drawings
Image is pressed the schematic diagram of macroblock coding mode in Fig. 1, the prior art;
The hierarchy schematic diagram of band in Fig. 2, the prior art;
The macro block index of the interior macro block of band is the modes of emplacement that increases progressively according to natural number in Fig. 3 a, the prior art;
The macro block index of the interior macro block of band is the modes of emplacement of multi-ribbon collection flexible macro-block ordering in Fig. 3 b, the prior art;
Fig. 4 a be in the prior art macro block to the layout schematic diagram of band;
Fig. 4 b is that the prior art discal patch takes the sequential schematic (band order arbitrarily) that reaches decoder to;
Fig. 5 is the coding/decoding method schematic flow sheet of flexible macro-block ordering in the prior art;
Fig. 6 is the applied device schematic diagram of coding/decoding method of flexible macro-block ordering among Fig. 5;
Fig. 7 is the coding/decoding method schematic flow sheet of striding a plurality of bands of video code flow of the present invention;
Fig. 8 is the decoding device schematic diagram of striding a plurality of bands of video code flow of the present invention;
Fig. 9 a is the arrangement schematic diagram that the macro block in the piece image arrives different band collection among the present invention;
Fig. 9 b be among Fig. 9 a the band collection to the schematic layout pattern of band;
Fig. 9 c is the reception sequential schematic of band in decoding device among Fig. 9 b;
Figure 10 a, b are one of the embodiment of coding/decoding method of the present invention schematic diagrames;
Figure 11 is the applied decoding device schematic diagram of the coding/decoding method of Figure 10 a, b;
Figure 12 a, b are two schematic diagrames of the embodiment of coding/decoding method of the present invention;
Figure 13 is the applied decoding device schematic diagram of the coding/decoding method of Figure 12 a, b;
Figure 14 is three schematic diagrames of the embodiment of coding/decoding method of the present invention;
Figure 15 is the applied decoding device schematic diagram of the coding/decoding method of Figure 14.
(5) embodiment
Below in conjunction with the accompanying drawing of embodiment, the coding/decoding method of striding a plurality of bands of video code flow of the present invention and the execution mode of device thereof are elaborated.
The coding/decoding method schematic flow sheet of striding a plurality of bands of Fig. 7, video code flow of the present invention.
The process and the step by the coding/decoding method and the device of macro block raster scan order of striding a plurality of bands of video code flow of the present invention:
S71, decoding beginning, the current decoded macroblock index of initialization i=0.
S72 reads band successively in the input code flow that receives, up to slice header that finds the band that comprises macro block 0 and corresponding strip data.Just, if in certain band that has found, contain macro block i=0, then enter next step, otherwise in input code flow, seek the slice header and the corresponding band of next band, till finding the slice header and corresponding band that contains macro block i=0, enter next step then
S73, the macro block of this i=0 that decodes.
S74, macro block index i increases progressively 1.
S75 continues to analyze paid-in stripe information, judges whether can find the band that comprises macro block i=1 in the band of having read.
S76 if do not find the band that comprises macro block i=1 among the S75, continues to read the next band in the content code stream, up to finding the band that comprises macro block i=1.
S77 is if find the band that comprises macro block i=1, the macro block of this i=1 that decodes among S75, the S76.
S78, judge whether present image has decoded, if do not decoded, repeat the step of S74-S78, promptly, continue to analyze paid-in stripe information, if necessary, continue to read the next band in the content code stream, up to finding the band that comprises macro block i=2, decode the then macro block of this i=2 is not if present image also decode the paid-in stripe information of continuation analysis, if necessary, continue to read the next band in the content code stream, up to finding the band that comprises macro block i=3, the macro block of this i=3 that decodes ....
S79, the judgement present image has been decoded in above-mentioned S78, just judges whether code stream finishes, if do not finish, repeating step S71-S79 finishes up to code stream, whole decoding process finishes.
In the above-mentioned coding/decoding method of the present invention and do not require and begin decoding behind whole bit stream datas of receiving entire image earlier again, as long as but just can proceed to decode after receiving the bit stream data of current decoded macroblock i.
The decoding device that above-mentioned coding/decoding method is used is as shown in Figure 8:
Whole decoding device 8 is made up of 7 parts:
Slice header decoder module 81, the slice header of the input code flow that is used to decode.
Read the slice header and the strip data cache module 82 of a plurality of bands, input links to each other with the output of described slice header decoder module, is used to store the band content of having read.
Macro block sequence number incrementor 83 links to each other with the strip data cache module with described slice header of having read a plurality of bands, is used for producing the macro block index that increases progressively by natural number.
Band is selected module 84, input has been read the slice header of a plurality of bands and the output of strip data cache module links to each other with described, output links to each other with the strip data cache module with the slice header of reading a plurality of bands with described slice header decoder module respectively, and accept the output of described macro block sequence number incrementor, be used for seeking the band at current macro place, if band is arranged in and reads band buffer area, then decoded macroblock; Otherwise continue to read the next band in the code stream, decoding bar is taken the lead and is stored the band content.
Macroblock decode module 85, input has been read the slice header of a plurality of bands and the output of strip data cache module links to each other with described, output feeds back to described slice header and the strip data cache module of having read a plurality of bands, is used for realizing the function of decoded macroblock.
Post processing of image module 86, input links to each other with the output of described macroblock decode module, is used for carrying out subsequent operations such as macro block filtering and image scaling, enhancing.
Image shows and memory module 87, accepts the output signal of described post processing of image module, is used for the demonstration and the storage of image.
Introduce one of embodiments of the invention below: how to judge the band at certain macro block i place and the embodiment that decodes.
In the H.264 standard that the international video encoding standard formulation subordinate's of mechanism joint video team is formulated, one or several bands constitute a band collection, every width of cloth image is made up of one or several band collection, here the band collection just for realizing the notion of flexible macro-block ordering (FMO) proposition, does not occur in code stream.As preceding described, flexible macro-block ordering (FMO) realizes that by mapping (MAP) this mapping is not directly to carry out between macro block and band, but between macro block and band collection, launch.In standard H.264 specified in more detail the particular content that information comprised in the code stream, these contents occur with the syntactic structure sheet form, 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.
In code stream H.264, comprise picture parameter set (picture parameter set) syntactic structure, it has stipulated the total information of the band in the piece image.In a video sequence, have multiple picture parameter set (picture picture parameter set) syntactic structure, adopting which kind of picture parameter set syntactic structure concerning piece image is to be determined 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 collection of present image number.When this parameter gets 0, illustrate that present image has only a band collection, all macro blocks belong to this band collection and macro block is arranged with raster scan order in band; When this parameter greater than 0 the time, illustrate that present image has greater than one band collection and mapping (MAP) form between macro block and the band collection by parameter s lice_group_map_type decision, according to the different values of slice_group_map_type, has 7 kinds of projected forms between macro block and the band collection, be slice_group_map_type={0,1,2,3,4,5,6}, the difference of the corresponding macro block of different projected forms in the band collection placed.
Through after this mapping, the numbering of the macro block in the same strap collection is no longer pressed raster scan order and is arranged, macro block in the same then band collection is placed in one or several band again, if adopt any band order (ASO) technology simultaneously, the order of the band of same width of cloth image in code stream also is arbitrarily, the band of same band collection might not even be put together, and this just makes the placement of macro block more flexible.
In decoder, can know the concrete mapping relations of macro block and band collection by the value of decoding num_slice_group_minus_1 and slice_group_map_type, thereby obtain the macro block index (position in entire image) of macro block in the band.This clearly mapping mode of regulation makes observes identical agreement between encoder and the decoder, so that the decoding that decoder can be correct and macro block press the sequence arrangement reconstructed image of raster scan so that with for referencial use or demonstration.
Be that macro block in the piece image is to the arrangement of different band collection shown in Fig. 9 a, here belong to different band collection (example: band collection #1, #2, macro block #3) is filled with different colours, how the band collection further is divided into the layout of band, and (example: band collection #1 is divided into band #1 shown in Fig. 9 b, #2, band collection #2 is divided into band #3, #4, band collection #3 is divided into band #5, #6), Fig. 9 c is the schematic diagram of the band among Fig. 9 b when arriving above-mentioned decoding device 8 by any band order (ASO), its arrival is band #2 in proper order, band #6, band #4, band #1, band #3, band #5.
Figure 10 a, b are one of the embodiment of coding/decoding method of the present invention schematic diagrames.
S101, macro block is according to the order decoding of raster scan in coding/decoding method of the present invention, and the macro block index i of decoded macroblock increases progressively since 0 by step-length 1.
S102 finds the slice header and the strip data of first band in input code flow, this band is put into " having found the band collection ".
S103, wherein contain syntactic element first_mb_in_slice in the slice header syntax structure, it points out the macro block index of first macro block of being comprised in the current band, at this moment, judge whether first_mb_in_slice equals 0, if first_mb_in_slice is not equal to 0, continue read next band in the S102 step.
S104 judges that up to S103 first_mb_in_slice equals 0, illustrates that macro block 0 is arranged in this band, this macro block of decodable code, otherwise continue the slice header and the strip data of read next band again, and judge as stated above, this macro block of ability decodable code after finding the band that comprises macro block 0.
S105 judges whether the band decoding that comprises macro block 0 finishes.
S106, when the decoding of this band finished (information that band comprises uses up), this band needed remove from " having found the band collection ", so that next macro block is no longer judged this band when decoding.
S107, if judge among the S105 that the band decoding comprise macro block 0 does not finish or S106 in when this band decoding end and when from " having found the band collection ", removing this band, next, the macro block index i of decoded macroblock adds 1 successively, promptly, being that 1 macro block is decoded to macro block index i earlier, is that 2 macro block is decoded to macro block index i again, or the like.For the macro block of macro block index i is decoded, need find the band at the macro block place of macro block index i.The first step of seeking this band is to find the band collection P at the macro block place of macro block index i.According to original explanation, all macro blocks that piece image comprised and the mapping relations between the band collection in obtaining picture parameter set (picture parameter set) syntactic structure num_slice_group_minus_1 and slice_group_map_type information after just can determine, that is to say after the macro block index i of given macro block by raster scan, just can determine the affiliated band collection of this macro block, this can be determined before operating in decoding band content.The information of these mappings is placed on array MbToSliceGroupMap[] in, given macro block index i, P=MbToSliceGroupMap[i] be the band collection at macro block i place.
S108 judges in " having found the band collection " whether had at least one band.If a band does not all have, then enter step S1010 and seek new band to continue reading code stream, if at least one band is arranged, then enter step S109 to check whether macro block i belongs to certain band wherein.
S109, for each band in " having found the band collection ", judge:
1) MbToSliceGroupMap[first_mb_in_slice]=whether P set up, and just whether the band collection under this band is exactly the band collection P at macro block i place.
2) whether first_mb_in_slice≤i sets up, and just whether the macro block index of first macro block of this band is less than or equal to the macro block index of macro block i.
If above two conditions are all set up, this band is exactly the band at the macro block place of macro block index i so, next just can enter step S1011.If have one to be false in above two conditions, the macro block of macro block index i does not belong to any one band in " having found the band collection " so, need enter step S1010 and seek new band to continue reading code stream
S1010, at the input code flow relaying next band of resuming studies, the first_mb_in_slice in finding slice header equals till the band of i, and this band is put into " having found the band collection ".
S1011 decodes to the macro block i that finds the place band.
S1012 judges whether the band that comprises macro block i finishes.
S1013, when this band decoding finished, this band needed to remove from " having found the band collection ".
S1014, if judge among the S1012 that the band decoding comprise macro block i does not finish or S1013 in when this band decoding end and when from " having found the band collection ", removing this band, judge whether present image has decoded, if do not decoded, repeat the step of S107-S1014, that is, continue to look for the band that comprises macro block i+1 ....
S1015, the judgement present image has been decoded in above-mentioned S1014, just judges whether code stream finishes, if do not finish, repeating step S101-S1015 finishes up to code stream, whole decoding process finishes.
Need illustrate, among S106, the S1013 when the decoding of certain band finishes (information that band comprises uses up) these band need from " having found the band collection ", remove, so that no longer this band is judged when next macro block is decoded, is needed to judge whether the band that comprises this macro block finishes after each macro block has been decoded.
The applied decoding device 11 of the coding/decoding method of one of the above embodiments as shown in figure 11.
In decoding device 11, if parts and the above-mentioned decoding device 8 identical same numberings of usefulness represent that decoding device 11 is by forming with lower member:
Slice header decoder module 81, the slice header of the input code flow that is used to decode.
Read the slice header and the strip data cache module 82 of a plurality of bands, input links to each other with the output of described slice header decoder module, is used to store the band content of having read.
Macro block sequence number incrementor 83 links to each other with the strip data cache module with described slice header of having read a plurality of bands, is used for producing the macro block index that increases progressively by natural number.
Band is selected module 84, input has been read the slice header of a plurality of bands and the output of strip data cache module links to each other with described, output links to each other with the strip data cache module with the slice header of reading a plurality of bands with described slice header decoder module respectively, and accept the output of described macro block sequence number incrementor, be used for seeking the band at current macro place, if band is arranged in and reads band buffer area, then decoded macroblock; Otherwise continue to read the next band in the code stream, decoding bar is taken the lead and is stored the band content.
Macroblock decode module 85, input has been read the slice header of a plurality of bands and the output of strip data cache module links to each other with described, output feeds back to described slice header and the strip data cache module of having read a plurality of bands, is used for realizing the function of decoded macroblock.
Loop filtering module 116, input links to each other with the output of described macroblock decode module, is used for decoded macroblock is carried out filtering, belongs to a kind of post processing of image module.
Image shows and memory module 87, accepts the output signal of described post processing of image module, is used for the demonstration and the storage of image.
In this embodiment, above-mentioned slice header and the strip data cache module 82 of having read a plurality of bands comprises with lower unit:
Slice header buffer unit 821 is accepted the output of described slice header decoder module 81, is used for keeping in decoded slice header information;
Strip data buffer unit 822 is accepted the output of described slice header buffer unit 821, is used for temporary strip data of reading;
The output of described slice header buffer unit 821 is accepted in MAP unit 823, is used for Storage Mapping information and calculates the band collection number at each macro block place;
Bar end of tape judgement unit 824, output to described slice header buffer unit 821, strip data buffer unit 822, MAP unit 823, be used for after each macro block decoding finishes, judging whether current decoding band finishes, if finish then this band of deletion from the band buffer unit.
At this moment, corresponding, above-mentioned band is selected module 84, comprises with lower unit:
Band collection judgement unit 841 is accepted the output of described MAP unit 823;
First macro block sequence number and the i comparing unit 842 of band are accepted the output of described slice header buffer unit 821 and macro block sequence number incrementor 83.
More than two unit be used for judging to read whether the band that comprises current decoded macroblock is arranged in the band, suppose that current decoded macroblock index is i and belongs to band collection P, if read the band that belongs to band collection P and first_mb_in_slice<=i is arranged in the band, then decoded macroblock in this band; Otherwise continue to read band in the code stream till finding the band that comprises current macro.
Introduce two of embodiments of the invention below: embodiment with dispersion band of wrong repair ability.
Disperseing band is one of a kind of situation of flexible macro-block ordering (FMO).In this case, macro block in the same band spatially can be not adjacent, like this when some or some band are lost in transmission course, the phenomenon that the large stretch of contents lost in the piece image can not occur, the content of losing band still can obtain by macro block contiguous in other bands, thereby showing extremely strong error resilience capability, is an object lesson that disperses band below.
Suppose that piece image wherein is made of four bands, each band collection comprises a band, and the placement of macro block in each band is as follows:
Band #1: macro block 0, macro block 2, macro block 4 ..., macro block m;
Band #2: macro block 1, macro block 3, macro block 5 ..., macro block k;
Band #3: macro block m+2, macro block m+4, macro block m+6 ..., macro block n;
Band #4: macro block k+2, macro block k+4, macro block k+6 ... macro block l;
In the above example, macro block is a dispersed and distributed in four bands, and m, n are even number, and k, l are odd number, and k is greater than m.That is to say that the macro block index is that the macro block of even number is placed among band #1 and the band #3, the macro block index is that the macro block of odd number is placed among band #2 and the #4, here we claim that band #1 and band #3 are the even number band, band #2 and band #4 are the odd number band, the order that band arrives decoder is band #1, band #2, band #3, band #4.
Figure 12 a, b are two schematic diagrames of the embodiment of coding/decoding method of the present invention.
As follows with the decode process of this width of cloth image of method of the present invention:
S121, the current decoded macroblock index of initialization i=0.
S122 reads the slice header and the strip data of first band of present image in input code flow, and this band is put into " having found the band collection ".
S123, decoded macroblock 0 in band #1.
S124 judges whether current decoding band finishes, if finish, then enters step S125, if do not finish as yet, then enters step S126.
S125 deletes current decoding band from " having found the band collection ".
S126, macro block index i adds 1, and the place band that enters next macro block is differentiated and decode procedure.
S127 judges that macro block index i is even number or odd number.If i is an even number, then enter step S128, in the even number band, seek the place band of macro block i.If i is an odd number, then enter step S129, in the odd number band, seek the place band of macro block i.
S128 judges in " having found the band collection " whether the even number band is arranged.If the even number band is arranged, then next this even number band place band that is exactly macro block i just can enter step S1211.If there is not the even number band, then enters step S1210 and seek new band to continue reading code stream.
Whether S129 judges in " having found the band collection " odd several bands.If odd several bands, then next this odd number band place band that is exactly macro block i just can enter step S1211.If there is not the odd number band, then enters step S1210 and seek new band to continue reading code stream.
S1210, read next band in input code flow, and this band put into " having found the band collection ".This band is exactly the place band of macro block i.
S1211 decodes to the macro block i that finds.
S1212 judges whether present image has decoded, if decode, and the step of repetition S124-S1210, that is, continuation judges whether current decoding band finishes and by the macro block exponential increasing next macro block of decoding in proper order.
S1213, the judgement present image has been decoded in above-mentioned S1212, just judges whether code stream finishes, if do not finish, repeating step S121-S1213 finishes up to code stream, whole decoding process finishes.
Can find out from top embodiment, coding/decoding method of the present invention and device and do not require whole bit stream datas of receiving entire image earlier after begin decoding again, as long as but receive and just can continue after the partial code streams data that contain current decoded macroblock i to decode.
Two the applied decoding device 13 of coding/decoding method of the foregoing description is by form (if parts and the above-mentioned decoding device 8 identical same numberings of usefulness are represented) with lower member:
Slice header decoder module 81, the slice header of the input code flow that is used to decode.
Read the slice header and the strip data cache module 82 of a plurality of bands, input links to each other with the output of described slice header decoder module, is used to store the band content of having read.
Macro block sequence number incrementor 83 is used for producing the macro block index that increases progressively by natural number.
Band is selected module 84, input links to each other with the output of described macro block sequence number incrementor 83, output links to each other with the strip data cache module with the slice header of reading a plurality of bands with described slice header decoder module respectively, band selects module 84 to accept the output of described macro block sequence number incrementor, be used for seeking the band at current macro place, if band is arranged in and reads band buffer area, then decoded macroblock; Otherwise continue to read the next band in the code stream, decoding bar is taken the lead and is stored the band content.
Macroblock decode module 85, input has been read the slice header of a plurality of bands and the output of strip data cache module links to each other with described, output feeds back to described slice header and the strip data cache module of having read a plurality of bands, is used for realizing the function of decoded macroblock.
Loop filtering module 136, input links to each other with the output of described macroblock decode module, is used for decoded macroblock is carried out filtering, belongs to a kind of post processing of image module.
Image shows and memory module 87, accepts the output signal of described post processing of image module, is used for the demonstration and the storage of image.
In this embodiment, above-mentioned slice header and the strip data cache module 82 of having read a plurality of bands comprises with lower unit:
Odd number band slice header buffer unit 825 is accepted the output of described slice header decoder module 81, temporary decoded odd number band slice header information;
Even number band slice header buffer unit 826 is accepted the output of described odd number band slice header buffer unit 825, temporary decoded even number band slice header information;
Odd number band strip data buffer unit 827 is accepted the output of described even number band slice header buffer unit 826, temporary odd number band strip data of reading;
Even number band strip data buffer unit 828 is accepted the output of described odd number band strip data buffer unit 827, temporary even number band strip data of reading;
Bar end of tape judgement unit 829, output to described odd number band slice header buffer unit 825, even number band slice header buffer unit 826, odd number band strip data buffer unit 827, even number band strip data buffer unit 828 respectively, after each macro block decoding finishes, judge whether current decoding band finishes, if finish then this band of deletion from the band buffer area.
At this moment, corresponding, it is macro block sequence number parity checkers that above-mentioned band is selected module 84, and it is even number or odd number that this checker is used for discerning the current macro index, if even number then in the even number band decoded macroblock otherwise in the odd number band decoded macroblock.
Introduce three of embodiments of the invention below: the embodiment of raster scan band collection mapping (slice_group_map_type equals 4) H.264.
In H.264, flexible macro-block ordering (FMO) is to realize by the mapping (MAP) of macro block to the band collection, concrete projected forms is to be determined by the syntactic element slice_group_map_type in picture parameter set (the picture parameter set) syntactic structure, slice_group_map_type is value between 0~6, and promptly macro block has 7 kinds of different modes to the mapping of band collection.
When slice_group_map_type equals 4 and when adopting frame pattern or field mode to encode, have two band collection, be band collection 0 or band collection 1, the macro block index of the macro block that each band collection is comprised is determined by the syntactic element slice_group_change_direction_flag in picture parameter set (the picture parameter set) syntactic structure, is respectively slice_group_change_direction_flag and 1-slice_group_change_direction_flag.According to the regulation of standard H.264, the macro block index that belongs to band collection slice_group_change_direction_flag is incremented to k since 0 by natural number, k is by the syntactic element slice_group_change_rate_minus1 in the picture parameter set, slice_group_change_direction_flag, total macro block number decision that syntactic element slice_group_change__cycle and piece image in the slice header comprised, and remaining macro block belongs to band collection 1-slice_group_change_direction_flag in the image, in this case, macro block index in band collection and the band all increases progressively with natural number, therefore work as slice_group_change_ate_minus1, slice_group_change_direction_flag, total macro block number that slice_group_change_cycle and piece image comprised oneself when knowing, can judge directly that the band collection under the macro block i counts i, just can realize decoding to the map operation of band collection by the macro block raster scan order so need not to carry out in advance macro block.When adopting any band order ASO, slice_group_map_type equal 4 and the video flowing when encoding with frame or field mode can be with method decoding down shown in Figure 14:
Figure 14 is three schematic diagrames of the embodiment of coding/decoding method of the present invention;
In last figure, decode procedure is still undertaken by the macro block raster scan order, and decode procedure is explained as follows: S141, initialization decoded macroblock index i=0.
S142 reads a band in the input code flow, and this band is put into " having found the band collection ".
S143, judging has the not band of first_mb_in_slice=i in the band that has found.If no, continue in S142, to look for, up to finding such band.
S144, decoding is included in the macro block i in this current band, and macro block index i increases progressively 1.
S145 judges whether current band finishes, if do not finish, continues the S144 step.
S146, current end of tape in S145, then with current band from " found the band collection " and deletion.
S147 judges whether present image has decoded, if do not decoded, repeats the step of S143-S147.
S148, the judgement present image has been decoded in above-mentioned S147, just judges whether code stream finishes, if do not finish, repeating step S141-S148 finishes up to code stream, whole decoding process finishes.
The decoding device 15 that three the coding/decoding method of the foregoing description is used is by form (if parts and the above-mentioned decoding device 8 identical same numberings of usefulness are represented) with lower member:
Slice header decoder module 81, the slice header of the input code flow that is used to decode.
Read the slice header and the strip data cache module 82 of a plurality of bands, input links to each other with the output of described slice header decoder module, is used to store the band content of having read.
Macro block sequence number incrementor 83 links to each other with the strip data cache module with described slice header of having read a plurality of bands, is used for producing the macro block index that increases progressively by natural number.
Band is selected module 84, input has been read the slice header of a plurality of bands and the output of strip data cache module links to each other with described, output links to each other with the strip data cache module with the slice header of reading a plurality of bands with described slice header decoder module respectively, and accept the output of described macro block sequence number incrementor, be used for seeking the band at current macro place, if band is arranged in and reads band buffer area, then decoded macroblock; Otherwise continue to read the next band in the code stream, decoding bar is taken the lead and is stored the band content.
Macroblock decode module 85, input has been read the slice header of a plurality of bands and the output of strip data cache module links to each other with described, output feeds back to described slice header and the strip data cache module of having read a plurality of bands, is used for realizing the function of decoded macroblock.
Loop filtering module 156, input links to each other with the output of described macroblock decode module, is used for decoded macroblock is carried out filtering, belongs to a kind of post processing of image module.
Image shows and memory module 87, accepts the output signal of described post processing of image module, is used for the demonstration and the storage of image.
In this embodiment, above-mentioned slice header and the strip data cache module 82 of having read a plurality of bands comprises with lower unit:
Slice header buffer unit 8210 is accepted the output of described slice header decoder module 81, temporary decoded slice header information;
Strip data buffer unit 8211 is accepted the output of described slice header buffer unit 8210, temporary strip data of reading;
Bar end of tape judgement unit 8212 outputs to described slice header buffer unit 8210, strip data buffer unit 8211, after each macro block decoding finishes, judges whether current decoding band finishes, if finish then this band of deletion from the band buffer area.
At this moment.Corresponding above-mentioned band selection module 84 is first macro block sequence number and the current decoded macroblock sequence number comparing units in the band, this comparing unit realizes that search comprises the function of the band of current decoded macroblock, if find the band that has first_mb_in_slice to equal current decoded macroblock sequence number in the band collection, then this band of continuous decoding is up to the bar end of tape; Otherwise continue from input code flow, to read band till finding the band that comprises macro block i.
Those of ordinary skill in the art will be appreciated that, above embodiment is used for illustrating the present invention, and be not to be used as limitation of the invention, as long as in connotation scope of the present invention, all will drop in the scope of claims of the present invention variation, the modification of the above embodiment.

Claims (9)

1, a kind of coding/decoding method of striding a plurality of bands of video code flow is characterized in that may further comprise the steps:
Step 1, decoding beginning, the current decoded macroblock index of initialization i=0;
Step 2 is read band successively in the input code flow that receives, up to slice header that finds the band that comprises macro block index i=0 and corresponding strip data;
Step 3, the macro block of the described macro block index i=0 that decodes;
Step 4, the macro block exponential increasing 1 of macro block index i, if in the band that has found, contained the macro block of its index i=1, this macro block of just decoding, otherwise continue in the input code flow that receives, to read successively band, up to slice header that finds the band that comprises macro block index i=1 and corresponding strip data, and the macro block of decoded macroblock index i=1;
Step 5, judge whether present image has decoded, if do not decoded, repeating step 4, promptly, the macro block index of macro block index i increases progressively 1 by the step, increased progressively 1 macro block by the step if in the band that has found, contained its index i, this macro block of just decoding, otherwise continue in the input code flow that receives, to read successively band, comprise macro block index i has increased progressively 1 band by the step slice header and corresponding strip data up to finding, and decoded macroblock index i has increased progressively 1 macro block by the step, so repeating step 4,5 has been decoded up to the judgement present image;
Step 6 judges whether code stream finishes, if do not finish, repeats above-mentioned steps 1-5, finishes up to code stream.
2, the coding/decoding method of striding a plurality of bands of video code flow as claimed in claim 1, it is characterized in that described step 2,3,4, in 5, in the input code flow that receives, read band successively, up to finding the macro block index that comprises macro block index i=0 and macro block index i to increase progressively the slice header and the corresponding strip data of 1 band by the step, and respectively the macro block index of macro block index i=0 and macro block index i is increased progressively 1 macro block decoding by the step, in the decoded process of present image, adopting macro block is to decode according to the order of raster scan, the macro block index of decoded macroblock index i increases progressively 1 since 0 by the step, and the step of decoding comprises:
Step 11 finds the slice header and the strip data of first band in input code flow, this band is put into found the band collection.
Step 12, contain syntactic element first_mb_in_slice in the described slice header syntax structure, syntactic element is pointed out the macro block index of first macro block of being comprised in the current band, judge whether first_mb_in_slice equals 0, if first_mb_in_slice is not equal to 0, continue read next band in step 11;
Step 13 up to judging that first_mb_in_slice equals 0, illustrates that the macro block of macro block index i=0 is arranged in this band, the macro block of decoded macroblock index i=0;
Step 14 judges whether the band decoding comprise macro block 0 finishes, and when the band decoding that comprises macro block 0 finished, this band needed remove from finding in the band collection, so that no longer this band is judged during the decoding of next macro block;
Step 15, if comprise the band decoding end that the band decoding of macro block 0 does not have to finish maybe ought comprise macro block 0, when this band has removed in finding the band collection, macro block index i increases progressively 1 by the step, for the macro block of macro block index i is decoded, need find the band at the macro block place of macro block index i.The first step of seeking this band is to find the band collection P at the macro block place of macro block index i, all macro blocks that piece image comprised and the mapping relations between the band collection in obtaining picture parameter set syntactic structure num_slice_group_minus_1 and slice_group_map_type information after just can determine, promptly, given macro block is pressed after the macro block of macro block index i of raster scan, just can determine the affiliated band collection of this macro block, the information of these mappings is placed on array MbToSliceGroupMap[] in, given macro block index i, P=MbToSliceGroupMap[i] be the band collection at the macro block place of macro block index i;
Step 16 judges to have found whether there has been at least one band in the band collection;
Step 17, if at least one band is arranged in finding the band collection, whether the macro block of checking macro block index i belongs to certain band wherein, promptly for each band that finds in the band collection, judges:
1) MbToSliceGroupMap[first_mb_in_slice]=whether P set up, and just whether the band collection under this band is exactly the band collection P at the macro block place of macro block index i;
2) whether first_mb_in_slice≤i sets up, and just whether the macro block index of first macro block of this band is less than or equal to the macro block index of macro block i;
If above two conditions are all set up, this band is exactly the band at the macro block place of macro block index i so;
Step 18, if judge in the step 16 found in the band collection band all not have or step 17 in have one to be false in two conditions, the macro block of macro block index i does not belong to any one band that has found in the band collection so, continue to read code stream, seek new band, first_mb_in_slice in finding slice header equals till the band of i, and this band is put into find the band collection;
Step 19 is decoded to the macro block of the macro block index i that finds the place band in the above-mentioned steps 17,18;
Step 20 judges whether the band decoding of the macro block that comprises macro block index i finishes, and when the band decoding of the macro block that comprises macro block index i finished, this band needed to remove from finding in the band collection;
Step 21, if comprise the band decoding end that the band of the macro block of macro block index i does not finish or comprise the macro block of macro block index i, when this band has removed in finding the band collection, judge whether present image has decoded, if do not decoded, repeat above-mentioned steps 15-20, decoded up to the judgement present image.
3, the coding/decoding method of striding a plurality of bands of video code flow as claimed in claim 1, it is characterized in that described step 2,3,4, in 5, in the input code flow that receives, read band successively, up to finding the macro block index that comprises macro block index i=0 and macro block index i to increase progressively the slice header and the corresponding strip data of 1 band by the step, and respectively the macro block index of macro block index i=0 and macro block index i is increased progressively 1 macro block decoding by the step, in the decoded process of present image, adopt the macro block in the same band spatially can be not adjacent, be one and disperse band, the macro block index of decoded macroblock index i increases progressively 1 since 0 by the step, and the step of decoding comprises:
Step 31 reads the slice header and the strip data of first band of present image in input code flow, and this band is put into find the band collection, and in first band the macro block of decoded macroblock index i=0;
Step 32 judges whether current decoding band finishes, if finish, current decoding band is deleted from finding in the band collection;
Step 33, macro block index i adds 1, and the place band that enters next macro block is differentiated and decode procedure;
Step 34 judges that the macro block index i of macro block is even number or odd number.If i is an even number, in the even number band, seek the macro block place band of macro block index i, if i is an odd number, in the odd number band, seek the macro block place band of macro block index i;
Step 35, if in step 34, i is an even number, not having even number band or i in the band collection that has found is odd number, in the band collection that has found, there is not the odd number band, read next band in input code flow then, and this band put into find the band collection, this band is exactly the band at the macro block place of macro block index i;
Step 36, if in step 34, i is an even number, it is odd number that even number band or i are arranged in the band collection that has found, odd several bands in the band collection that has found, this band is exactly the band at the macro block place of macro block index i;
Step 37 is decoded to the macro block of the macro block index i that finds in the step 36,37.
Step 38 judges whether present image has decoded, if decoded, repeats above-mentioned steps 32-37, has decoded up to the judgement present image.
4, the coding/decoding method of striding a plurality of bands of video code flow as claimed in claim 1, it is characterized in that described step 2,3,4, in 5, in the input code flow that receives, read band successively, up to finding the macro block index that comprises macro block index i=0 and macro block index i to increase progressively the slice header and the corresponding strip data of 1 band by the step, and respectively the macro block index of macro block index i=0 and macro block index i is increased progressively 1 macro block decoding by the step, in the decoded process of present image, adopting the flexible macro-block ordering is to realize by the mapping of macro block to the band collection, the macro block index of decoded macroblock index i increases progressively 1 since 0 by the step, and the step of decoding comprises:
Step 1 is read a band in the input code flow, and this band is put into find the band collection.
Step 2, repeating step 1 is up to the band that first_mb_in_slice=i is arranged in the band that has found;
Step 3, decoding are included in the macro block of the macro block index i in the current band, and macro block index i increases progressively 1;
Step 4, finish, current band is deleted from finding in the band collection up to the decoding of current band;
Step 5 judges whether present image has decoded, if decoded, repeats above-mentioned steps 2-4, has decoded up to the judgement present image.
5, a kind of device that carries out the coding/decoding method of striding a plurality of bands of video code flow as claimed in claim 1 is characterized in that comprising:
The slice header decoder module, the slice header of the input code flow that is used to decode;
Read the slice header and the strip data cache module of a plurality of bands, input links to each other with the output of described slice header decoder module, is used to store the band content of having read;
Macro block sequence number incrementor links to each other with the strip data cache module with described slice header of having read a plurality of bands, is used for producing the macro block index that increases progressively by natural number;
Band is selected module, input has been read the slice header of a plurality of bands and the output of strip data cache module links to each other with described, output links to each other with the strip data cache module with the slice header of reading a plurality of bands with described slice header decoder module respectively, and accept the output of described macro block sequence number incrementor, be used for seeking the band at current macro place, if band is arranged in and reads band buffer area, then decoded macroblock; Otherwise continue to read the next band in the code stream, decoding bar is taken the lead and is stored the band content;
Macroblock decode module, input has been read the slice header of a plurality of bands and the output of strip data cache module links to each other with described, output feeds back to described slice header and the strip data cache module of having read a plurality of bands, is used for realizing the function of decoded macroblock;
The post processing of image module, input links to each other with the output of described macroblock decode module, is used for carrying out subsequent operations such as macro block filtering and image scaling, enhancing;
Image shows and memory module, accepts the output signal of described post processing of image module, is used for the demonstration and the storage of image.
6, the decoding device of striding a plurality of bands of video code flow as claimed in claim 5 is characterized in that:
Described slice header and the strip data cache module of having read a plurality of bands comprises: the slice header buffer unit, accept the output of described slice header decoder module, and be used for keeping in decoded slice header information; The strip data buffer unit is accepted the output of described slice header buffer unit, is used for temporary strip data of reading; The output of described slice header buffer unit is accepted in the MAP unit, is used for Storage Mapping information and calculates the band collection number at each macro block place; Bar end of tape judgement unit outputs to described slice header buffer unit, strip data buffer unit, MAP unit, is used for judging whether current decoding band finishes after each macro block decoding finishes, if finish then this band of deletion from the band buffer unit; And corresponding described band is selected module, comprising: band collection judgement unit, accept the output of described MAP unit; First macro block index and the i comparing unit of band are accepted the output of described slice header buffer unit and macro block sequence number incrementor.
7, the decoding device of striding a plurality of bands of video code flow as claimed in claim 5 is characterized in that:
Described slice header and the strip data cache module of having read a plurality of bands comprises: odd number band slice header buffer unit, accept the output of described slice header decoder module, temporary decoded odd number band slice header information; Even number band slice header buffer unit is accepted the output of described odd number band slice header buffer unit, temporary decoded even number band slice header information; Odd number band strip data buffer unit is accepted the output of described even number band slice header buffer unit, temporary odd number band strip data of reading; Even number band strip data buffer unit is accepted the output of described odd number band strip data buffer unit, temporary even number band strip data of reading; Bar end of tape judgement unit, output to described odd number band slice header buffer unit, even number band slice header buffer unit, odd number band strip data buffer unit, even number band strip data buffer unit respectively, after each macro block decoding finishes, be used for judging whether current decoding band finishes; And corresponding described band selection module is a macro block index parity checker.
8, the decoding device of striding a plurality of bands of video code flow as claimed in claim 5 is characterized in that:
Described slice header and the strip data cache module of having read a plurality of bands comprises: the slice header buffer unit, accept the output of described slice header decoder module, temporary decoded slice header information; The strip data buffer unit is accepted the output of described slice header buffer unit, temporary strip data of reading; Bar end of tape judgement unit outputs to described slice header buffer unit, strip data buffer unit, after each macro block decoding finishes, judges whether current decoding band finishes; And corresponding described band selection module is first macro block index and the current decoded macroblock index comparing unit in the band, realizes that search comprises the function of the band of current decoded macroblock.
9, the decoding device of striding a plurality of bands of video code flow as claimed in claim 5 is characterized in that:
Described post processing of image module is the loop filtering module, and decoded macroblock is carried out filtering.
CN 200510023924 2005-02-07 2005-02-07 Decoding method and decoder for video code flow crossing multiple strip bands Expired - Fee Related CN100488253C (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200510023924 CN100488253C (en) 2005-02-07 2005-02-07 Decoding method and decoder for video code flow crossing multiple strip bands

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200510023924 CN100488253C (en) 2005-02-07 2005-02-07 Decoding method and decoder for video code flow crossing multiple strip bands

Publications (2)

Publication Number Publication Date
CN1819660A CN1819660A (en) 2006-08-16
CN100488253C true CN100488253C (en) 2009-05-13

Family

ID=36919310

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200510023924 Expired - Fee Related CN100488253C (en) 2005-02-07 2005-02-07 Decoding method and decoder for video code flow crossing multiple strip bands

Country Status (1)

Country Link
CN (1) CN100488253C (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101370142B (en) * 2008-09-18 2011-05-04 华为技术有限公司 Image decoding and zooming method and device, image display system
CN101742284B (en) * 2008-11-24 2011-08-03 深圳市融创天下科技发展有限公司 Method and system for playing and processing H.264 video stream
JP5359657B2 (en) * 2009-07-31 2013-12-04 ソニー株式会社 Image encoding apparatus and method, recording medium, and program
CN101815199B (en) * 2010-04-07 2013-08-07 中兴通讯股份有限公司 Video processing method and terminal
CN103716638B (en) * 2013-12-30 2016-08-31 上海国茂数字技术有限公司 The method representing video image DISPLAY ORDER

Also Published As

Publication number Publication date
CN1819660A (en) 2006-08-16

Similar Documents

Publication Publication Date Title
CN112383780B (en) Encoding and decoding method and device for point matching reference set and index back and forth scanning string matching
CN107005717B (en) Skip pixel coding and decoding method in index mapping coding and decoding
CN100488253C (en) Decoding method and decoder for video code flow crossing multiple strip bands
US8064518B2 (en) Encoding apparatus, encoding method, decoding apparatus, and decoding method
US8149920B2 (en) Device and method for merging codecs
EP0665688A2 (en) Video data arranging method and video data encoding/decoding apparatus
CN101232615A (en) Method for random access and gradual picture refresh in video coding
CN106716999A (en) Method of palette predictor signaling for video coding
CN111800641A (en) Image coding and decoding method and device adopting different types of reconstructed pixels in same mode
WO2005104562A2 (en) Video coding system providing separate coding chains for dynamically selected small-size or full-size playback
TWI364989B (en) "encoded data output device and method,recoded datacreati0n device and method,encoded data restore deviceand method,encoding device and method,computerprogram product,apparatus and method for transmittinga motion vector together with picture data,apparat
CN107295347A (en) Device for decoding the movable information under merging patterns
BRPI0800010B1 (en) moving image encoding device, moving image decoding device, moving image encoding method and moving image decoding method
JPH07508380A (en) Apparatus for composing compressed video data for transmission over a noisy communication channel
CN101455085A (en) Image decoding device
JPH08204584A (en) Digital signal decoding device
KR20090034083A (en) Frame buffer memory operation method for decompressing compressed moving pictures and decoding device adapted to the same
CN101207823A (en) Method for video encoding of video frequency corresponding synthesis anti-code error
US20050175100A1 (en) Data processing device and method of same, and encoding device and decoding device
KR100334364B1 (en) On screen display processor
CN101115195B (en) Macroblock grade coupled decoding and loop filtering method and apparatus for video code stream
CN100481953C (en) Decoding method using video code flow to judge picture boundary and reading in advance picture data, and apparatus therefor
CN105898301A (en) Method and Apparatus for Arithmetic Decoding
CN106358042A (en) Parallel decoder using inter-frame prediction of video image
KR940023230A (en) Video signal recording 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: 20090513

Termination date: 20140207