CN103945221B - Video coding-decoding method, device and the video code flow of generation - Google Patents
Video coding-decoding method, device and the video code flow of generation Download PDFInfo
- Publication number
- CN103945221B CN103945221B CN201410141736.0A CN201410141736A CN103945221B CN 103945221 B CN103945221 B CN 103945221B CN 201410141736 A CN201410141736 A CN 201410141736A CN 103945221 B CN103945221 B CN 103945221B
- Authority
- CN
- China
- Prior art keywords
- sequence
- frame
- image
- seqdelaynum
- coding
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 54
- 238000007726 management method Methods 0.000 claims description 20
- 238000001514 detection method Methods 0.000 claims description 10
- 239000002773 nucleotide Substances 0.000 claims description 4
- 125000003729 nucleotide group Chemical group 0.000 claims description 4
- 230000003139 buffering effect Effects 0.000 abstract description 21
- 230000033001 locomotion Effects 0.000 abstract description 3
- 230000005540 biological transmission Effects 0.000 description 14
- 230000003111 delayed effect Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 2
- NUHSROFQTUXZQQ-UHFFFAOYSA-N isopentenyl diphosphate Chemical compound CC(=C)CCO[P@](O)(=O)OP(O)(O)=O NUHSROFQTUXZQQ-UHFFFAOYSA-N 0.000 description 2
- 230000002035 prolonged effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- GOLXNESZZPUPJE-UHFFFAOYSA-N spiromesifen Chemical compound CC1=CC(C)=CC(C)=C1C(C(O1)=O)=C(OC(=O)CC(C)(C)C)C11CCCC1 GOLXNESZZPUPJE-UHFFFAOYSA-N 0.000 description 1
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
The invention discloses a kind of video coding-decoding method and device, the methods for transmitting video code flow, wherein method for video coding includes:It determines the frame number of i-th of sequence output delay of coding, and the image storage space that a size is not less than this frame is distributed for i-th of sequence of coding;According to the output of the image storage space image of the number of i-th of encoded sequence frame of coding and i-th of sequence of the frame number management coding of output delay;The frame number write-in of i-th of sequence output delay of coding is sent to the code stream of video decoding end.The present invention proposes this parameter of frame number using output delay to manage the output of image, on the one hand, it solves image in AVS2 WD5.0 to export slow and a large amount of non-output frame is caused to be deposited in the problems in decoding image buffering area, while solving the problems, such as that motion M3226 can not normally export image in frame-skipping.
Description
Technical field
The invention belongs to video coding and decoding technology field, more particularly to a kind of video coding-decoding method, device and generation
Video code flow.
Background technology
During video is decoded, the output of decoding image how is managed, is always an important problem, reasonably
Image output method should make image be sequentially output from small to large according to the size of display order, while should also be when rational
Between export, avoid causing a large amount of non-output frame to be deposited in decoding image buffering area because image exported slow, cause to solve
The code image buffer efficiency of management is too low, and then influences the efficiency of inter-reference.
In HEVC standard, the output of image is by the pic_dpb_output_ in SEI picture timing ()
Pic_spt_dpb_output_ in delay, pic_dpb_output_du_delay and decoding_unit_info ()
Du_delay management.Three syntactic elements are all used to indicate that a decoding image to enter what decoding image buffering area exported later
Delay.By the administrative mechanism, decoding image can be made according to display order, image be exported with most fast speed, but disadvantage exists
It is required for one output delay of transmission in every frame, this will be a no small expense.
In the AVS2 standards WD5.0 formulated, the output of image is by decoding image buffering area size MAX_
What BUFFER_SIZE and image display order index POI was managed together, the method for management is, when in decoding image buffering area
Image number reaches MAX_BUFFER_SIZE, then exports the frame figure for not exporting POI minimums in image in decoding image buffering area
Picture.This output method there is a problem that one it is more serious, i.e., since full ability must be waited into decoding image buffering area
A frame is exported, this can cause image to export slow and a large amount of non-output frame is caused to be deposited in decoding image buffering area, such as
Decode the hierarchical B structure of GOP=8.The display order of preceding 9 frame, decoding order and by reference case later it is respectively:
Display order | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
Decoding order | 1 | 5 | 4 | 6 | 3 | 8 | 7 | 9 | 2 |
It is referenced situation | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 1 |
1 be wherein referenced during situation one arranges indicate can by after referenced by frame, 0 indicate will not referenced by frame later,
When MAX_BUFFER_SIZE=8, when being decoded to the 8th frame of display order i.e. 9 frame of decoding order, image is decoded
Buffering area has been expired, and needs to export a frame, according to rule, output is the 1st frame.But since decoding image buffering area has been expired, show
Show and need to be stored in decoding image buffering area after the 8th frame side of sequence is complete, it is necessary to remove a frame.Due to there was only the output of the 1st frame
It crosses, so the 1st frame can only be removed.In this way, will cause the 1st frame can not be referenced by frame later.But first frame is I
Frame, it is very big to the reference significance of frame later, therefore, using the reference frame management scheme in WD5.0, in such case
Under, it will the frame reference after causing I frames that can not be shown the 8th frame of sequence greatly reduces decoding efficiency.And it is efficient rationally
The way of output under, when being decoded to 8 frame of display order, display order can be outputed less than 8 frame.It wherein shows suitable
The frame that sequence is 2,3,4,6 is will not can be removed after having exported referenced by frame later.But due to the 1st frame
What is exported is excessively slow, causes the frames that will not be referenced such as 2,3,4,6 that can not export, and to remove, can only be forced to remove the 1st
Frame.
For the problems in WD5.0, AVS motions M3226 is proposed, using image display delayed picture_display_
Delay is managed, picture_display_delay refer to a frame image from complete to be decoded to display needs to wait for when
Between.Specifically method is:1. all there are one image output delays per frame image;2. after decoding present image, decoded picture buffer
The display delay of image in area all subtracts 1;3. if prolonged there is display in image and present image in decoding image buffering area
It is 0 image late, then exports the image, otherwise do not export any image.Although the scheme of M3226 can solve to a certain extent
Image exported in WD5.0 causes a large amount of non-output frame to be deposited in the problems in decoding image buffering area slowly, still, for
The scheme of M3226 also results in output problem when frame-skipping occurs.For example, still use the size of decoding image buffering area for
8, GOP=8 hierarchical B structure.Start to compile assuming that coding side skips preceding 20 frame, then in preceding 10 frame of encoding and decoding, display order
Value is both greater than equal to 20, and encoding and decoding sequence both less than 10, the display delayed per frame is all greater than 10.It is decoded to decoding order
When 9 frame, decoding image buffering area has been expired, and at that time according to the description in M3226, can be subtracted without the display delayed of a frame
To 0, no frame can export, then just having no idea to remove any frame, the frame of encoding and decoding later will be unable to immigration decoding image and delay
It rushes in area.
In the AVS2 standards WD6.0 formulated, there is also following two problems:
(1) the problem of image display order (POI) can not be transmitted correctly, calculating.
In WD6.0, the difference of POI and DOI are determined by PictureDisplayDelay-OutputReorderDelay
Fixed, the maximum magnitude of the value is -32~64.And when frame-skipping occurs, when frame-skipping occurs, the difference of DOI and POI can not protect
Card is between -32~64.
For example, the coding structure of IPPP, for every two frame compiles a frame, encodes the 66th frame, POI 132, and DOI is 66, two
The difference of person has arrived at 66, can not correctly transmit.
(2) after random access occurring, the display order of image is after the sequence head of current video sequence presses decoding order
First I frame after frame, can not be correctly decoded.
It is provided in WD6.0:
Image is marked as " should not be used as reference picture " when meeting the following conditions:
The display order of image is before the sequence head of current video sequence presses first I frame after decoding order
The image is not I frames
The value of the no_forward_reference_flag of the image is equal to ' 0 '
When a period of time image that image meets the following conditions is marked as " can be used as reference picture ":
The display order of image is pressed in the sequence head of current video sequence after first I frame after decoding order
The image is I frames
The value of the no_forward_reference_flag of the image is equal to ' 1 '
Random access is not supported in the description in some cases
As shown in figure 5, a kind of GOP=4 and HierB structures supported in WD6.0:
According to the description in WD6.0, when random access occurs at I8 in code stream, I1 is the image that can be referenced.
According to the configuration of referring-to relation in existing RD6.0, P12 can be referenced to I1, B9, B10, B11 all can directly or
To P12. when random access occurs at I8, B8, B9, B10, P12 can not be correctly decoded indirect reference.
As shown in fig. 6, another GOP=4 and HierB structures supported in WD6.0:
If B4 is equal to ' 1 ' only with reference to P4, the value of its no_forward_reference_flag,
And when random access occurs, B2 should also be can not be referenced by P12, but does not forbid P12 in standard
With reference to B2, therefore, if P12 is with reference to B2, when random access occurs at I8, B8, B9, B10, P12 can not be solved correctly
Code.
Invention content
In view of the above-mentioned deficiencies in the prior art, it is an object of the present invention to provide a kind of video coding-decoding method and device, generation
Method and device with parsing video code flow and corresponding video code flow.
The purpose of the present invention is achieved through the following technical solutions, a kind of coding method of video, including following step
Suddenly:
(1) the i-th (i of coding is determined>=0) frame number SeqDelayNum [i] (SeqDelayNum of a sequence output delay
[i]>=1), and for i-th of sequence of coding the image storage space that a size is not less than SeqDelayNum [i] frame is distributed;
(2) according to number SeqCodedNum [the i] (SeqCodedNum [i] of i-th of encoded sequence frame of coding>=
0) output of the image storage space image of i-th of the sequence encoded with frame number SeqDelayNum [i] management of output delay;
Specifically management method is:Detection moment is exported in image, if the number of i-th of encoded sequence frame of coding
SeqCodedNum [i] is more than or equal to the frame number SeqDelayNum [i] of output delay, then from the image of i-th of sequence of coding
A frame image of display order minimum is exported in memory space;Otherwise, any image is not exported;
(3) frame number SeqDelayNum [i] write-ins of i-th of sequence of coding output delay are sent to video decoding end
Code stream.
Further, the frame number SeqDelayNum [i] of i-th of sequence output delay described in the step 3 is in sequence head
Code stream in be written or the write-in or after the sequence head in the code stream of the image head of first frame in the code stream of sequence header extension
Write-in.
A kind of coding/decoding method of video, includes the following steps:
(1) decoded i-th (i is obtained from the code stream received from Video coding end>=0) frame of the output delay of a sequence
Number SeqDelayNum [i] (SeqDelayNum [i]>=1), and a size is distributed for decoded i-th of sequence to be not less than
The image storage space of SeqDelayNum [i] frame;
(2) according to number SeqDecodeNum [the i] (SeqDecodeNum [i] of decoded i-th of sequence decoded frame>
=0) and the frame number SeqDelayNum [i] of output delay manages the output of decoded i-th of sequence image memory space image;
Specifically management method is:Detection moment is exported in image, if the number of decoded i-th of sequence nucleotide sequence decoded frame
SeqDecodeNum [i] is more than or equal to the frame number SeqDelayNum [i] of output delay, then from the image of decoded i-th of sequence
A frame image of display order minimum is exported in memory space;Otherwise, any image is not exported.
Further, described to obtain decoded i-th (i in the step 1>=0) frame number of the output delay of a sequence,
The method of acquisition includes:It obtains or is obtained in the code stream of sequence header extension or the after sequence head in the code stream of sequence head
It is obtained in the code stream of the image head of one frame.
A kind of video coding apparatus, including coding processing unit and code stream writing unit, the coding processing unit are used for
Determine the i-th (i of coding>=0) frame number SeqDelayNum [the i] (SeqDelayNum [i] of a sequence output delay>=1), and
Image storage space of the size not less than SeqDelayNum [i] frame is distributed for i-th of sequence of coding;And according to volume
Number SeqCodedNum [the i] (SeqCodedNum [i] of i-th of encoded sequence frame of code>=0) and output delay frame number
The output of the image storage space image of i-th of sequence of SeqDelayNum [i] management codings;Specifically management method is:Scheming
As output detection moment, if the number SeqCodedNum [i] of i-th of encoded sequence frame of coding is more than or equal to output and prolongs
When frame number SeqDelayNum [i], then it is minimum that display order is exported from the image storage space of i-th of sequence of coding
One frame image;Otherwise, any image is not exported.I-th of sequence output delay that the code stream writing unit is used to encode
The code stream for being sent to video decoding end is written in frame number SeqDelayNum [i].
Further, frame number SeqDelayNum [i] write-ins of i-th of sequence output delay by coding are sent to
The method of the code stream of video decoding end, write-in includes:It is written in the code stream of sequence head or is write in the code stream of sequence header extension
Enter or is written in the code stream of the image head of first frame after the sequence head.
A kind of video decoder, including codec processing unit are delayed with the sequence output being set in code stream reading unit
Frame number acquiring unit, the frame number acquiring unit of sequence output delay from the code stream received from Video coding end for obtaining
Take decoded i-th (i>=0) frame number SeqDelayNum [the i] (SeqDelayNum [i] of the output delay of a sequence>=1);Institute
It is the image storage sky that decoded i-th of sequence distributes a size not less than SeqDelayNum [i] frame to state codec processing unit
Between;According to number SeqDecodeNum [the i] (SeqDecodeNum [i] of decoded i-th of sequence decoded frame>=0) and it is defeated
The frame number SeqDelayNum [i] for going out delay manages the output of decoded i-th of sequence image memory space image.Specific management
Method is:Detection moment is exported in image, if the number SeqDecodeNum of decoded i-th of sequence nucleotide sequence decoded frame
[i] is more than or equal to the frame number SeqDelayNum [i] of output delay, then defeated from the image storage space of decoded i-th of sequence
Go out a frame image of display order minimum;Otherwise, any image is not exported.
Further, the frame of the output delay of decoded i-th of sequence is obtained from the code stream received from Video coding end
Number SeqDelayNum [i], the method for acquisition include:It obtains in the code stream of sequence head or is obtained in the code stream of sequence header extension
It takes or is obtained in the code stream of the image head of first frame after the sequence head.
A kind of video code flow, specially:In the code stream of sequence head or in the code stream of sequence header extension or in sequence head
The frame number SeqDelayNum [i] of i-th of sequence output delay of coding is written in the code stream of the image head of first frame later.
The beneficial effects of the invention are as follows:The present invention proposes this parameter of frame number using output delay to manage the defeated of image
Go out, on the one hand, solve image in AVS2WD5.0 and exported slow and a large amount of non-output frame is caused to be deposited in decoded picture buffer
The problems in area, while solving the problems, such as that motion M3226 can not normally export image in frame-skipping.For AVS2 standards
After the problem of image display order (POI) can not be transmitted correctly in WD6.0 and generation random access, the display order of image is being worked as
The sequence head of preceding video sequence is by the frame after first I frame after decoding order, the problem of can not being correctly decoded, the present invention
Also corresponding solution has been carried out.
Description of the drawings
Fig. 1 is the flow diagram of method for video coding of the present invention;
Fig. 2 is the flow diagram of video encoding/decoding method of the present invention;
Fig. 3 is the composed structure schematic diagram of video coding apparatus of the present invention;
Fig. 4 is the composed structure schematic diagram of video decoder of the present invention;
Fig. 5 is a kind of GOP=4 and HierB structure charts supported in WD6.0;
Fig. 6 is another GOP=4 and HierB structure charts supported in WD6.0.
Specific implementation mode
To make the objectives, technical solutions, and advantages of the present invention more comprehensible, referring to the drawings and embodiment, to this
Invention is described in further detail.
The main thought of the present invention is to provide a kind of output progress exporting delay frame number to decoding image based on sequence
The mechanism of management.
Embodiment 1:
As shown in Figure 1, a kind of coding method of video of the present invention, includes the following steps:
Step 101:Determine the i-th (i of coding>=0) the frame number SeqDelayNum [i] of a sequence output delay
(SeqDelayNum[i]>=1), and for i-th of sequence of coding a size is distributed not less than SeqDelayNum [i] frame
Image storage space;
One sequence includes current sequence head later to encoded frame between next sequence head.
Encoded frame between one sequence can also end up including after current sequence head, arriving sequence.
Determine that the method that i-th of sequence of coding exports the frame number SeqDelayNum [i] of delay is:According to the volume of sequence
Code structure judges that after complete SeqDelayNum [i] frame of sequential coding first frame can be exported.
Such as:Coding structure is the low delay coding structure of IPPPP.Output delay frame number be 1, that is, encoded 1 frame it
Afterwards, which can export first frame.
Display order | I1 | P2 | P3 | P4 | P5 | P6 | … |
Coded sequence | I1 | P2 | P3 | P4 | P5 | P6 | … |
Output sequence | I1 | P2 | P3 | P4 | P5 | P6 | … |
For example, the coding structure of the IBBBPBBBPBBBP of coding GOP=4.The frame number of output delay is 3 frames, that is, has been encoded
After 3 frames, first frame can be exported.
Display order | I1 | B2 | B3 | B4 | P5 | B6 | B7 | B8 | P9 | … |
Coded sequence | I1 | P5 | B3 | B2 | B4 | P9 | B7 | B6 | B8 | … |
Output sequence | I1 | B2 | B3 | B4 | P5 | B6 | B7 | … |
For example, the coding structure of the BBBIBBBPBBBP of coding GOP=4.The frame number of output delay is 3 frames, that is, has encoded 3
After frame, first frame can be exported.
For example, the coding structure of the IBBBBBBBPBBBBBBBP of coding GOP=8.The frame number of output delay is 4 frames, that is, is compiled
After complete 4 frame of code, first frame can be exported.
Display order | I1 | B2 | B3 | B4 | B5 | B6 | B7 | B8 | P9 | … |
Coded sequence | I1 | P9 | B5 | B3 | B2 | B4 | B7 | B6 | B8 | … |
Output sequence | I1 | B2 | B3 | B4 | B5 | B6 | … |
Step 102:According to number SeqCodedNum [i] (SeqCodedNum of i-th of encoded sequence frame of coding
[i]>=0) and the image storage space image of i-th of sequence of frame number SeqDelayNum [i] the management coding of output delay
Output;
Specifically, the step includes:
When i-th of sequence of coding starts, apllied image storage space in step 101 is labeled as " making
With ", and the value of the encoded frame number SeqCodedNum [i] of current sequence is set to 0.
After the frame for often having encoded i-th of sequence, the value of SeqCodedNum [i] adds 1, and by the solution of current encoded frame
Code reconstruction image moves into the image storage space of i-th of sequence, and is labeled as " not exporting image ".
Detection moment is exported in each image, such as after having encoded a frame, remembers that the sequence of present encoding is n-th of sequence
Row check the image storage space of each sequence that is encoded or encoding, for the kth (k of each " being used "<
=n) a image storage space, if the number SeqCodedNum [k] of encoded frame is more than or equal to the frame number of output delay
SeqDelayNum [k], then from the image storage space of k-th of sequence export display order minimum a frame image, and by its
Labeled as " having exported image ";Otherwise, any image is not exported.
It is exported in each image and completes the moment, check encoded each sequence j (j<N) image storage space, if
The image storage space has not had " not exporting image ", then the image storage space is labeled as " unused ".
Step 103:Frame number SeqDelayNum [i] write-ins of i-th of sequence output delay of coding are sent to video solution
The code stream at code end.
Specifically:
Frame number SeqDelayNum [i] write-ins of i-th of sequence output delay of coding are sent to the code of video decoding end
The method of stream includes:It is transmitted in the code stream of sequence head.
Frame number SeqDelayNum [i] write-ins of i-th of sequence output delay of coding are sent to the code of video decoding end
The method of stream further includes:It is transmitted in the code stream of sequence header extension.
Frame number SeqDelayNum [i] write-ins of i-th of sequence output delay of coding are sent to the code of video decoding end
The method of stream further includes:It is transmitted in the code stream of the image head of first frame after the sequence head.
The mode of transmission includes the value of directly transmission SeqDelayNum [i].
The mode of transmission can also include the value of transmission SeqDelayNum [i] -1.
Embodiment 2:
As shown in Fig. 2, a kind of coding/decoding method of video of the present invention, this approach includes the following steps:
Step 201:Decoded i-th (i is obtained from the code stream received from Video coding end>=0) output of a sequence is prolonged
When frame number SeqDelayNum [i] (SeqDelayNum [i]>=1), and for decoded i-th of sequence a size is distributed not
Less than the image storage space of SeqDelayNum [i] frame;
Specifically:
One sequence includes current sequence head later to encoded frame between next sequence head.
Encoded frame between one sequence can also end up including after current sequence head, arriving sequence.
The frame number of the output delay of decoded i-th of sequence is obtained from the code stream received from Video coding end
The method of SeqDelayNum [i] includes:It is obtained in the code stream of sequence head.
The frame number of the output delay of decoded i-th of sequence is obtained from the code stream received from Video coding end
The method of SeqDelayNum [i] further includes:It is obtained in the code stream of sequence header extension.
The frame number of the output delay of decoded i-th of sequence is obtained from the code stream received from Video coding end
The method of SeqDelayNum [i] further includes:It is obtained in the code stream of the image head of first frame after the sequence head.
The mode of acquisition includes directly acquiring the value of SeqDelayNum [i].
The mode of acquisition can also include the value for obtaining SeqDelayNum [i] -1, seek SeqDelayNum's [i] indirectly
Value.
Step 202:According to number SeqDecodeNum [i] (SeqDecodeNum of decoded i-th of sequence decoded frame
[i]>=0) and the frame number SeqDelayNum [i] of output delay manages the defeated of decoded i-th of sequence image memory space image
Go out.
Specifically, the step includes:
When i-th of sequence of decoding starts, apllied image storage space in step 201 is labeled as " making
With ", and the value of current sequence decoded frame number SeqDecodeNum [i] is set to 0.
After the frame for often having decoded current i-th of sequence, the value of SeqDecodeNum [i] adds 1, and by the solution of present frame
Code reconstruction image moves into the image storage space of i-th of sequence, and is labeled as " not exporting image ".
Detection moment is exported in each image, such as after having decoded a frame, remembers that current decoded sequence is n-th of sequence
Row, inspection has decoded or just in the image storage space of decoded each sequence, for each " be used " kth (k<
=n) a image storage space, if the number SeqDecodeNum [k] of decoded frame is more than or equal to the frame number of output delay
SeqDelayNum [k], then from the image storage space of k-th of sequence export display order minimum a frame image, and by its
Labeled as " having exported image ";Otherwise, any image is not exported.
It is exported in each image and completes the moment, check decoded each sequence j (j<N) image storage space, if
The image storage space has not had " not exporting image ", then the image storage space is labeled as " unused ".
Embodiment 3:
As shown in figure 3, a kind of video coding apparatus of the present invention, includes at least coding processing unit (device 301) and code stream
Writing unit (device 302).
Device 301:I-th (i of the coding processing unit for determining coding>=0) frame number of a sequence output delay
SeqDelayNum[i](SeqDelayNum[i]>=1), and a size is distributed for i-th of sequence of coding to be not less than
The image storage space of SeqDelayNum [i] frame;According to the number SeqCodedNum of i-th of encoded sequence frame of coding
[i](SeqCodedNum[i]>=0) and output delay frame number SeqDelayNum [i] management coding i-th of sequence figure
The output of image storage space image.
Corresponding to the method in step 101 and 102 in embodiment 1.
Device 302:The frame number for i-th of sequence output delay that the code stream writing unit is used to encode
The code stream for being sent to video decoding end is written in SeqDelayNum [i].
Corresponding to the method for step 103 in embodiment 1.
Embodiment 4:
As shown in figure 4, a kind of video decoder of the present invention, includes at least codec processing unit (device 402) and code stream
The frame number acquiring unit (device 401) of sequence output delay in reading unit.
Device 401:The frame number acquiring unit of sequence output delay is used for from from the code stream received from Video coding end
It is middle to obtain decoded i-th (i>=0) frame number SeqDelayNum [the i] (SeqDelayNum [i] of the output delay of a sequence>=
1);
Corresponding to the method for step 201 in embodiment 2.
Device 402:The codec processing unit is that one size of decoded i-th of sequence distribution is not less than
The image storage space of SeqDelayNum [i] frame;And according to the number of decoded i-th of sequence decoded frame
SeqDecodeNum[i](SeqDecodeNum[i]>=0) and frame number SeqDelayNum [i] management of output delay is decoded
The output of i-th of sequence image memory space image.
Corresponding to the method for step 202 in embodiment 2.
Embodiment 5:
The present invention provides a kind of video code flow and the methods for transmitting video code flow.Wherein, the video code flow, transmits
The frame number SeqDelayNum [i] of i-th of sequence output delay.
Wherein include by the method for the code stream that the frame number n write-ins of current sequence output delay are sent to video decoding end:
Frame number SeqDelayNum [i] write-ins of i-th of sequence output delay of coding are sent to video by transmission in the code stream of sequence head
The method of the code stream of decoding end includes:It is transmitted in the code stream of sequence head.
Frame number SeqDelayNum [i] write-ins of i-th of sequence output delay of coding are sent to the code of video decoding end
The method of stream further includes:It is transmitted in the code stream of sequence header extension.
Frame number SeqDelayNum [i] write-ins of i-th of sequence output delay of coding are sent to the code of video decoding end
The method of stream further includes:It is transmitted in the code stream of the image head of first frame after the sequence head.
The mode of transmission includes the value of directly transmission SeqDelayNum [i].
The mode of transmission can also include the value of transmission SeqDelayNum [i] -1.
Embodiment 6:
The present invention provides a kind of coding methods of display order, and the specific method is as follows:
Step 601:The display order of every frame and the difference (DELTA_POI_DOI) of decoding order are sought, which is equal to every
The display order (POI) of one frame subtracts the decoding order (DOI) of present frame.
Step 602:Enable the difference of the DELTA_POI_DOI of adjacent encoding and decoding of the MAX_DELTA_POI_DOI equal to 2 times
The maximum value of absolute value abs (DELTA_POI_DOI [N+1]-DELTA_POI_DOI [N]).
Step 603:Code stream is written into the DELTA_POI_DOI%MAX_DELTA_POI_DOI of every frame.
Such as the coding structure of IPPP:MAX_DELTA_POI_DOI=256
Constrain the abs (DELTA_POI_DOI [N+1]-DELTA_POI_DOI [N]) of adjacent encoding and decoding frame<128
The value of transmission DELTA_POI_DOI [N] %256 per frame, as shown in the table
POI | 0 | 2 | 4 | … | 510 | 512 | 514 | … |
DOI | 0 | 1 | 2 | … | 255 | 256 | 257 | … |
DELTA_POI_DOI | 0 | 1 | 2 | … | 255 | 256 | 257 | … |
DELTA_POI_DOI [N] %256 | 0 | 1 | 2 | … | 255 | 0 | 1 | … |
Embodiment 7:
The present invention provides a kind of code stream writing unit of video encoder, which is used for transmission the display order of every frame.
Specific transmission method is as follows:The display order of every frame and the difference (DELTA_POI_DOI) of decoding order are sought, which is equal to
The display order (POI) of each frame subtracts the decoding order (DOI) of present frame;MAX_DELTA_POI_DOI is enabled to be equal to 2 times of phase
The absolute value abs (DELTA_POI_DOI [N+1]-DELTA_POI_DOI [N]) of the difference of the DELTA_POI_DOI of adjacent encoding and decoding
Maximum value;Code stream is written into the DELTA_POI_DOI%MAX_DELTA_POI_DOI of every frame.
Embodiment 8:
The present invention provides a kind of code stream of the every frame display order of transmission, and the generation method of the code stream is as follows:Seek every frame
The difference (DELTA_POI_DOI) of display order and decoding order, the display order (POI) which is equal to each frame subtract currently
The decoding order (DOI) of frame;Enable the difference of the DELTA_POI_DOI of adjacent encoding and decoding of the MAX_DELTA_POI_DOI equal to 2 times
Absolute value abs (DELTA_POI_DOI [N+1]-DELTA_POI_DOI [N]) maximum value;By the DELTA_POI_ of every frame
Code stream is written in DOI%MAX_DELTA_POI_DOI.
Embodiment 9:
The present invention provides a kind of coding/decoding methods of display order, include the following steps:
Step 901:Enable display order and decoding order of the MAX_DELTA_POI_DOI equal to 2 times of adjacent encoding and decoding
The absolute value abs (DELTA_POI_DOI [N+1]-DELTA_POI_DOI [N]) of the difference of difference (DELTA_POI_DOI) is most
Big value.
Step 902:From the code stream of every frame, the display order of present frame and the difference (DELTA_ of decoding order are obtained
POI_DOI) the value (DELTA_POI_DOI%MAX_DELTA_POI_DOI) of mould MAX_DELTA_POI_DOI.
Step 903:Pass through previous encoding and decoding DELTA_POI_DOI [N] %MAX_DELTA_POI_DOI and DELTA_POI_
The value of DELTA_POI_DOI [N+1] %MAX_DELTA_POI_DOI of present frame is converted to DELTA_POI_DOI by DOI [N]
[N+1]。
The pseudocode of the step is as follows:
Step 904:The display order (POI) of each frame is equal to the decoding order (DOI) of present frame plus the aobvious of present frame
Show the difference (DELTA_POI_DOI) of sequence and decoding order.
Embodiment 10:
The present invention provides a kind of decoding apparatus of display order, which is divided into code stream reading device and display order solution
Code device.
Code stream reading device:Enable MAX_DELTA_POI_DOI suitable equal to the display order of 2 times of adjacent encoding and decoding and decoding
The absolute value abs (DELTA_POI_DOI [N+1]-DELTA_POI_DOI [N]) of the difference of the difference (DELTA_POI_DOI) of sequence
Maximum value.From the code stream of every frame, the display order of present frame and difference (DELTA_POI_DOI) mould of decoding order are obtained
The value (DELTA_POI_DOI%MAX_DELTA_POI_DOI) of MAX_DELTA_POI_DOI.
Display order decoding apparatus:By previous encoding and decoding DELTA_POI_DOI [N] %MAX_DELTA_POI_DOI and
DELTA_POI_DOI [N] is converted to the value of DELTA_POI_DOI [N+1] %MAX_DELTA_POI_DOI of present frame
DELTA_POI_DOI[N+1]。
The pseudocode of the step is as follows:
The display order (POI) for calculating each frame is suitable plus the display of present frame equal to the decoding order (DOI) of present frame
The difference (DELTA_POI_DOI) of sequence and decoding order.
Embodiment 11:
The present invention provides a kind of coding method of video, and this method includes following steps:
Step 1101:If the display order of present image is pressed in the sequence head of current video sequence after coded sequence
After first I frame, then following label is done to image in reference picture buffering area:
(1) coded sequence is before the sequence head of current video sequence presses first I frame after coded sequence, all
Labeled as " non-reference picture ".
(2) coded sequence current video sequence sequence head by first I frame after coded sequence after, and
Frame of the value of no_forward_reference_flag equal to 0 is collectively labeled as " non-reference picture ".
Step 1102:Labeled as " non-reference picture " image will not be encoded by present frame and later frame reference.
Embodiment 12:
The present invention provides a kind of coding/decoding method of video, and this method includes following steps:
Step 1201:If the display order of present image is pressed in the sequence head of current video sequence after decoding order
After first I frame, then following label is done to image in reference picture buffering area:
(1) decoding order is before the sequence head of current video sequence presses first I frame after decoding order, all
Labeled as " non-reference picture ".
(2) decoding order current video sequence sequence head by first I frame after decoding order after, and
Frame of the value of no_forward_reference_flag equal to 0 is collectively labeled as " non-reference picture ".
Step 1202:Labeled as " non-reference picture " image will not by present frame and later decoded frame reference.
Embodiment 13:
The present invention provides a kind of code device of video, and for managing reference picture buffering area, which is compiling the device
Following steps can be executed during code:
Step 1301:If the display order of present image is pressed in the sequence head of current video sequence after coded sequence
After first I frame, then following label is done to image in reference picture buffering area:
(1) coded sequence is before the sequence head of current video sequence presses first I frame after coded sequence, all
Labeled as " non-reference picture ";
(2) coded sequence current video sequence sequence head by first I frame after coded sequence after, and
Frame of the value of no_forward_reference_flag equal to 0 is collectively labeled as " non-reference picture ".
Step 1302:Labeled as " non-reference picture " image will not be encoded by present frame and later frame reference.
Embodiment 14:
The present invention provides a kind of coding/decoding method of video, and for managing reference picture buffering area, which is solving the device
Following steps can be executed during code:
Step 1401:If the display order of present image is pressed in the sequence head of current video sequence after decoding order
After first I frame, then following label is done to image in reference picture buffering area:
(1) decoding order is before the sequence head of current video sequence presses first I frame after decoding order, all
Labeled as " non-reference picture ";
(2) decoding order current video sequence sequence head by first I frame after decoding order after, and
Frame of the value of no_forward_reference_flag equal to 0 is collectively labeled as " non-reference picture ".
Step 1402:Labeled as " non-reference picture " image will not by present frame and later decoded frame reference.
Claims (8)
1. a kind of coding method of video, which is characterized in that include the following steps:
(1)Determine the frame number SeqDelayNum [i], wherein i of i-th of sequence output delay of coding>=0, SeqDelayNum
[i]>=1, and distribute the image storage space that a size is not less than SeqDelayNum [i] frame for i-th of sequence of coding;
(2)According to the frame number of the number SeqCodedNum [i] of i-th of encoded sequence frame of coding and output delay
The output of the image storage space image of i-th of sequence of SeqDelayNum [i] management codings, wherein SeqCodedNum [i]>
=0;Specifically management method is:After the frame for often having encoded i-th of sequence, the decoding and rebuilding image of current encoded frame is moved into
The image storage space of i-th of sequence, and it is labeled as " not exporting image ";Detection moment is exported in image, if the i-th of coding
The number SeqCodedNum [i] of a encoded sequence frame is more than or equal to the frame number SeqDelayNum [i] of output delay, then from volume
A frame image of display order minimum is exported in the image storage space of i-th of sequence of code, and is marked as " having exported figure
Picture ";Otherwise, any image is not exported;
(3)Frame number SeqDelayNum [i] write-ins of i-th of sequence output delay of coding are sent to the code of video decoding end
Stream.
2. the coding method of video according to claim 1, which is characterized in that the step(3)Described in i-th of sequence it is defeated
The frame number SeqDelayNum [i] for going out delay be written in the code stream of sequence head or in the code stream of sequence header extension write-in or
It is written in the code stream of the image head of first frame after sequence head.
3. a kind of coding/decoding method of video, which is characterized in that include the following steps:
(1)The frame number of the output delay of decoded i-th of sequence is obtained from the code stream received from Video coding end
SeqDelayNum [i], wherein i>=0, SeqDelayNum [i]>=1, and it is not small for one size of decoded i-th of sequence distribution
In the image storage space of SeqDelayNum [i] frame;
(2)According to the frame number of the number SeqDecodeNum [i] of decoded i-th of sequence decoded frame and output delay
SeqDelayNum [i] manages the output of decoded i-th of sequence image memory space image, wherein SeqDecodeNum [i]>=
0;Specifically management method is:After the frame for often having decoded i-th of sequence, the decoding and rebuilding image of current decoded frame is moved into
The image storage space of i-th of sequence, and it is labeled as " not exporting image ";Detection moment is exported in image, if decoded i-th
The number SeqDecodeNum [i] of a sequence nucleotide sequence decoded frame is more than or equal to the frame number SeqDelayNum [i] of output delay,
A frame image of display order minimum is then exported from the image storage space of decoded i-th of sequence, and is marked as "
Export image ";Otherwise, any image is not exported.
4. the coding/decoding method of video according to claim 3, which is characterized in that the step(1)In, the acquisition is decoded
The frame number SeqDelayNum [i] of the output delay of i-th of sequence, the method for acquisition include:In the code stream of sequence head obtain or
It obtains in the code stream of sequence header extension or is obtained in the code stream of the image head of first frame after the sequence head.
5. a kind of video coding apparatus, which is characterized in that including coding processing unit and code stream writing unit, the coded treatment
The frame number SeqDelayNum [i], wherein i of i-th sequence output delay of the unit for determining coding>=0, SeqDelayNum
[i]>=1, and distribute the image storage space that a size is not less than SeqDelayNum [i] frame for i-th of sequence of coding;And
And according to the frame number SeqDelayNum of the number SeqCodedNum [i] of i-th of encoded sequence frame of coding and output delay
The output of the image storage space image of i-th of sequence of [i] management coding, wherein SeqCodedNum [i]>=0;Specific management
Method is:After the frame for often having encoded i-th of sequence, by decoding and rebuilding image i-th of sequence of immigration of current encoded frame
Image storage space, and it is labeled as " not exporting image ";Detection moment is exported in image, if i-th of sequence of coding has been compiled
The number SeqCodedNum [i] of code frame is more than or equal to the frame number SeqDelayNum [i] of output delay, then from i-th of coding
A frame image of display order minimum is exported in the image storage space of sequence, and is marked as " having exported image ";Otherwise,
Any image is not exported;
Frame number SeqDelayNum [i] write-ins for i-th of sequence output delay that the code stream writing unit is used to encode are sent
To the code stream of video decoding end.
6. video coding apparatus according to claim 5, which is characterized in that i-th of sequence by coding exports delay
Frame number SeqDelayNum [i] write-ins be sent to the code stream of video decoding end, the method for write-in includes:In the code stream of sequence head
Middle write-in write-in or is written after the sequence head in the code stream of sequence header extension in the code stream of the image head of first frame.
7. a kind of video decoder, which is characterized in that including codec processing unit and the sequence being set in code stream reading unit
The frame number acquiring unit of the frame number acquiring unit of row output delay, the sequence output delay is used for from received from Video coding end
Code stream in obtain decoded i-th of sequence output delay frame number SeqDelayNum [i], wherein i>=0,
SeqDelayNum[i]>=1;
The codec processing unit is the figure that decoded i-th of sequence distributes that a size is not less than SeqDelayNum [i] frame
Image storage space;According to the frame number of the number SeqDecodeNum [i] of decoded i-th of sequence decoded frame and output delay
SeqDelayNum [i] manages the output of decoded i-th of sequence image memory space image, wherein SeqDecodeNum [i]>=
0;Specifically management method is:After the frame for often having decoded i-th of sequence, the decoding and rebuilding image of current decoded frame is moved into
The image storage space of i-th of sequence, and it is labeled as " not exporting image ";Detection moment is exported in image, if decoded i-th
The number SeqDecodeNum [i] of a sequence nucleotide sequence decoded frame is more than or equal to the frame number SeqDelayNum [i] of output delay,
A frame image of display order minimum is then exported from the image storage space of decoded i-th of sequence, and is marked as "
Export image ";Otherwise, any image is not exported.
8. video decoder according to claim 7, which is characterized in that obtained from the code stream received from Video coding end
The frame number SeqDelayNum [i] of the output delay of decoded i-th of sequence, the method for acquisition include:In the code stream of sequence head
It obtains or obtains in the code stream of sequence header extension or obtained in the code stream of the image head of first frame after the sequence head.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410141736.0A CN103945221B (en) | 2014-04-09 | 2014-04-09 | Video coding-decoding method, device and the video code flow of generation |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410141736.0A CN103945221B (en) | 2014-04-09 | 2014-04-09 | Video coding-decoding method, device and the video code flow of generation |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103945221A CN103945221A (en) | 2014-07-23 |
CN103945221B true CN103945221B (en) | 2018-08-07 |
Family
ID=51192667
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410141736.0A Active CN103945221B (en) | 2014-04-09 | 2014-04-09 | Video coding-decoding method, device and the video code flow of generation |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103945221B (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104113778B (en) * | 2014-08-01 | 2018-04-03 | 广州猎豹网络科技有限公司 | A kind of method for decoding video stream and device |
CN106713927B (en) * | 2016-11-14 | 2019-08-13 | 珠海格力电器股份有限公司 | Image output device, method and decoder |
CN111836104B (en) * | 2020-07-09 | 2022-01-28 | 海信视像科技股份有限公司 | Display apparatus and display method |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6043851A (en) * | 1997-01-13 | 2000-03-28 | Nec Corporation | Image and sound synchronizing reproduction apparatus and method of the same |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7652994B2 (en) * | 2006-03-31 | 2010-01-26 | Sharp Laboratories Of America, Inc. | Accelerated media coding for robust low-delay video streaming over time-varying and bandwidth limited channels |
JP2009017014A (en) * | 2007-07-02 | 2009-01-22 | Sony Corp | Device, method and program for decoding video and device for receiving broadcasting signal |
JP5197238B2 (en) * | 2008-08-29 | 2013-05-15 | キヤノン株式会社 | Video transmission apparatus, control method thereof, and program for executing control method |
-
2014
- 2014-04-09 CN CN201410141736.0A patent/CN103945221B/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6043851A (en) * | 1997-01-13 | 2000-03-28 | Nec Corporation | Image and sound synchronizing reproduction apparatus and method of the same |
Also Published As
Publication number | Publication date |
---|---|
CN103945221A (en) | 2014-07-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6233984B2 (en) | Virtual reference decoder for multiview video coding | |
EP2991349B1 (en) | Method of palette index signaling for image and video coding | |
CN112272298B (en) | Method and device for coding and decoding conversion coefficient | |
CN100562114C (en) | Video encoding/decoding method and decoding device | |
MY153200A (en) | Picture information coding device and coding method | |
CN104106264B (en) | Metadata assisted video decoding | |
US8238427B2 (en) | Rate distortion optimized adaptive intra refresh for video coding | |
CN103260018B (en) | Intra-frame image prediction decoding method and Video Codec | |
RU2013158832A (en) | REDUCED DELAY IN VIDEO CODING AND DECODING | |
TWI374669B (en) | Decoder architecture systems, apparatus and methods | |
GB2381403A (en) | Video coding using multiple buffers | |
JP2014523693A5 (en) | ||
JP2022507669A (en) | How to identify random access points and picture types | |
CN108111865A (en) | JCTVC-L0226:VPS and VPS_EXTENSION updates | |
CN103945221B (en) | Video coding-decoding method, device and the video code flow of generation | |
CN103491379A (en) | Method and device for improving intelligent analysis performance | |
US20110216827A1 (en) | Method and apparatus for efficient encoding of multi-view coded video data | |
CN103167289A (en) | Method and device for coding and decoding image | |
CN105874800B (en) | Syntax resolver and syntax analytic method | |
CN103873872B (en) | Reference pictures management method and device | |
US8503534B2 (en) | Multi-bus architecture for a video codec | |
CN113574896B (en) | Method, equipment and electronic equipment for acquiring intra-frame prediction mode | |
US8443413B2 (en) | Low-latency multichannel video port aggregator | |
CN103780908A (en) | Efficient H264 decoding method | |
CN108353180A (en) | Video coding with delay reconstruction |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |