【0007】
以下、本発明の目的、技術案及び利点をもっと明瞭化するために、図面及び実施例を組合わせて、本発明についてさらに詳しく説明する。ここで記述した具体的な実施例は本発明を解釈するためのものに過ぎず、本発明を限定するためのものではないことを理解できるであろう。
本発明の具体的な実施形態は、デジタルビデオコンテンツのセキュリティ認証方法を提供している。その中、前記方法は主に以下のようなステップを含んでいる。
即ち、デジタルビデオにおけるフレーム画像1枚毎に対して、1画素の階調値を選択し修正して、1ビットの秘密情報を埋め込む秘密情報埋め込みステップS11と、
暗号キーにより秘密情報を埋め込んだデジタルビデオから秘密情報を抽出し、デジタルビデオコンテンツに対するセキュリティ認証を実現する秘密情報抽出及びビデオ認証ステップS12とを含む。
本発明の提供するデジタルビデオコンテンツのセキュリティ認証方法は、キャリアとしてデジタルビデオを有効に利用し、暗号キーやハッシュ関数に基づいてデジタルビデオのフレーム画像から1つの秘密画像ブロックを確定して認証するための秘密情報を隠し、当該方法では1画素の階調値を変化させるだけで1ビットの秘密情報を埋め込むことができ、感知されにくく、またユーザーの体験にも影響がなく、そして、セキュリティ性が極めて高く、デジタルビデオへの歪みもできるだけ小さい。さらに、良好な脆弱性を有して、デジタルビデオコンテンツの真実性や完全性に対するセキュリティ認証を実現することができる。
以下に、本発明の提供しているデジタルビデオコンテンツのセキュリティ認証方法について詳しく説明する。
図1を参照すると、本発明の一実施形態における
コンピュータによって実行されるデジタルビデオコンテンツのセキュリティ認証方法のフローチャートである。
ステップS11として、秘密情報埋め込みステップでは、デジタルビデオにおけるフレーム画像1枚毎に対して、1画素の階調値を選択し修正して、1ビットの秘密情報を埋め込む。
本実施形態において、秘密情報埋め込みステップS11は、具体的にステップS1101〜S1112との次のような12個のサブステップを含んでいる。
サブステップS1101では、フレーム順にデジタルビデオVにおけるフレーム画像I(j)を1枚毎に読み取り、その中、j=0,1,…,t−1であり、tはデジタルビデオVのトータルフレーム数を表し、
サブステップS1102では、読み取ったデジタルビデオVからいずれか1つのフレーム画像を取得して、当該フレーム画像の大きさを確定するとともに、m×nと記し、その中、mは当該フレーム画像の行数を表し、nは当該フレーム画像の列数を表し、当該フレーム画像では画素毎に1つの座標を有し、左下の画素位置の座標は(0,0)であり、右上の画素位置の座標は(m−1,n−1)であり、
サブステップS1103では、埋め込もうとする秘密情報をビット配列w(i)に変換し、
i=0,1,…,s−1であり、前記秘密情報が1つの文字列であると、m1にて文字列の長さを表すとともに、暗号キーkey2とし、前記秘密情報が1つの2値画像であると、2値画像をラスター走査してビット配列を取得し、ビット配列の大きさはs=m1×n1であり、その中、m1及びn1は2値画像の行数及び列数をそれぞれ表し、この場合、m1及びn1を暗号キーkey2とし、
サブステップS1104では、tt=0、ss=0にセットし、
サブステップS1105では、ビット配列におけるビット情報w(ss)を読み取り、
サブステップS1106では、フレーム画像I(tt)から選んで取得した選び画像ブロックB(tt)を読み取り、当該選び画像ブロックB(tt)の左下の位置の座標は(x,y)であり、右上の位置の座標は(x−1+half_m,y−1+half_n)であり、当該選び画像ブロックB(tt)の大きさはhalf_m×half_nであり、その中、0≦x<half_m、0≦y<half_n、x=V_key mod half_m、y=V_key mod half_n、V_key=MD5(key1)、half_m=Trunc(m/2)、half_n= Trunc(n/2)、key1は暗号キーであり、MD5はハッシュ関数であり、Trunc()は切捨て丸め関数であり、modはモジュロ関数であり、
サブステップS1107では、前記選び画像ブロックB(tt)における各画素点の階調値平均値mean(tt)を算出し、本実施形態において、
であり、その中、p(i,j)はフレーム画像における(i,j)位置での画素の階調値を表し、選び画像ブロックB(tt)がカラー画像であると、カラー画像の当該位置における画素点の緑色値(即ちG値)を階調値として算出し、
サブステップS1108では、前記選び画像ブロックB(tt)から階調値が前記階調値平均値mean(tt)よりも小さくない画素点を選んでセットH_setを構成し、セットH_setにおける要素数H(tt)を算出するとともに、セットH_setにおける階調値の最も小さい画素点に対応する位置の座標(Hx,Hy)及び対応する階調値H_v=p(Hx,Hy)を算出し、本実施形態では、画素点の階調値の最も小さいものが1つだけでないと、ランダムに1つが選ばればよく、
サブステップS1109では、前記選び画像ブロックB(tt)から階調値が前記階調値平均値mean(tt)よりも小さい画素点を選んでセットL_setを構成し、セットL_setにおける階調値の最も大きい画素点に対応する位置の座標(Lx,Ly)及び対応する階調値L_v=p(Lx,Ly)を算出し、
サブステップS1110では、前記ビット情報w(ss)の値及び要素数H(tt)のパリティーに基づいて1ビットの秘密情報を埋め込み、本実施形態において、サブステップS1110は、具体的に、
要素数H(tt)= half_m×half_nであると、前記選び画像ブロックに対して秘密情報の埋め込み操作を行わず、
さもないと、w(ss)=0でH(tt)が偶数である時、或いは、w(ss)=1でH(tt)が奇数である時には、前記選び画像ブロックB(tt)に対して何の操作も行わなくて1ビットの秘密情報を埋め込み、
さもないと、w(ss)=0で、H(tt)=1である場合には、p(Lx,Ly)=p(Hx,Hy)のようになり、
さもないと、w(ss)=0で、H(tt)が奇数であり、且つ、H_v− mean(tt)≦mean(tt)− L_vである場合には、p(Hx,Hy)= p(Lx,Ly)となり、
さもないと、w(ss)=0で、H(tt)が奇数であり、且つ、H_v− mean(tt)>mean(tt)− L_vである場合には、p(Lx,Ly)= p(Hx,Hy)となり、
さもないと、w(ss)=1で、H(tt)が偶数であり、且つ、H_v− mean(tt)>mean(tt)− L_vである場合には、p(Lx,Ly)= p(Hx,Hy)となり、
さもないと、w(ss)=1で、H(tt)が偶数であり、且つ、H_v− mean(tt)≦mean(tt)− L_vである場合には、p(Hx,Hy)= p(Lx,Ly)となる。
サブステップS1111では、ss=(ss+1) mod sを算出して、tt+1<tであると、tt=tt+1とし、
サブステップS1112では、デジタルビデオVにおける全てのフレーム画像にわたって、秘密ビット情報を順に埋め込んだ後、秘密情報の埋め込みプロセスが終了し、秘密情報を含むデジタルビデオV’を取得する。
ステップS12として、秘密情報抽出及びビデオ認証ステップでは、暗号キーにより秘密情報を埋め込んだデジタルビデオから秘密情報を抽出し、デジタルビデオコンテンツに対するセキュリティ認証を実現する。
本実施形態において、秘密情報抽出及びビデオ認証ステップS12は、具体的にステップS1201〜S1212との次のような12個のサブステップを含んでいる。
サブステップS1201では、フレーム順に認証しようとするデジタルビデオV’におけるフレーム画像I’(j)を1枚毎に読み取り、その中、j=0,1,…,t’−1であり、t’はデジタルビデオV’のトータルフレーム数を表し、
サブステップS1202では、読み取ったデジタルビデオV’からいずれか1つのフレーム画像を取得して、当該フレーム画像の大きさを確定するとともに、m’×n’と記し、その中、m’は当該フレーム画像の行数を表し、n’は当該フレーム画像の列数を表し、当該フレーム画像における画素毎の位置の座標を順に確定し、左下の画素位置の座標は(0,0)であり、右上の画素位置の座標は(m’−1,n’−1)であり、
サブステップS1203では、tt=0、 w=“”にセットし、
サブステップS1204では、フレーム画像I’(tt)から選んで取得した認証しようとする画像ブロックB’(tt)を読み取り、当該認証しようとする画像ブロックB’(tt)の左下の位置の座標は(x,y)であり、右上の位置の座標は(x−1+half_m’,y−1+half_n’)であり、当該認証しようとする画像ブロックB’(tt)の大きさはhalf_m’×half_n’であり、その中、0≦x<half_m’、0≦y<half_n’、x=V_key mod half_m’、y= V_key modhalf_n’、そして、V_key=MD5(key1)、half_m’=Trunc(m’/2)、half_n’= Trunc(n’/2)、key1は暗号キーであり、MD5はハッシュ関数であり、Trunc()は切捨て丸め関数であり、modはモジュロ関数であり、本実施形態では、暗号キーkey1やハッシュ関数(MD5のようなもの)に基づいてV_key=MD5(key)の値を算出し、
サブステップS1205では、前記認証しようとする画像ブロックB’(tt)における各画素点の階調値平均値mean’(tt)を算出し、本実施形態において、
であり、その中、p(i,j)はフレーム画像における(i,j)位置での画素の階調値を表し、選び画像ブロックB(tt)がカラー画像であると、カラー画像の当該位置における画素点の緑色値(即ちG値)を階調値として算出し、
サブステップS1206では、前記認証しようとする画像ブロックB’(tt)から階調値が前記階調値平均値mean’(tt)よりも小さくない画素点を選んでセットH’_setを構成し、セットH’_setにおける要素数H’(tt)を算出し、
サブステップS1207では、H’(tt)= half_m’×half_n’であると、当該認証しようとする画像ブロックB’(tt)に対して抽出操作を行わず、本実施形態では、この場合、tt+1<t’であると、tt=tt+1として、サブステップS1204へ移行し、さもないと、サブステップS1211へ移行し、
サブステップS1208では、さもないと、H’(tt)が偶数である場合には、w= w||“0”であり、ここで“||”は文字列連結を表し、tt+1<t’であると、tt=tt+1として、サブステップS1204へ移行し、
サブステップS1209では、さもないと、H’(tt)が奇数である場合には、w= w||“1”であり、ここで“||”は文字列連結を表し、tt+1<t’であると、tt=tt+1として、サブステップS1204へ移行し、
サブステップS1210では、tt+1<t’であると、tt=tt+1となり、
サブステップS1211では、認証しようとするデジタルビデオV’における全てのフレーム画像にわたって、秘密ビット文字列wを抽出し、
サブステップS1212では、暗号キーkey2に従って抽出した秘密ビット文字列wを採決モデルによってビット列還元及び秘密情報還元を行い、さらに、還元した秘密情報に基づいて当該デジタルビデオのコンテンツが改竄されたか否かを判断することによって、デジタルビデオコンテンツに対するセキュリティ認証を実現する。
本発明の提供する
コンピュータによって実行されるデジタルビデオコンテンツのセキュリティ認証方法は、キャリアとしてデジタルビデオを有効に利用し、暗号キーやハッシュ関数に基づいてデジタルビデオのフレーム画像から1つの秘密画像ブロックを確定して認証するための秘密情報を隠し、当該方法では1画素の階調値を変化させるだけで1ビットの秘密情報を埋め込むことができ、感知されにくく、またユーザーの体験にも影響がなく、そして、セキュリティ性が極めて高く、デジタルビデオへの歪みもできるだけ小さい。さらに、良好な脆弱性を有して、デジタルビデオコンテンツの真実性や完全性に対するセキュリティ認証を実現することができる。
本発明の具体的な実施形態は、デジタルビデオコンテンツのセキュリティ認証システム10も提供しており、主に、
デジタルビデオにおけるフレーム画像1枚毎に対して、1画素の階調値を選択し修正して、1ビットの秘密情報を埋め込むための秘密情報埋め込みモジュール11と、
暗号キーにより秘密情報を埋め込んだデジタルビデオから秘密情報を抽出し、デジタルビデオコンテンツに対するセキュリティ認証を実現するための秘密情報抽出及びビデオ認証モジュール12とを含む。
本発明の提供するデジタルビデオコンテンツのセキュリティ認証システム10は、キャリアとしてデジタルビデオを利用し、暗号キーやハッシュ関数に基づいてデジタルビデオのフレーム画像から1つの秘密画像ブロックを確定して認証するための秘密情報を隠し、当該方法では1画素の階調値を変化させるだけで1ビットの秘密情報を埋め込むことができ、感知されにくく、またユーザーの体験にも影響がなく、そして、セキュリティ性が極めて高く、デジタルビデオへの歪みもできるだけ小さい。さらに、良好な脆弱性を有して、デジタルビデオコンテンツの真実性や完全性に対するセキュリティ認証を実現することができる。
図2を参照すると、本発明の一実施形態におけるデジタルビデオコンテンツのセキュリティ認証システム10の構造を示す図である。
本実施形態において、デジタルビデオコンテンツのセキュリティ認証システム10は、主に秘密情報埋め込みモジュール11と、秘密情報抽出及びビデオ認証モジュール12とを備える。
秘密情報埋め込みモジュール11は、デジタルビデオにおけるフレーム画像1枚毎に対して、1画素の階調値を選択し修正して、1ビットの秘密情報を埋め込むためのものである。
本実施形態において、前記秘密情報埋め込みモジュール11は、具体的に、
フレーム順にデジタルビデオVにおけるフレーム画像I(j)を1枚毎に読み取り、その中、j=0、1、…、t−1であり、tはデジタルビデオVのトータルフレーム数を表し、読み取ったデジタルビデオVからいずれか1つのフレーム画像を取得して、当該フレーム画像の大きさを確定するとともに、m×nと記し、その中、mは当該フレーム画像の行数を表し、nは当該フレーム画像の列数を表し、当該フレーム画像では画素毎に1つの座標を有し、左下の画素位置の座標は(0,0)であり、右上の画素位置の座標は(m−1,n−1)であり、
埋め込もうとする秘密情報をビット配列w(i)に変換し、i=0,1,…,s−1であり、前記秘密情報が1つの文字列であると、m1にて文字列の長さを表すとともに、暗号キーkey2とし、前記秘密情報が1つの2値画像であると、2値画像をラスター走査してビット配列を取得し、ビット配列の大きさはs=m1×n1であり、その中、m1及びn1は2値画像の行数及び列数をそれぞれ表し、この場合、m1及びn1を暗号キーkey2とし、
tt=0、ss=0にセットし、
ビット配列におけるビット情報w(ss)を読み取り、
フレーム画像I(tt)から選んで取得した選び画像ブロックB(tt)を読み取り、当該選び画像ブロックB(tt)の左下の位置の座標は(x,y)であり、右上の位置の座標は(x−1+half_m,y−1+half_n)であり、当該選び画像ブロックB(tt)の大きさはhalf_m×half_nであり、その中、0≦x<half_m、0≦y<half_n、x=V_key mod half_m、y= V_key mod half_n、V_key=MD5(key1)、half_m=Trunc(m/2)、half_n= Trunc(n/2)、key1は暗号キーであり、MD5はハッシュ関数であり、Trunc()は切捨て丸め関数であり、modはモジュロ関数であり、
前記選び画像ブロックB(tt)における各画素点の階調値平均値mean(tt)を算出し、
前記選び画像ブロックB(tt)から階調値が前記階調値平均値mean(tt)よりも小さくない画素点を選んでセットH_setを構成し、セットH_setにおける要素数H(tt)を算出するとともに、セットH_setにおける階調値の最も小さい画素点に対応する位置の座標(Hx,Hy)及び対応する階調値H_v=p(Hx,Hy)を算出し、
前記選び画像ブロックB(tt)から階調値が前記階調値平均値mean(tt)よりも小さい画素点を選んでセットL_setを構成し、セットL_setにおける階調値の最も大きい画素点に対応する位置の座標(Lx,Ly)及び対応する階調値L_v=p(Lx,Ly)を算出し、
前記ビット情報w(ss)の値及び要素数H(tt)のパリティーに基づいて1ビットの秘密情報を埋め込み、
ss=(ss+1) mod sを算出して、tt+1<tであると、tt=tt+1とし、
デジタルビデオVにおける全てのフレーム画像にわたって、秘密ビット情報を順に埋め込んだ後、秘密情報の埋め込みプロセスが終了し、秘密情報を含むデジタルビデオV’を取得するためのものである。
本実施形態において、秘密情報埋め込みモジュール11の具体的な処理過程は、前述したステップS11のとおりであるため、ここではさらに説明しない。
秘密情報抽出及びビデオ認証モジュール12は、暗号キーにより秘密情報を埋め込んだデジタルビデオから秘密情報を抽出し、デジタルビデオコンテンツに対するセキュリティ認証を実現するためのものである。
本実施形態において、前記秘密情報抽出及びビデオ認証モジュール12は、具体的に、
フレーム順に認証しようとするデジタルビデオV’におけるフレーム画像I’(j)を1枚毎に読み取り、その中、j=0,1,…,t’−1であり、t’はデジタルビデオV’のトータルフレーム数を表し、
読み取ったデジタルビデオV’からいずれか1つのフレーム画像を取得して、当該フレーム画像の大きさを確定するとともに、m’×n’と記し、その中、m’は当該フレーム画像の行数を表し、n’は当該フレーム画像の列数を表し、当該フレーム画像における画素毎の位置の座標を順に確定し、左下の画素位置の座標は(0,0)であり、右上の画素位置の座標は(m’−1,n’−1)であり、
tt=0、 w=“”にセットし、
フレーム画像I’(tt)から選んで取得した認証しようとする画像ブロックB’(tt)を読み取り、当該認証しようとする画像ブロックB’(tt)の左下の位置の座標は(x,y)であり、右上の位置の座標は(x−1+half_m’,y−1+half_n’)であり、当該認証しようとする画像ブロックB’(tt)の大きさはhalf_m’×half_n’であり、その中、0≦x<half_m’、0≦y<half_n’、x=V_key mod half_m’、y= V_key mod half_n’、その中、V_key=MD5(key1)、half_m’=Trunc(m’/2)、half_n’= Trunc(n’/2)、key1は暗号キーであり、MD5はハッシュ関数であり、Trunc()は切捨て丸め関数であり、modはモジュロ関数であり、
前記認証しようとする画像ブロックB’(tt)における各画素点の階調値平均値mean’(tt)を算出し、
前記認証しようとする画像ブロックB’(tt)から階調値が前記階調値平均値mean’(tt)よりも小さくない画素点を選んでセットH’_setを構成し、セットH’_setにおける要素数H’(tt)を算出し、
H’(tt)= half_m’×half_n’であると、当該認証しようとする画像ブロックB’(tt)に対して抽出操作を行わず、
さもないと、H’(tt)が偶数である場合には、w= w||“0”であり、ここで“||”は文字列連結を表し、
さもないと、H’(tt)が奇数である場合には、w= w||“1”であり、ここで“||”は文字列連結を表し、
tt+1<t’であると、tt=tt+1となり、
認証しようとするデジタルビデオV’における全てのフレーム画像にわたって、秘密ビット文字列wを抽出し、
暗号キーkey2に従って抽出した秘密ビット文字列wを採決モデルによってビット列還元及び秘密情報還元を行い、さらに、還元した秘密情報に基づいて当該デジタルビデオのコンテンツが改竄されたか否かを判断することによって、デジタルビデオコンテンツに対するセキュリティ認証を実現するためのものである。
本実施形態において、秘密情報抽出及びビデオ認証モジュール12の具体的な処理過程は、前述したステップS12のとおりであるため、ここではさらに説明しない。
本発明の提供するデジタルビデオコンテンツのセキュリティ認証システム10は、キャリアとしてデジタルビデオを利用し、暗号キーやハッシュ関数に基づいてデジタルビデオのフレーム画像から1つの秘密画像ブロックを確定して認証するための秘密情報を隠し、当該方法では1画素の階調値を変化させるだけで1ビットの秘密情報を埋め込むことができ、感知されにくく、またユーザーの体験にも影響がなく、そして、セキュリティ性が極めて高く、デジタルビデオへの歪みもできるだけ小さい。さらに、良好な脆弱性を有して、デジタルビデオコンテンツの真実性や完全性に対するセキュリティ認証を実現することができる。
注目されたいことは、上述実施例に含まれる各手段はロジック機能によって区分けをしたものに過ぎず、上記したの区分けに制限されるものではなく、対応する機能が実現できればよい。また、各機能手段の具体的な名称も容易に相互区分するためのものであり、本発明の保護範囲を制限するためのものではない。
また、当業者であれば上記各実施例の方法における全部又は一部のステップの実現はプログラムを介して関連するハードウェアを命令することによって完成できることをよく理解できるであろう。対応するプ BR>鴻Oラムはコンピュータ読み取り可能な記憶媒体に記憶できる。前記の記憶媒体は、例えばROM/RAM、磁気ディスクや光ディスク等である。
以上は本発明の好ましい実施例に過ぎず、本発明を限定するものではない。本発明の精神及び原則内でのいかなる改正、同等取替え及び改善等は、いずれも本発明の保護範囲に含まれることである。