(57)【要約】【課題】ＭＰＥＧ２などの映像ビットストリームに対し、秘匿性の高いユーザデータの多重化及び多重化されたユーザデータを抽出する際に、処理コストを低く抑え、ユーザデータの秘匿性を保持することができる情報多重化装置を提供する。【解決手段】情報多重化装置３０は、ビットストリーム３２を構成するスライスデータ３０５のスライスアドレスにユーザデータ３１をマッピングするスライスアドレス変換部３０１と、このスライスアドレス変換部３０１によりユーザデータ３１がマッピングされたスライスアドレスのスライスデータ３０５の終端部分にスタッフィングバイトを付加するスタッフィングバイト挿入部３０６とを備える。【選択図】図５
2012064997.tif 000002
【特許請求の範囲】
【請求項１】
映像ビットストリームにユーザデータを多重化する情報多重化装置であって、
映像ビットストリームを構成するスライスデータのスライスアドレスにユーザデータをマッピングするマッピング手段と、該マッピング手段によりユーザデータがマッピングされたスライスアドレスのスライスデータの終端部分にスタッフィングバイトを付加するスタッフィングバイト付加手段とを備えたことを特徴とする情報多重化装置。
【請求項２】
請求項１に記載の情報多重化装置において、前記マッピング手段は、映像ビットストリームを構成するピクチャのライン数に基づいて、各ラインのスライスデータに割り当てる単位データサイズを決定し、該決定した単位データサイズ毎にユーザデータを分解するデータ分解手段を備え、該データ分解手段により分解された単位データサイズのユーザデータをスライスアドレスにマッピングすることを特徴とする情報多重化装置。
【請求項３】
請求項１又は２に記載の情報多重化装置において、スタッフィングバイトを付加するスライスデータのスライスアドレスの範囲は、映像ビットストリームを構成するピクチャのライン数に基づいて決定され、前記スライスアドレスの範囲の中に、ユーザデータのマッピングを行う範囲と、ユーザデータのマッピングを行わない範囲とが含まれることを特徴とする情報多重化装置。
【請求項４】
請求項１〜３のいずれか１項に記載の情報多重化装置において、前記ユーザデータは、コードデータで構成され、前記マッピング手段は、映像ビットストリームを構成するスライスデータのスライスアドレスと、コードデータとをマッピングしたマッピングテーブルを備えたことを特徴とする情報多重化装置。
【請求項５】
映像ビットストリームからユーザデータを抽出する情報抽出装置であって、
映像ビットストリームを構成するスライスデータのスライスアドレスとユーザデータを構成するコードデータとをマッピングしたマッピングテーブルと、映像ビットストリームのスライスデータの終端部分に付加されたスタッフィングバイトを検出し、該検出したスタッフィングバイトが含まれるスライスデータのスライスアドレスを出力するスタッフィングバイト検出手段と、該出力されたスライスアドレスを前記マッピングテーブルによりユーザデータに変換し、該変換したユーザデータを抽出するユーザデータ抽出手段とを備えたことを特徴とする情報抽出装置。
【請求項６】
請求項５に記載の情報抽出装置において、前記ユーザデータ抽出手段は、前記スタッフィングバイト検出手段により出力されたスライスアドレスが、ユーザデータのマッピングを行う範囲に含まれると判定した場合、前記スライスアドレスを前記マッピングテーブルによりユーザデータに変換することを特徴とする情報抽出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報多重化装置及び情報抽出装置に関し、より詳細には、ＭＰＥＧ２(Moving Picture Experts Group 2)などの映像ビットストリームに対してユーザデータを多重化する情報多重化装置、該装置により多重化された映像ビットストリームからユーザデータを抽出する情報抽出装置に関する。
【背景技術】
【０００２】
従来、動画、静止画、音声等のデジタルコンテンツに対して、コンテンツとは別の情報を人間に知覚できないようにコンテンツデータ自身に埋め込んだり、コンテンツデータに埋め込んだ情報を抽出する技術がある。この技術はデジタルコンテンツの著作権情報や利用者情報等の秘匿性が要求されるデータを著作者やコンテンツ提供元がコンテンツデータ自身に埋め込むことによって、デジタルコンテンツの不正利用、不正コピー防止を意図したデジタルコンテンツ保護システムに用いられる。このような用途で利用される情報の埋め込みは、一般に「電子透かし」と呼ばれている。
【０００３】
上記電子透かしの埋め込み技術に関して、例えば、デジタル動画像を複数ブロックに分割、周波数変換を行い、その周波数成分の値を多重化する別の副情報に基づいて変更して、デジタル動画像にその副情報を多重化するものがある（例えば、特許文献１を参照）。
【０００４】
このような不正利用、不正コピーや改竄の防止等、コンテンツ保護を目的とした電子透かしは利用者には分からないようにコンテンツデータに埋め込まなければならない。これは、不正利用者によってコンテンツデータから電子透かしが除去されたり、改竄されたりすることを避けるために必要となる。このような意図的な除去・改竄以外にも例えば符号化やフィルタ処理等の操作によっても透かし情報が消失しないような耐性（強度）が重要となるが、一方でデジタルコンテンツの品質（画質、音質）に影響するような情報の埋め込みは避けなければならず、このような要求を実現するため電子透かしの埋め込み手法は複雑で処理コストが高くなる場合が多い。
【０００５】
また、情報埋め込み技術は、電子透かしのような用途で用いられる一方で、デジタルコンテンツを媒介とし密かに埋め込まれた秘匿性の高い情報をやり取りするために利用されることがある。このような用途で利用される情報埋め込みは一般にステガノグラフィ（深層暗号）と呼ばれる暗号技術として位置づけられている。前述の電子透かしの場合、埋め込まれるデータは、主データであるコンテンツに対するメタデータ（例えば著作権情報や利用者情報）である場合が多いが、このステガノグラフィの用途の場合、埋め込まれるデータそのものが主データであり、デジタルコンテンツデータ自体は情報を埋め込むための器に過ぎず、埋め込むデータと埋め込まれるデジタルコンテンツデータの間には必ずしも関係性がないことが両者の違いとなっている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平１１−１８０６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ここで、動画像データ及び音声データの符号化及び伝送に関する標準規格としてＭＰＥＧ２(Moving Picture Experts Group ２)規格が知られている。その中でも映像符号化に関する規格はＩＳＯ／ＩＥＣ １３８１８−２として規定されており、昨今のデジタル映像機器において一般的に取り扱われている映像符号化方式となっている。このＭＰＥＧ２映像ビットストリームに対し、例えば、電子透かし等の秘匿性の高いユーザデータを多重する場合、ブロック層の周波数成分データの一部に対し、予め定められた規則に従って操作を加え、ユーザデータを埋め込む手法が一般的である。
【０００８】
しかしながら、ユーザデータを埋め込んだＭＰＥＧ２映像ビットストリームからユーザデータを抽出するには、ビット単位の処理が必要なため、処理コストが高くなる。一方、ＭＰＥＧ２映像ビットストリームのシンタックスにおいては、規格上定められた位置にユーザデータを置くことが許可されており、この位置に秘匿性の高いユーザデータを多重することが考えられる。
【０００９】
この手法は簡易的であり、ユーザデータの多重化及び多重化されたユーザデータの抽出に掛かるコストを低く抑えることが可能であるが、多重化されたＭＰＥＧ２映像ビットストリームを解析することによって、内容は分からないまでも、その位置にユーザデータが存在することが明らかであり、秘匿性の高いデータを多重化する手法としては適さない。
【００１０】
本発明は、上述のごとき実情に鑑みてなされたもので、ＭＰＥＧ２などの映像ビットストリームに対し、秘匿性の高いユーザデータの多重化及び多重化されたユーザデータを抽出する際に、処理コストを低く抑え、ユーザデータの秘匿性を保持することができる情報多重化装置及び情報抽出装置を提供すること、を目的とする。
【課題を解決するための手段】
【００１１】
上記課題を解決するために、本発明の第１の技術手段は、映像ビットストリームにユーザデータを多重化する情報多重化装置であって、映像ビットストリームを構成するスライスデータのスライスアドレスにユーザデータをマッピングするマッピング手段と、該マッピング手段によりユーザデータがマッピングされたスライスアドレスのスライスデータの終端部分にスタッフィングバイトを付加するスタッフィングバイト付加手段とを備えたことを特徴としたものである。
【００１２】
第２の技術手段は、第１の技術手段において、前記マッピング手段は、映像ビットストリームを構成するピクチャのライン数に基づいて、各ラインのスライスデータに割り当てる単位データサイズを決定し、該決定した単位データサイズ毎にユーザデータを分解するデータ分解手段を備え、該データ分解手段により分解された単位データサイズのユーザデータをスライスアドレスにマッピングすることを特徴としたものである。
【００１３】
第３の技術手段は、第１又は第２の技術手段において、スタッフィングバイトを付加するスライスデータのスライスアドレスの範囲は、映像ビットストリームを構成するピクチャのライン数に基づいて決定され、前記スライスアドレスの範囲の中に、ユーザデータのマッピングを行う範囲と、ユーザデータのマッピングを行わない範囲とが含まれることを特徴としたものである。
【００１４】
第４の技術手段は、第１〜第３のいずれか１の技術手段において、前記ユーザデータは、コードデータで構成され、前記マッピング手段は、映像ビットストリームを構成するスライスデータのスライスアドレスと、コードデータとをマッピングしたマッピングテーブルを備えたことを特徴としたものである。
【００１５】
第５の技術手段は、映像ビットストリームからユーザデータを抽出する情報抽出装置であって、映像ビットストリームを構成するスライスデータのスライスアドレスとユーザデータを構成するコードデータとをマッピングしたマッピングテーブルと、映像ビットストリームのスライスデータの終端部分に付加されたスタッフィングバイトを検出し、該検出したスタッフィングバイトが含まれるスライスデータのスライスアドレスを出力するスタッフィングバイト検出手段と、該出力されたスライスアドレスを前記マッピングテーブルによりユーザデータに変換し、該変換したユーザデータを抽出するユーザデータ抽出手段とを備えたことを特徴としたものである。
【００１６】
第６の技術手段は、第５の技術手段において、前記ユーザデータ抽出手段は、前記スタッフィングバイト検出手段により出力されたスライスアドレスが、ユーザデータのマッピングを行う範囲に含まれると判定した場合、前記スライスアドレスを前記マッピングテーブルによりユーザデータに変換することを特徴としたものである。
【発明の効果】
【００１７】
本発明によれば、ＭＰＥＧ２などの映像ビットストリームに対し、秘匿性の高いユーザデータの多重化及び多重化されたユーザデータを抽出する際に、処理コストを低く抑え、ユーザデータの秘匿性を保持することができる。
【図面の簡単な説明】
【００１８】
【図１】ＭＰＥＧ２映像ビットストリームの構造の一例を示す図である。
【図２】ＭＰＥＧ２映像ビットストリームのブロックダイアログの一例を示す図である。
【図３】スタートコード検出関数の一例を示す図である。
【図４】ピクチャを構成するスライスデータの構造の一例を示す図である。
【図５】本発明による情報多重化装置の構成例を示すブロック図である。
【図６】図５に示すビットストリーム解析分離部の構成例を示すブロック図である。
【図７】図５に示すスライスアドレス変換部の構成例を示すブロック図である。
【図８】本発明による情報抽出装置の構成例を示すブロック図である。
【図９】図８に示すユーザデータ抽出部の構成例を示すブロック図である。
【発明を実施するための形態】
【００１９】
以下、添付図面を参照しながら、本発明の情報多重化装置及び情報抽出装置に係る好適な実施の形態について説明する。
【００２０】
まず、図１，２に基づいて、ユーザデータを多重化する映像ビットストリームについて、ＭＰＥＧ２符号化規格による映像ビットストリームを代表例として説明する。図１にＭＰＥＧ２映像ビットストリームの構造を示し、図２にＭＰＥＧ２映像ビットストリームのブロックダイアログを示す。以下の説明では、ＭＰＥＧ２映像ビットストリームを単にビットストリームというものとする。
【００２１】
図１に示すように、符号化されたビットストリームは階層構造になっており、上位層から順にシーケンス層１、ＧＯＰ層２、ピクチャ層３、スライス層４、マクロブロック層５、及びブロック層６から構成される。シーケンス層１からスライス層４までの各階層のデータには、４バイトのユニークなスタートコード（プリフィックス３バイトと各層データのユニークなコード１バイト）が与えられており、スタートコードにより各層が区別される。
【００２２】
また、これらのスタートコードはビットストリーム上でバイト単位に整列（バイトアライメント）されており、図３に示すようなスタートコード検出関数を用いることで各層のデータ先頭を頭だしすることができる。なお、各層データの終端においては、スタッフィングビット或いはスタッフィングバイトと呼ばれる０データを詰めて、アライメントの調整や符号化時のビットレート調整を図る場合がある。
【００２３】
図２に示すように、ビットストリームの定められた位置（領域）として、エクステンション＆ユーザデータ（Extension & user data）１０，１１，１２にユーザデータ(user data)を配置することが規格において許されており、ビットストリームにユーザ独自のデータを多重化することが可能となっている。但し、予め定められた位置にユーザデータを埋め込んだ場合、内容は分からずとも、そこに何らかのユーザデータが埋め込まれていることが他者に対しても既知となってしまうため、この位置に秘匿性の高いデータを多重化することは場合によっては好ましくない。
【００２４】
図４は、ピクチャを構成するスライスデータの構造を示す図で、図中、２０はピクチャを示す。ＭＰＥＧ２映像符号化の規格においては、ピクチャ２０を構成するスライスデータ２１は１個以上のマクロブロック２２から構成され、ラスタスキャンの順で左から右に並び、その長さや開始位置は自由であるが、１個のスライスデータが複数行を跨ぐことはない。よって、ピクチャ２０の各ラインには必ず１個のスライスデータ２１が含まれる。
【００２５】
スライスデータ２１の先頭にある４バイトのスライススタートコード(Slice start code)２３は、スタートコードプリフィックス３バイト（”００”・”００”・”０１”）とスライスアドレス（“１６＊ｎ”）の１バイトで構成される。スライスアドレスはスライスの垂直位置情報を表しており、０x００から最大で０xＡＦまでの値をとる。マクロブロック２２のサイズは１６×１６であるから、例えば、１９２０（W）×１０８８（H）のピクチャの場合、スライスアドレスは、
ピクチャの垂直サイズ／マクロブロックの垂直サイズ＝１０８８／１６＝６８
と求められ、最大６８（取るべき値の範囲としては０〜６７）となる。
【００２６】
なお、ピクチャの垂直サイズが２８００ライン超の場合は、スライスバーティカルポジションエクステンション（slice vertical position extension）２４の３ビットも含め、スライスデータの垂直位置情報を１１ビットで符号化する。本発明の以降の説明においては、スライスデータの垂直位置情報はスライススタートコード２３から求めるが、ピクチャの垂直サイズが大きい場合には、スライスバーティカルポジションエクステンション２４まで含めた処理としても良い。また、１個のスライスデータの後ろには次データ（ピクチャ層、スライス層、或いはシーケンス層）のスタートコードが続くため、必ずバイトアライメントされている。
【００２７】
本発明の主たる特徴部分は、ＭＰＥＧ２などの映像ビットストリームに対し、秘匿性の高いユーザデータの多重化及び多重化されたユーザデータを抽出する際に、処理コストを低く抑え、ユーザデータの秘匿性を保持できるようにすることにある。
【００２８】
図５は、本発明による情報多重化装置の構成例を示すブロック図で、図中、３０は情報多重化装置を示す。情報多重化装置３０は、スライスアドレス変換部３０１、ビットストリーム解析分離部３０４、スタッフィングバイト挿入部３０６、及びデータ多重部３０７で構成される。この情報多重化装置３０は、秘匿情報であるユーザデータ３１をビットストリーム３２のスライスアドレスに変換し、このスライスアドレスのスライスデータの終端部分にスタッフィングバイトを付与することにより、ビットストリーム３２にユーザデータ３１を多重化する。そして、情報多重化装置３０は、ユーザデータ３１が多重化されたビットストリーム３２をユーザデータ多重化ビットストリーム３３として出力する。なお、ユーザデータ３１は一般的な文字コードなどのコードデータで構成されている。
【００２９】
スライスアドレス変換部３０１は、本発明のマッピング手段に相当し、ビットストリーム３２を構成するスライスデータのスライスアドレスにユーザデータ３１をマッピングする。また、スタッフィングバイト挿入部３０６は、本発明のスタッフィングバイト付加手段に相当し、スライスアドレス変換部３０１によりユーザデータ３１がマッピングされたスライスアドレスのスライスデータ３０５の終端部分にスタッフィングバイトを付加する。以下、図５の各部について具体的に説明する。
【００３０】
ビットストリーム解析分離部３０４は、ビットストリーム３２を解析し、ピクチャサイズ情報３０２を抽出すると共に、ビットストリーム３２をスライスデータ３０５と非スライスデータ３０８とに分離する処理部である。図６に示すように、ビットストリーム解析分離部３０４は、スタートコード検出部３０４ａ、セレクタ３０４ｂ、及びシーケンスヘッダ解析部３０４ｃから構成されている。スタートコード検出部３０４ａは、ビットストリーム３２のスタートコード４バイトを検出し、バイトアライメントされた各層データの頭出しを行い、次のスタートコードを検出するまで後段にデータを出力する。
【００３１】
スタートコードの第４バイト目の値によりセレクタ３０４ｂが切り替わり、スライスデータと非スライスデータとを分離して後段に出力する。つまり、スタートコードの第４バイトが０ｘ００〜０ｘＡＦまでの値の場合、セレクタ３０４ｂは接点ａに切り替わり、スライスデータ３０５を分離出力する。また、スタートコードの第４バイトが上記以外の場合は、ビットストリーム解析分離部３０４より非スライスデータ３０８が分離出力される。特に、スタートコードの第４バイトが０ｘＢ３である場合、セレクタ３０４ｂは接点cに切り替わり、後段のシーケンスヘッダ解析部３０４ｃを経由し、非スライスデータ３０８を分離出力する。また、シーケンスヘッダ解析部３０４ｃでは、シーケンスヘッダ情報を解析し、当該シーケンス内に含まれる画像の垂直方向へのライン数をピクチャサイズ情報３０２として抽出し、後段のスライスアドレス変換部３０１へ出力する。
【００３２】
ここで、本発明の情報多重化装置３０においては、秘匿情報であるユーザデータをスライスアドレスに変換し、変換したスライスアドレスのスライスデータの終端部分にスタッフィングバイトを埋め込むようにしている。そして、後述する情報抽出装置においては、ビットストリームに埋め込まれたスタッフィングバイトを検出し、スタッフィングバイトが埋め込まれたスライスデータのスライスアドレスを求め、このスライスアドレスに対して情報多重化装置３０とは逆の変換を行うことで、ユーザデータを復元する。これにより、秘匿性の高いユーザデータを、ビットストリームを媒介として送受信することができる。
【００３３】
図７は、図５に示すスライスアドレス変換部の構成例を示すブロック図である。スライスアドレス変換部３０１は、データ分解部３０１ａ、アドレス変換部３０１ｂ、及びルックアップテーブル３０１ｃから構成されており、情報多重化装置３０においてスタッフィングバイトを挿入するスライスデータを決定する処理部となっている。
【００３４】
データ分解部３０１ａは、本発明のデータ分解手段に相当し、ビットストリーム３２を構成するピクチャのライン数に基づいて、各ラインのスライスデータに割り当てる単位データサイズ（以下、埋め込み単位サイズという）を決定し、決定した埋め込み単位サイズ毎にユーザデータを分解する。そして、このデータ分解部３０１ａにより分解された埋め込み単位サイズのユーザデータをスライスアドレスにマッピングする。すなわち、データ分解部３０１ａは、ピクチャサイズ情報３０２から得られる画像（ピクチャ）の垂直方向へのライン数を参照することにより、埋め込み単位サイズを決定し、決定した埋め込み単位毎にユーザデータ３１を分解する。
【００３５】
そして、アドレス変換部３０１ｂは、データ分解部３０１ａで分解されたユーザデータ３１のビットデータに基づいてルックアップテーブル３０１ｃを参照し、これにより埋め込み単位サイズのユーザデータのビットデータをスライスアドレスに変換し、変換したスライスアドレス情報をスタッフィングバイト挿入スライスアドレス情報３０３として後段のスタッフィングバイト挿入部３０６に出力する。このルックアップテーブル３０１ｃは、本発明のマッピングテーブルに相当し、ビットストリーム３２を構成するスライスデータのスライスアドレスと、ユーザデータ３１を構成するコードデータとをマッピングしたものである。
【００３６】
本実施形態においては、ビットストリーム３２のピクチャ１枚につき、埋め込み単位サイズ分のユーザデータを伝達し得るスタッフィングバイト挿入スライスを決定するものとする。スタッフィングバイトを挿入するスライスアドレス（：ａｄｄｒｅｓｓ）の範囲は以下とする。なお、ピクチャのライン数は垂直方向へのライン数を意味する。
０≦address＜ピクチャのライン数／１６−α    …式（１）
【００３７】
また、埋め込み単位サイズは、上記式（１）で取り得る最大値以内で最大の整数データを表現し得るビット数のデータサイズとしている。例えば、ピクチャサイズが１９２０（W）×１０８８（H）で、αを４とした場合、スライスアドレス（：ａｄｄｒｅｓｓ）として取り得る範囲は、０≦address ＜ （１０８８／１６ − ４） ＝６４、すなわち、０〜６３となる。
【００３８】
これより埋め込み単位サイズは、６ビット（０〜６３）となる。従って、本実施形態においては、ユーザデータ３１を６ビットの埋め込み単位サイズに分解し、この６ビットデータがルックアップテーブル３０１ｃによって、スライスアドレス（０〜６３）に変換される。ルックアップテーブル３０１ｃは、埋め込み単位サイズに分解されたユーザデータ３１を予め定められた規則に従って、スライスアドレスに変換するための変換テーブルであるが、実装依存的要素であるため、具体的な構成について特に言及しない。
【００３９】
ここで、後述する情報抽出装置は、スライスデータへのスタッフィングバイトの有無によりユーザデータを復元する。このため、情報多重化装置３０が対象とする多重化前のビットストリーム３２のスライスデータの終端部分には原則としてスタッフィングバイトが挿入されていてはならない。
【００４０】
しかしながら、固定ビットレート（ＣＢＲ）符号化時など、スライス終端にスタッフィングバイトを挿入して、ピクチャ単位のターゲット符号量への調整を施さなければならない場合がある。その場合、情報多重化装置３０の前段に位置する符号化装置においては、前述の式（１）の定数αに従い、以下の範囲のスライスアドレス（：ｓｔｕｆｆ ａｄｄｒｅｓｓ）を持つスライスデータに符号量調整のためのスタッフィングバイト挿入を行うものとする。
ピクチャのライン数／１６−α≦ stuff address ＜ピクチャのライン数／１６
…式（２）
【００４１】
すなわち、スタッフィングバイトを付加するスライスデータのスライスアドレスの範囲は、ビットストリーム３２を構成するピクチャのライン数に基づいて決定され、このスライスアドレスの範囲の中に、ユーザデータ３１のマッピングを行う範囲と、ユーザデータ３１のマッピングを行わない範囲とが含まれる。例えば、前述したように、ピクチャの垂直方向へのライン数を１０８８とした場合、スタッフィングバイトを付加するスライスデータのスライスアドレスの範囲は“０〜６７”と決定される。そして、定数α＝４とすることで、“０〜６７”の範囲のうち、“０〜６３”がユーザデータ３１のマッピングを行い、スタッフィングバイト挿入を行う範囲、また、“６４〜６７”がユーザデータ３１のマッピングを行わず、符号量調整のためのスタッフィングバイト挿入を行う範囲となる。
【００４２】
このように、スタッフィングバイトが挿入されたスライスデータのスライスアドレスの範囲を定数αによって分割することで、スタッフィングバイトに対して、ユーザデータの多重化を意図したものか、あるいは、符号量調整を意図したものかを区別することができる。上記のように、ピクチャの垂直方向へのライン数を１０８８、定数αを４とした場合、スタッフィングバイトが挿入されたスライスデータのスライスアドレスが０〜６３の範囲にあれば、ユーザデータの多重化を意図したものであり、一方、スライスアドレスが６４〜６７の範囲にあれば、符号量調整を意図したものと区別される。
【００４３】
さらに、図５において、スタッフィングバイト挿入部３０６は、スライスアドレス変換部３０１から出力されるスタッフィングバイト挿入スライスアドレス情報３０３に従って、ビットストリーム解析分離部３０４から入力されるスライスデータ３０５の中で、スタッフィングバイト挿入スライスアドレス情報３０３で指定されるスライスアドレスを持つスライスデータの終端部分にスタッフィングバイトを挿入し、一方、スタッフィングバイトの挿入対象でないスライスデータについてはそのままで、後段のデータ多重部３０７に出力する。なお、１枚のピクチャデータに同じスライスアドレスを持つスライスデータが複数存在する場合には、画面左端に近い位置にあるスライスデータ（先頭のもの）にスタッフィングバイトを挿入するものとする。
【００４４】
最後に、データ多重部３０７は、ビットストリーム解析分離部３０４で一旦分離した非スライスデータ３０８と、スタッフィングバイト挿入部３０６を経由して出力されるスライスデータ３０５とを再多重し、ユーザデータ３１が多重されたユーザデータ多重化ビットストリーム３３を出力する。
【００４５】
このようにして、秘匿性を伴うユーザデータを、スタッフィングバイトの挿入を行うスライスデータの位置情報（スライスアドレス）に変換し、変換したスライスアドレスのスライスデータの終端部分にスタッフィングバイトを挿入することにより、ユーザデータを多重したＭＰＥＧ２映像ビットストリームを出力することができる。
【００４６】
次に、情報多重化装置３０にてユーザデータ３１を多重化したＭＰＥＧ２映像ビットストリーム（ユーザデータ多重化ビットストリーム３３）からユーザデータ３１を抽出する本発明の情報抽出装置について説明する。
【００４７】
図８は、本発明による情報抽出装置の構成例を示すブロック図で、図中、４０は情報抽出装置を示す。情報抽出装置４０は、ユーザデータ抽出部４０１、ビットストリーム解析分離部４０４、及びスタッフィングバイト検出部４０６で構成され、ユーザデータ３１が多重化されたユーザデータ多重化ビットストリーム３３から秘匿情報であるユーザデータ３１を抽出する装置である。
【００４８】
ビットストリーム解析分離部４０４は、ユーザデータ多重化ビットストリーム３３を解析し、ピクチャサイズ情報４０２を抽出し、ユーザデータ多重化ビットストリーム３３をスライスデータ４０５と図示しない非スライスデータとに分離する処理部である。ビットストリーム解析分離部４０４は、前述の情報多重化処理装置３０のビットストリーム解析分離部３０４と同様にシーケンスヘッダを解析してピクチャサイズ情報４０２をユーザデータ抽出部４０１に出力する。また、ビットストリーム解析分離部４０４は、分離したスライスデータ４０５を後段のスタッフィングバイト検出部４０６に出力する。
【００４９】
スタッフィングバイト検出部４０６は、ビットストリーム解析分離部４０４から出力されたスライスデータ４０５のデータ終端バイトが０データか、あるいは、非０データかを判定し、０データの場合、スライスデータ４０５にスタッフィングバイトが付加されていると判定し、スライスデータ４０５のスライスアドレスをスタッフィングバイト挿入スライスアドレス情報４０３としてユーザデータ抽出部４０１に出力する。一方、非０データの場合、スライスデータ４０５にスタッフィングバイトが付加されていないと判定する。
【００５０】
図９は、図８に示すユーザデータ抽出部の構成例を示すブロック図である。ユーザデータ抽出部４０１は、ユーザデータ変換部４０１ａ、ルックアップテーブル４０１ｂで構成される。ユーザデータ変換部４０１ａは、スタッフィングバイト挿入スライスアドレス情報４０３に基づいてルックアップテーブル４０１ｂを参照することにより、スタッフィングバイト挿入スライスアドレス情報４０３に対応するユーザデータ３１を抽出する処理部である。
【００５１】
ユーザデータ変換部４０１ａは、前述の情報多重化装置３０のスライスアドレス変換部３０１で用いた定数αと、ビットストリーム解析分離部４０４から出力されたピクチャサイズ情報４０２から得られる画像（ピクチャ）の垂直方向へのライン数とを、前述の式（１）と式（２）に適用する。例えば、ピクチャのライン数を１０８８、定数αを４とした場合、スタッフィングバイトが挿入されたスライスデータのスライスアドレスが０〜６３の範囲（範囲１）にあれば、ユーザデータの多重化を意図したものであり、一方、スライスアドレスが６４〜６７の範囲（範囲２）にあれば、ピクチャ単位の符号量調整を意図したものと区別される。なお、スライスアドレスは、スタッフィングバイト挿入スライスアドレス情報４０３から求めることができる。
【００５２】
そして、ユーザデータ変換部４０１ａは、スタッフィングバイト挿入スライスアドレス情報４０３から求まるスライスアドレスが、上記の範囲１または範囲２のどちらに含まれるかを判定し、範囲１に含まれるスライスアドレスのみをルックアップテーブル４０１ｂを参照してユーザデータに変換し、ユーザデータ３１を抽出する。なお、ルックアップテーブル４０１ｂは、情報多重化装置３０のルックアップテーブル３０１ｃの逆変換を行う変換テーブルとし、定数αは情報多重化装置３０と同じ値が予め保持されているものとする。
【００５３】
上記の図８〜図９で説明したように、本発明による情報抽出装置４０は、映像ビットストリームを構成するスライスデータのスライスアドレスとユーザデータを構成するコードデータとをマッピングしたマッピングテーブルに相当するルックアップテーブル４０１ｂと、ビットストリームのスライスデータの終端部分に付加されたスタッフィングバイトを検出し、検出したスタッフィングバイトが含まれるスライスデータのスライスアドレスを出力するスタッフィングバイト検出手段に相当するスタッフィングバイト検出部４０６と、出力されたスライスアドレスをルックアップテーブル４０１ｂによりユーザデータに変換し、変換したユーザデータを抽出するユーザデータ抽出手段に相当するユーザデータ抽出部４０１とを備える。
【００５４】
そして、ユーザデータ抽出部４０１は、スタッフィングバイト検出部４０６により出力されたスライスアドレスが、ユーザデータのマッピングを行う範囲（すなわち、上記の範囲１）に含まれると判定した場合、このスライスアドレスをルックアップテーブル４０１ｂによりユーザデータに変換する処理を行う。
【００５５】
このようにして、情報多重化装置３０によりユーザデータが多重化されたＭＰＥＧ２映像ビットストリームからスタッフィングバイトの挿入されたスライスデータを検出し、検出したスライスデータのスライスアドレスに対して、情報多重化装置３０とは逆の変換を施すことにより、映像ビットストリームに多重された秘匿情報であるユーザデータを抽出することができる。
【００５６】
なお、上述した情報多重化装置３０及び情報抽出装置４０において、ユーザデータは一般的な文字コードなどのコードデータで構成されており、代表的にはアスキーコードなどを用いることができる。従って、ルックアップテーブル３０１ｃ、４０１ｂは、コードデータとスライスアドレスとが相互に変換可能なように構成されている。
【００５７】
以上説明したように、本発明による情報多重化装置３０と情報抽出装置４０とを用いることにより、ＭＰＥＧ２映像ビットストリームを媒介として秘匿性の高いユーザデータを送受信することが可能となり、特に本装置はステガノグラフィの用途に好適に用いることができる。
【００５８】
また、ＭＰＥＧ２映像ビットストリームのシーケンス層、ＧＯＰ層、ピクチャ層、及びスライス層のデータはバイトアライメントされたデータであり、スタートコードの４バイトはビットストリーム全体を通してユニークであることが保証されている。従って、多重化されたユーザデータの抽出処理においては、スライスデータのスタートコードの検出を行い、スライスデータの終端、すなわち、次のスタートコードに先立つデータバイトにスタッフィングバイトが付加されているか否かを判定し、スタッフィングバイトが付加されているスライスデータのスライスアドレスを、スライスデータのスタートコードから求めるだけでよい。このため、本発明によるユーザデータ多重化及び抽出方法は、従来の電子透かしで見られるような周波数成分データ部分にユーザデータを埋め込む方法に比べて、処理コストを低く抑えることができる。
【００５９】
また、本発明によるユーザデータ多重化方法によって多重化されたビットストリームは、一見するとスライスデータ終端部分がスタッフィングされているだけである。このため、ＭＰＥＧ２映像符号化の規格上配置することが許可されている位置にユーザデータを埋め込む方法に比べて、ユーザデータの秘匿性を向上させることができる。そして、ユーザデータを多重化する処理の前後においてもコンテンツの映像品位に影響を及ぼすことがない。
【００６０】
さらに、本発明によるユーザデータ多重化方法と、従来の周波数成分データ部分にユーザデータを埋め込む方法とでは、ユーザデータを埋め込む位置が異なる。このため、本発明によるユーザデータ多重化方法を、上記の他のデータ埋め込み方法と併用して使用する場合においても、ユーザデータ抽出時のデータ検出精度に影響を及ぼすことがない。従って、他のデータ埋め込み方法と適宜併用することにより、さらに秘匿性や改竄に対する耐性を上げることができる。
【符号の説明】
【００６１】
１…シーケンス層、２…ＧＯＰ層、３…ピクチャ層、４…スライス層、５…マクロブロック層、６…ブロック層、１０〜１２…エクステンション＆ユーザデータ、２０…ピクチャ、２１…スライスデータ、２２…マクロブロック、２３…スライススタートコード、２４…スライスバーティカルポジションエクステンション、３０…情報多重化装置、３１…ユーザデータ、３２…ビットストリーム（ＭＰＥＧ２映像ビットストリーム）、３３…ユーザデータ多重化ビットストリーム、４０…情報抽出装置、３０１…スライスアドレス変換部、３０１ａ…データ分解部、３０１ｂ…アドレス変換部、３０１ｃ，４０１ｂ…ルックアップテーブル、３０２，４０２…ピクチャサイズ情報、３０３，４０３…スタッフィングバイト挿入スライスアドレス情報、３０４，４０４…ビットストリーム解析分離部、３０４ａ…スタートコード検出部、３０４ｂ…セレクタ、３０４ｃ…シーケンスヘッダ解析部、３０５…スライスデータ、３０６…スタッフィングバイト挿入部、３０７…データ多重部、３０８…非スライスデータ、４０１…ユーザデータ抽出部、４０１ａ…ユーザデータ変換部、４０６…スタッフィングバイト検出部。
【図１】
2012064997.tif 000003
【図２】
2012064997.tif 000004
【図３】
2012064997.tif 000005
【図４】
2012064997.tif 000006
【図５】
2012064997.tif 000007
【図６】
2012064997.tif 000008
【図７】
2012064997.tif 000009
【図８】
2012064997.tif 000010
【図９】
2012064997.tif 000011