CN104144347A - H.264/AVC video I-frame error recovery method based on reversible data hiding - Google Patents

H.264/AVC video I-frame error recovery method based on reversible data hiding Download PDF

Info

Publication number
CN104144347A
CN104144347A CN201410287578.XA CN201410287578A CN104144347A CN 104144347 A CN104144347 A CN 104144347A CN 201410287578 A CN201410287578 A CN 201410287578A CN 104144347 A CN104144347 A CN 104144347A
Authority
CN
China
Prior art keywords
current macro
macro
macro block
vector
characteristic information
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.)
Granted
Application number
CN201410287578.XA
Other languages
Chinese (zh)
Other versions
CN104144347B (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.)
Ningbo University
Original Assignee
Ningbo University
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 Ningbo University filed Critical Ningbo University
Priority to CN201410287578.XA priority Critical patent/CN104144347B/en
Publication of CN104144347A publication Critical patent/CN104144347A/en
Application granted granted Critical
Publication of CN104144347B publication Critical patent/CN104144347B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

The invention discloses an H.264/AVC video I-frame error recovery method based on reversible data hiding. Firstly, a feature vector of a macro block is extracted and a host vector of the macro block is confirmed at the encoding end, then a feature vector of a previous macro block is embedded into the host vector of the current macro block; secondly, feature information is extracted from the macro block in an I-frame, embedded with the feature information, at the encoding end, an encoding mode and a brightness prediction mode of the macro block are confirmed, and then error recovery is performed on a non-correct encoding block. The H.264/AVC video I-frame error recovery method has the advantages that the extracted feature information of the macro block is confirmed is confirmed at the encoding end according to the brightness prediction mode of a subblock of the macro block or the encoding mode and the brightness prediction mode of the macro block, lost macro blocks can be effectively recovered during scene change, and when the feature vector is embedded into the host vector, embedding is performed by adopting a generalized differential expansion method according to the encoding mode of one macro block, and the embedding capacity is controllable. In addition, original data can be recovered after the feature information is extracted but before the feature information is embedded into the I-frame.

Description

A kind of H.264/AVC video I frame error recovery method based on hiding reversible data
Technical field
The present invention relates to error resilient and secret communication technology in a kind of video network transmitting procedure, especially relate to a kind of H.264/AVC video I frame error recovery method based on hiding reversible data.
Background technology
Along with multimedia technology reaches its maturity and the driving of user's request, wireless video communication has obtained increasing concern.But the transmission channel of cordless communication network and the Internet is also unreliable, H.264/AVC when video code flow transmits in communication channel, particularly, in the time having the narrow band channel of larger noise jamming or likely the channel of packet loss (Internet) above transmits, the problems such as channel disturbance, network congestion and Route Selection delay can cause the generation of the error code phenomenons such as random bit mistake, sudden mistake.
H.264/AVC video encoding standard is stronger to the dependence of video code flow integrality efficiently, once there is packet loss or error code, very large on the impact of video quality.This be because: on the one hand, H.264/AVC adopt Variable Length Code (VLC, Variable Length Coding) improve code efficiency, but because each VLC code word of variable-length encoding has different length, if therefore there is mistake in some bit wherein, decoder cannot correctly be skipped the code word of makeing mistakes, thereby VLC code word is lost synchronously, causes bit stream to be below correctly decoded; On the other hand, H.264/AVC adopt the Predicting Techniques such as infra-frame prediction, estimation, motion-vector prediction, make the data below will be with reference to data above in the time of coding, if there is mistake in certain partial data, not only self can not be correctly decoded, and its data below also will be affected, and this impact can be continued until follow-up multiframe.Above-mentioned situation all will directly cause the decoded in error of video information, and the reconstruction quality of vision signal is sharply declined, and even can cause whole video communication complete failure when serious.Therefore, how to reduce or the impact of eliminating error of transmission is an important research direction in low bit-rate video communications applications.
For the error recovery method of video H.264/AVC, for example, utilize video content correlation to carry out mistake recovery in decoding end although there are at present some; Between coding side and decoding end, setting up the interactive mode mistake of feedback path recovers; Utilize Information Hiding Techniques, extract and be suitable for the wrong characteristic information recovering at coding side, by the mode of Information hiding, characteristic information is passed to decoding end and recover for mistake.Wherein, carrying out the wrong method of recovering based on Information Hiding Techniques, because the information of coding side is abundant compared with decoding end, accurate, is a kind of thinking of new processing video frequency error recovery.The reversible data concealing method that the people such as Lin quote based on difference expansion embeds characteristic information, but because characteristic information is pixel value, causes the characteristic information bit number of embedding very many, has therefore used multilayer difference, calculates relative complex.The people such as Chen have proposed a kind of effective error recovery method, the method is by motion vector (the Motion vector of the each macro block in the I frame calculating, MV) as key character data, adopt the mode of loop to be embedded in other macro blocks of same frame, what embedding grammar adopted is odd-even embedding, due to permanent original quantification DCT (the Discrete Cosine Transform) coefficient value of video carrier that changed after embedding information, therefore after information extraction, can affect the video quality of reconstruction.The people such as Chung adopt the reversible information hidden method of histogram translation on this basis, it is in zero quantization DCT coefficient that the motion vector of macro block is embedded into value, but the method need to be revised a lot of quantization DCT coefficients, so not only can affect the not sentience of video, and can increase transmission code rate.Therefore, carry out the wrong method of recovering in the space of extracting validity feature, selecting the aspect such as suitable embedding grammar and embedded location, raising video reconstruction quality to be still improved based on Information Hiding Techniques.
Summary of the invention
Technical problem to be solved by this invention is to provide a kind of H.264/AVC video I frame error recovery method based on hiding reversible data, in the time there is scene change, the macro block of losing in the high efficient recovery I frame of characteristic information energy that it extracts, promote I frame mistake Quality of recovery, and it is extracting after characteristic information, can reduce I frame macro block in the initial data embedding before characteristic information.
The present invention solves the problems of the technologies described above adopted technical scheme: a kind of H.264/AVC video I frame error recovery method based on hiding reversible data, is characterized in that comprising the following steps:
1. at coding side, in the each macro block in I frame except the 1st macro block, embed characteristic information, obtain being embedded with the I frame of characteristic information, detailed process is:
1. k the macro block-1, current precoding in I frame being completed is defined as current macro, and wherein, 1≤k≤K, represents total number of the macro block comprising in I frame at this K, and the initial value of k is 1;
1.-2, the decimal value of the CBP of current macro is converted into the binary string being made up of 6 binary values, and is designated as A, A=a 1a 2a 3a 4a 5a 6, wherein, a 1for the highest order binary value of A, a 6for the lowest order binary value of A;
1.-3, extract the characteristic vector of current macro: if the coding mode of current macro is Intra4 × 4, extract in current macro and be numbered 0, 4, 8, the Digital ID of 12 these four 4 × 4 luma prediction modes separately, then the Digital ID of these four 4 × 4 luma prediction modes is separately quantified as to 4 bits, the Digital ID by the order of these four 4 × 4 numberings in current macro, this luma prediction modes of four 4 × 4 being represented with bit is afterwards arranged and is formed an one-dimensional vector that comprises 16 elements, characteristic vector using this one-dimensional vector as current macro again, be designated as w Intra 4 × 4 ( k ) = ( w k , 1 Intra 4 × 4 w k , 2 Intra 4 × 4 . . . w k , 16 Intar 4 × 4 ) , Wherein, with the corresponding characteristic vector w that represents current macro intra4 × 4(k) the 1st element in, the 2nd element and the 16th element;
If the coding mode of current macro is Intra16 × 16, identify the coding mode of current macro by numeral 9, then the Digital ID of the coding mode of current macro is quantified as to 4 bits, and the Digital ID of the luma prediction modes of current macro is quantified as to 4 bits, the Digital ID that the Digital ID sequentially coding mode of current macro being represented with bit afterwards and the luma prediction modes of current macro represent with bit is arranged and is formed an one-dimensional vector that comprises 8 elements, characteristic vector using this one-dimensional vector as current macro, is designated as w again intra16 × 16(k), w Intra 16 × 16 ( k ) = ( w k , 1 Intra 16 × 16 w k , 2 Intra 16 × 16 . . . w k , 8 Intar 16 × 16 ) , Wherein, with the corresponding characteristic vector w that represents current macro intra16 × 16(k) the 1st element in, the 2nd element and the 8th element;
1.-4, determine host's vector of current macro: calculate all interchange DCT coefficients of each 4 × 4 in current macro absolute value and, using with maximum 4 × 4 of value as characteristic information embedded block, then scan all quantization DCT coefficients in characteristic information embedded block in zig-zag mode, the order scanning by zig-zag mode is afterwards arranged the 8th in characteristic information embedded block to the 16th quantization DCT coefficient to form an one-dimensional vector that comprises 9 elements, host's vector using this one-dimensional vector as current macro again, be designated as x (k), x (k)=(x 1x 2x 9), wherein, x 1, x 2and x 9the 1st element, the 2nd element and the 9th element in the corresponding host's vector x (k) that represents current macro,
1.-5, the characteristic vector of a upper macro block of current macro is embedded in host's vector of current macro: judge whether current macro is the 1st macro block in I frame, if so, current macro is not dealt with, directly execution step 1.-7; Otherwise, if the coding mode of a upper macro block of current macro is Intra4 × 4, adopt the method for twice Generalized Difference expansion by the characteristic vector w of a upper macro block of current macro intra4 × 4(k-1) be embedded in host's vector x (k) of current macro, obtain the vector that is embedded with characteristic information corresponding to current macro then use in all elements replace according to the order of sequence the 8th to the 16th quantization DCT coefficient in the characteristic information embedded block in current macro, then execution step 1.-6; If the coding mode of a upper macro block of current macro is Intra16 × 16, adopt the method for a Generalized Difference expansion by the characteristic vector w of a upper macro block of current macro intra16 × 16(k-1) be embedded in host's vector x (k) of current macro, obtain the vector that is embedded with characteristic information corresponding to current macro then use in all elements replace according to the order of sequence the 8th to the 16th quantization DCT coefficient in the characteristic information embedded block in current macro, then execution step 1.-6;
1.-6, the CBP of amendment current macro, then execution step 1.-7;
1.-7, current macro is carried out to entropy coding;
1.-8, make k=k+1, using the macro block that in I frame, next precoding completes as current macro, returning to step 1.-2 continues to carry out again, until the macro block that all precodings in I frame complete is disposed, obtain the encoding code stream of the I frame that is embedded with characteristic information, wherein, "=" in k=k+1 is assignment;
2. in decoding end, from be embedded with the each macro block the I frame of characteristic information, extract characteristic information, and determine coding mode and the luma prediction modes of each macro block, the more non-piece that is correctly decoded is carried out to mistake recovery, detailed process is:
2.-1, the each macro block being embedded with in the I frame of characteristic information is carried out to entropy decoding, then determine that whether the decoded each macro block of entropy is for being correctly decoded piece, then determine the each vector that includes characteristic information that is correctly decoded piece except decoded the 1st macro block of entropy, from the each vector that includes characteristic information that is correctly decoded piece except decoded the 1st macro block of entropy, extract characteristic information again, and coding mode and the luma prediction modes of definite each upper macro block that is correctly decoded piece except decoded the 1st macro block of entropy, suppose that decoded k' the macro block of entropy is for being correctly decoded piece, ?
The vectorial detailed process that includes characteristic information of determining this macro block is: calculate in this macro block each 4 × 4 all after inverse quantization for exchange DCT coefficient quantization DCT coefficients absolute value and, using with maximum 4 × 4 of value as feature information extraction piece, then scan all quantization DCT coefficients in feature information extraction piece in zig-zag mode, the order scanning by zig-zag mode is afterwards arranged the 8th in feature information extraction piece to the 16th quantization DCT coefficient to form an one-dimensional vector that comprises 9 elements, the vector that includes characteristic information using this one-dimensional vector as this macro block again, be designated as x ^ ′ ( k ′ ) , x ^ ′ ( k ′ ) = ( x ^ 1 ′ x ^ 2 ′ . . . x ^ 9 ′ ) , Wherein, with corresponding expression in the 1st element, the 2nd element and the 9th element;
From the vector that includes characteristic information of this macro block in extract characteristic information, and determine coding mode and the luma prediction modes of a upper macro block of this macro block;
Above-mentioned, 2≤k'≤K;
2.-2, k macro block in decoded I frame is defined as to current macro, wherein, 1≤k≤K, the initial value of k is 1;
2.-3, judge whether current macro is last macro block in decoded I frame, if current macro is not last macro block, 2.-4 of execution step, if current macro is last macro block, execution step 2.-5;
2.-4, judge that current macro is still the non-piece that is correctly decoded for being correctly decoded piece, if current macro, for being correctly decoded piece, does not deal with current macro, then execution step 2.-6;
If current macro is the non-piece that is correctly decoded, the next macro block that judges current macro is still the non-piece that is correctly decoded for being correctly decoded piece, if the next macro block of current macro is for being correctly decoded piece, utilize coding mode and the luma prediction modes of current macro to recover current macro, then execution step 2.-6; If the next macro block of current macro is the non-piece that is correctly decoded, adopt bilinear interpolation method to recover current macro;
2.-5, judge that current macro is still the non-piece that is correctly decoded for being correctly decoded piece, if current macro, for being correctly decoded piece, does not deal with current macro, so far completes all non-recovery that is correctly decoded piece in decoded I frame; If current macro is the non-piece that is correctly decoded, adopt bilinear interpolation method to recover current macro, so far complete all non-recovery that is correctly decoded piece in decoded I frame;
2.-6, make k=k+1, using the macro block pending next one in decoded I frame as current macro, then return to step 2.-3 and continue to carry out, wherein, "=" in k=k+1 is assignment.
In described step 1.-5, adopt the method for twice Generalized Difference expansion by the characteristic vector w of a upper macro block of current macro intra4 × 4(k-1) detailed process being embedded in host's vector x (k) of current macro is:
A1, x (k) is carried out to direct transform, obtain vectorial y (k), y (k)=(y 1y 2y 9), wherein, y 1, y 2and y 9corresponding the 1st element, the 2nd element and the 9th element representing in y (k), y 2=x 2-x 1, y i'=x i'-x 1, y 9=x 9-x 1, 2≤i'≤9, α ifor weights, symbol for rounding symbol downwards;
A2, by w intra4 × 4(k-1) 8 elements of the 1st element to the in are embedded in y (k), obtain vector wherein, with corresponding expression in the 1st element, the 2nd element and the 9th element, 2≤i'≤9, with the corresponding w that represents intra4 × 4(k-1) the 1st element, an i'-1 element and the 8th element in;
A3, right carry out inverse transformation, obtain being embedded with the vector of Partial Feature information wherein, with corresponding expression in the 1st element, the 2nd element and the 9th element,
2≤i'≤9;
A4, right carry out direct transform, obtain vector wherein, with corresponding expression in the 1st element, the 2nd element and the 9th element, 2≤i'≤9, α ifor weights;
A5, by w intra4 × 4(k-1) 16 elements of the 9th element to the in are embedded into in, obtain vector wherein, with corresponding expression in the 1st element, the 2nd element and the 9th element, y ^ 1 = y ~ 1 , y ^ 2 = 2 × y ~ 2 + w k - 1,9 Intra 4 × 4 , y ^ i ′ = 2 × y ~ i ′ + w k - 1 , i ′ + 7 Intra 4 × 4 , y ^ 9 = 2 × y ~ 9 + w k - 1,16 Intra 4 × 4 , 2≤i'≤9, with the corresponding w that represents intra4 × 4(k-1) the 9th element, an i'+7 element and the 16th element in;
A6, right carry out inverse transformation, obtain the vector that is embedded with characteristic information corresponding to current macro wherein, with corresponding expression in the 1st element, the 2nd element and the 9th element, 2≤i'≤9.
In described step 1.-5, adopt the method for a Generalized Difference expansion by the characteristic vector w of a upper macro block of current macro intra16 × 16(k-1) detailed process being embedded in host's vector x (k) of current macro is:
B1, x (k) is carried out to direct transform, obtain vectorial y (k), y (k)=(y 1y 2y 9), wherein, y 1, y 2and y 9corresponding the 1st element, the 2nd element and the 9th element representing in y (k), y i'=x i'-x 1, y 9=x 9-x 1, 2≤i'≤9, α ifor weights, symbol for rounding symbol downwards;
B2, by w intra16 × 16(k-1) be embedded in y (k), obtain vector wherein, with corresponding expression in the 1st element, the 2nd element and the 9th element, y ^ 2 = 2 × y 2 + w k - 1,1 Intra 16 × 16 , y ^ i ′ = 2 × y i ′ + w k - 1 , i ′ - 1 Intra 16 × 16 , y ^ 9 = 2 × y 9 + w k - 1,8 Intra 16 × 16 , 2≤i'≤9, with the corresponding w that represents intra16 × 16(k-1) the 1st element, an i'-1 element and the 8th element in;
B3, right carry out inverse transformation, obtain the vector that is embedded with characteristic information corresponding to current macro wherein, with corresponding expression in the 1st element, the 2nd element and the 9th element, 2≤i'≤9.
The detailed process of revising the CBP of current macro in described step 1.-6 is:
If 8 × 8 of the characteristic information embedded block place in 1.-6a current macro are 8 × 8 of position, the upper left corner in current macro, add up whether all quantization DCT coefficients that current macro embeds in 8 × 8 of position, the upper left corner after characteristic information are 0 entirely, if be 0 entirely, by a in A 6be set to 0, a 3, a 4, a 5remain unchanged, if be not 0 entirely, by a in A 6be set to 1, a 3, a 4, a 5remain unchanged;
If 8 × 8 of the characteristic information embedded block place in current macro are 8 × 8 of position, the upper right corner in current macro, add up whether all quantization DCT coefficients that current macro embeds in 8 × 8 of position, the upper right corner after characteristic information are 0 entirely, if be 0 entirely, by a in A 5be set to 0, a 3, a 4, a 6remain unchanged, if be not 0 entirely, by a in A 5be set to 1, a 3, a 4, a 6remain unchanged;
If 8 × 8 of the characteristic information embedded block place in current macro are 8 × 8 of position, the lower left corner in current macro, add up whether all quantization DCT coefficients that current macro embeds in 8 × 8 of position, the lower left corner after characteristic information are 0 entirely, if be 0 entirely, by a in A 4be set to 0, a 3, a 5, a 6remain unchanged, if be not 0 entirely, by a in A 4be set to 1, a 3, a 5, a 6remain unchanged;
If 8 × 8 of the characteristic information embedded block place in current macro are 8 × 8 of position, the lower right corner in current macro, add up whether all quantization DCT coefficients that current macro embeds in 8 × 8 of position, the lower right corner after characteristic information are 0 entirely, if be 0 entirely, by a in A 3be set to 0, a 4, a 5, a 6remain unchanged, if be not 0 entirely, by a in A 3be set to 1, a 4, a 5, a 6remain unchanged;
1.-6b, amended A is changed into decimal number, obtain the amended CBP of current macro.
In described step 2.-1 from the vector that includes characteristic information of this macro block in extract characteristic information, and determine that the coding mode of a upper macro block and the detailed process of luma prediction modes of this macro block is:
2.-1a, right carry out direct transform, obtain vector wherein, with corresponding expression in the 1st element, the 2nd element and the 9th element, z ^ 2 = x ^ 2 ′ - x ^ 1 ′ , z ^ i ' = x ^ i ' ′ - x ^ 1 ′ , z ^ 9 = x ^ 9 ′ - x ^ 1 ′ , 2≤i'≤9, α ifor weights, symbol for rounding symbol downwards;
2.-1b, from in extract the characteristic information being formed by 8 characteristic information bits, be designated as wherein, with corresponding expression in the 1st element, the 2nd element and the 8th element, w ^ 1 = | z ^ 2 | mod 2 , w ^ 2 = | z ^ 3 | mod 2 , w ^ j = | z ^ j + 1 | mod 2 , w ^ 8 = | z ^ 9 | mod 2 , 1≤j≤8, symbol " || " is the oeprator that takes absolute value;
2.-1c, a new vectorial z (k') of structure, z (k')=(z 1z 2z 9), wherein, z 1, z 2and z 9corresponding the 1st element, the 2nd element and the 9th element representing in z (k'), z 9 = z ^ 9 - w ^ 8 2 , 2≤i'≤9;
2.-1d, z (k') is carried out to inverse transformation, obtain vector f (k'), f (k')=(f 1f 2f 9), wherein, f 1, f 2and f 9corresponding the 1st element, the 2nd element and the 9th element representing in f (k'), f 2=z 2+ f 1, f i'=z i'+ f 1, f 9=z 9+ f 1, 2≤i'≤9;
2.-1e, will be by in the 1st element the 2nd element the 3rd element with the 4th element the binary string of composition is converted into decimal value, if the corresponding numeral 9 of decimal value, the coding mode that represents a upper macro block of this macro block is Intra16 × 16, then use all elements in f (k') to replace according to the order of sequence the 8th to the 16th quantization DCT coefficient in the feature information extraction piece in a upper macro block of this macro block, then the luma prediction modes of determining a upper macro block of this macro block, the Digital ID of the luma prediction modes of a upper macro block of this macro block is served as reasons in the 5th element the 6th element the 7th element with the 8th element the decimal value that the binary string of composition is transformed, finishes feature information extraction and coding mode and luma prediction modes and determines;
If decimal value is not corresponding digital 9, the coding mode that represents a upper macro block of this macro block is Intra4 × 4, then 2.-1f of execution step;
2.-1f, f (k') is carried out to direct transform, obtain vector wherein, with corresponding expression in the 1st element, the 2nd element and the 9th element, 2≤i'≤9, α ifor weights, symbol for rounding symbol downwards;
2.-1g, from in extract the characteristic information being formed by 8 characteristic information bits, be designated as wherein, with corresponding expression in the 1st element, the 2nd element and the 8th element, 1≤j≤8, symbol " || " is the oeprator that takes absolute value;
2.-1h, a new vectorial z'(k' of structure), z'(k')=(z 1' z 2' ... z 9'), wherein, z 1', z 2' and z 9' the corresponding z'(k' that represents) and in the 1st element, the 2nd element and the 9th element, 2≤i'≤9;
2.-1i, to z'(k') carry out inverse transformation, obtain vector x (k'), x (k')=(x 1x 2x 9), wherein, x 1, x 2and x 9corresponding the 1st element, the 2nd element and the 9th element representing in x (k'), x 2=z 2'+x 1, x i'=z i''+x 1, x 9=z 9'+x 1, 2≤i'≤9;
2.-1j, replace according to the order of sequence the 8th to the 16th quantization DCT coefficient in the feature information extraction piece in the upper macro block of this macro block with all elements in x (k');
2.-1k, a vectorial w (k') who comprises 16 elements of structure, front 8 elements of w (k') are 8 elements, rear 8 elements of w (k') are 8 elements;
2.-1l, determine in the upper macro block of this macro block and be numbered 0 the luma prediction modes of 4 × 4, the Digital ID of this luma prediction modes of 4 × 4 is for by the 1st element in w (k'), the 2nd element, the 3rd element and the 4th decimal value that the binary string that element forms is transformed;
Determine in the upper macro block of this macro block and be numbered 4 the luma prediction modes of 4 × 4, the Digital ID of this luma prediction modes of 4 × 4 is for by the 5th element in w (k'), the 6th element, the 7th element and the 8th decimal value that the binary string that element forms is transformed;
Determine in the upper macro block of this macro block and be numbered 8 the luma prediction modes of 4 × 4, the Digital ID of this luma prediction modes of 4 × 4 is for by the 9th element in w (k'), the 10th element, the 11st element and the 12nd decimal value that the binary string that element forms is transformed;
Determine in the upper macro block of this macro block and be numbered 12 the luma prediction modes of 4 × 4, the Digital ID of this luma prediction modes of 4 × 4 is for by the 13rd element in w (k'), the 14th element, the 15th element and the 16th decimal value that the binary string that element forms is transformed;
Finishing feature information extraction and coding mode and luma prediction modes determines.
In described step 2.-4, utilize the coding mode of current macro and the detailed process of luma prediction modes recovery current macro to be:
If the coding mode of 2.-4a current macro is Intra16 × 16, utilize the luma prediction modes of current macro to predict the pixel value of the each pixel in current macro, then the pixel value of the final recovery using the predicted value of the each pixel in current macro as corresponding pixel points, completes the recovery of current macro;
If the coding mode of 2.-4b current macro is Intra4 × 4, utilize in current macro, to be numbered 0 the luma prediction modes of 4 × 4 pixel value of the each pixel in each 4 × 4 in 8 × 8 of these 4 × 4 places is predicted the then pixel value of the final recovery of the each pixel in corresponding 4 × 4 using the predicted value of the each pixel in each 4 × 4;
Utilize in current macro, to be numbered 4 the luma prediction modes of 4 × 4 pixel value of the each pixel in each 4 × 4 in 8 × 8 of these 4 × 4 places is predicted the then pixel value of the final recovery of the each pixel in corresponding 4 × 4 using the predicted value of the each pixel in each 4 × 4;
Utilize in current macro, to be numbered 8 the luma prediction modes of 4 × 4 pixel value of the each pixel in each 4 × 4 in 8 × 8 of these 4 × 4 places is predicted the then pixel value of the final recovery of the each pixel in corresponding 4 × 4 using the predicted value of the each pixel in each 4 × 4;
Utilize in current macro, to be numbered 12 the luma prediction modes of 4 × 4 pixel value of the each pixel in each 4 × 4 in 8 × 8 of these 4 × 4 places is predicted the then pixel value of the final recovery of the each pixel in corresponding 4 × 4 using the predicted value of the each pixel in each 4 × 4.
Compared with prior art, the invention has the advantages that:
1) at coding side, the characteristic information of the macro block extracting is determined by the luma prediction modes of the sub-block of macro block (coding mode is Intra4 × 4) or is determined by coding mode and the luma prediction modes of macro block (coding mode is Intra16 × 16), it is convenient not only to extract, and the macro block of losing can have efficient recovery to have scene change time, thereby promote I frame mistake Quality of recovery.
2) at coding side, embed characteristic vector in host's vector time, according to the coding mode of a upper macro block of the macro block when pre-treatment, adopt the method for twice Generalized Difference expansion or the method for a Generalized Difference expansion to embed, Generalized Difference extended method not only makes embedding capacity controlled, and can realize after characteristic information extraction, reduction I frame embeds the initial data before characteristic information.
3) the difference object of the Generalized Difference extended method that the inventive method adopts is quantization DCT coefficient, its difference is not existed to the situation of overflowing, and computation complexity reduces greatly.
4) the inventive method is carried out the recovery of I frame mistake by Information Hiding Techniques, makes full use of the information of coding side, only compares and carries out error concealing in decoding end, and available video resource is abundanter, accurate, and flexibility is higher.
Brief description of the drawings
Fig. 1 be the inventive method totally realize block diagram;
Fig. 2 is the numbering schematic diagram of 16 4 × 4 in a macro block;
When Fig. 3 a is coded quantization parameter QP=28, the I frame of Foreman standard test sequences, under different macroblock loss rate, adopts the inventive method and existing JM method and the RH method wrong relatively schematic diagram of objective quality that recovers after treatment;
When Fig. 3 b is coded quantization parameter QP=28, the I frame of Carphone standard test sequences, under different macroblock loss rate, adopts the inventive method and existing JM method and the RH method wrong relatively schematic diagram of objective quality that recovers after treatment;
When Fig. 3 c is coded quantization parameter QP=28, the I frame of Container standard test sequences, under different macroblock loss rate, adopts the inventive method and existing JM method and the RH method wrong relatively schematic diagram of objective quality that recovers after treatment;
When Fig. 3 d is coded quantization parameter QP=28, the I frame of Akyio standard test sequences, under different macroblock loss rate, adopts the inventive method and existing JM method and the RH method wrong relatively schematic diagram of objective quality that recovers after treatment;
When Fig. 3 e is coded quantization parameter QP=28, the I frame of Silent standard test sequences, under different macroblock loss rate, adopts the inventive method and existing JM method and the RH method wrong relatively schematic diagram of objective quality that recovers after treatment;
When Fig. 3 f is coded quantization parameter QP=28, the I frame of Mobile standard test sequences, under different macroblock loss rate, adopts the inventive method and existing JM method and the RH method wrong relatively schematic diagram of objective quality that recovers after treatment;
When Fig. 4 a is coded quantization parameter QP=38, the I frame of Foreman standard test sequences, under different macroblock loss rate, adopts the inventive method and existing JM method and the RH method wrong relatively schematic diagram of objective quality that recovers after treatment;
When Fig. 4 b is coded quantization parameter QP=38, the I frame of Carphone standard test sequences, under different macroblock loss rate, adopts the inventive method and existing JM method and the RH method wrong relatively schematic diagram of objective quality that recovers after treatment;
When Fig. 4 c is coded quantization parameter QP=38, the I frame of Container standard test sequences, under different macroblock loss rate, adopts the inventive method and existing JM method and the RH method wrong relatively schematic diagram of objective quality that recovers after treatment;
When Fig. 4 d is coded quantization parameter QP=38, the I frame of Akyio standard test sequences, under different macroblock loss rate, adopts the inventive method and existing JM method and the RH method wrong relatively schematic diagram of objective quality that recovers after treatment;
When Fig. 4 e is coded quantization parameter QP=38, the I frame of Silent standard test sequences, under different macroblock loss rate, adopts the inventive method and existing JM method and the RH method wrong relatively schematic diagram of objective quality that recovers after treatment;
When Fig. 4 f is coded quantization parameter QP=38, the I frame of Mobile standard test sequences, under different macroblock loss rate, adopts the inventive method and existing JM method and the RH method wrong relatively schematic diagram of objective quality that recovers after treatment;
Fig. 5 a is the former figure of the 20th frame (I frame) of Carphone standard test sequences;
Fig. 5 b is that Fig. 5 a loses the figure (losing piece rate is 20%) after piece;
Fig. 5 c is the figure adopting after existing JM method is recovered Fig. 5 b;
Fig. 5 d is the figure adopting after existing RH method is recovered Fig. 5 b;
Fig. 5 e is the figure adopting after the inventive method is recovered Fig. 5 b;
When Fig. 6 a is coded quantization parameter QP=28, front 150 frames of composition sequence, under different macroblock loss rate, adopt the inventive method and existing JM method and the RH method wrong relatively schematic diagram of objective quality that recovers after treatment;
When Fig. 6 b is coded quantization parameter QP=38, front 150 frames of composition sequence, under different macroblock loss rate, adopt the inventive method and existing JM method and the RH method wrong relatively schematic diagram of objective quality that recovers after treatment;
Fig. 7 a is the former figure of the 29th frame of composition sequence;
Fig. 7 b is the former figure of the 30th frame (I frame) of composition sequence;
Fig. 7 c is that the image shown in Fig. 7 b is lost the figure (losing piece rate is 20%) after piece;
Fig. 7 d is the subjective quality figure adopting after existing JM method is recovered Fig. 7 c;
Fig. 7 e is the subjective quality figure adopting after existing RH method is recovered Fig. 7 c;
Fig. 7 f is the subjective quality figure adopting after the inventive method is recovered Fig. 7 c.
Embodiment
Below in conjunction with accompanying drawing, embodiment is described in further detail the present invention.
A kind of H.264/AVC video I frame error recovery method based on hiding reversible data that the present invention proposes, it totally realizes block diagram as shown in Figure 1, and it comprises the following steps:
1. at coding side, in the each macro block in I frame except the 1st macro block, embed characteristic information, obtain being embedded with the I frame of characteristic information, detailed process is:
1. k the macro block-1, current precoding in I frame being completed is defined as current macro, and wherein, 1≤k≤K, represents total number of the macro block comprising in I frame at this K, and the initial value of k is 1.
1.-2, the decimal value of the CBP of current macro is converted into the binary string being made up of 6 binary values, and is designated as A, A=a 1a 2a 3a 4a 5a 6, wherein, a 1for the highest order binary value of A, a 6for the lowest order binary value of A.
High two of the binary string that the CBP of macro block is corresponding are used for representing colourity, and low four are used for representing brightness; a 6represent the statistical conditions of the quantization DCT coefficient of 8 × 8 of the position, the upper left corner of macro block, if a 6be 0, represent that the quantization DCT coefficient of 44 × 4 in these 8 × 8 is all 0, if a 6be 1, represent that the quantization DCT coefficient of 44 × 4 in these 8 × 8 is not all 0; a 5represent the statistical conditions of the quantization DCT coefficient of 8 × 8 of the position, the upper right corner of macro block, a 4represent the statistical conditions of the quantization DCT coefficient of 8 × 8 of the position, the lower left corner of macro block, a 3represent the statistical conditions of the quantization DCT coefficient of 8 × 8 of the position, the lower right corner of macro block.
1.-3, extract the characteristic vector of current macro: if the coding mode of current macro is Intra4 × 4, extract in current macro and be numbered 0, 4, 8, 12 (as shown in Figure 2) these four 4 × 4 luma prediction modes separately Digital ID, then the Digital ID of these four 4 × 4 luma prediction modes is separately quantified as to 4 bits, the Digital ID by the order of these four 4 × 4 numberings in current macro, this luma prediction modes of four 4 × 4 being represented with bit is afterwards arranged and is formed an one-dimensional vector that comprises 16 elements, characteristic vector using this one-dimensional vector as current macro again, be designated as w Intra 4 × 4 ( k ) , w Intra 4 × 4 ( k ) = ( w k , 1 Intra 4 × 4 w k , 2 Intra 4 × 4 . . . w k , 16 Intar 4 × 4 ) , Wherein, with the corresponding characteristic vector w that represents current macro intra4 × 4(k) the 1st element in, the 2nd element and the 16th element.
If the coding mode of current macro is Intra16 × 16, identify the coding mode of current macro by numeral 9, then the Digital ID of the coding mode of current macro is quantified as to 4 bits, and the Digital ID of the luma prediction modes of current macro is quantified as to 4 bits, the Digital ID that the Digital ID sequentially coding mode of current macro being represented with bit afterwards and the luma prediction modes of current macro represent with bit is arranged and is formed an one-dimensional vector that comprises 8 elements, characteristic vector using this one-dimensional vector as current macro, is designated as w again intra16 × 16(k), w Intra 16 × 16 ( k ) = ( w k , 1 Intra 16 × 16 w k , 2 Intra 16 × 16 . . . w k , 8 Intar 16 × 16 ) , Wherein, with the corresponding characteristic vector w that represents current macro intra16 × 16(k) the 1st element in, the 2nd element and the 8th element.
In video H.264/AVC, the luma prediction modes of 4 × 4 in the macro block that coding mode is Intra4 × 4 has 9 kinds, represents respectively with Digital ID 0~8; Coding mode is that the luma prediction modes of the macro block of Intra16 × 16 has 4 kinds, represents respectively with Digital ID 0~3.
1.-4, determine host's vector of current macro: calculate all interchange DCT coefficients of each 4 × 4 in current macro absolute value and, using with maximum 4 × 4 of value as characteristic information embedded block, then scan all quantization DCT coefficients in characteristic information embedded block in zig-zag mode, the order scanning by zig-zag mode is afterwards arranged the 8th in characteristic information embedded block to the 16th quantization DCT coefficient (being arranged in the 8th to the 16th quantization DCT coefficient of zig-zag scanning is medium-high frequency quantization DCT coefficient) to form an one-dimensional vector that comprises 9 elements, host's vector using this one-dimensional vector as current macro again, be designated as x (k), x (k)=(x 1x 2x 9), wherein, x 1, x 2and x 9the 1st element, the 2nd element and the 9th element in the corresponding host's vector x (k) that represents current macro.
1.-5, the characteristic vector of a upper macro block of current macro is embedded in host's vector of current macro: judge whether current macro is the 1st macro block in I frame, if so, current macro is not dealt with, directly execution step 1.-7; Otherwise, if the coding mode of a upper macro block of current macro is Intra4 × 4, adopt the method for twice Generalized Difference expansion by the characteristic vector w of a upper macro block of current macro intra4 × 4(k-1) be embedded in host's vector x (k) of current macro, obtain the vector that is embedded with characteristic information corresponding to current macro then use in all elements replace according to the order of sequence the 8th to the 16th quantization DCT coefficient in the characteristic information embedded block in current macro, then execution step 1.-6; If the coding mode of a upper macro block of current macro is Intra16 × 16, adopt the method for a Generalized Difference expansion by the characteristic vector w of a upper macro block of current macro intra16 × 16(k-1) be embedded in host's vector x (k) of current macro, obtain the vector that is embedded with characteristic information corresponding to current macro then use in all elements replace according to the order of sequence the 8th to the 16th quantization DCT coefficient in the characteristic information embedded block in current macro, then execution step 1.-6.
In this specific embodiment, in step 1.-5, adopt the method for twice Generalized Difference expansion by the characteristic vector w of a upper macro block of current macro intra4 × 4(k-1) detailed process being embedded in host's vector x (k) of current macro is:
A1, x (k) is carried out to direct transform, obtain vectorial y (k), y (k)=(y 1y 2y 9), wherein, y 1, y 2and y 9corresponding the 1st element, the 2nd element and the 9th element representing in y (k), y 2=x 2-x 1, y i'=x i'-x 1, y 9=x 9-x 1, 2≤i'≤9, α ifor weights, get in the specific implementation α i=1, symbol for rounding symbol downwards.
A2, by w intra4 × 4(k-1) 8 elements of the 1st element to the in are embedded in y (k), obtain vector wherein, with corresponding expression in the 1st element, the 2nd element and the 9th element, 2≤i'≤9, with the corresponding w that represents intra4 × 4(k-1) the 1st element, an i'-1 element and the 8th element in.
A3, right carry out inverse transformation, obtain being embedded with the vector of Partial Feature information wherein, with corresponding expression in the 1st element, the 2nd element and the 9th element, 2≤i'≤9.
A4, right carry out direct transform, obtain vector wherein, with corresponding expression in the 1st element, the 2nd element and the 9th element, 2≤i'≤9, α ifor weights.
A5, by w intra4 × 4(k-1) 16 elements of the 9th element to the in are embedded into in, obtain vector wherein, with corresponding expression in the 1st element, the 2nd element and the 9th element, y ^ 1 = y ~ 1 , y ^ 2 = 2 × y ~ 2 + w k - 1,9 Intra 4 × 4 , y ^ i ′ = 2 × y ~ i ′ + w k - 1 , i ′ + 7 Intra 4 × 4 , y ^ 9 = 2 × y ~ 9 + w k - 1,16 Intra 4 × 4 , 2≤i'≤9, with the corresponding w that represents intra4 × 4(k-1) the 9th element, an i'+7 element and the 16th element in.
A6, right carry out inverse transformation, obtain the vector that is embedded with characteristic information corresponding to current macro complete the characteristic vector w of a upper macro block of current macro intra4 × 4(k-1) be embedded in host's vector x (k) of current macro, wherein, with corresponding expression in the 1st element, the 2nd element and the 9th element, 2≤i'≤9.
In this specific embodiment, in step 1.-5, adopt the method for a Generalized Difference expansion by the characteristic vector w of a upper macro block of current macro intra16 × 16(k-1) detailed process being embedded in host's vector x (k) of current macro is:
B1, x (k) is carried out to direct transform, obtain vectorial y (k), y (k)=(y 1y 2y 9), wherein, y 1, y 2and y 9corresponding the 1st element, the 2nd element and the 9th element representing in y (k), y i'=x i'-x 1, y 9=x 9-x 1, 2≤i'≤9, α ifor weights, get in the specific implementation α i=1, symbol for rounding symbol downwards.
B2, by w intra16 × 16(k-1) be embedded in y (k), obtain vector wherein, with corresponding expression in the 1st element, the 2nd element and the 9th element, y ^ 2 = 2 × y 2 + w k - 1,1 Intra 16 × 16 , y ^ i ′ = 2 × y i ′ + w k - 1 , i ′ - 1 Intra 16 × 16 , y ^ 9 = 2 × y 9 + w k - 1,8 Intra 16 × 16 , 2≤i'≤9, with the corresponding w that represents intra16 × 16(k-1) the 1st element, an i'-1 element and the 8th element in.
B3, right carry out inverse transformation, obtain the vector that is embedded with characteristic information corresponding to current macro complete the characteristic vector w of a upper macro block of current macro intra16 × 16(k-1) be embedded in host's vector x (k) of current macro, wherein, with corresponding expression in the 1st element, the 2nd element and the 9th element, 2≤i'≤9.
1.-6, the CBP (CodedBlockPattern) of amendment current macro, then execution step 1.-7.
In this specific embodiment, the detailed process of revising the CBP of current macro in step 1.-6 is:
If 8 × 8 of the characteristic information embedded block place in 1.-6a current macro are 8 × 8 of position, the upper left corner in current macro, add up whether all quantization DCT coefficients that current macro embeds in 8 × 8 of position, the upper left corner after characteristic information are 0 entirely, if be 0 entirely, by a in A 6be set to 0, a 3, a 4, a 5remain unchanged, if be not 0 entirely, by a in A 6be set to 1, a 3, a 4, a 5remain unchanged.
If 8 × 8 of the characteristic information embedded block place in current macro are 8 × 8 of position, the upper right corner in current macro, add up whether all quantization DCT coefficients that current macro embeds in 8 × 8 of position, the upper right corner after characteristic information are 0 entirely, if be 0 entirely, by a in A 5be set to 0, a 3, a 4, a 6remain unchanged, if be not 0 entirely, by a in A 5be set to 1, a 3, a 4, a 6remain unchanged.
If 8 × 8 of the characteristic information embedded block place in current macro are 8 × 8 of position, the lower left corner in current macro, add up whether all quantization DCT coefficients that current macro embeds in 8 × 8 of position, the lower left corner after characteristic information are 0 entirely, if be 0 entirely, by a in A 4be set to 0, a 3, a 5, a 6remain unchanged, if be not 0 entirely, by a in A 4be set to 1, a 3, a 5, a 6remain unchanged.
If 8 × 8 of the characteristic information embedded block place in current macro are 8 × 8 of position, the lower right corner in current macro, add up whether all quantization DCT coefficients that current macro embeds in 8 × 8 of position, the lower right corner after characteristic information are 0 entirely, if be 0 entirely, by a in A 3be set to 0, a 4, a 5, a 6remain unchanged, if be not 0 entirely, by a in A 3be set to 1, a 4, a 5, a 6remain unchanged.
1.-6b, amended A is changed into decimal number, obtain the amended CBP of current macro.
1.-7, current macro is carried out to entropy coding; Can adopt in the specific implementation existing Variable Length Code (CAVLC) technology based on context-adaptive to carry out entropy coding to current macro.
1.-8, make k=k+1, using the macro block that in I frame, next precoding completes as current macro, returning to step 1.-2 continues to carry out again, until the macro block that all precodings in I frame complete is disposed, obtain the encoding code stream of the I frame that is embedded with characteristic information, wherein, "=" in k=k+1 is assignment.
2. in decoding end, from be embedded with the each macro block the I frame of characteristic information, extract characteristic information, and determine coding mode and the luma prediction modes of each macro block, the more non-piece that is correctly decoded is carried out to mistake recovery, detailed process is:
2.-1, the each macro block being embedded with in the I frame of characteristic information is carried out to entropy decoding, then determine that whether the decoded each macro block of entropy is for being correctly decoded piece, then determine that except decoded the 1st macro block of entropy (the 1st macro block may be that to be correctly decoded piece may be also the non-piece that is correctly decoded, and the 1st macro block do not dealt with herein) each vector that includes characteristic information that is correctly decoded piece, from the each vector that includes characteristic information that is correctly decoded piece except decoded the 1st macro block of entropy, extract characteristic information again, and coding mode and the luma prediction modes of definite each upper macro block that is correctly decoded piece except decoded the 1st macro block of entropy, suppose that decoded k' the macro block of entropy is for being correctly decoded piece, ?
The vectorial detailed process that includes characteristic information of determining this macro block is: calculate in this macro block each 4 × 4 all after inverse quantization for exchange DCT coefficient quantization DCT coefficients absolute value and, calculate the part quantization DCT coefficient of each 4 × 4 in this macro block absolute value and, each quantization DCT coefficient in part quantization DCT coefficient is interchange DCT coefficient after inverse quantization herein, using with maximum 4 × 4 of value as feature information extraction piece, then scan all quantization DCT coefficients in feature information extraction piece in zig-zag mode, the order scanning by zig-zag mode is afterwards arranged the 8th in feature information extraction piece to the 16th quantization DCT coefficient (being arranged in the 8th to the 16th quantization DCT coefficient of zig-zag scanning is medium-high frequency quantization DCT coefficient) to form an one-dimensional vector that comprises 9 elements, the vector that includes characteristic information using this one-dimensional vector as this macro block again, be designated as wherein, with corresponding expression in the 1st element, the 2nd element and the 9th element.
From the vector that includes characteristic information of this macro block in extract characteristic information, and determine coding mode and the luma prediction modes of a upper macro block of this macro block.
In this specific embodiment, in step 2.-1 from the vector that includes characteristic information of this macro block in extract characteristic information, and determine that the coding mode of a upper macro block and the detailed process of luma prediction modes of this macro block is:
2.-1a, right carry out direct transform, obtain vector wherein, with corresponding expression in the 1st element, the 2nd element and the 9th element, z ^ 2 = x ^ 2 ′ - x ^ 1 ′ , z ^ i ' = x ^ i ' ′ - x ^ 1 ′ , z ^ 9 = x ^ 9 ′ - x ^ 1 ′ , 2≤i'≤9, α ifor weights, get in the specific implementation α i=1, symbol for rounding symbol downwards.
2.-1b, from in extract the characteristic information being formed by 8 characteristic information bits, be designated as wherein, with corresponding expression in the 1st element, the 2nd element and the 8th element, w ^ 1 = | z ^ 2 | mod 2 , w ^ 2 = | z ^ 3 | mod 2 , w ^ j = | z ^ j + 1 | mod 2 , w ^ 8 = | z ^ 9 | mod 2 , 1≤j≤8, symbol " || " is the oeprator that takes absolute value.
2.-1c, a new vectorial z (k') of structure, z (k')=(z 1z 2z 9), wherein, z 1, z 2and z 9corresponding the 1st element, the 2nd element and the 9th element representing in z (k'), z 9 = z ^ 9 - w ^ 8 2 , 2≤i'≤9。
2.-1d, z (k') is carried out to inverse transformation, obtain vector f (k'), f (k')=(f 1f 2f 9), wherein, f 1, f 2and f 9corresponding the 1st element, the 2nd element and the 9th element representing in f (k'), f 2=z 2+ f 1, f i'=z i'+ f 1, f 9=z 9+ f 1, 2≤i'≤9.
2.-1e, will be by in the 1st element the 2nd element the 3rd element with the 4th element the binary string of composition is converted into decimal value, if the corresponding numeral 9 of decimal value, the coding mode that represents a upper macro block of this macro block is Intra16 × 16, then use all elements in f (k') to replace according to the order of sequence the 8th to the 16th quantization DCT coefficient in the feature information extraction piece in a upper macro block of this macro block, recover original quantization DCT coefficient, then the luma prediction modes of determining a upper macro block of this macro block, the Digital ID of the luma prediction modes of a upper macro block of this macro block is served as reasons in the 5th element the 6th element the 7th element with the 8th element the decimal value that the binary string of composition is transformed, finishes feature information extraction and coding mode and luma prediction modes and determines.
If decimal value is not corresponding digital 9, the coding mode that represents a upper macro block of this macro block is Intra4 × 4, then 2.-1f of execution step.
2.-1f, f (k') is carried out to direct transform, obtain vector wherein, with corresponding expression in the 1st element, the 2nd element and the 9th element, 2≤i'≤9, α ifor weights, get in the specific implementation α i=1, symbol for rounding symbol downwards.
2.-1g, from in extract the characteristic information being formed by 8 characteristic information bits, be designated as wherein, with corresponding expression in the 1st element, the 2nd element and the 8th element, w ^ 1 = | z ^ 2 | mod 2 , w ^ 2 = | z ^ 3 | mod 2 , w ^ j = | z ^ j + 1 | mod 2 , w ^ 8 = | z ^ 9 | mod 2 , 1≤j≤8, symbol " || " is the oeprator that takes absolute value.
2.-1h, a new vectorial z'(k' of structure), z'(k')=(z 1' z 2' ... z 9'), wherein, z 1', z 2' and z 9' the corresponding z'(k' that represents) and in the 1st element, the 2nd element and the 9th element, 2≤i'≤9.
2.-1i, to z'(k') carry out inverse transformation, obtain vector x (k'), x (k')=(x 1x 2x 9), wherein, x 1, x 2and x 9corresponding the 1st element, the 2nd element and the 9th element representing in x (k'), x 2=z 2'+x 1, x i'=z i''+x 1, x 9=z 9'+x 1, 2≤i'≤9.
2.-1j, replace according to the order of sequence the 8th to the 16th quantization DCT coefficient in the feature information extraction piece in the upper macro block of this macro block with all elements in x (k'), recover original quantization DCT coefficient.
2.-1k, a vectorial w (k') who comprises 16 elements of structure, front 8 elements of w (k') are 8 elements, rear 8 elements of w (k') are 8 elements.
2.-1l, determine in the upper macro block of this macro block and be numbered 0 the luma prediction modes of 4 × 4, the Digital ID of this luma prediction modes of 4 × 4 is for by the 1st element in w (k'), the 2nd element, the 3rd element and the 4th decimal value that the binary string that element forms is transformed.
Determine in the upper macro block of this macro block and be numbered 4 the luma prediction modes of 4 × 4, the Digital ID of this luma prediction modes of 4 × 4 is for by the 5th element in w (k'), the 6th element, the 7th element and the 8th decimal value that the binary string that element forms is transformed.
Determine in the upper macro block of this macro block and be numbered 8 the luma prediction modes of 4 × 4, the Digital ID of this luma prediction modes of 4 × 4 is for by the 9th element in w (k'), the 10th element, the 11st element and the 12nd decimal value that the binary string that element forms is transformed.
Determine in the upper macro block of this macro block and be numbered 12 the luma prediction modes of 4 × 4, the Digital ID of this luma prediction modes of 4 × 4 is for by the 13rd element in w (k'), the 14th element, the 15th element and the 16th decimal value that the binary string that element forms is transformed.
Finishing feature information extraction and coding mode and luma prediction modes determines.
Above-mentioned, 2≤k'≤K.
Can adopt in the specific implementation existing CAVLC entropy decoding technique to carry out entropy decoding to the each macro block being embedded with in the I frame of characteristic information; Determine whether the decoded each macro block of entropy directly adopts prior art for being correctly decoded piece.
2.-2, k macro block in decoded I frame is defined as to current macro, wherein, 1≤k≤K, the initial value of k is 1.
2.-3, judge whether current macro is last macro block in decoded I frame, if current macro is not last macro block, 2.-4 of execution step, if current macro is last macro block, execution step 2.-5.
2.-4, judge that current macro is still the non-piece that is correctly decoded for being correctly decoded piece, if current macro, for being correctly decoded piece, does not deal with current macro, then execution step 2.-6.
If current macro is the non-piece that is correctly decoded, the next macro block that judges current macro is still the non-piece that is correctly decoded for being correctly decoded piece, if the next macro block of current macro is for being correctly decoded piece, utilize coding mode and the luma prediction modes of current macro to recover current macro, then execution step 2.-6; If the next macro block of current macro is the non-piece that is correctly decoded, adopt existing bilinear interpolation method to recover current macro.
In this specific embodiment, in step 2.-4, utilize the coding mode of current macro and the detailed process of luma prediction modes recovery current macro to be:
If the coding mode of 2.-4a current macro is Intra16 × 16, utilize the luma prediction modes of current macro to predict the pixel value of the each pixel in current macro, then the pixel value of the final recovery using the predicted value of the each pixel in current macro as corresponding pixel points, completes the recovery of current macro.
If the coding mode of 2.-4b current macro is Intra4 × 4, utilize in current macro, to be numbered 0 the luma prediction modes of 4 × 4 pixel value of the each pixel in each 4 × 4 in 8 × 8 of these 4 × 4 places is predicted the then pixel value of the final recovery of the each pixel in corresponding 4 × 4 using the predicted value of the each pixel in each 4 × 4.
Utilize in current macro, to be numbered 4 the luma prediction modes of 4 × 4 pixel value of the each pixel in each 4 × 4 in 8 × 8 of these 4 × 4 places is predicted the then pixel value of the final recovery of the each pixel in corresponding 4 × 4 using the predicted value of the each pixel in each 4 × 4.
Utilize in current macro, to be numbered 8 the luma prediction modes of 4 × 4 pixel value of the each pixel in each 4 × 4 in 8 × 8 of these 4 × 4 places is predicted the then pixel value of the final recovery of the each pixel in corresponding 4 × 4 using the predicted value of the each pixel in each 4 × 4.
Utilize in current macro, to be numbered 12 the luma prediction modes of 4 × 4 pixel value of the each pixel in each 4 × 4 in 8 × 8 of these 4 × 4 places is predicted the then pixel value of the final recovery of the each pixel in corresponding 4 × 4 using the predicted value of the each pixel in each 4 × 4.
2.-5, judge that current macro is still the non-piece that is correctly decoded for being correctly decoded piece, if current macro, for being correctly decoded piece, does not deal with current macro, so far completes all non-recovery that is correctly decoded piece in decoded I frame; If current macro is the non-piece that is correctly decoded, adopt existing bilinear interpolation method to recover current macro, so far complete all non-recovery that is correctly decoded piece in decoded I frame.
2.-6, make k=k+1, using the macro block pending next one in decoded I frame as current macro, then return to step 2.-3 and continue to carry out, wherein, "=" in k=k+1 is assignment.
The inventive method is chosen on test model JM-12.0 H.264/AVC carries out emulation experiment.In emulation, adopt H.264/AVC basic class to carry out encoded test to standard QCIF form (176 × 144) video sequence Foreman, Carphone, Container, Akyio, Silent and Mobile.In order to verify that the inventive method is to there being the validity of scene changes, adopt and simulate by Akiyo, Bridge-close, the synthetic mixed sequence of Carphone the scene changes situation that exists.Two groups of test experiments are respectively in the time that Loss Rate is 10%, 20%, and what in the frame that the inventive method and existing test model JM-12.0 are carried, the people such as restoration methods (JM method) and existing Chung proposed has been contrast experiment based on the hiding error resilience algorithms of histogram translation reversible information (RH method).Table 1 has provided some basic coding parameters that arrange.
The setting of table 1 coding parameter
Class Basic class
Coding structure IPPPP
Coding frame number 150
Frame per second (frame/second) 15
Entropy coded system CAVLC
In order to verify the wrong recovery effects of the inventive method, the quality of video frequency error recovery while particularly there is scene changes situation, has done two groups of experiments.One group is that video test sequence Foreman, Carphone, Container, Akyio, Silent and Mobile to standard encodes, test experiments in the time that packet loss is respectively 10%, 20%, contrast adopts the subjective and objective quality of the inventive method and existing JM method and RH method I two field picture after treatment; Another group is the situation that simulation exists scene change, adopt synthetic sequence to carry out encoded test, be test experiments in the time that packet loss is respectively 10%, 20% equally, contrast adopts the subjective and objective quality of the inventive method and existing JM method and RH method I two field picture after treatment.
When Fig. 3 a to Fig. 3 f has provided respectively coded quantization parameter QP=28, the I frame of Foreman, Carphone, Container, Akyio, Silent and Mobile standard test sequences, under different macroblock loss rate, adopts the inventive method and existing JM method and the RH method wrong relatively schematic diagram of objective quality that recovers after treatment.From Fig. 3 a to Fig. 3 f, can find out, in the time that Loss Rate is 10%, 20%, adopt the mistake of the inventive method to recover objective quality all higher than the mistake recovery objective quality that adopts existing JM method, on average exceed respectively 3.24dB, 2.79dB.
When Fig. 4 a to Fig. 4 f has provided respectively coded quantization parameter QP=38, the I frame of Foreman, Carphone, Container, Akyio, Silent and Mobile standard test sequences, under different macroblock loss rate, adopts the inventive method and existing JM method and the RH method wrong relatively schematic diagram of objective quality that recovers after treatment.
Fig. 5 a has provided the former figure of the 20th frame (I frame) of Carphone standard test sequences, Fig. 5 b has provided Fig. 5 a and has lost the figure (losing piece rate is 20%) after piece, Fig. 5 c has provided the figure adopting after existing JM method is recovered Fig. 5 b, Fig. 5 d has provided the figure adopting after existing RH method is recovered Fig. 5 b, and Fig. 5 e has provided the figure adopting after the inventive method is recovered Fig. 5 b.From Fig. 5 c to Fig. 5 e, can find out, it is fuzzy that the Weighted Interpolation method that adopts JM platform to use easily makes to lose macroblock image, the figure that adopts RH method to recover easily produces blocking effect, by contrast, adopt the inventive method edge and texture of Recovery image preferably, avoid blocking effect, subjective quality is significantly better than existing JM method and RH method.
When Fig. 6 a and Fig. 6 b have provided respectively coded quantization parameter QP=28 and QP=38, under different macroblock loss rate, adopt the inventive method and existing JM method and the RH method wrong relatively schematic diagram of objective quality that recovers after treatment by Akiyo, Carphone, front 150 frames of tri-standard test sequences of Bridge-close taking 30 frames as the synthetic composition sequence in interval.From Fig. 6 a and Fig. 6 b, can find out, while there is scene changes, adopt the objective Quality of recovery of the inventive method apparently higher than adopting existing JM method and RH method.In the time that QP=28, macroblock loss rate are 10%, adopt the objective Quality of recovery of the inventive method to exceed the objective Quality of recovery 2.14dB that adopts existing JM method; In the time that QP=28, macroblock loss rate are 20%, adopt the objective Quality of recovery of the inventive method to exceed the objective Quality of recovery 0.93dB that adopts existing JM method.Compared with existing RH method, adopt the objective Quality of recovery of the inventive method on average to exceed about 1dB, this is because adopt RH method, it is characterized in that the motion vector of two I frame macro blocks, while there is scene change like this, RH method can, by the scene image piece of I frame above, be incorporated into present frame mistakenly, inevitably cause PSNR value to decline, affect reconstruction quality.
Fig. 7 a has provided the former figure of the 29th frame of composition sequence, Fig. 7 b has provided the former figure of the 30th frame (I frame) of composition sequence, Fig. 7 c provided composition sequence the 30th frame lose the figure (losing piece rate is 20%) after piece, Fig. 7 d has provided the subjective quality figure adopting after existing JM method is recovered Fig. 7 c, Fig. 7 e has provided the subjective quality figure adopting after existing RH method is recovered Fig. 7 c, and Fig. 7 f has provided the subjective quality figure adopting after the inventive method is recovered Fig. 7 c.From the subjective quality figure shown in Fig. 7 d to Fig. 7 f, be not difficult to find, the inventive method, in the time there is scene change, can ensure that reconstruction quality declines in the mode relaxing, and avoids producing blocking effect and image blurring etc.Comprehensively above-mentioned, analysis of simulation result is found: in the time there is scene change, utilize the objective quality of video that the inventive method rebuilds and subjective quality objective quality and the subjective quality significantly better than the video that utilizes existing JM method and RH method to rebuild; In the time not there is not scene change, the inventive method has obtained good effect equally.

Claims (6)

1. the H.264/AVC video I frame error recovery method based on hiding reversible data, is characterized in that comprising the following steps:
1. at coding side, in the each macro block in I frame except the 1st macro block, embed characteristic information, obtain being embedded with the I frame of characteristic information, detailed process is:
1. k the macro block-1, current precoding in I frame being completed is defined as current macro, and wherein, 1≤k≤K, represents total number of the macro block comprising in I frame at this K, and the initial value of k is 1;
1.-2, the decimal value of the CBP of current macro is converted into the binary string being made up of 6 binary values, and is designated as A, A=a 1a 2a 3a 4a 5a 6, wherein, a 1for the highest order binary value of A, a 6for the lowest order binary value of A;
1.-3, extract the characteristic vector of current macro: if the coding mode of current macro is Intra4 × 4, extract in current macro and be numbered 0, 4, 8, the Digital ID of 12 these four 4 × 4 luma prediction modes separately, then the Digital ID of these four 4 × 4 luma prediction modes is separately quantified as to 4 bits, the Digital ID by the order of these four 4 × 4 numberings in current macro, this luma prediction modes of four 4 × 4 being represented with bit is afterwards arranged and is formed an one-dimensional vector that comprises 16 elements, characteristic vector using this one-dimensional vector as current macro again, be designated as w intra4 × 4(k), w Intra 4 × 4 ( k ) = ( w k , 1 Intra 4 × 4 w k , 2 Intra 4 × 4 . . . w k , 16 Intar 4 × 4 ) , Wherein, with the corresponding characteristic vector w that represents current macro intra4 × 4(k) the 1st element in, the 2nd element and the 16th element;
If the coding mode of current macro is Intra16 × 16, identify the coding mode of current macro by numeral 9, then the Digital ID of the coding mode of current macro is quantified as to 4 bits, and the Digital ID of the luma prediction modes of current macro is quantified as to 4 bits, the Digital ID that the Digital ID sequentially coding mode of current macro being represented with bit afterwards and the luma prediction modes of current macro represent with bit is arranged and is formed an one-dimensional vector that comprises 8 elements, characteristic vector using this one-dimensional vector as current macro, is designated as w again intra16 × 16(k), w Intra 16 × 16 ( k ) = ( w k , 1 Intra 16 × 16 w k , 2 Intra 16 × 16 . . . w k , 8 Intar 16 × 16 ) , Wherein, with the corresponding characteristic vector w that represents current macro intra16 × 16(k) the 1st element in, the 2nd element and the 8th element;
1.-4, determine host's vector of current macro: calculate all interchange DCT coefficients of each 4 × 4 in current macro absolute value and, using with maximum 4 × 4 of value as characteristic information embedded block, then scan all quantization DCT coefficients in characteristic information embedded block in zig-zag mode, the order scanning by zig-zag mode is afterwards arranged the 8th in characteristic information embedded block to the 16th quantization DCT coefficient to form an one-dimensional vector that comprises 9 elements, host's vector using this one-dimensional vector as current macro again, be designated as x (k), x (k)=(x 1x 2x 9), wherein, x 1, x 2and x 9the 1st element, the 2nd element and the 9th element in the corresponding host's vector x (k) that represents current macro,
1.-5, the characteristic vector of a upper macro block of current macro is embedded in host's vector of current macro: judge whether current macro is the 1st macro block in I frame, if so, current macro is not dealt with, directly execution step 1.-7; Otherwise, if the coding mode of a upper macro block of current macro is Intra4 × 4, adopt the method for twice Generalized Difference expansion by the characteristic vector w of a upper macro block of current macro intra4 × 4(k-1) be embedded in host's vector x (k) of current macro, obtain the vector that is embedded with characteristic information corresponding to current macro then use in all elements replace according to the order of sequence the 8th to the 16th quantization DCT coefficient in the characteristic information embedded block in current macro, then execution step 1.-6; If the coding mode of a upper macro block of current macro is Intra16 × 16, adopt the method for a Generalized Difference expansion by the characteristic vector w of a upper macro block of current macro intra16 × 16(k-1) be embedded in host's vector x (k) of current macro, obtain the vector that is embedded with characteristic information corresponding to current macro then use in all elements replace according to the order of sequence the 8th to the 16th quantization DCT coefficient in the characteristic information embedded block in current macro, then execution step 1.-6;
1.-6, the CBP of amendment current macro, then execution step 1.-7;
1.-7, current macro is carried out to entropy coding;
1.-8, make k=k+1, using the macro block that in I frame, next precoding completes as current macro, returning to step 1.-2 continues to carry out again, until the macro block that all precodings in I frame complete is disposed, obtain the encoding code stream of the I frame that is embedded with characteristic information, wherein, "=" in k=k+1 is assignment;
2. in decoding end, from be embedded with the each macro block the I frame of characteristic information, extract characteristic information, and determine coding mode and the luma prediction modes of each macro block, the more non-piece that is correctly decoded is carried out to mistake recovery, detailed process is:
2.-1, the each macro block being embedded with in the I frame of characteristic information is carried out to entropy decoding, then determine that whether the decoded each macro block of entropy is for being correctly decoded piece, then determine the each vector that includes characteristic information that is correctly decoded piece except decoded the 1st macro block of entropy, from the each vector that includes characteristic information that is correctly decoded piece except decoded the 1st macro block of entropy, extract characteristic information again, and coding mode and the luma prediction modes of definite each upper macro block that is correctly decoded piece except decoded the 1st macro block of entropy, suppose that decoded k' the macro block of entropy is for being correctly decoded piece, ?
The vectorial detailed process that includes characteristic information of determining this macro block is: calculate in this macro block each 4 × 4 all after inverse quantization for exchange DCT coefficient quantization DCT coefficients absolute value and, using with maximum 4 × 4 of value as feature information extraction piece, then scan all quantization DCT coefficients in feature information extraction piece in zig-zag mode, the order scanning by zig-zag mode is afterwards arranged the 8th in feature information extraction piece to the 16th quantization DCT coefficient to form an one-dimensional vector that comprises 9 elements, the vector that includes characteristic information using this one-dimensional vector as this macro block again, be designated as x ^ ′ ( k ′ ) , x ^ ′ ( k ′ ) = ( x ^ 1 ′ x ^ 2 ′ . . . x ^ 9 ′ ) , Wherein, with corresponding expression in the 1st element, the 2nd element and the 9th element;
From the vector that includes characteristic information of this macro block in extract characteristic information, and determine coding mode and the luma prediction modes of a upper macro block of this macro block;
Above-mentioned, 2≤k'≤K;
2.-2, k macro block in decoded I frame is defined as to current macro, wherein, 1≤k≤K, the initial value of k is 1;
2.-3, judge whether current macro is last macro block in decoded I frame, if current macro is not last macro block, 2.-4 of execution step, if current macro is last macro block, execution step 2.-5;
2.-4, judge that current macro is still the non-piece that is correctly decoded for being correctly decoded piece, if current macro, for being correctly decoded piece, does not deal with current macro, then execution step 2.-6;
If current macro is the non-piece that is correctly decoded, the next macro block that judges current macro is still the non-piece that is correctly decoded for being correctly decoded piece, if the next macro block of current macro is for being correctly decoded piece, utilize coding mode and the luma prediction modes of current macro to recover current macro, then execution step 2.-6; If the next macro block of current macro is the non-piece that is correctly decoded, adopt bilinear interpolation method to recover current macro;
2.-5, judge that current macro is still the non-piece that is correctly decoded for being correctly decoded piece, if current macro, for being correctly decoded piece, does not deal with current macro, so far completes all non-recovery that is correctly decoded piece in decoded I frame; If current macro is the non-piece that is correctly decoded, adopt bilinear interpolation method to recover current macro, so far complete all non-recovery that is correctly decoded piece in decoded I frame;
2.-6, make k=k+1, using the macro block pending next one in decoded I frame as current macro, then return to step 2.-3 and continue to carry out, wherein, "=" in k=k+1 is assignment.
2. a kind of H.264/AVC video I frame error recovery method based on hiding reversible data according to claim 1, is characterized in that adopting the method for twice Generalized Difference expansion by the characteristic vector w of a upper macro block of current macro in described step 1.-5 intra4 × 4(k-1) detailed process being embedded in host's vector x (k) of current macro is:
A1, x (k) is carried out to direct transform, obtain vectorial y (k), y (k)=(y 1y 2y 9), wherein, y 1, y 2and y 9corresponding the 1st element, the 2nd element and the 9th element representing in y (k), y 2=x 2-x 1, y i'=x i'-x 1, y 9=x 9-x 1, 2≤i'≤9, α ifor weights, symbol for rounding symbol downwards;
A2, by w intra4 × 4(k-1) 8 elements of the 1st element to the in are embedded in y (k), obtain vector wherein, with corresponding expression in the 1st element, the 2nd element and the 9th element, 2≤i'≤9, with the corresponding w that represents intra4 × 4(k-1) the 1st element, an i'-1 element and the 8th element in;
A3, right carry out inverse transformation, obtain being embedded with the vector of Partial Feature information wherein, with corresponding expression in the 1st element, the 2nd element and the 9th element, 2≤i'≤9;
A4, right carry out direct transform, obtain vector wherein, with corresponding expression in the 1st element, the 2nd element and the 9th element, 2≤i'≤9, α ifor weights;
A5, by w intra4 × 4(k-1) 16 elements of the 9th element to the in are embedded into in, obtain vector wherein, with corresponding expression in the 1st element, the 2nd element and the 9th element, y ^ 1 = y ~ 1 , y ^ 2 = 2 × y ~ 2 + w k - 1,9 Intra 4 × 4 , y ^ i ′ = 2 × y ~ i ′ + w k - 1 , i ′ + 7 Intra 4 × 4 , y ^ 9 = 2 × y ~ 9 + w k - 1,16 Intra 4 × 4 , 2≤i'≤9, with the corresponding w that represents intra4 × 4(k-1) the 9th element, an i'+7 element and the 16th element in;
A6, right carry out inverse transformation, obtain the vector that is embedded with characteristic information corresponding to current macro wherein, with corresponding expression in the 1st element, the 2nd element and the 9th element, 2≤i'≤9.
3. a kind of H.264/AVC video I frame error recovery method based on hiding reversible data according to claim 2, is characterized in that adopting the method for a Generalized Difference expansion by the characteristic vector w of a upper macro block of current macro in described step 1.-5 intra16 × 16(k-1) detailed process being embedded in host's vector x (k) of current macro is:
B1, x (k) is carried out to direct transform, obtain vectorial y (k), y (k)=(y 1y 2y 9), wherein, y 1, y 2and y 9corresponding the 1st element, the 2nd element and the 9th element representing in y (k), y i'=x i'-x 1, y 9=x 9-x 1, 2≤i'≤9, α ifor weights, symbol for rounding symbol downwards;
B2, by w intra16 × 16(k-1) be embedded in y (k), obtain vector wherein, with corresponding expression in the 1st element, the 2nd element and the 9th element, y ^ 2 = 2 × y 2 + w k - 1,1 Intra 16 × 16 , y ^ i ′ = 2 × y i ′ + w k - 1 , i ′ - 1 Intra 16 × 16 , y ^ 9 = 2 × y 9 + w k - 1,8 Intra 16 × 16 , 2≤i'≤9, with the corresponding w that represents intra16 × 16(k-1) the 1st element, an i'-1 element and the 8th element in;
B3, right carry out inverse transformation, obtain the vector that is embedded with characteristic information corresponding to current macro wherein, with corresponding expression in the 1st element, the 2nd element and the 9th element, 2≤i'≤9.
4. according to a kind of H.264/AVC video I frame error recovery method based on hiding reversible data described in any one in claims 1 to 3, it is characterized in that the detailed process of revising the CBP of current macro in described step 1.-6 is:
If 8 × 8 of the characteristic information embedded block place in 1.-6a current macro are 8 × 8 of position, the upper left corner in current macro, add up whether all quantization DCT coefficients that current macro embeds in 8 × 8 of position, the upper left corner after characteristic information are 0 entirely, if be 0 entirely, by a in A 6be set to 0, a 3, a 4, a 5remain unchanged, if be not 0 entirely, by a in A 6be set to 1, a 3, a 4, a 5remain unchanged;
If 8 × 8 of the characteristic information embedded block place in current macro are 8 × 8 of position, the upper right corner in current macro, add up whether all quantization DCT coefficients that current macro embeds in 8 × 8 of position, the upper right corner after characteristic information are 0 entirely, if be 0 entirely, by a in A 5be set to 0, a 3, a 4, a 6remain unchanged, if be not 0 entirely, by a in A 5be set to 1, a 3, a 4, a 6remain unchanged;
If 8 × 8 of the characteristic information embedded block place in current macro are 8 × 8 of position, the lower left corner in current macro, add up whether all quantization DCT coefficients that current macro embeds in 8 × 8 of position, the lower left corner after characteristic information are 0 entirely, if be 0 entirely, by a in A 4be set to 0, a 3, a 5, a 6remain unchanged, if be not 0 entirely, by a in A 4be set to 1, a 3, a 5, a 6remain unchanged;
If 8 × 8 of the characteristic information embedded block place in current macro are 8 × 8 of position, the lower right corner in current macro, add up whether all quantization DCT coefficients that current macro embeds in 8 × 8 of position, the lower right corner after characteristic information are 0 entirely, if be 0 entirely, by a in A 3be set to 0, a 4, a 5, a 6remain unchanged, if be not 0 entirely, by a in A 3be set to 1, a 4, a 5, a 6remain unchanged;
1.-6b, amended A is changed into decimal number, obtain the amended CBP of current macro.
5. a kind of H.264/AVC video I frame error recovery method based on hiding reversible data according to claim 4, is characterized in that the vector that includes characteristic information from this macro block in described step 2.-1 in extract characteristic information, and determine that the coding mode of a upper macro block and the detailed process of luma prediction modes of this macro block is:
2.-1a, right carry out direct transform, obtain vector wherein, with corresponding expression in the 1st element, the 2nd element and the 9th element, z ^ 2 = x ^ 2 ′ - x ^ 1 ′ , z ^ i ' = x ^ i ' ′ - x ^ 1 ′ , z ^ 9 = x ^ 9 ′ - x ^ 1 ′ , 2≤i'≤9, α ifor weights, symbol for rounding symbol downwards;
2.-1b, from in extract the characteristic information being formed by 8 characteristic information bits, be designated as wherein, with corresponding expression in the 1st element, the 2nd element and the 8th element, w ^ 1 = | z ^ 2 | mod 2 , w ^ 2 = | z ^ 3 | mod 2 , w ^ j = | z ^ j + 1 | mod 2 , w ^ 8 = | z ^ 9 | mod 2 , 1≤j≤8, symbol " || " is the oeprator that takes absolute value;
2.-1c, a new vectorial z (k') of structure, z (k')=(z 1z 2z 9), wherein, z 1, z 2and z 9corresponding the 1st element, the 2nd element and the 9th element representing in z (k'), z 9 = z ^ 9 - w ^ 8 2 , 2≤i'≤9;
2.-1d, z (k') is carried out to inverse transformation, obtain vector f (k'), f (k')=(f 1f 2f 9), wherein, f 1, f 2and f 9corresponding the 1st element, the 2nd element and the 9th element representing in f (k'), f 2=z 2+ f 1, f i'=z i'+ f 1, f 9=z 9+ f 1, 2≤i'≤9;
2.-1e, will be by in the 1st element the 2nd element the 3rd element with the 4th element the binary string of composition is converted into decimal value, if the corresponding numeral 9 of decimal value, the coding mode that represents a upper macro block of this macro block is Intra16 × 16, then use all elements in f (k') to replace according to the order of sequence the 8th to the 16th quantization DCT coefficient in the feature information extraction piece in a upper macro block of this macro block, then the luma prediction modes of determining a upper macro block of this macro block, the Digital ID of the luma prediction modes of a upper macro block of this macro block is served as reasons in the 5th element the 6th element the 7th element with the 8th element the decimal value that the binary string of composition is transformed, finishes feature information extraction and coding mode and luma prediction modes and determines;
If decimal value is not corresponding digital 9, the coding mode that represents a upper macro block of this macro block is Intra4 × 4, then 2.-1f of execution step;
2.-1f, f (k') is carried out to direct transform, obtain vector wherein, with corresponding expression in the 1st element, the 2nd element and the 9th element, 2≤i'≤9, α ifor weights, symbol for rounding symbol downwards;
2.-1g, from in extract the characteristic information being formed by 8 characteristic information bits, be designated as wherein, with corresponding expression in the 1st element, the 2nd element and the 8th element, 1≤j≤8, symbol " || " is the oeprator that takes absolute value;
2.-1h, a new vectorial z'(k' of structure), z'(k')=(z 1' z 2' ... z 9'), wherein, z 1', z 2' and z 9' the corresponding z'(k' that represents) and in the 1st element, the 2nd element and the 9th element, 2≤i'≤9;
2.-1i, to z'(k') carry out inverse transformation, obtain vector x (k'), x (k')=(x 1x 2x 9), wherein, x 1, x 2and x 9corresponding the 1st element, the 2nd element and the 9th element representing in x (k'), x 2=z 2'+x 1, x i'=z i''+x 1, x 9=z 9'+x 1, 2≤i'≤9;
2.-1j, replace according to the order of sequence the 8th to the 16th quantization DCT coefficient in the feature information extraction piece in the upper macro block of this macro block with all elements in x (k');
2.-1k, a vectorial w (k') who comprises 16 elements of structure, front 8 elements of w (k') are 8 elements, rear 8 elements of w (k') are 8 elements;
2.-1l, determine in the upper macro block of this macro block and be numbered 0 the luma prediction modes of 4 × 4, the Digital ID of this luma prediction modes of 4 × 4 is for by the 1st element in w (k'), the 2nd element, the 3rd element and the 4th decimal value that the binary string that element forms is transformed;
Determine in the upper macro block of this macro block and be numbered 4 the luma prediction modes of 4 × 4, the Digital ID of this luma prediction modes of 4 × 4 is for by the 5th element in w (k'), the 6th element, the 7th element and the 8th decimal value that the binary string that element forms is transformed;
Determine in the upper macro block of this macro block and be numbered 8 the luma prediction modes of 4 × 4, the Digital ID of this luma prediction modes of 4 × 4 is for by the 9th element in w (k'), the 10th element, the 11st element and the 12nd decimal value that the binary string that element forms is transformed;
Determine in the upper macro block of this macro block and be numbered 12 the luma prediction modes of 4 × 4, the Digital ID of this luma prediction modes of 4 × 4 is for by the 13rd element in w (k'), the 14th element, the 15th element and the 16th decimal value that the binary string that element forms is transformed;
Finishing feature information extraction and coding mode and luma prediction modes determines.
6. a kind of H.264/AVC video I frame error recovery method based on hiding reversible data according to claim 5, is characterized in that utilizing in described step 2.-4 coding mode of current macro and the detailed process of luma prediction modes recovery current macro to be:
If the coding mode of 2.-4a current macro is Intra16 × 16, utilize the luma prediction modes of current macro to predict the pixel value of the each pixel in current macro, then the pixel value of the final recovery using the predicted value of the each pixel in current macro as corresponding pixel points, completes the recovery of current macro;
If the coding mode of 2.-4b current macro is Intra4 × 4, utilize in current macro, to be numbered 0 the luma prediction modes of 4 × 4 pixel value of the each pixel in each 4 × 4 in 8 × 8 of these 4 × 4 places is predicted the then pixel value of the final recovery of the each pixel in corresponding 4 × 4 using the predicted value of the each pixel in each 4 × 4;
Utilize in current macro, to be numbered 4 the luma prediction modes of 4 × 4 pixel value of the each pixel in each 4 × 4 in 8 × 8 of these 4 × 4 places is predicted the then pixel value of the final recovery of the each pixel in corresponding 4 × 4 using the predicted value of the each pixel in each 4 × 4;
Utilize in current macro, to be numbered 8 the luma prediction modes of 4 × 4 pixel value of the each pixel in each 4 × 4 in 8 × 8 of these 4 × 4 places is predicted the then pixel value of the final recovery of the each pixel in corresponding 4 × 4 using the predicted value of the each pixel in each 4 × 4;
Utilize in current macro, to be numbered 12 the luma prediction modes of 4 × 4 pixel value of the each pixel in each 4 × 4 in 8 × 8 of these 4 × 4 places is predicted the then pixel value of the final recovery of the each pixel in corresponding 4 × 4 using the predicted value of the each pixel in each 4 × 4.
CN201410287578.XA 2014-06-24 2014-06-24 A kind of H.264/AVC video I frame error recovery methods based on hiding reversible data Active CN104144347B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410287578.XA CN104144347B (en) 2014-06-24 2014-06-24 A kind of H.264/AVC video I frame error recovery methods based on hiding reversible data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410287578.XA CN104144347B (en) 2014-06-24 2014-06-24 A kind of H.264/AVC video I frame error recovery methods based on hiding reversible data

Publications (2)

Publication Number Publication Date
CN104144347A true CN104144347A (en) 2014-11-12
CN104144347B CN104144347B (en) 2017-12-15

Family

ID=51853404

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410287578.XA Active CN104144347B (en) 2014-06-24 2014-06-24 A kind of H.264/AVC video I frame error recovery methods based on hiding reversible data

Country Status (1)

Country Link
CN (1) CN104144347B (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108337514A (en) * 2017-12-28 2018-07-27 宁波工程学院 A kind of encrypted domain HEVC video data hidden methods
CN108683921A (en) * 2018-06-07 2018-10-19 四川大学 A kind of video reversible information hidden method based on zero quantization DCT coefficient group

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101621692A (en) * 2009-07-27 2010-01-06 宁波大学 H.264/AVC video information hiding method based on predictive mode
CN102223540A (en) * 2011-07-01 2011-10-19 宁波大学 Information hiding method facing to H.264/AVC (automatic volume control) video

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101621692A (en) * 2009-07-27 2010-01-06 宁波大学 H.264/AVC video information hiding method based on predictive mode
CN102223540A (en) * 2011-07-01 2011-10-19 宁波大学 Information hiding method facing to H.264/AVC (automatic volume control) video

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
RANRAN LI等: "An Intra-frame Error Resilience Algorithm Based on Reversible Data Embedding in H.264/AVC", 《JOURNAL OF COMPUTATIONAL INFORMATION SYSTEMS》 *
RANRAN LI等: "Video Error Resilience Scheme using Reversible Data Hiding Technique for Intra-Frame in H.264/AVC", 《THE 3RD INTERNATIONAL CONFERENCE ON MULTIMEDIA TECHNOLOGY (ICMT 2013)》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108337514A (en) * 2017-12-28 2018-07-27 宁波工程学院 A kind of encrypted domain HEVC video data hidden methods
CN108683921A (en) * 2018-06-07 2018-10-19 四川大学 A kind of video reversible information hidden method based on zero quantization DCT coefficient group

Also Published As

Publication number Publication date
CN104144347B (en) 2017-12-15

Similar Documents

Publication Publication Date Title
CN107197260B (en) Video coding post-filter method based on convolutional neural networks
CN101835044B (en) Grouping method in frequency domain distributed video coding
US8285064B2 (en) Method for processing images and the corresponding electronic device
CN104065976B (en) A kind of compression of images and security transmission method based on video
CN107027029A (en) High-performance video coding improved method based on frame rate conversion
CN104602028B (en) A kind of three-dimensional video-frequency B frames entire frame loss error concealing method
KR100612691B1 (en) Systems and Methods for Measurement of Video Quality
CN101835042A (en) Wyner-Ziv video coding system controlled on the basis of non feedback speed rate and method
CN104159117A (en) Method for hiding HEVC video information
CN107071422A (en) Low complex degree HEVC rate adaption transformation coding methods based on image correlation model
US20170374361A1 (en) Method and System Of Controlling A Video Content System
CN101163250A (en) Boundary gradient based video stream fault tolerance method
CN109819260A (en) Video steganography method and device based on the fusion of multi-embedding domain
CN107343202B (en) Feedback-free distributed video coding and decoding method based on additional code rate
CN102026001A (en) Method for evaluating importance of video frame based on motion information
CN104144347A (en) H.264/AVC video I-frame error recovery method based on reversible data hiding
CN103391439A (en) H.264/AVC code rate control method based on active macroblock concealment
CN106657961A (en) Hybrid digital-analog video coding for stereoscopic video
CN103974079B (en) MPEG-4 single grade encoding method and device based on all phase position biorthogonal transform
CN1809166B (en) Image coding and decoding method and apparatus
CN104135662B (en) Improved H.264 compressed encoding method for video file under limited bandwidth and emission rate condition
CN103313064B (en) Based on the time domain error hidden method of inter-frame mode and movement repair
CN102790881B (en) Transform domain distributed video coder based on frame-level coding end speed control
CN101489141A (en) Adaptive intra-frame macro block updating method based on subjective quality distortion prediction
CN115150628A (en) Coarse-to-fine depth video coding method with super-prior guiding mode prediction

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