Zero-watermarking registration and detection method for HEVC video streaming against requantization transcoding

09947065 ยท 2018-04-17

Assignee

Inventors

Cpc classification

International classification

Abstract

A zero-watermarking registration and detection method for HEVC video streaming against requantization transcoding is provided. To increase an attack-resistance of a registration watermarking, the registration method firstly processes depth values corresponding to respective brightness blocks in a target video streaming with a depth binarization during constructing registration watermarking information through depth features, because the depth binarization well reflects a robustness of the registration watermarking. A first watermarking information matrix including a part of the depth values after the depth binarization is encrypted with a random matrix, so as to increase a safety of the registration watermarking. The registration method directly generates zero-watermarking through the depth features of the video streaming without modifying original carrier information and affecting a watermarking transparency. Meanwhile, the registration method has a strong robustness against attacks, such as the requantization transcoding of quantization parameters within a certain range of variation and common signal processing.

Claims

1. A zero-watermarking registration method for high efficiency video coding (HEVC) video streaming against requantization transcoding, comprising steps of: {circle around (1)}_1, at a watermarking registration port, compressing and coding an original video V.sub.org which is to be protected and has a resolution of MN through an HEVC standard coding platform, so as to obtain a first target video streaming denoted as str.bin.sub.org; arranging a first set D, and letting an initial value of the D be empty; {circle around (1)}_2, parsing each video frame of the str.bin.sub.org, and defining an f.sup.th video frame to be parsed currently in the str.bin.sub.org as a first current frame, wherein: the f is an integer and has an initial value of 1; 1fF; and the F represents a total frame number of the video frames in the str.bin.sub.org; {circle around (1)}_3, parsing each coding tree unit (CTU) of the first current frame, and defining a b.sup.th CTU to be parsed currently in the first current frame as a first current parsing block, wherein: the b is the integer and has the initial value of 1; 1bB; and the B represents a total number of the CTUs in the first current frame; {circle around (1)}_4, taking a brightness block having a size of 44 as a unit, orderly parsing out a depth value corresponding to each brightness block in the first current parsing block; and denoting the depth value corresponding to a k.sup.th brightness block in the first current parsing block as d.sub.org.sup.k, wherein: the k is the integer and has the initial value of 1; 1k256; and d.sub.org.sup.k{0,1,2,3}; {circle around (1)}_5, letting b=b+1, taking a next CTU to be parsed in the first current frame as the first current parsing block, and returning back to the step {circle around (1)}_4 to continue executing until all of the CTUs in the first current frame are parsed; and then executing step {circle around (1)}_6; wherein the = in b=b+1 is an assignment symbol; {circle around (1)}_6, letting f=f+1, taking a next video frame to be parsed in the str.bin.sub.org as the first current frame, and returning back to the step {circle around (1)}_3 to continue executing until all of the video frames in the str.bin.sub.org are parsed; and then executing step {circle around (1)}_7; wherein the = in f=f+1 is the assignment symbol; {circle around (1)}_7, orderly storing the respective depth value corresponding to each brightness block in the str.bin.sub.org into the D; and processing values of all elements in the D with a depth binarization, so as to obtain a second set denoted as D, wherein a total number of the elements in the D is S, S=FB256; {circle around (1)}_8, converting a copyright logo image logo.sub.org having a resolution of XY into a binary image denoted as logo.sub.org; and processing the logo.sub.org with chaotic scrambling to obtain an image denoted as logo.sub.org; wherein 1XYFB256; {circle around (1)}_9, extracting XY elements from the D according to a preset rule; orderly arranging the extracted XY elements into a first watermarking information matrix having a size of XY with a Zig-Zag scanning order; meanwhile, randomly generating a random matrix having the size of XY, wherein each element in the random matrix has a value of 0 or 1, and denoting the random matrix as R.sub.org; processing a value of each element in the first watermarking information matrix and the value of the corresponding element in the R.sub.org with XOR, so as to obtain a first matrix which serves as a first encrypted watermarking information matrix, denoted as D*; and {circle around (1)}_10, processing a value of each element in the logo.sub.org and a value of a corresponding element in the D* with XOR, so as to obtain a second matrix which serves as registration watermarking information, denoted as W.sub.org; requesting a time certification authority to create a timestamp on the W.sub.org, so as to obtain timestamped registration watermarking information denoted as W.sub.org; registering the W.sub.org in an Intellectual Property Right (IPR) database which is established by a trusted third party, and meanwhile sending the logo.sub.org, the R.sub.org and the preset rule to a watermarking detection port; wherein in the step {circle around (1)}_7, the step of processing values of all elements in the D with a depth binarization comprises steps of: {circle around (1)}_7a, dividing the D into four subsets, respectively denoted as G.sub.0, G.sub.1, G.sub.2 and G.sub.3 wherein: the G.sub.0 is a first subset orderly extracting all the elements having the value of 0 from the D; the G.sub.1 is a second subset orderly extracting all the elements having the value of 1 from the D; the G.sub.2 is a third subset orderly extracting all the elements having a value of 2 from the D; and the G.sub.3 is a fourth subset orderly extracting all the elements having a value of 3 from the D; {circle around (1)}_7b, dividing the four subsets into two depth value sets in three different grouping manners, wherein: a first group is denoted as C.sub.1, C.sub.1=={F.sub.1.sup.1=G.sub.0, F.sub.2.sup.1=G.sub.1G.sub.2G.sub.3}, wherein: the F.sub.1.sup.1 represents a first depth value set in a first grouping manner; the F.sub.2.sup.1 represents a second depth value set in the first grouping manner; and the symbol is a union operational symbol; a second group is denoted as C.sub.2, C.sub.2={F.sub.1.sup.2=G.sub.0G.sub.1, F.sub.2.sup.2=G.sub.2G.sub.3}, wherein: the F.sub.1.sup.2 represents a first depth value set in a second grouping manner; and the F.sub.2.sup.2 represents a second depth value set in the second grouping manner; and a third group is denoted as C.sub.3; C.sub.3={F.sub.1.sup.3=G.sub.0G.sub.1G.sub.2; F.sub.2.sup.3=G.sub.3}, wherein: the F represents a first depth value set in a third grouping manner; and the F represents a second depth value set in the third grouping manner; and {circle around (1)}_7c, adaptively choosing one group from the C.sub.1, the C.sub.2 and the C.sub.3; mapping values of all the elements in the first depth value set of the chosen group into watermarking information 0; and mapping values of all the elements in the second depth value set of the chosen group into watermarking information 1, so as to finish processing the values of all the elements in the D with the depth binarization; in the step {circle around (1)}_7c, the step of adaptively choosing one group from the C.sub.1, the C.sub.2 and the C.sub.3 comprises steps of: 1_1), counting total numbers of the elements respectively in the G.sub.0, the G.sub.1, the G.sub.2 and the G.sub.3 respectively denoted as S.sub.0, S.sub.1, S.sub.2 and S.sub.3; 1-2), respectively calculating ratios of the S.sub.0, the S.sub.1, the S.sub.2 and the S.sub.3 to the S, respectively denoted as P.sub.0, P.sub.1, P.sub.2 and P.sub.3, wherein: P 0 = S 0 S ; P 1 = S 1 S ; P 2 = S 2 S ; and P 3 = S 3 S ; 1_3), letting P.sub.diff(C.sub.1)=|P.sub.0(P.sub.1+P.sub.2+P.sub.3)|, P.sub.diff(C.sub.2)=|(P.sub.0+P.sub.1)(P.sub.2+P.sub.3)|, and P.sub.diff(C.sub.3)=|(P.sub.0+P.sub.1+P.sub.2)P.sub.3|; wherein the symbol is an absolute value symbol; 1_4), letting C=C.sub.2; determining whether P.sub.diff(C) is larger than the P.sub.diff(C.sub.3); if the P.sub.diff(C) is larger than the P.sub.diff(C.sub.3), letting C=C.sub.3, and then executing step 1-5); otherwise, remaining the C unchanged, and then executing the step 1-5); wherein the = in C=C.sub.3 is the assignment symbol; 1-5) determining whether the P.sub.diff(C) is larger than a first threshold T; if the P.sub.diff(C) is larger than the first threshold T, executing step 1-6); otherwise, remaining the C unchanged, and adopting the C as a first final chosen group; and 1-6), determining whether the P.sub.diff(C) is larger than or equal to the P.sub.diff(C.sub.1); if the P.sub.diff(C) is larger than or equal to the P.sub.diff(C.sub.1), letting C=C.sub.1, and adopting the C as the first final chosen group; otherwise, remaining the C unchanged, and adopting the C as the first final chosen group; wherein the = in C=C.sub.1 is the assignment symbol; and the first threshold T in the step 1-5) has a value of 0.4.

2. A zero-watermarking detection method for HEVC video streaming against requantization transcoding, which corresponds to the zero-watermarking registration method for the HEVC video streaming against the requantization transcoding as recited in claim 1, comprising steps of: {circle around (2)}_1, at the watermarking detection port, letting V.sub.dec denote an HEVC video to be detected which has the resolution of MN and is compressed and coded through the HEVC standard coding platform; letting an obtained corresponding video streaming be a second target video streaming, denoted as str.bin.sub.dec; arranging a third set {circumflex over (D)}, and letting an initial value of the {circumflex over (D)} be empty; {circle around (2)}_2, parsing each video frame of the str.bin.sub.dec, and defining an f.sup.th video frame to be parsed currently in the str.bin.sub.dec as a second current frame, wherein: the f the integer and has the initial value of 1; 1fF; the F represents a total frame number of the video frames in the str.bin.sub.dec; and the F is equal to the F; {circle around (2)}_3, parsing each CTU of the second current frame, and defining a b.sup.th CTU to be parsed currently in the second current frame as a second current parsing block, wherein: the b is the integer and has the initial value of 1; 1bB; and the B represents a total number of the CTUs in the second current frame; {circle around (2)}_4, taking the brightness block having the size of 44 as the unit, orderly parsing out a depth value corresponding to each brightness block in the second current parsing block; and denoting the depth value corresponding to a k.sup.th brightness block in the second current parsing block as d.sub.dec.sup.k, wherein: the k is the integer and has the initial value of 1; 1k256; and d.sub.dec.sup.k{0,1,2,3}; {circle around (2)}_5, letting b=b+1, taking a next CTU to be parsed in the second current frame as the second current parsing block, and returning back to the step {circle around (2)}_4 to continue executing until all of the CTUs in the second current frame are parsed; and then executing step {circle around (2)}_6; wherein the = in b=b+1 is the assignment symbol; {circle around (2)}_6, letting f=f+1, taking a next video frame to be parsed in the str.bin.sub.dec as the second current frame, and returning back to the step {circle around (2)}_3 to continue executing until all of the video frames in the str.bin.sub.dec are parsed; and then executing step {circle around (2)}_7; wherein the = in f=f+1 is the assignment symbol; {circle around (2)}_7, orderly storing the respective depth value corresponding to each brightness block in the str.bin.sub.dec into the {circumflex over (D)}; and processing values of all elements in the {circumflex over (D)} with the depth binarization, so as to obtain a fourth set denoted as {circumflex over (D)}, wherein a total number of the elements in the {circumflex over (D)} is S, S=FB256; {circle around (2)}_8, according to the preset rule which is sent to the watermarking detection port from the watermarking registration port, extracting XY elements from the {circumflex over (D)}; orderly arranging the extracted XY elements into a second watermarking information matrix having the size of XY with the Zig-Zag scanning order; processing a value of each element in the second watermarking information matrix and the value of the corresponding element in the R.sub.org which is sent to the watermarking detection port from the watermarking registration port with XOR, so as to obtain a third matrix which serves as a second encrypted watermarking information matrix, denoted as {circumflex over (D)}*; wherein 1XYFB256; {circle around (2)}_9, processing a value of each element in the {circumflex over (D)}* and a value of a corresponding element in the W.sub.org of the IPR database which is established by the trusted third party with XOR, so as to obtain a fourth matrix which serves as copyright logo information, denoted as logo.sub.dec; and processing the logo.sub.dec with chaotic anti-scrambling to obtain an image denoted as logo.sub.dec; and {circle around (2)}_10, comparing the logo.sub.dec with the logo.sub.org which is sent to the watermarking detection port from the watermarking registration port; if the logo.sub.dec and the logo.sub.org are consistent, finishing a copyright authentication: in the step {circle around (2)}_7, the step of processing values of all elements in the {circumflex over (D)} with the depth binarization comprises steps of: {circle around (2)}_7a, dividing the {circumflex over (D)} into four subsets, respectively denoted as .sub.0, .sub.1, .sub.2 and .sub.3, wherein: the .sub.0 is a fifth subset orderly extracting all the elements having the value of 0 from the {circumflex over (D)}; the .sub.1 is a sixth subset orderly extracting all the elements having the value of 1 from the {circumflex over (D)}; the .sub.2 is a seventh subset orderly extracting all the elements having the value of 2 from the {circumflex over (D)}; and the .sub.3 is an eighth subset orderly extracting all the elements having the value of 3 from the {circumflex over (D)}; {circle around (2)}_7b, dividing the four subsets into two depth value sets in three different grouping manners, wherein: a fourth group is denoted as .sub.1, .sub.1={{circumflex over (F)}.sub.1.sup.1=.sub.0,{circumflex over (F)}.sub.2.sup.1=.sub.1.sub.2.sub.3}, wherein: the {circumflex over (F)}.sub.1.sup.1 represents a first depth value set in a fourth grouping manner; the {circumflex over (F)}.sub.2.sup.1 represents a second depth value set in the fourth grouping manner; and the symbol is the union operational symbol; a fifth group is denoted as .sub.2, .sub.2={{circumflex over (F)}.sub.1.sup.2=.sub.0.sub.1,{circumflex over (F)}.sub.2.sup.2=.sub.2.sub.3}, wherein: the {circumflex over (F)}.sub.1.sup.2 represents a first depth value set in a fifth grouping manner; and the {circumflex over (F)}.sub.2.sup.2 represents a second depth value set in the fifth grouping manner; and a sixth group is denoted as .sub.3, .sub.3={{circumflex over (F)}.sub.1.sup.3=.sub.0.sub.1.sub.2,{circumflex over (F)}.sub.2.sup.3=.sub.3}, wherein: the {circumflex over (F)}.sub.1.sup.3 represents a first depth value set in a sixth grouping manner; and the {circumflex over (F)}.sub.2.sup.3 represents a second depth value set in the sixth grouping manner; and {circle around (2)}_7c, adaptively choosing one group from the .sub.1, the .sub.2 and the .sub.3; mapping values of all the elements in the first depth value set of the chosen group into the watermarking information 0; and mapping values of all the elements in the second depth value set of the chosen group into the watermarking information 1, so as to finish processing the values of all the elements in the {circumflex over (D)} with the depth binarization; in the step {circle around (2)}_7c, the step of adaptively choosing one group from the .sub.1, the .sub.2 and the .sub.3 comprises steps of: 2_1), counting total numbers of the elements respectively in the .sub.0, the .sub.1, the .sub.2 and the .sub.3, respectively denoted as .sub.0, .sub.1, .sub.2 and .sub.3; 2-2), respectively calculating ratios of the .sub.0, the .sub.1, the .sub.2 and the .sub.3 to the S, respectively denoted as {circumflex over (P)}.sub.0, {circumflex over (P)}.sub.1, {circumflex over (P)}.sub.2 and {circumflex over (P)}.sub.3, wherein: P ^ 0 = S ^ 0 S ; P ^ 1 = S ^ 1 S ; P ^ 2 = S ^ 2 S ; and P ^ 3 = S ^ 3 S ; 2_3), letting P.sub.diff(.sub.1)=|{circumflex over (P)}.sub.0({circumflex over (P)}.sub.1+{circumflex over (P)}.sub.2+{circumflex over (P)}.sub.3)|, P.sub.diff(.sub.2)=({circumflex over (P)}.sub.0+{circumflex over (P)}.sub.1)({circumflex over (P)}.sub.2+{circumflex over (P)}.sub.3)|, and P.sub.diff(.sub.3)=|({circumflex over (P)}.sub.0+{circumflex over (P)}.sub.1+{circumflex over (P)}.sub.2){circumflex over (P)}.sub.3|; wherein the symbol is the absolute value symbol; 2_4), letting =.sub.2; determining whether P.sub.diff() is larger than the P.sub.diff(.sub.3); if the P.sub.diff() is larger than the P.sub.diff(.sub.3), letting =.sub.3, and then executing step 2-5); otherwise, remaining the unchanged, and then executing the step 2-5); wherein the = in =.sub.3 is the assignment symbol; 2-5) determining whether the P.sub.diff() is larger than a second threshold T; if the P.sub.diff() is larger than the second threshold T, executing step 2-6); otherwise, remaining the unchanged, and adopting the as a second final chosen group; and 2-6), determining whether the P.sub.diff() is larger than or equal to the P.sub.diff(.sub.1); if the P.sub.diff() is larger than or equal to the P.sub.diff(), letting =.sub.1, and adopting the as the second final chosen group; otherwise, remaining the unchanged, and adopting the as the second final chosen group; wherein the = in =.sub.1 is the assignment symbol; and the second threshold T in the step 2-5) has the value of 0.4.

Description

BRIEF DESCRIPTION OF THE DRAWINGS

(1) FIG. 1a shows an implementation block diagram of a zero-watermarking registration method according to a first preferred embodiment of the present invention.

(2) FIG. 1b shows an implementation block diagram of a zero-watermarking detection method according to a second preferred embodiment of the present invention.

(3) FIG. 2a shows a copyright logo image which is a ningda image having a resolution of 205650 according to the first preferred embodiment of the present invention.

(4) FIG. 2b shows a binary image of FIG. 2a.

(5) FIG. 3a shows a first final copyright logo image obtained from an unattacked PartyScene testing sequence which serves as an HEVC video to be detected according to the preferred embodiments of the present invention.

(6) FIG. 3b shows a second final copyright logo image obtained from an unattacked BQMall testing sequence which serves as the HEVC video to be detected according to the preferred embodiments of the present invention.

(7) FIG. 4a shows a first percent correct (PC) curve diagram of a watermarking extraction of BasketballPass, ParkScene, PartyScene and Vidyol test sequences after a requantization transcoding attack when an original coding QP is 24 according to the preferred embodiments of the present invention.

(8) FIG. 4b shows a second PC curve diagram of the watermarking extraction of the BasketballPass, the ParkScene, the PartyScene and the Vidyol test sequences after the requantization transcoding attack when the original coding QP is 28 according to the preferred embodiments of the present invention.

(9) FIG. 4c shows a third PC curve diagram of the watermarking extraction of the BasketballPass, the ParkScene, the PartyScene and the Vidyol test sequences after the requantization transcoding attack when the original coding QP is 32 according to the preferred embodiments of the present invention.

(10) FIG. 5a shows a fourth PC curve diagram of the watermarking extraction of the BasketballPass, the ParkScene, the PartyScene and the Vidyol test sequences after a Gaussian blur and the requantization transcoding attack according to the preferred embodiments of the present invention.

(11) FIG. 5b shows a fifth PC curve diagram of the watermarking extraction of the BasketballPass, the ParkScene, the PartyScene and the Vidyol test sequences after brightness weakening and the requantization transcoding attack according to the preferred embodiments of the present invention.

(12) FIG. 5c shows a sixth PC curve diagram of the watermarking extraction of the BasketballPass, the ParkScene, the PartyScene and the Vidyol test sequences after brightness enhancement and the requantization transcoding attack according to the preferred embodiments of the present invention.

(13) FIG. 5d shows a seventh PC curve diagram of the watermarking extraction of the BasketballPass, the ParkScene, the PartyScene and the Vidyol test sequences after sharpening and the requantization transcoding attack according to the preferred embodiments of the present invention.

(14) FIG. 5e shows an eighth PC curve diagram of the watermarking extraction of the BasketballPass, the ParkScene, the PartyScene and the Vidyol test sequences after a Gaussian noise treatment and the requantization transcoding attack according to the preferred embodiments of the present invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

(15) The present invention is further described with accompanying drawings and preferred embodiments.

First Preferred Embodiment

(16) According to the first preferred embodiment of the present invention, a zero-watermarking registration method for HEVC video streaming against requantization transcoding is provided, wherein:

(17) at a watermarking registration port, depth features of an original video to be protected are extracted and binarized into a watermarking;

(18) then, in order to enhance a safety of a registration and a visual effect of the watermarking, the watermarking is encrypted; the encrypted watermarking and chaotically-scrambled copyright logo information are processed with XOR; and an obtained result of processing with XOR is a registration watermarking; and

(19) finally, in order to guarantee an uniqueness and an authority of the watermarking, a time certification authority is requested to create a timestamp on registration information, and timestamped registration information is registered in an IPR database which is established by a trusted third party.

(20) FIG. 1a shows an implementation block diagram of the zero-watermarking registration method for the HEVC video streaming against the requantization transcoding according to the first preferred embodiment of the present invention.

(21) The zero-watermarking registration method for the HEVC video streaming against the requantization transcoding comprises steps of:

(22) {circle around (1)}_1, at a watermarking registration port, compressing and coding an original video V.sub.org which is to be protected and has a resolution of MN through an HEVC standard coding platform, so as to obtain a first target video streaming denoted as str.bin.sub.org; arranging a first set D, and letting an initial value of the D be empty;

(23) {circle around (1)}_2, parsing each video frame of the str.bin.sub.org, and defining an fth video frame to be parsed currently in the str.bin.sub.org as a first current frame, wherein: the f is an integer and has an initial value of 1; 1fF; and the F represents a total frame number of the video frames in the str.bin.sub.org;

(24) {circle around (1)}_3, parsing each CTU of the first current frame, and defining a bth CTU to be parsed currently in the first current frame as a first current parsing block, wherein: the b is the integer and has the initial value of 1; 1bB; and the B represents a total number of the CTUs in the first current frame;

(25) {circle around (1)}_4, taking a brightness block having a size of 44 as a unit, orderly parsing out a depth value corresponding to each brightness block in the first current parsing block; and denoting the depth value corresponding to a kth brightness block in the first current parsing block as d.sub.org.sup.k, wherein: the k is the integer and has the initial value of 1; 1k256; and d.sub.org.sup.k{0,1,2,3};

(26) {circle around (1)}_5, letting b=b+1, taking a next CTU to be parsed in the first current frame as the first current parsing block, and returning back to the step {circle around (1)}_4 to continue executing until all of the CTUs in the first current frame are parsed; and then executing step {circle around (1)}_6; wherein the = in b=b+1 is an assignment symbol;

(27) {circle around (1)}_6, letting f=f+1, taking a next video frame to be parsed in the str.bin.sub.org as the first current frame, and returning back to the step {circle around (1)}_3 to continue executing until all of the video frames in the str.bin.sub.org are parsed; and then executing step {circle around (1)}_7; wherein the = in f=f+1 is the assignment symbol;

(28) {circle around (1)}_7, orderly storing the respective depth value corresponding to each brightness block in the str.bin.sub.org into the D; and processing values of all elements in the D with a depth binarization, so as to obtain a second set denoted as D, wherein a total number of the elements in the D is S, S=FB256; wherein: in the step {circle around (1)}_7, the step of processing values of all elements in the D with a depth binarization is embodied to comprise steps of:

(29) {circle around (1)}_7a, dividing the D into four subsets, respectively denoted as G.sub.0, G.sub.1, G.sub.2 and G.sub.3, wherein: the G.sub.0 is a first subset orderly extracting all the elements having a value of 0 from the D; the G.sub.1 is a second subset orderly extracting all the elements having a value of 1 from the D; the G.sub.2 is a third subset orderly extracting all the elements having a value of 2 from the D; and the G.sub.3 is a fourth subset orderly extracting all the elements having a value of 3 from the D;

(30) {circle around (1)}_7b, dividing the four subsets into two depth value sets in three different grouping manners, wherein:

(31) a first group is denoted as C.sub.1, C.sub.1={F.sub.1.sup.1=G.sub.0,F.sub.2.sup.1=G.sub.1G.sub.2G.sub.3}, wherein: the F.sub.1.sup.1 represents a first depth value set in a first grouping manner; the F.sub.2.sup.1 represents a second depth value set in the first grouping manner; and the symbol is a union operational symbol;

(32) a second group is denoted as C.sub.2, C.sub.2={F.sub.1.sup.2=G.sub.0G.sub.1,F.sub.2.sup.2=G.sub.2G.sub.3}, wherein: the F.sub.1.sup.2 represents a first depth value set in a second grouping manner; and the F represents a second depth value set in the second grouping manner; and

(33) a third group is denoted as C.sub.3, C.sub.3={F.sub.1.sup.3=G.sub.0G.sub.1G.sub.2,F.sub.2.sup.3=G.sub.3}, wherein: the F.sub.1.sup.3 represents a first depth value set in a third grouping manner; and the F.sub.2.sup.3 represents a second depth value set in the third grouping manner; and

(34) {circle around (1)}_7c, adaptively choosing one group from the C.sub.1, the C.sub.2 and the C.sub.3 mapping values of all the elements in the first depth value set of the chosen group into watermarking information 0; and mapping values of all the elements in the second depth value set of the chosen group into watermarking information 1, so as to finish processing the values of all the elements in the D with the depth binarization; wherein: in the step {circle around (1)}_7c, the step of adaptively choosing one group from the C.sub.1, the C.sub.2 and the C.sub.3 is embodied to comprise steps of:

(35) 1_1), counting total numbers of the elements respectively in the G.sub.0, the G.sub.1, the G.sub.2 and the G.sub.3, respectively denoted as S.sub.0, S.sub.1, S.sub.2 and S.sub.3;

(36) 1-2), respectively calculating ratios of the S.sub.0, the S.sub.1, the S.sub.2 and the S.sub.3 to the S, respectively denoted as P.sub.0, P.sub.1, P.sub.2 and P.sub.3 wherein:

(37) P 0 = S 0 S ; P 1 = S 1 S ; P 2 = S 2 S ; and P 3 = S 3 S ;

(38) 1_3), letting P.sub.diff(C.sub.1)=P.sub.0(P.sub.1+P.sub.2+P.sub.3)|, P.sub.diff(C.sub.2)=|(P.sub.0+P.sub.1)(P.sub.2+P.sub.3)|, and P.sub.diff(C.sub.3)=|(P.sub.0+P.sub.1+P.sub.2)P.sub.3|; wherein the symbol is an absolute value symbol;

(39) 1_4), letting C=C.sub.2; determining whether P.sub.diff(C) is larger than the P.sub.diff(C.sub.3); if the P.sub.diff(C) is larger than the P.sub.diff(C.sub.3), letting C=C.sub.3, and then executing step 1-5); otherwise, remaining the C unchanged, and then executing the step 1-5); wherein the = in C=C.sub.3 is the assignment symbol;

(40) 1-5) determining whether the P.sub.diff(C) is larger than a first threshold T; if the P.sub.diff(C) is larger than the first threshold T, executing step 1-6); otherwise, remaining the C unchanged, and adopting the C as a first final chosen group; wherein: the first threshold T is embodied to have a value of 0.4; and

(41) 1-6), determining whether the P.sub.diff(C) is larger than or equal to the P.sub.diff(C.sub.1); if the P.sub.diff(C) is larger than or equal to the P.sub.diff(C.sub.1), letting C=C.sub.1, and adopting the C as the first final chosen group; otherwise, remaining the C unchanged, and adopting the C as the first final chosen group; wherein the = in C=C.sub.1 is the assignment symbol;

(42) {circle around (1)}_8, converting a copyright logo image logo.sub.org having a resolution of XY into a binary image denoted as logo.sub.org; and processing the logo.sub.org with chaotic scrambling to obtain an image denoted as logo.sub.org; wherein: 1XYFB256; the logo.sub.org is embodied to be a ningda image having a resolution of 205650, as showed in FIG. 2a; the ningda image is a color image and has three channels; the ningda image is converted into the binary image logo.sub.org, as showed in FIG. 2b; and processing the logo.sub.org with the chaotic scrambling is randomly disordering data in the binary image logo.sub.org;

(43) {circle around (1)}_9, extracting XY elements from the D according to a preset rule; orderly arranging the extracted XY elements into a first watermarking information matrix having a size of XY with a Zig-Zag scanning order; meanwhile, randomly generating a random matrix having the size of XY, wherein each element in the random matrix has the value of 0 or 1, and denoting the random matrix as R.sub.org; processing a value of each element in the first watermarking information matrix and the value of the corresponding element in the R.sub.org with XOR, so as to obtain a first matrix which serves as a first encrypted watermarking information matrix, denoted as D*; wherein: the preset rule is embodied to be user-defined, such as extracting first XY elements from the D, extracting last XY elements from the D, extracting middle XY elements from the D, and extracting XY elements from the D at intervals, while extracting in other manner is feasible; and the random matrix can be directly generated by a conventional tool, such as MATLAB and c++; and

(44) {circle around (1)}_10, processing a value of each element in the logo.sub.org and a value of a corresponding element in the D* with XOR, so as to obtain a second matrix which serves as registration watermarking information, denoted as W.sub.org; requesting a time certification authority to create a timestamp on the W.sub.org, so as to obtain timestamped registration watermarking information denoted as W.sub.org; registering the W.sub.org in an IPR database which is established by a trusted third party, and meanwhile sending the logo.sub.org, the R.sub.org and the preset rule to a watermarking detection port; wherein the timestamp on the registration watermarking information W.sub.org is a registration time certification provided by the time certification authority and able to effectively confirm an ownership of work rights.

Second Preferred Embodiment

(45) According to the second preferred embodiment of the present invention, a zero-watermarking detection method for the HEVC video streaming against the requantization transcoding, corresponding to the zero-watermarking registration method for the HEVC video streaming against the requantization transcoding according to the first preferred embodiment of the present invention, is provided, and an implementation block diagram thereof is showed in FIG. 1b; wherein:

(46) at the watermarking detection port, depth features of an HEVC video to be detected are firstly extracted, binarized, and encrypted with a saved key;

(47) then, the depth features of the HEVC video and the registration watermarking information in the IPR database are processed with XOR; and

(48) finally, an obtained result after processing with XOR is processed with chaotic anti-scrambling, so as to confirm an ownership of a copyright.

(49) FIG. 1b shows the implementation block diagram of the zero-watermarking detection method for the HEVC video streaming against the requantization transcoding according to the second preferred embodiment of the present invention.

(50) The zero-watermarking detection method for the HEVC video streaming against the requantization transcoding comprises steps of:

(51) {circle around (2)}_1, at the watermarking detection port, letting V.sub.dec denote an HEVC video to be detected which has the resolution of MN and is compressed and coded through the HEVC standard coding platform; letting an obtained corresponding video streaming be a second target video streaming, denoted as str.bin.sub.dec; arranging a third set {circumflex over (D)}, and letting an initial value of the {circumflex over (D)} be empty; wherein the resolution of the HEVC video V.sub.dec is embodied to be consistent with the resolution of the original video V.sub.org;

(52) {circle around (2)}_2, parsing each video frame of the str.bin.sub.dec, and defining an fth video frame to be parsed currently in the str.bin.sub.dec as a second current frame, wherein: the f is the integer and has the initial value of 1; 1fF; the F represents a total frame number of the video frames in the str.bin.sub.dec; and the F is equal to the F;

(53) {circle around (2)}_3, parsing each CTU of the second current frame, and defining a bth CTU to be parsed currently in the second current frame as a second current parsing block, wherein: the b is the integer and has the initial value of 1; 1bB; and the B represents a total number of the CTUs in the second current frame;

(54) {circle around (2)}_4, taking the brightness block having the size of 44 as the unit, orderly parsing out a depth value corresponding to each brightness block in the second current parsing block; and denoting the depth value corresponding to a kth brightness block in the second current parsing block as d.sub.dec.sup.k, wherein: the k is the integer and has the initial value of 1; 1k256; and d.sub.dec.sup.k{0,1,2,3};

(55) {circle around (2)}_5, letting b=b+1, taking a next CTU to be parsed in the second current frame as the second current parsing block, and returning back to the step {circle around (2)}_4 to continue executing until all of the CTUs in the second current frame are parsed; and then executing step {circle around (2)}_6; wherein the = in b=b+1 is the assignment symbol;

(56) {circle around (2)}_6, letting f=f+1, taking a next video frame to be parsed in the str.bin.sub.dec as the second current frame, and returning back to the step {circle around (2)}_3 to continue executing until all of the video frames in the str.bin.sub.dec are parsed; and then executing step {circle around (2)}_7; wherein the = in f=f+1 is the assignment symbol;

(57) {circle around (2)}_7, orderly storing the respective depth value corresponding to each brightness block in the str.bin.sub.dec into the {circumflex over (D)}; and processing values of all elements in the {circumflex over (D)} with the depth binarization, so as to obtain a fourth set denoted as {circumflex over (D)}, wherein a total number of the elements in the {circumflex over (D)} is S, S=FB256; wherein: in the step {circle around (2)}_7, the step of processing values of all elements in the {circumflex over (D)} with the depth binarization is embodied to comprise steps of:

(58) 2_7a, dividing the {circumflex over (D)} into four subsets, respectively denoted as .sub.0, .sub.1, .sub.2 and .sub.3, wherein: the .sub.0 is a fifth subset orderly extracting all the elements having the value of 0 from the {circumflex over (D)}; the .sub.1 is a sixth subset orderly extracting all the elements having the value of 1 from the {circumflex over (D)}; the .sub.2 is a seventh subset orderly extracting all the elements having the value of 2 from the {circumflex over (D)}; and the .sub.3 is an eighth subset orderly extracting all the elements having the value of 3 from the D;

(59) {circle around (2)}_7b, dividing the four subsets into two depth value sets in three different grouping manners, wherein:

(60) a fourth group is denoted as .sub.1, .sub.1={{circumflex over (F)}.sub.1.sup.1=.sub.0,{circumflex over (F)}.sub.2.sup.1=.sub.1.sub.2.sub.3}, wherein: the {circumflex over (F)}.sub.1.sup.1 represents a first depth value set in a fourth grouping manner; the {circumflex over (F)}.sub.2.sup.1 represents a second depth value set in the fourth grouping manner; and the symbol is the union operational symbol;

(61) a fifth group is denoted as .sub.2, .sub.2={{circumflex over (F)}.sub.1.sup.2=.sub.0.sub.1, {circumflex over (F)}.sub.2.sup.2=.sub.2 .sub.3}, wherein: the {circumflex over (F)}.sub.1.sup.2 represents a first depth value set in a fifth grouping manner; and the {circumflex over (F)}.sub.2.sup.2 represents a second depth value set in the fifth grouping manner; and

(62) a sixth group is denoted as .sub.3, .sub.3={{circumflex over (F)}.sub.1.sup.3=.sub.0.sub.1.sub.2, {circumflex over (F)}.sub.2.sup.3=.sub.3}, wherein: the {circumflex over (F)}.sub.1.sup.3 represents a first depth value set in a sixth grouping manner; and the {circumflex over (F)}.sub.2.sup.3 represents a second depth value set in the sixth grouping manner; and

(63) {circle around (2)}_7c, adaptively choosing one group from the .sub.1, the .sub.2 and the .sub.3; mapping values of all the elements in the first depth value set of the chosen group into the watermarking information 0; and mapping values of all the elements in the second depth value set of the chosen group into the watermarking information 1, so as to finish processing the values of all the elements in the {circumflex over (D)} with the depth binarization; wherein: in the step {circle around (2)}_7c, the step of adaptively choosing one group from the .sub.1, the .sub.2 and the .sub.3 is embodied to comprise steps of:

(64) 2_1), counting total numbers of the elements respectively in the .sub.0, the .sub.1, the .sub.2 and the .sub.3, respectively denoted as .sub.0, .sub.1, .sub.2 and .sub.3;

(65) 2-2), respectively calculating ratios of the .sub.0, the .sub.1, the .sub.2 and the .sub.3 to the S, respectively denoted as {circumflex over (P)}.sub.0, {circumflex over (P)}.sub.1, {circumflex over (P)}.sub.2 and {circumflex over (P)}.sub.3, wherein:

(66) P ^ 0 = S ^ 0 S ; P ^ 1 = S ^ 1 S ; P ^ 2 = S ^ 2 S ; and P ^ 3 = S ^ 3 S ;

(67) 2_3), letting P.sub.diff(.sub.1)=|{circumflex over (P)}.sub.0({circumflex over (P)}.sub.1+{circumflex over (P)}.sub.2+{circumflex over (P)}.sub.3)|, P.sub.diff(.sub.2)=|({circumflex over (P)}.sub.0+{circumflex over (P)}.sub.1)({circumflex over (P)}.sub.2+{circumflex over (P)}.sub.3)|, and P.sub.diff(.sub.3)=|({circumflex over (P)}.sub.0+{circumflex over (P)}.sub.1+{circumflex over (P)}.sub.2){circumflex over (P)}.sub.3|; wherein the symbol is the absolute value symbol;

(68) 2_4), letting =.sub.2; determining whether P.sub.diff() is larger than the P.sub.diff(.sub.3); if the P.sub.diff() is larger than the P.sub.diff(.sub.3), letting =.sub.3, and then executing step 2-5); otherwise, remaining the unchanged, and then executing the step 2-5); wherein the = in =.sub.3 is the assignment symbol;

(69) 2-5) determining whether the P.sub.diff() is larger than a second threshold T; if the P.sub.diff() is larger than the second threshold T, executing step 2-6); otherwise, remaining the unchanged, and adopting the as a second final chosen group; wherein the second threshold T is embodied to have the value of 0.4; and

(70) 2-6), determining whether the P.sub.diff() is larger than or equal to the P.sub.diff(.sub.1); if the P.sub.diff() is larger than or equal to the P.sub.diff(.sub.1), letting =.sub.1, and adopting the as the second final chosen group; otherwise, remaining the unchanged, and adopting the as the second final chosen group; wherein the = in =.sub.1 is the assignment symbol;

(71) {circle around (2)}_8, according to the preset rule which is sent to the watermarking detection port from the watermarking registration port, extracting XY elements from the {circumflex over (D)}; orderly arranging the extracted XY elements into a second watermarking information matrix having the size of XY with the Zig-Zag scanning order; processing a value of each element in the second watermarking information matrix and the value of the corresponding element in the R.sub.org which is sent to the watermarking detection port from the watermarking registration port with XOR, so as to obtain a third matrix which serves as a second encrypted watermarking information matrix, denoted as {circumflex over (D)}*; wherein: 1XYFB256; the preset rule for extracting the second watermarking information matrix from the {circumflex over (D)} is embodied to be consistent with the preset rule for extracting at the watermarking registration port; values of the X and the Y are unchanged;

(72) {circle around (2)}_9, processing a value of each element in the {circumflex over (D)}* and a value of a corresponding element in the W.sub.org of the IPR database which is established by the trusted third party with XOR, so as to obtain a fourth matrix which serves as copyright logo information, denoted as logo.sub.dec; and processing the logo.sub.dec with chaotic anti-scrambling to obtain an image denoted as logo.sub.dec; and

(73) {circle around (2)}_10, comparing the logo.sub.dec with the logo.sub.org which is sent to the watermarking detection port from the watermarking registration port; if the logo.sub.dec and the logo.sub.org are consistent, finishing a copyright authentication.

(74) In order to verify effectiveness and feasibility of the registration method and the corresponding detection method, the two methods of the present invention are tested.

(75) Four test sequences, BasketballPass, ParkScene, PartyScene and Vidyol, are adopted, wherein the four test sequences have different resolutions, respectively 416240, 19201080, 832480 and 1280720, and different texture complexities. According to the preferred embodiments of the present invention, a standard test coding platform HM15.0 is adopted; and a full frame intra coding is adopted, having a coding frame number of 100. From three aspects of an independence of a zero-watermarking, a robustness against a requantization transcoding attack of a coding QP within a certain range of variation, and the robustness against common signal processing combined with the requantization transcoding attack, the effectiveness of the two methods, provided by the present invention, is assessed according to PC of a watermarking extraction,

(76) PC = .Math. f = 1 F .Math. k = 1 K ( w ( f , k ) e ( f , k ) ) F K ,
wherein: the w(f,k) represents depth-binarized watermarking information of a kth brightness block in an fth frame of an original HEVC video after coding; the w(f,k) represents depth-binarized watermarking information of a kth brightness block in an fth frame of an attacked HEVC video after recoding; the F is a total frame number of the video frames in the test sequence; the K is a total number of the brightness blocks in each video frame; and the symbol is an XNOR symbol.

(77) 1) Independence of Zero-Watermarking

(78) The zero-watermarking is a specific characterization of a carrier, and thus the zero-watermarkings of the different video sequences are required to be mutually independent. Take the PartyScene test sequence and the BQMall test sequence as examples to test the independence of the zero-watermarking, both of the two test sequences have the resolution of 832480. According to the zero-watermarking registration method provided by the present invention, the registration watermarking information of the PartyScene test sequence and the BQMall test sequence is obtained. FIG. 3a shows a first final copyright logo image obtained from the unattacked PartyScene test sequence which serves as the HEVC video to be detected. FIG. 3b shows a second final copyright logo image obtained from the unattacked BQMall test sequence which serves as the HEVC video to be detected. According to the obtained final copyright logo images, when the HEVC video to be detected is the same as an original registration video, the complete original copyright logo image is obtained; when the HEVC video to be detected is different from the original registration video, it is failed to obtain the original copyright logo image. Accordingly, the zero-watermarkings of the different video sequences are required to be mutually independent.

(79) 2) Robustness Against Requantization Transcoding

(80) The requantization transcoding destroys the compressed domain watermarking with a certain video quality loss and is one of the most common compressed video watermarking attack manners. The requantization transcoding is to process the video sequence with compressing and coding once again. According to the second preferred embodiment, the original coding QP of the test sequences are respectively 24, 28, and 32. FIG. 4a shows a first PC curve diagram of the watermarking extraction of the BasketballPass, the ParkScene, the PartyScene and the Vidyol test sequences after the requantization transcoding attack when the original coding QP is 24. FIG. 4b shows a second PC curve diagram of the watermarking extraction of the BasketballPass, the ParkScene, the PartyScene and the Vidyol test sequences after the requantization transcoding attack when the original coding QP is 28. FIG. 4c shows a third PC curve diagram of the watermarking extraction of the BasketballPass, the ParkScene, the PartyScene and the Vidyol test sequences after the requantization transcoding attack when the original coding QP is 32. The PC curve diagrams of the watermarking extraction, as showed in FIGS. 4a-4c, illustrate that the PC of the watermarking extraction changes with the different original coding QPs of the requantization transcoding. According to FIGS. 4a-4c, the PCs of the watermarking extraction of the method, provided by the present invention, are all over 85%, illustrating that the method provided by the present invention is able to resist the requantization transcoding attack within a certain range of the coding QP. In a range of [QP3, QP], the PC has little change, mainly above 95%; and in a range of [QP+1, QP+3], the PC decreases obviously, and the lowest PC is 85.34%, mainly because an increase of the original coding QP has a relatively large influence on a rate distortion loss when determining a size of coding units.

(81) 3) Robustness Against Signal Processing Combined with Requantization Transcoding Attack

(82) Test results of the robustness of the test sequences after processing with the various signal processing combined with the requantization transcoding attack of the same coding QP are showed in FIGS. 5a-5e. FIG. 5a shows a fourth PC curve diagram of the watermarking extraction of the BasketballPass, the ParkScene, the PartyScene and the Vidyol test sequences after a Gaussian blur and the requantization transcoding attack. FIG. 5b shows a fifth PC curve diagram of the watermarking extraction of the BasketballPass, the ParkScene, the PartyScene and the Vidyol test sequences after brightness weakening and the requantization transcoding attack. FIG. 5c shows a sixth PC curve diagram of the watermarking extraction of the BasketballPass, the ParkScene, the PartyScene and the Vidyol test sequences after brightness enhancement and the requantization transcoding attack. FIG. 5d shows a seventh PC curve diagram of the watermarking extraction of the BasketballPass, the ParkScene, the PartyScene and the Vidyol test sequences after sharpening and the requantization transcoding attack. FIG. 5e shows an eighth PC curve diagram of the watermarking extraction of the BasketballPass, the ParkScene, the PartyScene and the Vidyol test sequences after a Gaussian noise treatment and the requantization transcoding attack. According to FIG. 5a and FIG. 5d, the PC is above 93% at a certain degree of wave filtering, illustrating that the method provided by the present invention is able to resist a certain degree of the wave filtering. According to FIG. 5b and FIG. 5c, the PC is above 93% at a certain degree of brightness attack, illustrating that the method provided by the present invention is able to resist a certain degree of the brightness attack. According to FIG. 5e, the PC of the watermarking extraction is above 88%, illustrating that the method provided by the present invention is able to resist a certain degree of noise attack.

(83) One skilled in the art will understand that the embodiment of the present invention as shown in the drawings and described above is exemplary only and not intended to be limiting.

(84) It will thus be seen that the objects of the present invention have been fully and effectively accomplished. Its embodiments have been shown and described for the purposes of illustrating the functional and structural principles of the present invention and is subject to change without departure from such principles. Therefore, this invention includes all modifications encompassed within the spirit and scope of the following claims.