|
|
|
BY MODIFYING OPTICAL IMAGE (E.G., TRANSMISSIVE OVERLAY) |
Method for embedding and reading watermark-information in digital form, and apparatus thereof6185312
Abstract
An apparatus for embedding information comprises: a blocking step for dividing data to be processed into blocks; an orthogonal transform step for obtaining coefficients by carrying out orthogonal transformation for each block; an embedding coefficient selecting step for determining coefficients in which the watermark-information will be embedded by using a random sequence which is generated by initial value; an information embedding step for sequentially embedding the watermark-information, which has arbitrary length of bits, by quantizing value of said coefficients using a predetermined value for quantization; and an inverse orthogonal transform step for carrying out inverse orthogonal transformation for modified coefficients to form block in which the watermark-information is embedded, as well as combining the divided blocks and reconstructing the original form.
Claims
What is claimed is:
1. A method of embedding information comprising:
a blocking step for dividing original data into blocks;
an orthogonal transform step for obtaining coefficients by performing an orthogonal transformation for each block;
an embedding coefficient selecting step for determining coefficients in which watermark-information will be embedded by using a random sequence which is generated by initial value;
an information embedding step for sequentially embedding watermark-information, which has arbitrary length of bits, by quantizing value of said coefficients using a predetermined value for quantization; and
an inverse orthogonal transform step for carrying out inverse orthogonal transformation for embedded coefficients and non-embedded coefficients to form a block in which the watermark-information is embedded, as well as combining embedded blocks and to reconstruct data which is homogeneous to the original data form,
wherein in said orthogonal transform step said orthogonal transform is a three dimensional orthogonal transform, and in said inverse orthogonal transform step, said inverse orthogonal transform is a three dimensional inverse orthogonal transform,
in said information embedding step, the entropy of the data value of the block to be processed is utilized for determining said predetermined value for quantization; and
in said inverse orthogonal transform step, when the orthogonal transform coefficient obtained by said information embedding step is inverse orthogonal transformed, processing is further performed so that the value after the inverse orthogonal transform does not exceed a defined range of pixel values of the original data form.
2. A method of embedding information comprising:
a blocking step for dividing original data into blocks;
an orthogonal transform step for obtaining coefficients by performing an orthogonal transformation for each block;
an embedding coefficient selecting step for determining coefficients in which watermark-information will be embedded by using a random sequence which is generated by initial value;
an information embedding step for sequentially embedding watermark-information, which has arbitrary length of bits, by quantizing value of said coefficients using a predetermined value for quantization; and
an inverse orthogonal transform step for carrying out inverse orthogonal transformation for embedded coefficients and non-embedded coefficients to form a block in which the watermark-information is embedded, as well as combining embedded blocks and to reconstruct data which is homogeneous to the original data form,
wherein in said orthogonal transform step said orthogonal transform is a three dimensional orthogonal transform, and in said inverse orthogonal transform step, said inverse orthogonal transform is a three dimensional inverse orthogonal transform,
in said orthogonal transform step, the block from said blocking step is down-sampled so that the block size is smaller, after which the down-sampled block is orthogonally transformed to obtain the orthogonal transform coefficient,
in said inverse orthogonal transform step, after inverse orthogonally transforming the orthogonal transform coefficients obtained by said information embedding step, up sampling is performed so as to give a block of the size prior to down-sampling by said blocking step,
in said information embedding step, the entropy of the data value of the block to be processed is utilized for determining said predetermined value for quantization; and
in said inverse orthogonal transform step, when the orthogonal transform coefficient obtained by said information embedding step is inverse orthogonal transformed, processing is further performed so that the value after the inverse orthogonal transform does not exceed a defined range of pixel values of the original data form.
3. A method of embedding information comprising:
a blocking step for dividing original data into blocks;
an orthogonal transform step for obtaining coefficients by performing an orthogonal transformation for each block;
an embedding coefficient selecting step for determining coefficients in which watermark-information will be embedded by using a random sequence which is generated by initial value;
an information embedding step for sequentially embedding watermark-information, which has arbitrary length of bits, by quantizing value of said coefficients using a predetermined value for quantization; and
an inverse orthogonal transform step for carrying out inverse orthogonal transformation for embedded coefficients and non-embedded coefficients to form a block in which the watermark-information is embedded, as well as combining embedded blocks and to reconstruct data which is homogeneous to the original data form,
wherein in said orthogonal transform step said orthogonal transform is a three dimensional orthogonal transform, and in said inverse orthogonal transform step, said inverse orthogonal transform is a three dimensional inverse orthogonal transform,
in said orthogonal transform step, the block from said blocking step is down-sampled so that the block size is smaller, after which the down-sampled block is orthogonally transformed to obtain the orthogonal transform coefficient,
in said inverse orthogonal transform step, after inverse orthogonally transforming the orthogonal transform coefficients obtained by said information embedding step, up sampling is performed so as to give a block of the size prior to down-sampling by said blocking step,
in said information embedding step, a value of a low frequency domain in the orthogonal transform coefficient obtained by said orthogonal transform step is utilized for normalizing the orthogonal transform coefficients; and
in said inverse orthogonal transform step, when the orthogonal transform coefficient obtained by said information embedding step is inverse orthogonal transformed, processing is further performed so that the value after the inverse orthogonal transform does not exceed a defined range of pixel values of the original data form.
4. A method of embedding information comprising:
a blocking step for dividing original data into blocks;
an orthogonal transform step for obtaining coefficients by performing an orthogonal transformation for each block;
an embedding coefficient selecting step for determining coefficients in which watermark-information will be embedded by using a random sequence which is generated by initial value;
an information embedding step for sequentially embedding watermark-information, which has arbitrarm length of bits by quantizing value of said coefficients using a predetermined value for quantization; and
an inverse orthogonal transform step for carrying out inverse orthogonal transformation for embedded coefficients and non-embedded coefficients to form a block in which the watermark-information is embedded, as well as combining embedded blocks and to reconstruct data which is homogeneous to the original data form,
wherein in said orthogonal transform step said orthogonal transform is a three dimensional orthogonal transform, and in said inverse orthogonal transform step, said inverse orthogonal transform is a three dimensional inverse orthogonal transform,
in said information embedding step, a value of a low frequency domain in the orthogonal transform coefficient obtained by said orthogonal transform step is utilized for normalizing the orthogonal transform coefficients; and
in said inverse orthogonal transform step, when the orthogonal transform coefficient obtained by said information embedding step is inverse orthogonal transformed, processing is further performed so that the value after the inverse orthogonal transform does not exceed a defined range of pixel values of the original data form.
5. A method of embedding information comprising:
a blocking step for dividing original data into blocks;
an orthogonal transform step for obtaining coefficients by performing an orthogonal transformation for each block;
an embedding coefficient selecting step for determining coefficients in which the watermark-information will be embedded by using a random sequence which is generated by initial value;
an information embedding step for sequentially embedding watermark-information, which has arbitrary length of bits, by quantizing value of said coefficients using a predetermined value for quantization; and
an inverse orthogonal transform step for carrying out inverse orthogonal transformation for embedded coefficients and non-embedded coefficients to form a block in which the watermark-information is embedded, as well as combining embedded blocks and to reconstruct data which is homogeneous to the original data form wherein
in said information embedding step, the entropy of the data value of the block to be processed is utilized for determining said predetermined value for quantization; and
in said inverse orthogonal transform step, when the orthogonal transform coefficient obtained by said information embedding step is inverse orthogonal transformed, processing is further performed so that the value after the inverse orthogonal transform does not exceed a defined range of pixel values of the original data form.
6. A method of reading information from data embedded with information by the method according to claim 5 comprising:
a blocking step for dividing said data into blocks;
an embedding coefficient selecting step for determining coefficients from which the watermark-information will be read by using a random sequence which is generated by the initial value which is used at the time of embedding the watermark-information;
an object coefficient computing step for obtaining the coefficients by carrying out orthogonal transformation for each block; and
a bit reading step for sequentially reading each bit of the embedded watermark-information and outputting the read watermark-information wherein
in said bit reading step, the entropy of the data value of the block to be processed is utilized for determining said predetermined value for quantization.
7. A method of reading information according to claim 6, wherein in said object coefficient computing step,
said orthogonal transform is an orthogonal transform of a dimension corresponding to the dimension number of the orthogonal transform used at the time of information embedding.
8. A method of reading information according to claim 7, wherein in the case where down-sampling of the block is carried out at the time of information embedding,
then in said object coefficient computing step, an orthogonal transform coefficient is obtained from the block which is down-sampled so that the block obtained from said blocking step is the same.
9. A method of reading information according to claim 6, wherein in the case where down-sampling of the block is carried out at the time of information embedding, then in said object coefficient computing step, an orthogonal transform coefficient is obtained from the block which is down-sampled so that the block obtained from said blocking step is the same.
10. A method of embedding information according to claim 5, wherein in said orthogonal transform step said orthogonal transform is a two dimensional orthogonal transform, and in said inverse orthogonal transform step, said inverse orthogonal transform is a two dimensional inverse orthogonal transform.
11. A method of embedding information according to claim 10, wherein in said orthogonal transform step,
the block from said blocking step is down-sampled so that the block size is smaller, after which the down-sampled block is orthogonally transformed to obtain the orthogonal transform coefficient, and
in said inverse orthogonal transform step, after inverse orthogonally transforming the orthogonal transform coefficients obtained by said information embedding step, up sampling is performed so as to give a block of the size prior to down-sampling by said blocking step.
12. A method of embedding information according to claim 5, wherein in said orthogonal transform step,
the block from said blocking step is down-sampled so that the block size is smaller, after which the down-sampled block is orthogonally transformed to obtain the orthogonal transform coefficient, and
in said inverse orthogonal transform step, after inverse orthogonally transforming the orthogonal transform coefficients obtained by said information embedding step, up sampling is performed so as to give a block of the size prior to down-sampling by said blocking step.
13. A method of embedding information comprising:
a blocking step for dividing original data into blocks;
an orthogonal transform step for obtaining coefficients by performing an orthogonal transformation for each block;
an embedding coefficient selecting step for determining coefficients in which watermark-information will be embedded by using a random sequence which is generated by initial value;
an information embedding step for sequentially embedding watermark-information, which has arbitrary length of bits, by quantizing value of said coefficients using a predetermined value for quantization; and
an inverse orthogonal transform step for carrying out inverse orthogonal transformation for embedded coefficients and non-embedded coefficients to form a block in which the watermark-information is embedded, as well as combining embedded blocks and to reconstruct data which is homogeneous to the original data form wherein
in said information embedding step, a value of a low frequency domain in the orthogonal transform coefficient obtained by said orthogonal transform step is utilized for normalizing the orthogonal transform coefficients; and
in said inverse orthogonal transform step, when the orthogonal transform coefficient obtained by said information embedding step is inverse orthogonal transformed, processing is further performed so that the value after the inverse orthogonal transform does not exceed a defined range of pixel values of the original data form.
14. A method of reading information from data embedded with information by the method according to claim 13 comprising:
a blocking step for dividing said data into blocks;
an embedding coefficient selecting step for determining coefficients from which the watermark-information will be read by using a random sequence which is generated by the initial value which is used at the time of embedding the watermark-information;
an object coefficient computing step for obtaining the coefficients by carrying out orthogonal transformation for each block; and
a bit reading step for sequentially reading each bit of the embedded watermark-information and outputting the read watermark-information wherein
in said bit reading step, the orthogonal transform coefficient of the low frequency domain in the orthogonal transform coefficients is utilized for normalizing the orthogonal transform coefficients.
15. A method of reading information according to claim 14, wherein in said object coefficient computing step,
said orthogonal transform is an orthogonal transform of a dimension corresponding to the dimension number of the orthogonal transform used at the time of information embedding.
16. A method of reading information according to claim 15, wherein in the case where down-sampling of the block is carried out at the time of information embedding,
then in said object coefficient computing step, an orthogonal transform coefficient is obtained from the block which is down-sampled so that the block obtained from said blocking step is the same.
17. A method of reading information according to claim 14, wherein in the case where down-sampling of the block is carried out at the time of information embedding,
then in said object coefficient computing step, an orthogonal transform coefficient is obtained from the block which is down-sampled so that the block obtained from said blocking step is the same.
18. A method of embedding information according to claim 13, wherein in said orthogonal transform step said orthogonal transform is a two dimensional orthogonal transform, and in said inverse orthogonal transform step, said inverse orthogonal transform is a two dimensional inverse orthogonal transform.
19. A method of embedding information according to claim 18, wherein in said orthogonal transform step,
the block from said blocking step is down-sampled so that the block size is smaller, after which the down-sampled block is orthogonally transformed to obtain the orthogonal transform coefficient, and
in said inverse orthogonal transform step, after inverse orthogonally transforming the orthogonal transform coefficients obtained by said information embedding step, up sampling is performed so as to give a block of the size prior to down-sampling by said blocking step.
20. A method of embedding information according to claim 13, wherein in said orthogonal transform step,
the block from said blocking step is down-sampled so that the block size is smaller, after which the down-sampled block is orthogonally transformed to obtain the orthogonal transform coefficient, and
in said inverse orthogonal transform step, after inverse orthogonally transforming the orthogonal transform coefficients obtained by said information embedding step, up sampling is performed so as to give a block of the size prior to down-sampling by said blocking step.
21. A method of embedding information according to claim 13, wherein said information embedding step comprises the steps of:
calculating a mean value of coefficients of the low frequency domain in the orthogonal transform coefficient obtained by said orthogonal transform step;
obtaining a ratio between the mean value and a prescribed fixed value;
normalizing all the orthogonal transform coefficient by multiplying by the ratio;
embedding the watermark-information into the normalized coefficients; and
inverse-normalizing the information-embedded coefficients by dividing by the ratio.
22. A method of reading information according to claim 14, wherein, when the watermark-information was embedded by the method of claim 21, said bit reading step comprises the steps of:
calculating mean value of coefficients of the low frequency domain in the orthogonal transform coefficient obtained by said object coefficient computing step;
obtaining a ratio between the mean value and a prescribed fixed value;
normalizing all the orthogonal transform coefficient by multiplying by the ratio; and
reading each bit of the embedded watermark-information from the normalized coefficients.
23. A method of embedding information comprising:
a blocking step for dividing original data into blocks;
an orthogonal transform step for obtaining coefficients by performing an orthogonal transformation for each block;
an embedding coefficient selecting step for determining coefficients in which watermark-information will be embedded by using a random sequence which is generated by initial value;
an information embedding step for sequentially embedding watermark-information, which has arbitrary length of bits, by quantizing value of said coefficients using a predetermined value for quantization; and
an inverse orthogonal transform step for carrying out inverse orthogonal transformation for embedded coefficients and non-embedded coefficients to form a block in which the watermark-information is embedded, as well as combining embedded blocks and to reconstruct data which is homogeneous to the original data form wherein in said inverse orthogonal transform step,
when the orthogonal transform coefficient obtained by said information embedding step is inverse orthogonal transformed, processing is further performed by utilizing two pixel matrixes, one pixel matrix is obtained by;
changing a DC component value of the orthogonal transform coefficient obtained by said information embedding step to the minimum value of a defined range;
changing all values of the embedded coefficients to 0; and
inverse-orthogonal-transforming the changed matrix; and the other pixel matrix is obtained by;
changing a DC component of the orthogonal transform coefficient obtained by said information embedding step to 0;
changing all values of the non-embedded coefficients to 0; and
inverse-orthogonal-transforming the changed matrix; so that the value after inverse orthogonal transform does not exceed a defined range of pixel value of the original data form.
24. A method of embedding information according to claim 23, wherein in said inverse orthogonal transform step,
the processing so that the value after inverse orthogonal transform does not exceed a defined range, uses the data obtained by said inverse orthogonal transform, and the whole data is reduced with the mean value of the data as the center.
25. A method of embedding information comprising:
a blocking step for dividing original data into blocks;
an orthogonal transform step for obtaining coefficients by performing an orthogonal transformation for each block;
an embedding coefficient selecting step for determining coefficients in which watermark-information will be embedded by using a random sequence which is generated by initial value;
an information embedding step for sequentially embedding watermark-information, which has arbitrary length of bits, by quantizing value of said coefficients using a predetermined value for quantization; and
an inverse orthogonal transform step for carrying out inverse orthogonal transformation for embedded coefficients and non-embedded coefficients to form a block in which the watermark-information is embedded, as well as combining embedded blocks and to reconstruct data which is homogeneous to the original data form wherein in said inverse orthogonal transform step,
when the orthogonal transform coefficient obtained by said information embedding step is inverse orthogonal transformed, processing is further performed so that the value after inverse orthogonal transform does not exceed a defined range of pixel values of the original data form.
26. An apparatus for embedding information comprising:
a blocking section for dividing original data into blocks;
an orthogonal transform section for obtaining coefficients by performing an orthogonal transformation for each block;
an embedding coefficient selecting section for determining coefficients in which watermark-information will be embedded by using a random sequence which is generated by initial value;
an information embedding section for sequentially embedding watermark-information, which has arbitrary length of bits, by quantizing value of said coefficients using a predetermined value for quantization; and
an inverse orthogonal transform section for carrying out inverse orthogonal transformation for embedded coefficients and non-embedded coefficients to form a block in which the watermark-information is embedded, as well as combining embedded blocks and to reconstruct data which is homogeneous to the original data form,
wherein in said orthogonal transform section said orthogonal transform is a three dimensional orthogonal transform, and in said inverse orthogonal transform section, said inverse orthogonal transform is a three dimensional inverse orthogonal transform,
in said orthogonal transform section, the block from said blocking section is down-sampled so that the block size is smaller, after which he down-sampled block is orthogonally transformed to obtain the orthogonal transform coefficient,
in said inverse orthogonal transform section, after inverse orthogonally transforming the orthogonal transform coefficients obtained in said information embedding section, up sampling is performed so as to give a block of the size prior to down-sampling in said blocking section,
in said information embedding section, the entropy of the data value of the block to be processed is utilized for determining said predetermined value for quantization; and
in said inverse orthogonal transform section, when the orthogonal transform coefficient obtained in said information embedding section is inverse orthogonal transformed, processing is further performed so that the value after the inverse orthogonal transform does not exceed a defined range of pixel values of the original data form.
27. An apparatus for embedding information comprising:
a blocking section for dividing original data into blocks;
an orthogonal transform section for obtaining coefficients by performing an orthogonal transformation for each block;
an embedding coefficient selecting section for determining coefficients in which watermark-information will be embedded by using a random sequence which is generated by initial value;
an information embedding section for sequentially embedding watermark-information, which has arbitrary length of bits, by quantizing value of said coefficients using a predetermined value for quantization; and
an inverse orthogonal transform section for carrying out inverse orthogonal transformation for embedded coefficients and non-embedded coefficients to form a block in which the watermark-information is embedded, as well as combining embedded blocks and to reconstruct data which is homogeneous to the original data form,
wherein in said orthogonal transform section said orthogonal transform is a three dimensional orthogonal transform, and in said inverse orthogonal transform section, said inverse orthogonal transform is a three dimensional inverse orthogonal transform,
in said orthogonal transform section, the block from said blocking section is down-sampled so that the block size is smaller, after which the down-sampled block is orthogonally transformed to obtain the orthogonal transform coefficient,
in said inverse orthogonal transform section, after inverse orthogonally transforming the orthogonal transform coefficients obtained in said information embedding section, up sampling is performed so as to give a block of the size prior to down-sampling in said blocking section,
in said information embedding section, a value of a low frequency domain in the orthogonal transform coefficient obtained in said orthogonal transform section is utilized for normalizing the orthogonal transform coefficients; and
in said inverse orthogonal transform section, when the orthogonal transform coefficient obtained in said information embedding section is inverse orthogonal transformed, processing is further performed so that the value after the inverse orthogonal transform does not exceed a defined range of pixel values of the original data form.
28. An apparatus for embedding information comprising:
a blocking section for dividing original data into blocks;
an orthogonal transform section for obtaining coefficients by performing an orthogonal transformation for each block;
an embedding coefficient selecting section for determining coefficients in which watermark-information will be embedded by using a random sequence which is generated by initial value;
an information embedding section for sequentially embedding watermark-information, which has arbitrary length of bits, by quantizing value of said coefficients using a predetermined value for quantization; and
an inverse orthogonal transform section for carrying out inverse orthogonal transformation for embedded coefficients and non-embedded coefficients to form a block in which the watermark-information is embedded, as well as combining embedded blocks and to reconstruct data which is homogeneous to the original data form,
wherein in said orthogonal transform section said orthogonal transform is a three dimensional orthogonal transform, and in said inverse orthogonal transform section, said inverse orthogonal transform is a three dimensional inverse orthogonal transform,
in said information embedding section, the entropy of the data value of the block to be processed is utilized for determining said predetermined value for quantization; and
in said inverse orthogonal transform section, when the orthogonal transform coefficient obtained in said information embedding section is inverse orthogonal transformed, processing is further performed so that the value after the inverse orthogonal transform does not exceed a defined range of pixel values of the original data form.
29. An apparatus for embedding information comprising:
a blocking section for dividing original data into blocks;
an orthogonal transform section for obtaining coefficients by performing an orthogonal transformation for each block;
an embedding coefficient selecting section for determining coefficients in which watermark-information will be embedded by using a random sequence which is generated by initial value;
an information embedding section for sequentially embedding watermark-information, which has arbitrary length of bits, by quantizing value of said coefficients using a predetermined value for quantization; and
an inverse orthogonal transform section for carrying out inverse orthogonal transformation for embedded coefficients and non-embedded coefficients to form a block in which the watermark-information is embedded, as well as combining embedded blocks and to reconstruct data which is homogeneous to the original data form,
wherein in said orthogonal transform section said orthogonal transform is a three dimensional orthogonal transform, and in said inverse orthogonal transform section, said inverse orthogonal transform is a three dimensional inverse orthogonal transform,
in said information embedding section, a value of a low frequency domain in the orthogonal transform coefficient obtained in said orthogonal transform section is utilized for normalizing the orthogonal transform coefficients; and
in said inverse orthogonal transform section, when the orthogonal transform coefficient obtained in said information embedding section is inverse orthogonal transformed, processing is further performed so that the value after the inverse orthogonal transform does not exceed a defined range of pixel values of the original data form.
30. An apparatus for embedding information comprising:
a blocking section for dividing original data into blocks;
an orthogonal transform section for obtaining coefficients by performing an orthogonal transformation for each block;
an embedding coefficient selecting section for determining coefficients in which watermark-information will be embedded by using a random sequence which is generated by initial value;
an information embedding section for sequentially embedding watermark-information, which has arbitrary length of bits, by quantizing value of said coefficients using a predetermined value for quantization; and
an inverse orthogonal transform section for carrying out inverse orthogonal transformation for embedded coefficients and non-embedded coefficients to form a block in which the watermark-information is embedded, as well as combining embedded blocks and to reconstruct data which is homogeneous to the original data form wherein
in said information embedding section, the entropy of the data value of the block to be processed is utilized for determining said predetermined value for quantization; and
in said inverse orthogonal transform section, when the orthogonal transform coefficient obtained in said information embedding section is inverse orthogonal transformed, processing is further performed so that the value after the inverse orthogonal transform does not exceed a defined range of pixel values of the original data form.
31. An apparatus for embedding information according to claim 30, wherein in said orthogonal transform section said orthogonal transform is a two dimensional orthogonal transform, and in said inverse orthogonal transform section, said inverse orthogonal transform is a two dimensional inverse orthogonal transform.
32. An apparatus for embedding information according to claim 31, wherein in said orthogonal transform section,
the block from said blocking section is down-sampled so that the block size is smaller, after which the down-sampled block is orthogonally transformed to obtain the orthogonal transform coefficient, and
in said inverse orthogonal transform section, after inverse orthogonally transforming the orthogonal transform coefficients obtained by said information embedding step, up sampling is performed so as to give a block of the size prior to down-sampling in said blocking section.
33. An apparatus for embedding information according to claim 30, wherein in said orthogonal transform section,
the block from said blocking section is down-sampled so that the block size is smaller, after which the down-sampled block is orthogonally transformed to obtain the orthogonal transform coefficient, and
in said inverse orthogonal transform section, after inverse orthogonally transforming the orthogonal transform coefficients obtained in said information embedding section, up sampling is performed so as to give a block of the size prior to down-sampling in said blocking section.
34. An apparatus for embedding information comprising:
a blocking section for dividing original data into blocks;
an orthogonal transform section for obtaining coefficients by performing an orthogonal transformation for each block;
an embedding coefficient selecting section for determining coefficients in which watermark-information will be embedded by using a random sequence which is generated by initial value;
an information embedding section for sequentially embedding watermark-information, which has arbitrary length of bits, by quantizing value of said coefficients using a predetermined value for quantization; and
an inverse orthogonal transform section for carrying out inverse orthogonal transformation for embedded coefficients and non-embedded coefficients to form a block in which the watermark-information is embedded, as well as combining embedded blocks and to reconstruct data which is homogeneous to the original data form wherein
in said information embedding section, a value of a low frequency domain in the orthogonal transform coefficient obtained in said orthogonal transform section is utilized for normalizing the orthogonal transform coefficients; and
in said inverse orthogonal transform section, when the orthogonal transform coefficient obtained in said information embedding step is inverse orthogonal transformed, processing is further performed so that the value after the inverse orthogonal transform does not exceed a defined range of pixel values of the original data form.
35. An apparatus for embedding information according to claim 34, wherein in said orthogonal transform section said orthogonal transform is a two dimensional orthogonal transform, and in said inverse orthogonal transform section, said inverse orthogonal transform is a two dimensional inverse orthogonal transform.
36. An apparatus for embedding information according to claim 35, wherein in said orthogonal transform section,
the block from said blocking section is down-sampled so that the block size is smaller, after which the down-sampled block is orthogonally transformed to obtain the orthogonal transform coefficient, and
in said inverse orthogonal transform section, after inverse orthogonally transforming the orthogonal transform coefficients obtained in said information embedding section, up sampling is performed so as to give a block of the size prior to down-sampling by said blocking section.
37. An apparatus for embedding information according to claim 34, wherein in said orthogonal transform section,
the block from said blocking section is down-sampled so that the block size is smaller, after which the down-sampled block is orthogonally transformed to obtain the orthogonal transform coefficient, and
in said inverse orthogonal transform section, after inverse orthogonally transforming the orthogonal transform coefficients obtained in said nation embedding section, up sampling is performed so as to give a block of the size prior to down-sampling in said blocking section.
38. An apparatus for embedding information according to claim 34, wherein said information embedding section comprises the steps of:
means for calculating a mean value of coefficients of the low frequency domain in the orthogonal transform coefficient obtained in said orthogonal transform section;
means for obtaining a ratio between the mean value and a prescribed fixed value;
means for normalizing all the orthogonal transform coefficient by multiplying by the ratio;
means for embedding the watermark-information into the normalized coefficients; and
means for inverse-normalizing the information-embedded coefficients by dividing by the ratio.
39. An apparatus for embedding information comprising:
a blocking section for dividing original data into blocks;
an orthogonal transform section for obtaining coefficients by performing an orthogonal transformation for each block;
an embedding coefficient selecting section for determining coefficients in which watermark-information will be embedded by using a random sequence which is generated by initial value;
an information embedding section for sequentially embedding watermark-information, which has arbitrary length of bits, by quantizing value of said coefficients using a predetermined value for quantization; and
an inverse orthogonal transform section for carrying out inverse orthogonal transformation for embedded coefficients and non-embedded coefficients to form a block in which the watermark-information is embedded, as well as combining embedded blocks and to reconstruct data which is homogeneous to the original data form wherein in said inverse orthogonal transform step,
when the orthogonal transform coefficient obtained in said information embedding section is inverse orthogonal transformed, processing is further performed by utilizing two pixel matrixes, one pixel matrix is obtained by;
changing a DC component value of the orthogonal transform coefficient obtained in said information embedding section to the minimum value of a defined range;
changing all values of the embedded coefficients to 0; and
inverse-orthogonal-transforming the changed matrix; and the other pixel matrix is obtained by;
changing a DC component of the orthogonal transform coefficient obtained by said information embedding step to 0;
changing all values of the non-embedded coefficients to 0; and
inverse-orthogonal-transforming the changed matrix; so that the value after inverse orthogonal transform does not exceed a defined range of pixel value of the original data form.
40. An apparatus for embedding information according to claim 39, wherein in said inverse orthogonal transform section,
the processing so that the value after inverse orthogonal transform does not exceed a defined range, uses the data obtained by said inverse orthogonal transform, and the whole data is reduced with the mean value of the data as the center.
41. An apparatus for embedding information comprising:
a blocking section for dividing original data into blocks;
an orthogonal transform section for obtaining coefficients by performing an orthogonal transformation for each block;
an embedding coefficient selecting section for determining coefficients in which watermark-information will be embedded by using a random sequence which is generated by initial value;
an information embedding section for sequentially embedding watermark-information, which has arbitrary length of bits, by quantizing value of said coefficients using a predetermined value for quantization; and
an inverse orthogonal transform section for carrying out inverse orthogonal transformation for embedded coefficients and non-embedded coefficients to form a block in which the watermark-information is embedded, as well as combining embedded blocks and to reconstruct data which is homogeneous to the original data form wherein in said inverse orthogonal transform section,
when the orthogonal transform coefficient obtained in said information embedding section is inverse orthogonal transformed, processing is further performed so that the value after inverse orthogonal transform does not exceed a defined range of pixel values of the original data form.
42. An apparatus for reading information from data embedded with information by the method according to claim 5 comprising:
a blocking section for dividing said data into blocks;
an embedding coefficient selecting section for determining coefficients from which the watermark-information will be read by using a random sequence which is generated by the initial value which is used at the time of embedding the watermark-information;
an object coefficient computing section for obtaining the coefficients by carrying out orthogonal transformation for each block; and
a bit reading section for sequentially reading each bit of the embedded watermark-information and outputting the read watermark-information wherein in said bit reading section, the entropy of the data value of the block to be processed is utilized for determining said predetermined value for quantization.
43. An apparatus for reading information according to claim 42, wherein in said object coefficient computing section,
said orthogonal transform is an orthogonal transform of a dimension corresponding to the dimension number of the orthogonal transform used at the time of information embedding.
44. An apparatus for reading information according to claim 43, wherein in the case where down-sampling of the block is carried out at the time of information embedding,
then in said object coefficient computing section, an orthogonal transform coefficient is obtained from the block which is down-sampled so that the block obtained from said blocking section is the same.
45. An apparatus for reading information according to claim 42, wherein in the case where down-sampling of the block is carried out at the time of information embedding, then in said object coefficient computing section, an orthogonal transform coefficient is obtained from the block which is down-sampled so that the block obtained from said blocking section is the same.
46. An apparatus for reading information from data embedded with information by the method according to claim 13 comprising:
a blocking section for dividing said data into blocks;
an embedding coefficient selecting section for determining coefficients from which the watermark-information will be read by using a random sequence which is generated by the initial value which is used at the time of embedding the watermark-information;
an object coefficient computing section for obtaining the coefficients by carrying out orthogonal transformation for each block; and
a bit reading section for sequentially reading each bit of the embedded watermark-information and outputting the read watermark-information wherein in said bit reading section, the orthogonal transform coefficient of the low frequency domain in the orthogonal transform coefficients is utilized for normalizing the orthogonal transform coefficients.
47. An apparatus for reading information according to claim 46, wherein in said object coefficient computing section,
said orthogonal transform is an orthogonal transform of a dimension corresponding to the dimension number of the orthogonal transform used at the time of information embedding.
48. An apparatus for reading information according to claim 47, wherein in the case where down-sampling of the block is carried out at the time of information embedding,
then in said object coefficient computing section, an orthogonal transform coefficient is obtained from the block which is down-sampled so that the block obtained from said blocking section is the same.
49. An apparatus for reading information according to claim 46, wherein, when the watermark-information was embedded according to claim 38, said bit reading section comprises:
means for calculating mean value of coefficients of the low frequency domain in the orthogonal transform coefficient obtained in said object coefficient computing section;
means for obtaining a ratio between the mean value and a prescribed fixed value;
means for normalizing all the orthogonal transform coefficient by multiplying by the ratio; and
means for reading each bit of the embedded watermark-information from the normalized coefficients.
50. An apparatus for reading information according to claim 46, wherein in the case where down-sampling of the block is carried out at the time of information embedding,
then in said object coefficient computing section, an orthogonal transform coefficient is obtained from the block which is down-sampled so that the block obtained from said blocking section is the same.
51. A recording medium which can be read by a computer and on which is recorded an information embedding program for realizing on a computer:
a blocking function for dividing original data into blocks;
an orthogonal transform function for obtaining coefficients by performing an orthogonal transformation for each block;
an embedding coefficient selecting function for determining coefficients in which watermark-information will be embedded by using a random sequence which is generated by initial value;
an information embedding function for sequentially embedding watermark-information, which has arbitrary length of bits, by quantizing value of said coefficients using a predetermined value for quantization; and
an inverse orthogonal transform function for carrying out inverse orthogonal transformation for embedded coefficients and non-embedded coefficients to form a block in which the watermark-information is embedded, as well as combining embedded blocks and to reconstruct data which is homogeneous to the original data form,
wherein in said orthogonal transform section said orthogonal transform is a three dimensional orthogonal transform, and in said inverse orthogonal transform section, said inverse orthogonal transform is a three dimensional inverse orthogonal transform,
in said orthogonal transform function, the block from said blocking function is down-sampled so that the block size is smaller, after which the down-sampled block is orthogonally transformed to obtain the orthogonal transform coefficient,
in said inverse orthogonal transform function, after inverse orthogonally transforming the orthogonal transform coefficients obtained in said information embedding function, up sampling is performed so as to give a block of the size prior to down-sampling in said blocking function,
in said information embedding function, the entropy of the data value of the block to be processed is utilized for determining said predetermined value for quantization; and
in said inverse orthogonal transform function, when the orthogonal transform coefficient obtained in said information embedding function is inverse orthogonal transformed, processing is further performed so that the value after the inverse orthogonal transform does not exceed a defined range of pixel values of the original data form.
52. A recording medium which can be read by a computer and on which is recorded an information embedding program for realizing on a computer:
a blocking function for dividing original data into blocks;
an orthogonal transform function for obtaining coefficients by performing an orthogonal transformation for each block;
an embedding coefficient selecting function for determining coefficients in which watermark-information will be embedded by using a random sequence which is generated by initial value;
an information embedding function for sequentially embedding watermark-information, which has arbitrary length of bits, by quantizing value of said coefficients using a predetermined value for quantization; and
an inverse orthogonal transform function for carrying out inverse orthogonal transformation for embedded coefficients and non-embedded coefficients to form a block in which the watermark-information is embedded, as well as combining embedded blocks and to reconstruct data which is homogeneous to the original data form,
wherein in said orthogonal transform section said orthogonal transform is a three dimensional orthogonal transform, and in said inverse orthogonal transform section, said inverse orthogonal transform is a three dimensional inverse orthogonal transform,
in said orthogonal transform function, the block from said blocking function is down-sampled so that the block size is smaller, after which the down-sampled block is orthogonally transformed to obtain the orthogonal transform coefficient,
in said inverse orthogonal transform function, after inverse orthogonally transforming the orthogonal transform coefficients obtained in said information embedding function, up sampling is performed so as to give a block of the size prior to down-sampling in said blocking function,
in said information embedding function, a value of a low frequency domain in the orthogonal transform coefficient obtained in said orthogonal transform function is utilized for normalizing the orthogonal transform coefficients; and
in said inverse orthogonal transform function, when the orthogonal transform coefficient obtained in said information embedding function is inverse orthogonal transformed, processing is further performed so that the value after the inverse orthogonal transform does not exceed a defined range of pixel values of the original data form.
53. A recording medium which can be read by a computer and on which is recorded an information embedding program for realizing on a computer:
a blocking function for dividing original data into blocks;
an orthogonal transform function for obtaining coefficients by performing an orthogonal transformation for each block;
an embedding coefficient selecting function for determining coefficients in which watermark-information will be embedded by using a random sequence which is generated by initial value;
an information embedding function for sequentially embedding watermark-information, which has arbitrary length of bits, by quantizing value of said coefficients using a predetermined value for quantization; and
an inverse orthogonal transform function for carrying out inverse orthogonal transformation for embedded coefficients and non-embedded coefficients to form a block in which the watermark-information is embedded, as well as combining embedded blocks and to reconstruct data which is homogeneous to the original data form,
wherein in said orthogonal transform section said orthogonal transform is a three dimensional orthogonal transform, and in said inverse orthogonal transform section, said inverse orthogonal transform is a three dimensional inverse orthogonal transform,
in said information embedding function, the entropy of the data value of the block to be processed is utilized for determining said predetermined value for quantization; and
in said inverse orthogonal transform function, when the orthogonal transform coefficient obtained in said information embedding function is inverse orthogonal transformed, processing is further performed so that the value after the inverse orthogonal transform does not exceed a defined range of pixel values of the original data form.
54. A recording medium which can be read by a computer and on which is recorded an information embedding program for realizing on a computer:
a blocking function for dividing original data into blocks;
an orthogonal transform function for obtaining coefficients by performing an orthogonal transformation for each block;
an embedding coefficient selecting function for determining coefficients in which watermark-information will be embedded by using a random sequence which is generated by initial value;
an information embedding function for sequentially embedding watermark-information, which has arbitrary length of bits, by quantizing value of said coefficients using a predetermined value for quantization; and
an inverse orthogonal transform function for carrying out inverse orthogonal transformation for embedded coefficients and non-embedded coefficients to form a block in which the watermark-information is embedded, as well as combining embedded blocks and to reconstruct data which is homogeneous to the original data form,
wherein in said orthogonal transform section said orthogonal transform is a three dimensional orthogonal transform, and in said inverse orthogonal transform section, said inverse orthogonal transform is a three dimensional inverse orthogonal transform,
in said information embedding function, a value of a low frequency domain in the orthogonal transform coefficient obtained in said orthogonal transform function is utilized for normalizing the orthogonal transform coefficients; and
in said inverse orthogonal transform function, when the orthogonal transform coefficient obtained in said information embedding function is inverse orthogonal transformed, processing is further performed so that the value after the inverse orthogonal transform does not exceed a defined range of pixel values of the original data form.
55. A recording medium which can be read by a computer and on which is recorded an information embedding program for realizing on a computer:
a blocking function for dividing original data into blocks;
an orthogonal transform function for obtaining coefficients by performing an orthogonal transformation for each block;
an embedding coefficient selecting function for determining coefficients in which watermark-information will be embedded by using a random sequence which is generated by initial value;
an information embedding function for sequentially embedding watermark-information, which has arbitrary length of bits, by quantizing value of said coefficients using a predetermined value for quantization; and
an inverse orthogonal transform function for carrying out inverse orthogonal transformation for determining embedded coefficients and non-embedded coefficients to form a block in which the watermark-information is embedded, as well as combining embedded blocks and to reconstruct data which is homogeneous to the original data form wherein
in said information embedding function, the entropy of the data value of the block to be processed is utilized for determining said predetermined value for quantization; and
in said inverse orthogonal transform function, when the orthogonal transform coefficient obtained in said information embedding function is inverse orthogonal transformed, processing is further performed so that the value after the inverse orthogonal transform does not exceed a defined range of pixel values of the original data form.
56. A recording medium according to claim 55, wherein in said orthogonal transform function said orthogonal transform is a two dimensional orthogonal transform, and in said inverse orthogonal transform function, said inverse orthogonal transform is a two dimensional inverse orthogonal transform.
57. A recording medium according to claim 56, wherein in said orthogonal transform function,
the block from said blocking function is down-sampled so that the block size is smaller, after which the down-sampled block is orthogonally transformed to obtain the orthogonal transform coefficient, and
in said inverse orthogonal transform function, after inverse orthogonally transforming the orthogonal transform coefficients obtained in said information embedding function, up sampling is performed so as to give a block of the size prior to down-sampling in said blocking function.
58. A recording medium according to claim 55, wherein in said orthogonal transform function,
the block from said blocking function is down-sampled so that the block size is smaller, after which the down-sampled block is orthogonally transformed to obtain the orthogonal transform coefficient, and
in said inverse orthogonal transform function, after inverse orthogonally transforming the orthogonal transform coefficients obtained in said information embedding function, up sampling is performed so as to give a block of the size prior to down-sampling in said blocking function.
59. A recording medium which can be read by a computer and on which is recorded an information embedding program for realizing on a computer:
a blocking function for dividing original data into blocks;
an orthogonal transform function for obtaining coefficients by performing an orthogonal transformation for each block;
an embedding coefficient selecting function for determining coefficients in which watermark-information will be embedded by using a random sequence which is generated by initial value;
an information embedding function for sequentially embedding watermark-information, which has arbitrary length of bits, by quantizing value of said coefficients using a predetermined value for quantization; and
an inverse orthogonal transform function for carrying out inverse orthogonal transformation for determining embedded coefficients and non-embedded coefficients to form a block in which the watermark-information is embedded, as well as combining embedded blocks and to reconstruct data which is homogeneous to the original data form wherein
in said information embedding function, a value of a low frequency domain in the orthogonal transform coefficient obtained in said orthogonal transform function is utilized for normalizing the orthogonal transform coefficients; and
in said inverse orthogonal transform function, when the orthogonal transform coefficient obtained in said information embedding function is inverse orthogonal transformed, processing is further performed so that the value after the inverse orthogonal transform does not exceed a defined range of pixel values of the original data form.
60. A recording medium according to claim 59, wherein in said orthogonal transform function said orthogonal transform is a two dimensional orthogonal transform, and in said inverse orthogonal transform function, said inverse orthogonal transform is a two dimensional inverse orthogonal transform.
61. A recording medium according to claim 60, wherein in said orthogonal transform function,
the block from said blocking function is down-sampled so that the block size is smaller, after which the down-sampled block is orthogonally transformed to obtain the orthogonal transform coefficient, and
in said inverse orthogonal transform function, after inverse orthogonally transforming the orthogonal transform coefficients obtained in said information embedding function, up sampling is performed so as to give a block of the size prior to down-sampling in said blocking function.
62. A recording medium according to claim 59, wherein in said orthogonal transform function,
the block from said blocking function is down-sampled so that the block size is smaller, after which the down-sampled block is orthogonally transformed to obtain the orthogonal transform coefficient, and
in said inverse orthogonal transform function, after inverse orthogonally transforming the orthogonal transform coefficients obtained in said information embedding function, up sampling is performed so as to give a block of the size prior to down-sampling in said blocking function.
63. A recording medium according to claim 59, wherein said information embedding function comprises the steps of:
a calculating function for calculating a mean value of coefficients of the low frequency domain in the orthogonal transform coefficient obtained by said orthogonal transform step;
an obtaining function for obtaining a ratio between the mean value and a prescribed fixed value;
a normalizing function for normalizing all the orthogonal transform coefficient by multiplying by the ratio;
an embedding function for embedding the watermark-information into the normalized coefficients; and
an inverse-normalizing function for inverse-normalizing the information-embedded coefficients by dividing by the ratio.
64. A recording medium which can be read by a computer and on which is recorded an information embedding program for realizing on a computer:
a blocking function for dividing original data into blocks;
an orthogonal transform function for obtaining coefficients by performing an orthogonal transformation for each block;
an embedding coefficient selecting function for determining coefficients in which watermark-information will be embedded by using a random sequence which is generated by initial value;
an information embedding function for sequentially embedding watermark-information, which has arbitrary length of bits, by quantizing value of said coefficients using a predetermined value for quantization; and
an inverse orthogonal transform function for carrying out inverse orthogonal transformation for determining embedded coefficients and non-embedded coefficients to form a block in which the watermark-information is embedded, as well as combining embedded blocks and to reconstruct data which is homogeneous to the original data form wherein in said inverse orthogonal transform step,
when the orthogonal transform coefficient obtained in said information embedding function is inverse orthogonal transformed, processing is further performed by utilizing two pixel matrixes, one pixel matrix is obtained by;
changing a DC component value of the orthogonal transform coefficient obtained in said information embedding function to the minimum value of a defined range;
changing all values of the embedded coefficients to 0; and
inverse-orthogonal-transforming the changed matrix; and the other pixel matrix is obtained by;
changing a DC component of the orthogonal transform coefficient obtained by said information embedding step to 0;
changing all values of the non-embedded coefficients to 0; and
inverse-orthogonal-transforming the changed matrix; so that the value after inverse orthogonal transform does not exceed a defined range of pixel value of the original data form.
65. A recording medium according to claim 64, wherein in said inverse orthogonal transform function,
the processing so that the value after inverse orthogonal transform does not exceed a defined range, uses the data obtained by said inverse orthogonal transform, and the whole data is reduced with the mean value of the data as the center.
66. A recording medium which can be read by a computer and on which is recorded an information embedding program for realizing on a computer:
a blocking function for dividing original data into blocks;
an orthogonal transform function for obtaining coefficients by performing an orthogonal transformation for each block;
an embedding coefficient selecting function for determining coefficients in which watermark-information will be embedded by using a random sequence which is generated by initial value;
an information embedding function for sequentially embedding watermark-information, which has arbitrary length of bits, by quantizing value of said coefficients using a predetermined value for quantization; and
an inverse orthogonal transform function for carrying out inverse orthogonal transformation for determining embedded coefficients and non-embedded coefficients to form a block in which the watermark-information is embedded, as well as combining embedded blocks and to reconstruct data which is homogeneous to the original data form wherein in said inverse orthogonal transform function,
when the orthogonal transform coefficient obtained in said information embedding function is inverse orthogonal transformed, processing is further performed so that the value after inverse orthogonal transform does not exceed a defined range of pixel values of the original data form.
67. A recording medium which can be read by a computer and on which is recorded an information reading program for reading information from data embedded with information by the method according to claim 5 comprising:
a blocking function for dividing said data into blocks;
an embedding coefficient selecting function for determining coefficients from which the watermark-information will be read by using a random sequence which is generated by the initial value which is used at the time of embedding the watermark-information;
an object coefficient computing function for obtaining the coefficients by carrying out orthogonal transformation for each block; and
a bit reading function for sequentially reading each bit of the embedded watermark-information and outputting the read watermark-information wherein in said bit reading function, the entropy of the data value of the block to be processed is utilized for determining said predetermined value for quantization.
68. A recording medium according to claim 67, wherein in said object coefficient computing function,
said orthogonal transform is an orthogonal transform of a dimension corresponding to the dimension number of the orthogonal transform used at the time of information embedding.
69. A reading medium according to claim 68, wherein in the case where down-sampling of the block is carried out at the time of information embedding,
then in said object coefficient computing function, an orthogonal transform coefficient is obtained from the block which is down-sampled so that the block obtained from said blocking function is the same.
70. A recording medium according to claim 67, wherein in the case where down-sampling of the block is carried out at the time of information embedding, then in said object coefficient computing function, an orthogonal transform coefficient is obtained from the block which is down-sampled so that the block obtained from said blocking function is the same.
71. A reading medium which can be read by a computer and on which is recorded an information reading program for reading from data embedded with information by the method according to claim 13 comprising:
a blocking function for dividing said data into blocks;
an embedding coefficient selecting function for determining coefficients from which the watermark-information will be read by using a random sequence which is generated by the initial value which is used at the time of embedding the watermark-information;
an object coefficient computing function for obtaining the coefficients by carrying out orthogonal transformation for each block; and
a bit reading function for sequentially reading each bit of the embedded watermark-information and outputting the read watermark-information wherein in said bit reading function, the orthogonal transform coefficient of the low frequency domain in the orthogonal transform coefficients is utilized for normalizing the orthogonal transform coefficients.
72. A recording medium according to claim 71, wherein in said object coefficient computing function,
said orthogonal transform is an orthogonal transform of a dimension corresponding to the dimension number of the orthogonal transform used at the time of information embedding.
73. A recording medium according to claim 72, wherein in the case where down-sampling of the block is carried out at the time of information embedding,
then in said object coefficient computing function, an orthogonal transform coefficient is obtained from the block which is down-sampled so that the block obtained from said blocking function is the same.
74. A recording medium according to claim 71, wherein in the case where down-sampling of the block is carried out at the time of information embedding,
then in said object coefficient computing function, an orthogonal transform coefficient is obtained from the block which is down-sampled so that the block obtained from said blocking function is the same.
75. A recording medium according to claim 71, wherein, when the watermark-information was embedded by the method of claim 63, said bit reading function comprises:
a calculating function for calculating mean value of coefficients of the low frequency domain in the orthogonal transform coefficient obtained by said object coefficient computing step;
an obtaining function for obtaining a ratio between the mean value and a prescribed fixed value;
a normalizing function for normalizing all the orthogonal transform coefficient by multiplying by the ratio; and
a reading function for reading each bit of the embedded watermark-information from the normalized coefficients.
Description
BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates to a method of embedding watermark-information so as not to be perceived by the human senses when other information is embedded in digital information, and to a method of reading the watermark-information embedded in the digital information and to apparatus therefor. The term watermark-information is used herein to describe the information to be embedded, due to its analogy to the watermark used to prevent forging of banknotes.
2. Description of the Related Art
The technique of embedding other information into digital information so as not to be perceived by the human senses has now been widely used for the protection of copyright of digital information contents or in systems for preventing false reproduction, by embedding the copyright information, the user ID and the like into the information contents.
With the conventional technique, however, there is a problem in that the embedded information is easily deleted by the lossy compression processing or the compilation processing of the digital information represented by the JPEG (Joint Photograph Expert Group) and the MPEG (Motion Picture Expert Group). Furthermore, since the processing is complicated, it has been difficult to perform embedding and reading of the motion picture and the like on a real-time basis. Assuming that the object in which the information is embedded is, for example, an image, since an area where the luminance change is small is comparatively easily perceived by the human sense, it is difficult to perform embedding without deteriorating the image quality. Moreover, in the lossy compression, the pixel information is deleted in an area where the luminance change is small rather than in an area where the luminance change is large. Therefore, when the lossy compression is performed after the information is embedded with respect to an image having a small luminance change, there is a problem in that the embedded information cannot be read.
SUMMARY OF THE INVENTION
It is the object of the present invention to make it possible to read embedded information even if compression processing or compilation processing are performed, and to minimize the deterioration of the digital information even if information has been embedded in the digital information, which have been problems with the technique of embedding the information which can not be perceived by the human senses.
With a view to attaining the above objectives, there is provided a method of embedding information comprising the steps of: dividing data to be processed into fixed size data groups which are called blocks; obtaining coefficients by carrying out orthogonal transformation for each block; determining coefficients in which the watermark-information will be embedded by using a random sequence which is generated by initial value; sequentially embedding the watermark-information, which has arbitrary length of bits, by quantizing value of said coefficients using a predetermined value for quantization; and carrying out inverse orthogonal transformation for modified coefficients to form block in which the watermark-information is embedded, as well as combining the divided blocks and reconstructing the original form. Also provided is an apparatus therefor, and a recording medium which stores the information embedding program.
Furthermore, in order to read the information from the data embedded with information by the above-mentioned method, there is provided a method of reading information comprising the steps of: dividing the information-embedded data into blocks; determining coefficients from which the watermark-information will be read by using a random sequence which is generated by initial value which is used at the time of embedding the watermark-information; obtaining the coefficients by carry out orthogonal transformation for each block; sequentially reading each bit of the embedded watermark-information; and outputting the read watermark-information. Also provided is an apparatus therefor, and a recording medium which stores the information reading program.
As described above, when the information is embedded, then by embedding the information to the orthogonal transformation coefficient which is relatively not affected by quantization by the data compression, the embedded information can remain even if extreme compression is performed. Moreover, by suitably carrying out quantization using local features of the digital information which is the object of the information embedding, then deterioration of the digital information after embedding is minimal compared to with normal embedding methods.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a schematic block diagram showing one embodiment of an information-embedding-apparatus according to the present invention;
FIG. 2 is a flow chart showing the operation of the information-embedding-apparatus of FIG. 1;
FIG. 3 is a schematic block diagram showing one embodiment of an information-reading-apparatus according to the present invention;
FIG. 4 is a flow chart showing the operation of the information-reading-apparatus of FIG. 3;
FIG. 5 is a schematic block diagram showing one embodiment of an embedding processing side of a motion-picture-processing-apparatus according to the first embodiment;
FIG. 6 is a detailed block diagram of an information-embedding-unit of FIG. 5;
FIG. 7 is a schematic block diagram showing one embodiment of an information read processing side of a motion-picture-processing-apparatus according to the first embodiment;
FIG. 8 is a detailed block diagram of an information-reading-unit of FIG. 7;
FIG. 9 is a diagram showing the structure and the processing flow of one example of an information-embedding-apparatus according to a second embodiment;
FIG. 10 is a diagram showing the structure and the processing flow of one example of an information-reading-apparatus according to the second embodiment;
FIG. 11 is a diagram showing an example of a structure of an embedding-parameter used in the present embodiment;
FIG. 12 is a diagram showing the contents of a first example of processing of a block-dividing-section;
FIG. 13 is a diagram showing the contents of a second example of processing of the block-dividing-section;
FIG. 14 is a diagram showing the processing of a frequency-transforming-section;
FIG. 15 is a diagram showing a first example of the processing of a frequency-coefficient-normalizing-section;
FIG. 16 is a diagram showing a second example of the processing of the frequency-coefficient-normalizing-section;
FIG. 17 is a diagram showing a structure example of an embedding-processing-section and the processing flow thereof;
FIG. 18 is a diagram showing a detailed structure example of a frequency-coefficient-changing-section in FIG. 17, and a processing flow thereof;
FIG. 19 is a diagram showing the processing of an inverse-transform-section;
FIG. 20 is a diagram showing a structure example of a sub-information-read-processing section and a processing flow thereof;
FIG. 21 is a diagram showing an example of the detailed structure of a block-weight-determining-section in FIG. 20, and a processing flow thereof;
FIG. 22 is a diagram showing how to obtain a bit number d which differs for a discrimination code and a discrimination code of a read watermark-information per block;
FIG. 23 is a diagram for explaining a method of changing and a method of reading the frequency coefficient, according to the present embodiment;
FIG. 24 is a schematic diagram showing the input/output relationship of an information-embedding-apparatus according to a third embodiment;
FIG. 25 is a diagram showing the overall structure of the information-embedding-apparatus;
FIG. 26 is a diagram showing an outline of the processing of an image-dividing-section;
FIG. 27 is a detailed structure diagram of an information-embedding-section;
FIG. 28 is a conceptual diagram of a sub-information-buffer;
FIG. 29 is a conceptual diagram of an orthogonal-transform-processing-section;
FIG. 30 is a conceptual diagram of an orthogonal-transform-coefficient-changing-section;
FIG. 31 is a schematic diagram of a coordinates-buffer;
FIG. 32 is a conceptual diagram of a range-over-avoidance-processing-section;
FIG. 33 is a conceptual diagram of an inverse-orthogonal-transform-processing-section;
FIG. 34 is a conceptual diagram of an image-reconstructing-section;
FIG. 35 is a schematic diagram showing an input/output relationship of the information-reading-apparatus according to the third embodiment;
FIG. 36 is a diagram showing the overall structure of an information-reading-apparatus;
FIG. 37 is a detailed structure diagram of an image-reading-section;
FIG. 38 is a conceptual diagram of a section-of-reading-information-for-a-block;
FIG. 39 is a conceptual diagram of a sub-information-reconstructing-section;
FIG. 40 is a conceptual diagram of a high-speed information read processing section;
FIG. 41 is a conceptual diagram of a high-speed section-of-reading-information-for-a-block;
FIG. 42 is a schematic diagram showing an information input/output relationship of an information-embedding-apparatus according to a fourth embodiment;
FIG. 43 is an overall structure diagram of one example of the information-embedding-apparatus according to the fourth embodiment;
FIG. 44 is a conceptual diagram of an image-dividing-section;
FIG. 45 is a detailed structure diagram of an information-embedding-section;
FIG. 46 is a conceptual diagram of a frequency-transforming-section;
FIG. 47 is a schematic diagram of a sub-information-buffer;
FIG. 48 is a conceptual diagram of a frequency-coefficient-change-processing-section;
FIG. 49 is a schematic diagram of a coordinates-buffer;
FIG. 50 is a diagram illustrating the processing of a range-over-avoidance-processing-section;
FIG. 51 is a conceptual diagram of a section-of-inverse-frequency-transforming;
FIG. 52 is a conceptual diagram of an image-reconstructing-section;
FIG. 53 is a schematic diagram showing the input/output relationship of an information-reading-apparatus according to the fourth embodiment;
FIG. 54 is an overall structure diagram of one example of the information-reading-apparatus according to the fourth embodiment;
FIG. 55 is a conceptual diagram of a differential-image-forming-section;
FIG. 56 is a conceptual diagram of an image-resolving-section;
FIG. 57 is a detailed structure diagram of an information-reading-section;
FIG. 58 is a conceptual diagram of a section-of-reading-information-for-a-block;
FIG. 59 is a conceptual diagram of a sub-information reconstructing-section;
FIG. 60 is an other structure diagram of the information-reading-section;
FIG. 61 is a schematic diagram showing the information input/output relationship of an information-embedding-apparatus according to a fifth embodiment;
FIG. 62 is an overall structure diagram of one example of the information-embedding-apparatus according to the fifth embodiment;
FIG. 63 is a conceptual diagram of an image-resolving-section of FIG. 62;
FIG. 64 is a conceptual diagram of the processing of a down-sampler of FIG. 62;
FIG. 65 is a conceptual diagram of a frequency-transforming-section of FIG. 62;
FIG. 66 is a structure diagram of an infor-mation-embedding-section of FIG. 62;
FIG. 67 is a schematic diagram of a sub-information-buffer of FIG. 66;
FIG. 68 is a conceptual diagram of a schematic structure and processing, of the frequency-coefficient-changing-section of FIG. 66;
FIG. 69 is a conceptual diagram of an inverse-frequency-transforming-section;
FIG. 70 is a conceptual diagram of a processing of an up-sampler of FIG. 62;
FIG. 71 is a conceptual diagram of an image-reconstructing-section of FIG. 62;
FIG. 72 is a schematic diagram showing the information input/output relationship of an information-reading-apparatus according to the fifth embodiment;
FIG. 73 is an overall structure diagram of one example of the information-reading-apparatus according to the fifth embodiment;
FIG. 74 is a conceptual diagram of the processing of a down-sampler of FIG. 73;
FIG. 75 is a structure diagram of an information-reading-section of FIG. 73; and
FIG. 76 is a conceptual diagram of a schematic structure and processing of a bit-information-reading-section of FIG. 73.
DESCRIPTION OF PREFERRED EMBODIMENTS
The information embedding method, the information reading method and the apparatus thereof according to one embodiment of the present invention will now be described with reference to the accompanying drawings.
First, the structure and the general operation of the information embedding apparatus and the information reading apparatus of the present invention will be explained.
FIG. 1 is a schematic block diagram showing one embodiment of an information embedding apparatus of the present invention. Referring to FIG. 1, the information-embedding-apparatus 1 comprises; a blocking-section 11 (a section for dividing the information into blocks), an orthogonal-transform-section 12, an embedding-coefficient-selecting-section 13, an information-embedding-section 14 and an inverse-orthogonal-transform-section 15.
An outline of the operation of this information-embedding-apparatus 1 will be described using FIG. 2, with reference to FIG. 1.
First, original-data 2 to be processed is divided into data groups having a predetermined size which are called blocks, by the blocking-section 11 (step S11).
Then, the-orthogonal-transform-section 12 carries out orthogonal transformation for each block, and coefficients of the orthogonal transformation are obtained (step S12).
After this, the-initial-value-of-random-sequence 31 in the key-of-embedding-information 3 is read by the-embedding-coefficient-selecting-section 13, and a random sequence is generated by the-initial-value-of-the-random-sequence 31. Moreover, coefficients in which the watermark-information 4 will be embedded are determined using the random sequence in the-embedding-coefficients-selection-section 13 (step S13).
Then watermark-information 4 is embedded sequentially by the-information-embedding-section 14, by quantizing the coefficients determined in step S13, using an quantizer-scale-of-coefficient 32 being the information related to the quantization in the key-of-embedding-information 3, and the watermark-information 4 having an arbitrary length of bits, being the watermark-information (step S14).
After this, the-inverse-orthogonal-transform-section 15 carries out inverse orthogonal transformation for the coefficients in which the watermark-information 4 is embedded in step S14 to form block in which the watermark-information 4 is embedded, and combines divided blocks and reconstructs the original form, then outputs the embedded-data 5 being data embedded with the watermark-information 4 (step S15).
As described above, the information-embedding-apparatus 1 embeds the watermark-information 4 in the original-data 2 using the key-of-embedding-information 3, and outputs the embedded-data 5. Incidentally, it is assumed that at least the initial-value-of-a-random-sequence 31 used in the embedding-coefficient-selecting-section 13, and the quantizer-scale-of-coefficient 32 used in the information-embedding-section 14 are contained in the key-of-embedding-information 3. Here, the orthogonal transform coefficient change width 33 means the information relating to the method of quantizing the orthogonal transform coefficient, or of reading the embedded information.
FIG. 3 is a schematic block diagram showing one embodiment of an information-reading-apparatus 6 according to the present invention. The information-reading-apparatus 6 comprises; a blocking-section 21, an embedding-coefficient-selecting-section 22, a section-for-computing-coefficient-to-be-processed 23, and an information-reading-section 24.
The general operation of this information-reading-apparatus 6 will be described using FIG. 4, with reference to FIG. 3.
First, the embedded-data 5 is divided into blocks by the blocking-section 21 (Step S21). Incidentally, the blocking-section 21 performs the same operation as the blocking-section 11 in the information-embedding-apparatus 1, and divides the information into blocks having the same size as that of the block at the time of embedding the information.
Next, the-initial-value-of-a-random-sequence 31, which is used at the time of embedding the watermark-information 4, is read by the-embedding-coefficient-selecting-section 22, and a random sequence is generated by using the initial-value-of-a-random-sequence 31. Moreover, coefficients (being the object) from which the watermark-information 4 will be read are determined by using the random sequence in the embedding-coefficient-selecting-section 22 (step S22). This embedding-coefficient-selecting-section 22 must perform the same operation as that of the embedding-coefficient-selecting-section 13 of the-information-embedding-apparatus 1.
Then, in order to obtain the coefficients which is decided as the object in step S22, the section-for-computing-coefficient-to-be-processed 23 carries out orthogonal transformation for each block obtained in step S21(step S23). The orthogonal transformation used here must be the same orthogonal transformation used in the orthogonal-transform-section 12 of the information-embedding-apparatus 1.
Then, with the information-reading-section 24, each bit of the embedded watermark-information is sequentially read from the obtained coefficients in step S23, and the embedded watermark-information 4 is output (step S24). In addition, in the information-reading-section 24, the quantizer-scale-of-coefficient 32 are used for sampling the bit, however it is not always used according to the bit reading method.
As described above, the watermark-information 4 is read from the embedded-data 5 in which the information is embedded by the information-embedding-apparatus 1.
Incidentally, the order of the above steps S23 and S22 may be changed. That is, the blocks obtained by the blocking-section 21 are orthogonally transformed by the section-for-computing-coefficient-to-be-processed 23, to obtain the orthogonal transform coefficient group for the whole block. Then the initial-value-of-a-random-sequence 31 used at the time of embedding the information is read by the embedding-coefficient-selecting-section 22, and the first orthogonal transform coefficient for reading the embedded information is selected from the obtained orthogonal transform coefficient group. Moreover the orthogonal transform coefficient (being the object) from which the information is sequentially read by the random number may be selected from the obtained orthogonal transform coefficient group.
This information-embedding-apparatus 1 and the information-reading-apparatus 6 will now be described in detail for each embodiment, using a motion picture or a still image as an example of the original-data 2 in which the information is to be embedded.
First Embodiment
A first embodiment of the present invention will now be described with reference to the accompanying drawings.
FIG. 5 is a diagram showing the processing of the motion picture processing apparatus on the information embedding processing side according to the present invention, and the data flow thereof. With the motion-picture-processing-apparatus 101, an encoded-original-motion-picture 102, a key-of-embedding-information 103 and watermark-information 104 are input, and an information-embedded-encoded-motion-picture 105 is output.
The motion-picture-processing-apparatus 101 receives the encoded-original-motion-picture 102, and interprets the format of the picture using the decoding-section 106 to perform decoding. The decoding-section 106 first reads the horizontal and vertical pixel numbers and the unit picture numbers in the time axis direction 107 from the received motion picture, and sends these to the information-embedding-unit 108. Here, the unit picture numbers in the time axis direction are, for example, the frame numbers in the GOP (Group Of Pictures) in the digital motion picture encoding method of the MPEG (Moving Picture image coding Experts Group). Thereafter, the decoding-section 106 resolves the motion picture data into attribute-of-information 109 of the motion picture and frame pictures 110 (for example, frame pictures per 15 pieces) of the unit picture numbers in the time axis direction, and sequentially sends the attribute-of-information 109 to the encoding-section 111, and the frame pictures 110 of the unit picture numbers in the time axis direction to the information-embedding-unit 108. The information-embedding-unit 108 receives as an input the key-of-embedding-information 103, the watermark-information 104, the picture horizontal and vertical pixel numbers and the unit picture numbers in the time axis direction 107, and the frame pictures 110 of the unit picture numbers in the time axis direction, and performs the information embedding processing to output the information-embedded frame pictures 112 of the unit picture number in the time axis direction. The encoding-section 111 encodes the attribute-of-information 109 of the motion picture and the information-embedded frame pictures 112 of the unit picture numbers in the time axis direction, while receiving these in synchronous and outputs the information-embedded-encoded-motion-picture 105.
As described above, this embodiment relates to the motion-picture-processing-apparatus 101 which embeds the information in the motion picture already encoded by the MPEG and the like, and outputs it again as the encoded motion picture. Comparing FIG. 1 and FIG. 5, the information-embedding-unit 108 in FIG. 5 corresponds to the information-embedding-apparatus 1 in FIG. 1. In addition, the group of pictures 110 and the group of information-embedded pictures 112 in FIG. 5 correspond to the original-data 2 and the embedded-data 5 in FIG. 1, respectively. Moreover, the key-of-embedding-information 103 and the watermark-information 104 in FIG. 5 correspond to the key-of-embedding-information 3 and the watermark-information 4 in FIG. 1, respectively.
Next, the information-embedding-unit 108 will be described. FIG. 6 is a structure diagram of the information-embedding-unit 108, which uses an M.times.N.times.T orthogonal transform. Here, M is the horizontal pixel numbers of the picture, N is the vertical pixel numbers of the picture, and T is the unit picture numbers in the time axis direction, but these are only one example.
First, the structural correspondence of the information-embedding-unit 108 of FIG. 6 to the information-embedding-apparatus 1 of FIG. 1 will be described. The functions of the blocking-section 11 and the orthogonal-transform-section 12 in FIG. 1 are included in an M.times.N.times.T orthogonal transform section 114 in FIG. 6. The function of the embedding-coefficient-selecting-section 13 in FIG. 1 is realized by a part of the function of an information-embedding-section 121 and a random-number-generator 119 in FIG. 6, and the information-embedding-section 14 in FIG. 1 corresponds to a part of the function of the information-embedding-section 121 and a head-control-section 118 in FIG. 6. Furthermore, the inverse-orthogonal-transform-section 15 in FIG. 1 corresponds to an M.times.N.times.T-inverse-orthogonal-transform-processing-section 124 and a range-over-avoidance-processing-section 123. In addition, in FIG. 6, various buffers are provided to be used in the respective processing sections.
In FIG. 6, in the information-embedding-unit 108, at first the M.times.N.times.T-orthogonal-transform-processing-section 114 transforms the input horizontal and vertical pixel numbers (M and N) and the unit picture numbers in the time axis direction (M.times.N.times.T) 107, and the frame pictures 110 of the unit picture numbers in the time axis direction, into an M.times.N.times.T coefficient matrix 115. This coefficient matrix 115 is stored in a matrix buffer 116.
On the other hand, the watermark-information 104 is stored in the buffer 117. Here, the input watermark-information 104 is assumed to be a bit matrix b.sub.0, b.sub.1 . . . b.sub.n-1 (with the bit length designated as n). The head-control-section 118 fixes the head position at the first bit b.sub.0, every time there is an input of new watermark-information 104.
The random-number-generator 119 generates one random number (r.sub.i, k) 120 per bit of the watermark-information 104, designating the former half of the input key-of-embedding-information 103 as the initial-value-of-a-random-sequence 31, and sends it to the information-embedding-section 121. Here, it is assumed that the random-number-generator 119 generates a sufficiently large figure so there is no conflict with each other. The latter half of the input key-of-embedding-information 103 is sent to the information-embedding-section 121, and transformed into an information embedding intensity embedding_range being the quantizer-scale-of-coefficient 32.
Next, is a description of the case where the k-th embedded information bit b.sub.k.epsilon.{0, 1} read by an information read head from amongst the watermark-information 104 stored in a buffer 117 is embedded in an M.times.N.times.T coefficient matrix [c.sub.(h, v, t) ].sub.i stored in the matrix buffer 116.
The information-embedding-section 121 selects one coefficient .sub.c.sub..sub.(h .sub..sub.r .sub..sub.i,k .sub..sup.,v .sub..sub.r .sub..sub.i,k .sub..sup.,t .sub..sub.r .sub..sub.i,k .sub..sub.) in a low frequency domain from amongst the M.times.N.times.T coefficient matrix [c.sub.(h, v, t) ].sub.i stored in the matrix buffer 116, using the random number r.sub.i, k sent from the random-number-generator 119 so that there is no conflict in the orthogonal transform matrix, and changes its value according to the following rules:
in the case where the embedded information b.sub.k is equal to: ##EQU1##
in the case where the embedded information b.sub.k is not equal to: ##EQU2##
in the case where the embedded information b.sub.k is not equal to: ##EQU3##
to thereby embed the bit k which is the water-mark-information 140. In the equations, "[X]" indicates a maximum integer not exceeding X and "x mod y" indicates the remainder after dividing x by y. The thus selected orthogonal transform coefficient is quantized using the information embedding intensity embedding_range, and the nearest quantized value is selected according to the value of bit k, to thereby embed the watermark-information (embedding).
The coordinates (h.sub.r.sub..sub.i,k , v.sub.r.sub..sub.i,k , t.sub.r.sub..sub.i,k ) of the embedded coefficient are stored in a coordinates buffer 122.
The head-control-section 118 shifts the head position to the head position b.sub.0 when the head position is b.sub.n, and shifts the head position by one to the right in other cases, thereby shifting the head position from b.sub.k to b.sub.k+1. Synchronously therewith, the random-number-generator 119 generates the next random number.
The information-embedding-section 121 takes the input of each bit in the buffer 117 and the random number 120 sequentially, and performs the above-mentioned embedding process n times for the bit length of the watermark-information 104 with respect to the M.times.N.times.T coefficient matrix in the matrix buffer 116. This is then repeated one more time as indicated by the secret information in the information-embedding-section 121 (here, it is assumed that one time is specified as the number of repeat times). Thereby, the watermark-information 104 is embedded in the M.times.N.times.T frame picture in a closed format, a plural number of times (n.times.1).
In the embodiment of FIG. 6, after the embedding processing in the information-embedding-section 121 is repeated 1.times.n times, the coefficient matrix [c.sub.(h, v, t) ].sub.i stored in the matrix buffer 116 is sent to the range-over-avoidance-processing-section 123. The range-over-avoidance-processing-section 123 cooperates with the M.times.N.times.T-inverse-orthogonal-transform-processing-section 124 and the M.times.N.times.T-orthogonal-transform-processing-section 114 to avoid the range-over of the pixel value.
Here, it is designated that matrix [P1.sub.(h, v, t) ] is a pixel value matrix obtained by changing the (0, 0, 0) component value (DC component) of the coefficient matrix [c.sub.(h, v, t) ].sub.i input to the range-over-avoidance-processing-section 123 to the minimum value of the defined range and setting all the values of the coefficients of the 1.times.n coordinates in the coordinates buffer 122 to 0, and after that inversely transforming the changed matrix using the M.times.N.times.T inverse-orthogonal-transform-processing-section 124. Also, it is designated that matrix [p2.sub.(h, v, t) ].sub.i is a pixel value matrix obtained by changing the (0, 0, 0) component value [DC component] of the coefficient matrix [c.sub.(h, v, t) ].sub.i input to the range-over-avoidance-processing-section 123 and setting the values of the coefficients other than the components of the 1.times.n coordinates in the coordinates buffer 122 to 0, and after that inversely transforming the changed matrix using the M.times.N.times.T inverse-orthogonal-transform-processing-section 124. The middle value of defined range of the pixel value is designated as Lm.
The range-over-avoidance-processing-section 123 obtains the pixel value matrix [p'.sub.(h, v, t) ].sub.i by calculating ##EQU4##
using [p1(x, y, z)]i, and [p2(x, y, z)]i, in the set Ai={(x, y, z).vertline.p(x, y, z)1<L.sub.min or p (x, y, z)i>L.sub.max } (L.sub.min is the minimum value of the pixel value, and L.sub.max is the maximum value of the pixel value), only when Ai is not an empty set. Then by orthogonally transforming it using the M.times.N.times.T-orthogonal-transform-processing-section 114, obtains the coefficient matrix [c'.sub.(h, v, t) ].sub.i in which the measures against the range-over of the pixel value have been taken. However, in the pixel value matrix [p2.sub.(h, v, t) ].sub.i, when a pixel value smaller than L.sub.min and a pixel value larger than L.sub.max exist together, the algorithm of this range-over avoidance is not applicable.
In the range-over-avoidance-processing-section 123, the coefficient matrix [c'.sub.(h, v, t) ].sub.i in which measures against range-over of the pixel value have been taken, is again inverse orthogonally transformed using the M.times.N.times.T-inverse-orthogonal-transform-processing-section 124, to output a group of the information-embedded frame pictures 125 of unit picture number in the time axis direction. As described above, processing so that the value after the inverse orthogonal transform does not exceed a defined range, is performed using the orthogonal transform coefficient.
By repeating the above-mentioned embedding process for each unit picture in the time axis direction n times being the information bit length to be embedded, for every one of the secret information in the information-embedding-section 121, the embedding processing for one motion picture is completed.
FIG. 7 is a diagram showing the processing of the motion picture processing apparatus on the information read processing side, according to the present invention, and the data flow thereof With a motion-picture-processing-apparatus 126, a motion picture 127 in which the information has already been embedded and coded and an key-of-embedding-information 128 are input, and the information embedded in the motion picture, being watermark-information 129, is output.
As described above, this embodiment relates to the motion-picture-processing-apparatus 126 which reads the embedded information from the information-embedded and coded motion picture 127 already encoded by the MPEG and the like. Comparing FIG. 3 and FIG. 7, an information-reading-unit 132 and a watermark-information-determining-processing-section 135 in FIG. 7 correspond to the information-reading-apparatus 6 in FIG. 3. In addition, group-of-information-embedded-pictures 133 and the watermark-information 129 in FIG. 7 correspond to the embedded-data 5 and the watermark-information 4 in FIG. 3, respectively. Moreover, the key-of-embedding-information 128 in FIG. 7 corresponds to the key-of-embedding-information 3 in FIG. 3.
The motion-picture-processing-apparatus 126 receives the information-embedded and coded motion picture 127, and interprets the image format using the decoding-section 130 to start decoding. The decoding-section 130 first reads the horizontal and vertical pixel numbers and the unit picture numbers in the time axis direction 131 from the received motion picture, and sends them to the information-reading-unit 132. Thereafter, the decoding-section 130 resolves the motion picture data into the frame pictures 133 of the unit picture number in the time axis direction, and sends them to the information-reading-unit 132. The information-reading-unit 132 receives as an input the key-of-embedding-information 128 and the picture horizontal and vertical pixel numbers and the unit picture numbers in the time axis direction 131, and subjects them to the information reading processing and outputs the embedded-information 134 in each unit picture in the time axis direction. The watermark-information-determining-processing-section 135 determines the watermark-information by using an error correction code such as majority vote, from the information embedded in each unit picture in the time axis direction given as an input sequentially, and outputs the result as the information 129 embedded in the motion picture.
Next, the information-reading-unit 132 will be more specifically described. FIG. 8 is a structure diagram of the information-reading-unit 132, which uses an M.times.N.times.T orthogonal transform. Here, M, N and T are the same value as for the orthogonal transform used at the time of embedding the information.
The information-reading-apparatus 6 in FIG. 3 and the information-reading-unit 132 in FIG. 8 will now be compared. The function of the blocking-section 21 in FIG. 3 is included in an M.times.N.times.T-orthogonal-transform-processing-section 140 in FIG. 8. The embedding coefficient determining section 22 in FIG. 3 corresponds to a random-number-generator 137 in FIG. 8. Moreover, the function of the section-for-computing-coefficient-to-be-processed 23 in FIG. 3 is included in the M.times.N.times.T-orthogonal-transform-processing-section 140 in FIG. 8, while the information-reading-section 24 in FIG. 3 corresponds to an information-read-processing-section 139 and majority-vote-section 142 in FIG. 8.
In FIG. 8, the random-number-generator 137 generates a random number (r.sub.i, k) 138 one by one, designating the former half of the input key-of-embedding-information 128 as the initial-value-of-a-random-sequence 31, and sends it to the information-read-processing-section 139. The latter half of the input key-of-embedding-information 128 is sent to the information-read-processing-section 139, and transformed into an information reading intensity verifying range corresponding to the quantizer-scale-of-coefficient 32.
It is assumed that the key-of-embedding-information 128 to be input is the same as the key-of-embedding-information 103 used at the time of embedding the information, and the random-number-generator 137 generates a sufficiently large figure so there is no conflict with each other so that if other keys are input, the correct information cannot be read. Moreover, it is assumed that the n-bit information is embedded, repeating one more time, in the information-embedded frame picture 133 of the unit picture number in the time axis direction.
Next, is a description of the case where the k-th (k: integer larger than 0) information bit b.sub.k.epsilon.{0, 1} embedded in the information-embedded frame pictures 133 of the unit picture number in the time axis direction is read.
The information-read-processing-section 139 selects the component position of the orthogonal transform coefficient (h.sub.r.sub..sub.i,k , v.sub.r.sub..sub.i,k , t.sub.r.sub..sub.i,k ) in a low frequency domain, using the random number r.sub.i, k sent from the random-number-generator 137, so that there is no conflict in the orthogonal transform matrix, and sends it to the M.times.N.times.T-orthogonal-transform-processing-section 140 which computes only one component of the orthogonal transform coefficient. As a result, the M.times.N.times.T orthogonal transform coefficient (h.sub.r.sub..sub.i,k , z.sub.r.sub..sub.i,k , t.sub.r.sub..sub.i,k ) is obtained. By computing only one component of the orthogonal transform coefficient with the M.times.N.times.T-orthogonal-transform-processing-section 140, high-speed reading of the information becomes possible, enabling processing on a real-time basis, such as during the reproduction of a motion picture.
The information-read-processing-section 139 computes the following expression: ##EQU5##
with respect to the obtained value of the M.times.N.times.T orthogonal transform coefficient c(h.sub.r.sub..sub.i,k , z.sub.r.sub..sub.i,k , t.sub.r.sub..sub.i,k ) to read the k-th information embedded in the information-embedded frame pictures 133 of the unit picture number in the time axis direction, and stores it in the (k mode n)th of a buffer 141. Thereby, the k-th information is obtained from the nearest quantized value of the orthogonal transform coefficient, which uses the information reading intensity verifying_range. In addition, the information in the buffer 141 is sent to a majority-vote-section 142.
The above-mentioned information reading process is performed n times which is the bit length of the information embedded in each unit picture in the time axis direction, and further repeated for one more time which is shown by the secret information in the information-read-processing-section 139 to read a set of information of the embedded n bit length for each bit. This is then input to the majority-vote-section 142, and a decision made using an error correction code, such as majority vote, to output one piece of information 134 embedded in each unit picture in the time axis direction.
The present embodiment has been described above, however with the present invention, the information embedding is performed with respect to different media, that is, the overall motion picture and each still image, by designating T as 1 at the time of embedding the information in the motion picture, and embedding the closed information for every frame. Hence it is possible to read the information from the different media, that is, the respective motion pictures and the still images.
Furthermore, by performing the orthogonal transform of a plurality of sizes having little influence with each other due to the digital watermark processing which uses the orthogonal transform, and performing the information embedding separately with respect to each orthogonal transform matrix, a plurality of information can be embedded and read. Namely, when a plurality of watermark-information is embedded, the first information is embedded in the orthogonal transform coefficient obtained by dividing the information into blocks having a predetermined size in order to embed the first information. Then, when the N-th information from the second and subsequent information is embedded, the N-th information is embedded with respect to the orthogonal transform coefficient obtained by dividing the information into blocks having a different size from that of the blocks divided for embedding the (N-1)th information from 1 and having a size with little influence on each other due to the digital watermark processing. On the other hand, when a plurality of watermark-information is embedded with a plurality of block sizes, the information is divided in turn into blocks having the same size as the size divided at the time of embedding the information, the bit is read for obtaining the orthogonal transform coefficient for every block of each block size, and the embedded watermark-information is read sequentially.
Furthermore, by making the plurality of watermark-information all the same, and comparing the obtained plural information to be read with each other, it becomes possible to detect the presence of a dishonest alteration in the information-embedded motion picture.
According to the present invention, the following effects can be obtained:
(1) It is possible to input the motion picture, the key information and the watermark-information, to then embed the watermark-information in the motion picture while keeping the inherent quality of the picture, and to read this embedded information, regardless of the presence of coding.
(2) At the time of embedding the information in the motion picture, block distortion is dissolved from the watermark-information by dividing the motion picture into groups of frames of unit time, and embedding the information using the orthogonal transform of M.times.N.times.T size. Moreover, by embedding the information in a frequency domain, which does not influence quantization due to the information compression, the reading of information is possible even if extreme compression is performed.
(3) At the time of embedding the information in the motion picture, it is possible to embed the information simultaneously with respect to different media, such as the overall motion picture and each still image and read this embedded information, by embedding a closed information for every frame.
(4) By inverse orthogonally transforming the information-embedded orthogonal transform coefficient matrix and taking measure against range-over of the pixel value, it becomes possible to raise the borderline between the quality of the watermark-information and the rate of continuation of the watermark-information, which are in a relation of trade-off.
(5) By calculating only one component of the orthogonal transform coefficient necessary at the time of reading the information from the motion picture, the information can be read on a real time basis during reproduction of a motion picture. Hence the information can be read at high speed.
(6) By utilizing the property that the information contents and the watermark-information cannot be separated, it can be used as a constituent technique in a high-level copy right protection system.
Second Embodiment
With this embodiment, a picture is subdivided into blocks having a size larger than, for example, 8.times.8 block size used in the conventional lossy compression, and a portion of this block of a size (distance from the origin) for when the frequency coefficient subjected to the Discrete Fourier Transform is displayed in the polar coordinate system is changed. As a result, the sub-information and the discrimination code showing that the embedding is completed, are repeatedly embedded in one block. Hence, the sub-information can be read correctly even if the lossy compression is performed.
Furthermore, by performing embedding, and sub-information reading, after normalizing the frequency coefficient to a range up to a determined value, weaker image processing than in the complicated area is performed in a flat area, and the deterioration of the image quality due to the embedding is suppressed, while the robustness against the contrast change is maintained.
Moreover, by increasing (decreasing) the change amount of the frequency coefficient with the increase (decrease) of the value of the frequency coefficient to be changed, deterioration of the image quality can be further suppressed. In addition, when a picture is subdivided into blocks, then in order to correspond to an optional picture size, an image area whose size is not sufficiently large to fill one block is treated as one block by filling the insufficient portion with a mean value of the pixel value or by repeating a linearly symmetrical pattern.
Furthermore, by forming the sub-information to be read from the whole picture with respect to each block, after obtaining the reliability of the information read from the block and adding a weight to the information per block, the correct sub-information can be read even if the picture is compiled partially, or a picture having a large flat area is subjected to the lossy compression.
The second embodiment will now be described with reference to the accompanying drawings.
FIG. 9 is a diagram showing the overall structure and the flow of the processing of one example of an information embedding apparatus according to this embodiment. Comparing FIG. 1 and FIG. 9, the information-embedding-apparatus 1, the original-data 2, the key-of-embedding-information 3, the watermark-information 4 and the embedded-data 5 in FIG. 1 correspond to an information-embedding-apparatus 210, an original-picture 201, parameter-of-embedding 207, sub-information 202 and an embedded-picture 203 in FIG. 9, respectively. Moreover, the correspondence of the apparatus is as follows. The blocking-section 11 and the orthogonal-transform-section 12 in FIG. 1 correspond to a block-dividing-section 211 and a frequency-transforming-section 212 in FIG. 9, respectively. In addition, the function of the embedding-coefficient-selecting-section 13 is included in an embedding-section 214. Furthermore the information-embedding-section 14 in FIG. 1 corresponds to the function of a frequency-coefficient-normalizing-section 213, the embedding-section 214 and a part of the function of an inverse-transform-section 215. Moreover, the inverse-orthogonal-transform-section 15 in FIG. 1 corresponds to the remaining function of the inverse-transform-section 215, and to an image-contrast-adjusting-section 216. Here, "frequency transform" means to transform the original-data 2 in which the information is to be embedded into a frequency domain. "Orthogonal transform" and "frequency transform, ie. transform into frequency domain" are synonymous, and "the orthogonal transform coefficient" and "the frequency coefficient" are also synonymous. This synonymous relation is the same in other embodiments.
The information-embedding-apparatus 210 takes the input of the original-picture 201, the sub-information to be embedded 202 and the parameter-of-embedding 207 for specifying the method of embedding, and outputs the embedded information 203. FIG. 11 shows a structural example of the parameter-of-embedding 207, which comprises; a block size 271 for specifying the size of blocks into which the original information is subdivided (this block size is not smaller than the normal 8.times.8 size in order to provide a sufficient robustness against the lossy compression), an parameter-of-embedding-intensity 272 for deciding the degree of difficulty for deleting the embedded sub-information and the degree of deterioration of the picture due to the embedding processing, an key-of-embedding 273 for ensuring safety against intentionally deleting the sub-information from the embedded information, and a repetition-number-for-a-block 274 which specifies the number of repetitions of embedding the sub-information per block. The parameter-of-embedding-intensity 272 and the key-of-embedding 273 correspond to the quantizer-scale-of-coefficient 32 and the initial-value-of-a-random-sequence 31 in FIG. 1, respectively.
With the information-embedding-apparatus 210, first in the block-dividing-section 211, the original picture (digital image) 201 is subdivided into blocks having a size specified by the block size 271 which is one of the constituents in the parameter-of-embedding 207. When this original-picture 201 is subdivided into blocks, if the area at the end of the picture is not big enough for the block size 217, the insufficient portion is filled by a predetermined method to form one block. This method will be described later. Next, with the frequency-transforming-section 212, a Discrete Fourier Transform is performed per subdivided block to obtain a coefficient matrix. Then, with the frequency-coefficient-normalizing-section 213, the amplitude of the frequency coefficient is normalized to obtain a normalized coefficient matrix. In addition, with the frequency-coefficient-normalizing-section 213, a ratio representing how much the frequency was expanded/contracted at the time of normalizing is sent as a change ratio 218 to the inverse-transform-section 215. Then, with the embedding-section 214, by changing some of the coefficient values amongst the normalized coefficient matrix, the sub-information 202 is repeated by the repetition-number-for-a-block 274 which is one of the constituents in the parameter-of-embedding 207, and thus embedded. The degree of change of the coefficient values is specified by the parameter-of-embedding-intensity 272 which is one of the constituents in the parameter-of-embedding 207. Furthermore, the selection of the frequency coefficient for performing the embedding processing is decided by the key-of-embedding 273 which is one of the constituents in the parameter-of-embedding 207. Then, with the inverse-transform-section 215, the sub-information-embedded coefficient matrix is returned back to the original range and subjected to inverse Discrete Fourier Transform. Finally, with the image-contrast-adjusting-section 216, processing to avoid the range-over of the pixel value is performed according to need, to obtain the embedded-picture 203.
FIG. 10 is a diagram showing the overall structure and the flow of the processing of one embodiment of the information reading apparatus according to the present invention. Comparing FIG. 3 and FIG. 10, the information-reading-apparatus 6, the embedded-data 5, the key-of-embedding-information 3 and the watermark-information 4 in FIG. 3 correspond to an information-reading-apparatus 220, a picture-to-be-read 205, parameter-of-embedding 207 and read-sub-information 206 in FIG. 10, respectively. Moreover, as to the correspondence of the apparatus, the blocking-section 21 in FIG. 3 corresponds to the block-dividing-section 221 in FIG. 10. The function of the embedding-coefficient-selecting-section 22 in FIG. 3 is included in a sub-information-reading-section 224. Moreover the section-for-computing-coefficient-to-be-processed 23 in FIG. 3 corresponds to a frequency-transforming-section 222 in FIG. 10, and the information-reading-section 24 in FIG. 3 corresponds to a frequency-coefficient-normalizing-section 223, and the sub-information-reading-section 224 in FIG. 10.
For reading the sub-information, the picture-to-be-read 205 such as the embedded information 203, and the parameter-of-embedding 207 are required. The structure of the parameter-of-embedding 207 is as shown in FIG. 11.
The information-reading-apparatus 220 first subdivides the picture-to-be-read 205 into blocks in the block-dividing-section 221, as in the information-embedding-apparatus 210 in FIG. 9. If a portion at the end of the picture-to-be-read 205 amongst the divided blocks is not big enough for the block size 271 in the parameter-of-embedding 207, the insufficient portion is filled to make one block. With the block-dividing-section 221, the area ratio of the portion of the picture-to-be-read 205 to the block size 271 is obtained for each block, and provided to the sub-information-reading-section 224 as an area-ratio-for-each-block 225. Naturally, when the subdivided block is completely contained in the picture-to-be-read 205, the value of the area-ratio-for-each-block 225 is 1. Then, with the frequency-transforming-section 222, each block is subjected to a Discrete Fourier Transform, to obtain the coefficient matrix. (Subsequently, with the frequency-coefficient-normalizing-section 223, each block is subjected to a Discrete Fourier Transform to obtain the coefficient matrix.) Then, with the frequency-coefficient-normalizing-section 223, the amplitude of the frequency coefficient is normalized to obtain a normalized coefficient matrix. In this frequency-coefficient-normalizing-section 223, there is no need to determine the change ratio, as in the frequency-coefficient-normalizing-section 213 in FIG. 9. With the sub-information-reading-section 224, the frequency coefficient to be read is determined using the key-of-embedding 273 in the parameter-of-embedding 207, as in the embedding-section 214 of FIG. 9, and the embedded information is taken out in a procedure reverse to the embedding processing. Then, the block weight representing the reliability of the information read from each block is computed, and the block weight is reflected on the information read from each block to obtain the read-sub-information 206.
Here, if the picture-to-be-read 205 is a picture in which the sub-information 202 is embedded with the information-embedding-apparatus 210 using the parameter-of-embedding 207, the read-sub-information 206 is consistent with the sub-information 202, and can be read correctly. If the picture-to-be-read 205 is not a picture embedded with the parameter-of-embedding 207, or if it is a greatly deteriorated embedded-picture 203, the read-sub-information 206 will not be consistent with the sub-information 202, and cannot be read correctly.
The structure example of each section in FIG. 9 and FIG. 10 and the contents of the processing will now be described in detail.
FIG. 12 and FIG. 13 are diagrams showing the contents of processing of two embodiments in the block-dividing-section 211 of FIG. 9 and in the block-dividing-section 221 of FIG. 10. With the block dividing sections 211 and 221, the picture (the original-picture 201 or the picture-to-be-read 205) is subdivided into blocks 2401 having a size similar to the block size 271 in the parameter-of-embedding 207. At this time, with respect to the image area which is not sufficient for one block at the end of the picture, in the case of FIG. 12, the mean pixel value of the image area is computed, and the insufficient portion for one block is filled with the mean pixel value to give a block. Moreover, in the case of FIG. 13, the linearly symmetrical pattern of the image area is repeated to fill one block. With the block-dividing-section 221 on the information reading side, the occupancy proportion (area ratio) of the picture to be divided within one block is obtained for each block 2401, and designated as the area-ratio-for-each-block 225.
FIG. 14 is a diagram showing the processing of the frequency-transforming-section 212 in FIG. 9 and the frequency-transforming-section 222 in FIG. 10. The frequency transforming sections 212 and 222 perform a Discrete Fourier Transform using the picture block 2401 as an input, to obtain a coefficient matrix 2501. This is performed for each block subdivided by the block dividing sections 211 and 221.
FIG. 15 and FIG. 16 are diagrams showing the contents of two processing examples of the frequency-coefficient-no |