説明

情報多重化装置及び情報抽出装置

【課題】MPEG2などの映像ビットストリームに対し、秘匿性の高いユーザデータの多重化及び多重化されたユーザデータを抽出する際に、処理コストを低く抑え、ユーザデータの秘匿性を保持することができる情報多重化装置を提供する。
【解決手段】情報多重化装置30は、ビットストリーム32を構成するスライスデータ305のスライスアドレスにユーザデータ31をマッピングするスライスアドレス変換部301と、このスライスアドレス変換部301によりユーザデータ31がマッピングされたスライスアドレスのスライスデータ305の終端部分にスタッフィングバイトを付加するスタッフィングバイト挿入部306とを備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報多重化装置及び情報抽出装置に関し、より詳細には、MPEG2(Moving Picture Experts Group 2)などの映像ビットストリームに対してユーザデータを多重化する情報多重化装置、該装置により多重化された映像ビットストリームからユーザデータを抽出する情報抽出装置に関する。
【背景技術】
【0002】
従来、動画、静止画、音声等のデジタルコンテンツに対して、コンテンツとは別の情報を人間に知覚できないようにコンテンツデータ自身に埋め込んだり、コンテンツデータに埋め込んだ情報を抽出する技術がある。この技術はデジタルコンテンツの著作権情報や利用者情報等の秘匿性が要求されるデータを著作者やコンテンツ提供元がコンテンツデータ自身に埋め込むことによって、デジタルコンテンツの不正利用、不正コピー防止を意図したデジタルコンテンツ保護システムに用いられる。このような用途で利用される情報の埋め込みは、一般に「電子透かし」と呼ばれている。
【0003】
上記電子透かしの埋め込み技術に関して、例えば、デジタル動画像を複数ブロックに分割、周波数変換を行い、その周波数成分の値を多重化する別の副情報に基づいて変更して、デジタル動画像にその副情報を多重化するものがある(例えば、特許文献1を参照)。
【0004】
このような不正利用、不正コピーや改竄の防止等、コンテンツ保護を目的とした電子透かしは利用者には分からないようにコンテンツデータに埋め込まなければならない。これは、不正利用者によってコンテンツデータから電子透かしが除去されたり、改竄されたりすることを避けるために必要となる。このような意図的な除去・改竄以外にも例えば符号化やフィルタ処理等の操作によっても透かし情報が消失しないような耐性(強度)が重要となるが、一方でデジタルコンテンツの品質(画質、音質)に影響するような情報の埋め込みは避けなければならず、このような要求を実現するため電子透かしの埋め込み手法は複雑で処理コストが高くなる場合が多い。
【0005】
また、情報埋め込み技術は、電子透かしのような用途で用いられる一方で、デジタルコンテンツを媒介とし密かに埋め込まれた秘匿性の高い情報をやり取りするために利用されることがある。このような用途で利用される情報埋め込みは一般にステガノグラフィ(深層暗号)と呼ばれる暗号技術として位置づけられている。前述の電子透かしの場合、埋め込まれるデータは、主データであるコンテンツに対するメタデータ(例えば著作権情報や利用者情報)である場合が多いが、このステガノグラフィの用途の場合、埋め込まれるデータそのものが主データであり、デジタルコンテンツデータ自体は情報を埋め込むための器に過ぎず、埋め込むデータと埋め込まれるデジタルコンテンツデータの間には必ずしも関係性がないことが両者の違いとなっている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開平11−18064号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
ここで、動画像データ及び音声データの符号化及び伝送に関する標準規格としてMPEG2(Moving Picture Experts Group 2)規格が知られている。その中でも映像符号化に関する規格はISO/IEC 13818−2として規定されており、昨今のデジタル映像機器において一般的に取り扱われている映像符号化方式となっている。このMPEG2映像ビットストリームに対し、例えば、電子透かし等の秘匿性の高いユーザデータを多重する場合、ブロック層の周波数成分データの一部に対し、予め定められた規則に従って操作を加え、ユーザデータを埋め込む手法が一般的である。
【0008】
しかしながら、ユーザデータを埋め込んだMPEG2映像ビットストリームからユーザデータを抽出するには、ビット単位の処理が必要なため、処理コストが高くなる。一方、MPEG2映像ビットストリームのシンタックスにおいては、規格上定められた位置にユーザデータを置くことが許可されており、この位置に秘匿性の高いユーザデータを多重することが考えられる。
【0009】
この手法は簡易的であり、ユーザデータの多重化及び多重化されたユーザデータの抽出に掛かるコストを低く抑えることが可能であるが、多重化されたMPEG2映像ビットストリームを解析することによって、内容は分からないまでも、その位置にユーザデータが存在することが明らかであり、秘匿性の高いデータを多重化する手法としては適さない。
【0010】
本発明は、上述のごとき実情に鑑みてなされたもので、MPEG2などの映像ビットストリームに対し、秘匿性の高いユーザデータの多重化及び多重化されたユーザデータを抽出する際に、処理コストを低く抑え、ユーザデータの秘匿性を保持することができる情報多重化装置及び情報抽出装置を提供すること、を目的とする。
【課題を解決するための手段】
【0011】
上記課題を解決するために、本発明の第1の技術手段は、映像ビットストリームにユーザデータを多重化する情報多重化装置であって、映像ビットストリームを構成するスライスデータのスライスアドレスにユーザデータをマッピングするマッピング手段と、該マッピング手段によりユーザデータがマッピングされたスライスアドレスのスライスデータの終端部分にスタッフィングバイトを付加するスタッフィングバイト付加手段とを備えたことを特徴としたものである。
【0012】
第2の技術手段は、第1の技術手段において、前記マッピング手段は、映像ビットストリームを構成するピクチャのライン数に基づいて、各ラインのスライスデータに割り当てる単位データサイズを決定し、該決定した単位データサイズ毎にユーザデータを分解するデータ分解手段を備え、該データ分解手段により分解された単位データサイズのユーザデータをスライスアドレスにマッピングすることを特徴としたものである。
【0013】
第3の技術手段は、第1又は第2の技術手段において、スタッフィングバイトを付加するスライスデータのスライスアドレスの範囲は、映像ビットストリームを構成するピクチャのライン数に基づいて決定され、前記スライスアドレスの範囲の中に、ユーザデータのマッピングを行う範囲と、ユーザデータのマッピングを行わない範囲とが含まれることを特徴としたものである。
【0014】
第4の技術手段は、第1〜第3のいずれか1の技術手段において、前記ユーザデータは、コードデータで構成され、前記マッピング手段は、映像ビットストリームを構成するスライスデータのスライスアドレスと、コードデータとをマッピングしたマッピングテーブルを備えたことを特徴としたものである。
【0015】
第5の技術手段は、映像ビットストリームからユーザデータを抽出する情報抽出装置であって、映像ビットストリームを構成するスライスデータのスライスアドレスとユーザデータを構成するコードデータとをマッピングしたマッピングテーブルと、映像ビットストリームのスライスデータの終端部分に付加されたスタッフィングバイトを検出し、該検出したスタッフィングバイトが含まれるスライスデータのスライスアドレスを出力するスタッフィングバイト検出手段と、該出力されたスライスアドレスを前記マッピングテーブルによりユーザデータに変換し、該変換したユーザデータを抽出するユーザデータ抽出手段とを備えたことを特徴としたものである。
【0016】
第6の技術手段は、第5の技術手段において、前記ユーザデータ抽出手段は、前記スタッフィングバイト検出手段により出力されたスライスアドレスが、ユーザデータのマッピングを行う範囲に含まれると判定した場合、前記スライスアドレスを前記マッピングテーブルによりユーザデータに変換することを特徴としたものである。
【発明の効果】
【0017】
本発明によれば、MPEG2などの映像ビットストリームに対し、秘匿性の高いユーザデータの多重化及び多重化されたユーザデータを抽出する際に、処理コストを低く抑え、ユーザデータの秘匿性を保持することができる。
【図面の簡単な説明】
【0018】
【図1】MPEG2映像ビットストリームの構造の一例を示す図である。
【図2】MPEG2映像ビットストリームのブロックダイアログの一例を示す図である。
【図3】スタートコード検出関数の一例を示す図である。
【図4】ピクチャを構成するスライスデータの構造の一例を示す図である。
【図5】本発明による情報多重化装置の構成例を示すブロック図である。
【図6】図5に示すビットストリーム解析分離部の構成例を示すブロック図である。
【図7】図5に示すスライスアドレス変換部の構成例を示すブロック図である。
【図8】本発明による情報抽出装置の構成例を示すブロック図である。
【図9】図8に示すユーザデータ抽出部の構成例を示すブロック図である。
【発明を実施するための形態】
【0019】
以下、添付図面を参照しながら、本発明の情報多重化装置及び情報抽出装置に係る好適な実施の形態について説明する。
【0020】
まず、図1,2に基づいて、ユーザデータを多重化する映像ビットストリームについて、MPEG2符号化規格による映像ビットストリームを代表例として説明する。図1にMPEG2映像ビットストリームの構造を示し、図2にMPEG2映像ビットストリームのブロックダイアログを示す。以下の説明では、MPEG2映像ビットストリームを単にビットストリームというものとする。
【0021】
図1に示すように、符号化されたビットストリームは階層構造になっており、上位層から順にシーケンス層1、GOP層2、ピクチャ層3、スライス層4、マクロブロック層5、及びブロック層6から構成される。シーケンス層1からスライス層4までの各階層のデータには、4バイトのユニークなスタートコード(プリフィックス3バイトと各層データのユニークなコード1バイト)が与えられており、スタートコードにより各層が区別される。
【0022】
また、これらのスタートコードはビットストリーム上でバイト単位に整列(バイトアライメント)されており、図3に示すようなスタートコード検出関数を用いることで各層のデータ先頭を頭だしすることができる。なお、各層データの終端においては、スタッフィングビット或いはスタッフィングバイトと呼ばれる0データを詰めて、アライメントの調整や符号化時のビットレート調整を図る場合がある。
【0023】
図2に示すように、ビットストリームの定められた位置(領域)として、エクステンション&ユーザデータ(Extension & user data)10,11,12にユーザデータ(user data)を配置することが規格において許されており、ビットストリームにユーザ独自のデータを多重化することが可能となっている。但し、予め定められた位置にユーザデータを埋め込んだ場合、内容は分からずとも、そこに何らかのユーザデータが埋め込まれていることが他者に対しても既知となってしまうため、この位置に秘匿性の高いデータを多重化することは場合によっては好ましくない。
【0024】
図4は、ピクチャを構成するスライスデータの構造を示す図で、図中、20はピクチャを示す。MPEG2映像符号化の規格においては、ピクチャ20を構成するスライスデータ21は1個以上のマクロブロック22から構成され、ラスタスキャンの順で左から右に並び、その長さや開始位置は自由であるが、1個のスライスデータが複数行を跨ぐことはない。よって、ピクチャ20の各ラインには必ず1個のスライスデータ21が含まれる。
【0025】
スライスデータ21の先頭にある4バイトのスライススタートコード(Slice start code)23は、スタートコードプリフィックス3バイト(”00”・”00”・”01”)とスライスアドレス(“16*n”)の1バイトで構成される。スライスアドレスはスライスの垂直位置情報を表しており、0x00から最大で0xAFまでの値をとる。マクロブロック22のサイズは16×16であるから、例えば、1920(W)×1088(H)のピクチャの場合、スライスアドレスは、
ピクチャの垂直サイズ/マクロブロックの垂直サイズ=1088/16=68
と求められ、最大68(取るべき値の範囲としては0〜67)となる。
【0026】
なお、ピクチャの垂直サイズが2800ライン超の場合は、スライスバーティカルポジションエクステンション(slice vertical position extension)24の3ビットも含め、スライスデータの垂直位置情報を11ビットで符号化する。本発明の以降の説明においては、スライスデータの垂直位置情報はスライススタートコード23から求めるが、ピクチャの垂直サイズが大きい場合には、スライスバーティカルポジションエクステンション24まで含めた処理としても良い。また、1個のスライスデータの後ろには次データ(ピクチャ層、スライス層、或いはシーケンス層)のスタートコードが続くため、必ずバイトアライメントされている。
【0027】
本発明の主たる特徴部分は、MPEG2などの映像ビットストリームに対し、秘匿性の高いユーザデータの多重化及び多重化されたユーザデータを抽出する際に、処理コストを低く抑え、ユーザデータの秘匿性を保持できるようにすることにある。
【0028】
図5は、本発明による情報多重化装置の構成例を示すブロック図で、図中、30は情報多重化装置を示す。情報多重化装置30は、スライスアドレス変換部301、ビットストリーム解析分離部304、スタッフィングバイト挿入部306、及びデータ多重部307で構成される。この情報多重化装置30は、秘匿情報であるユーザデータ31をビットストリーム32のスライスアドレスに変換し、このスライスアドレスのスライスデータの終端部分にスタッフィングバイトを付与することにより、ビットストリーム32にユーザデータ31を多重化する。そして、情報多重化装置30は、ユーザデータ31が多重化されたビットストリーム32をユーザデータ多重化ビットストリーム33として出力する。なお、ユーザデータ31は一般的な文字コードなどのコードデータで構成されている。
【0029】
スライスアドレス変換部301は、本発明のマッピング手段に相当し、ビットストリーム32を構成するスライスデータのスライスアドレスにユーザデータ31をマッピングする。また、スタッフィングバイト挿入部306は、本発明のスタッフィングバイト付加手段に相当し、スライスアドレス変換部301によりユーザデータ31がマッピングされたスライスアドレスのスライスデータ305の終端部分にスタッフィングバイトを付加する。以下、図5の各部について具体的に説明する。
【0030】
ビットストリーム解析分離部304は、ビットストリーム32を解析し、ピクチャサイズ情報302を抽出すると共に、ビットストリーム32をスライスデータ305と非スライスデータ308とに分離する処理部である。図6に示すように、ビットストリーム解析分離部304は、スタートコード検出部304a、セレクタ304b、及びシーケンスヘッダ解析部304cから構成されている。スタートコード検出部304aは、ビットストリーム32のスタートコード4バイトを検出し、バイトアライメントされた各層データの頭出しを行い、次のスタートコードを検出するまで後段にデータを出力する。
【0031】
スタートコードの第4バイト目の値によりセレクタ304bが切り替わり、スライスデータと非スライスデータとを分離して後段に出力する。つまり、スタートコードの第4バイトが0x00〜0xAFまでの値の場合、セレクタ304bは接点aに切り替わり、スライスデータ305を分離出力する。また、スタートコードの第4バイトが上記以外の場合は、ビットストリーム解析分離部304より非スライスデータ308が分離出力される。特に、スタートコードの第4バイトが0xB3である場合、セレクタ304bは接点cに切り替わり、後段のシーケンスヘッダ解析部304cを経由し、非スライスデータ308を分離出力する。また、シーケンスヘッダ解析部304cでは、シーケンスヘッダ情報を解析し、当該シーケンス内に含まれる画像の垂直方向へのライン数をピクチャサイズ情報302として抽出し、後段のスライスアドレス変換部301へ出力する。
【0032】
ここで、本発明の情報多重化装置30においては、秘匿情報であるユーザデータをスライスアドレスに変換し、変換したスライスアドレスのスライスデータの終端部分にスタッフィングバイトを埋め込むようにしている。そして、後述する情報抽出装置においては、ビットストリームに埋め込まれたスタッフィングバイトを検出し、スタッフィングバイトが埋め込まれたスライスデータのスライスアドレスを求め、このスライスアドレスに対して情報多重化装置30とは逆の変換を行うことで、ユーザデータを復元する。これにより、秘匿性の高いユーザデータを、ビットストリームを媒介として送受信することができる。
【0033】
図7は、図5に示すスライスアドレス変換部の構成例を示すブロック図である。スライスアドレス変換部301は、データ分解部301a、アドレス変換部301b、及びルックアップテーブル301cから構成されており、情報多重化装置30においてスタッフィングバイトを挿入するスライスデータを決定する処理部となっている。
【0034】
データ分解部301aは、本発明のデータ分解手段に相当し、ビットストリーム32を構成するピクチャのライン数に基づいて、各ラインのスライスデータに割り当てる単位データサイズ(以下、埋め込み単位サイズという)を決定し、決定した埋め込み単位サイズ毎にユーザデータを分解する。そして、このデータ分解部301aにより分解された埋め込み単位サイズのユーザデータをスライスアドレスにマッピングする。すなわち、データ分解部301aは、ピクチャサイズ情報302から得られる画像(ピクチャ)の垂直方向へのライン数を参照することにより、埋め込み単位サイズを決定し、決定した埋め込み単位毎にユーザデータ31を分解する。
【0035】
そして、アドレス変換部301bは、データ分解部301aで分解されたユーザデータ31のビットデータに基づいてルックアップテーブル301cを参照し、これにより埋め込み単位サイズのユーザデータのビットデータをスライスアドレスに変換し、変換したスライスアドレス情報をスタッフィングバイト挿入スライスアドレス情報303として後段のスタッフィングバイト挿入部306に出力する。このルックアップテーブル301cは、本発明のマッピングテーブルに相当し、ビットストリーム32を構成するスライスデータのスライスアドレスと、ユーザデータ31を構成するコードデータとをマッピングしたものである。
【0036】
本実施形態においては、ビットストリーム32のピクチャ1枚につき、埋め込み単位サイズ分のユーザデータを伝達し得るスタッフィングバイト挿入スライスを決定するものとする。スタッフィングバイトを挿入するスライスアドレス(:address)の範囲は以下とする。なお、ピクチャのライン数は垂直方向へのライン数を意味する。
0≦address<ピクチャのライン数/16−α …式(1)
【0037】
また、埋め込み単位サイズは、上記式(1)で取り得る最大値以内で最大の整数データを表現し得るビット数のデータサイズとしている。例えば、ピクチャサイズが1920(W)×1088(H)で、αを4とした場合、スライスアドレス(:address)として取り得る範囲は、0≦address < (1088/16 − 4) =64、すなわち、0〜63となる。
【0038】
これより埋め込み単位サイズは、6ビット(0〜63)となる。従って、本実施形態においては、ユーザデータ31を6ビットの埋め込み単位サイズに分解し、この6ビットデータがルックアップテーブル301cによって、スライスアドレス(0〜63)に変換される。ルックアップテーブル301cは、埋め込み単位サイズに分解されたユーザデータ31を予め定められた規則に従って、スライスアドレスに変換するための変換テーブルであるが、実装依存的要素であるため、具体的な構成について特に言及しない。
【0039】
ここで、後述する情報抽出装置は、スライスデータへのスタッフィングバイトの有無によりユーザデータを復元する。このため、情報多重化装置30が対象とする多重化前のビットストリーム32のスライスデータの終端部分には原則としてスタッフィングバイトが挿入されていてはならない。
【0040】
しかしながら、固定ビットレート(CBR)符号化時など、スライス終端にスタッフィングバイトを挿入して、ピクチャ単位のターゲット符号量への調整を施さなければならない場合がある。その場合、情報多重化装置30の前段に位置する符号化装置においては、前述の式(1)の定数αに従い、以下の範囲のスライスアドレス(:stuff address)を持つスライスデータに符号量調整のためのスタッフィングバイト挿入を行うものとする。
ピクチャのライン数/16−α≦ stuff address <ピクチャのライン数/16
…式(2)
【0041】
すなわち、スタッフィングバイトを付加するスライスデータのスライスアドレスの範囲は、ビットストリーム32を構成するピクチャのライン数に基づいて決定され、このスライスアドレスの範囲の中に、ユーザデータ31のマッピングを行う範囲と、ユーザデータ31のマッピングを行わない範囲とが含まれる。例えば、前述したように、ピクチャの垂直方向へのライン数を1088とした場合、スタッフィングバイトを付加するスライスデータのスライスアドレスの範囲は“0〜67”と決定される。そして、定数α=4とすることで、“0〜67”の範囲のうち、“0〜63”がユーザデータ31のマッピングを行い、スタッフィングバイト挿入を行う範囲、また、“64〜67”がユーザデータ31のマッピングを行わず、符号量調整のためのスタッフィングバイト挿入を行う範囲となる。
【0042】
このように、スタッフィングバイトが挿入されたスライスデータのスライスアドレスの範囲を定数αによって分割することで、スタッフィングバイトに対して、ユーザデータの多重化を意図したものか、あるいは、符号量調整を意図したものかを区別することができる。上記のように、ピクチャの垂直方向へのライン数を1088、定数αを4とした場合、スタッフィングバイトが挿入されたスライスデータのスライスアドレスが0〜63の範囲にあれば、ユーザデータの多重化を意図したものであり、一方、スライスアドレスが64〜67の範囲にあれば、符号量調整を意図したものと区別される。
【0043】
さらに、図5において、スタッフィングバイト挿入部306は、スライスアドレス変換部301から出力されるスタッフィングバイト挿入スライスアドレス情報303に従って、ビットストリーム解析分離部304から入力されるスライスデータ305の中で、スタッフィングバイト挿入スライスアドレス情報303で指定されるスライスアドレスを持つスライスデータの終端部分にスタッフィングバイトを挿入し、一方、スタッフィングバイトの挿入対象でないスライスデータについてはそのままで、後段のデータ多重部307に出力する。なお、1枚のピクチャデータに同じスライスアドレスを持つスライスデータが複数存在する場合には、画面左端に近い位置にあるスライスデータ(先頭のもの)にスタッフィングバイトを挿入するものとする。
【0044】
最後に、データ多重部307は、ビットストリーム解析分離部304で一旦分離した非スライスデータ308と、スタッフィングバイト挿入部306を経由して出力されるスライスデータ305とを再多重し、ユーザデータ31が多重されたユーザデータ多重化ビットストリーム33を出力する。
【0045】
このようにして、秘匿性を伴うユーザデータを、スタッフィングバイトの挿入を行うスライスデータの位置情報(スライスアドレス)に変換し、変換したスライスアドレスのスライスデータの終端部分にスタッフィングバイトを挿入することにより、ユーザデータを多重したMPEG2映像ビットストリームを出力することができる。
【0046】
次に、情報多重化装置30にてユーザデータ31を多重化したMPEG2映像ビットストリーム(ユーザデータ多重化ビットストリーム33)からユーザデータ31を抽出する本発明の情報抽出装置について説明する。
【0047】
図8は、本発明による情報抽出装置の構成例を示すブロック図で、図中、40は情報抽出装置を示す。情報抽出装置40は、ユーザデータ抽出部401、ビットストリーム解析分離部404、及びスタッフィングバイト検出部406で構成され、ユーザデータ31が多重化されたユーザデータ多重化ビットストリーム33から秘匿情報であるユーザデータ31を抽出する装置である。
【0048】
ビットストリーム解析分離部404は、ユーザデータ多重化ビットストリーム33を解析し、ピクチャサイズ情報402を抽出し、ユーザデータ多重化ビットストリーム33をスライスデータ405と図示しない非スライスデータとに分離する処理部である。ビットストリーム解析分離部404は、前述の情報多重化処理装置30のビットストリーム解析分離部304と同様にシーケンスヘッダを解析してピクチャサイズ情報402をユーザデータ抽出部401に出力する。また、ビットストリーム解析分離部404は、分離したスライスデータ405を後段のスタッフィングバイト検出部406に出力する。
【0049】
スタッフィングバイト検出部406は、ビットストリーム解析分離部404から出力されたスライスデータ405のデータ終端バイトが0データか、あるいは、非0データかを判定し、0データの場合、スライスデータ405にスタッフィングバイトが付加されていると判定し、スライスデータ405のスライスアドレスをスタッフィングバイト挿入スライスアドレス情報403としてユーザデータ抽出部401に出力する。一方、非0データの場合、スライスデータ405にスタッフィングバイトが付加されていないと判定する。
【0050】
図9は、図8に示すユーザデータ抽出部の構成例を示すブロック図である。ユーザデータ抽出部401は、ユーザデータ変換部401a、ルックアップテーブル401bで構成される。ユーザデータ変換部401aは、スタッフィングバイト挿入スライスアドレス情報403に基づいてルックアップテーブル401bを参照することにより、スタッフィングバイト挿入スライスアドレス情報403に対応するユーザデータ31を抽出する処理部である。
【0051】
ユーザデータ変換部401aは、前述の情報多重化装置30のスライスアドレス変換部301で用いた定数αと、ビットストリーム解析分離部404から出力されたピクチャサイズ情報402から得られる画像(ピクチャ)の垂直方向へのライン数とを、前述の式(1)と式(2)に適用する。例えば、ピクチャのライン数を1088、定数αを4とした場合、スタッフィングバイトが挿入されたスライスデータのスライスアドレスが0〜63の範囲(範囲1)にあれば、ユーザデータの多重化を意図したものであり、一方、スライスアドレスが64〜67の範囲(範囲2)にあれば、ピクチャ単位の符号量調整を意図したものと区別される。なお、スライスアドレスは、スタッフィングバイト挿入スライスアドレス情報403から求めることができる。
【0052】
そして、ユーザデータ変換部401aは、スタッフィングバイト挿入スライスアドレス情報403から求まるスライスアドレスが、上記の範囲1または範囲2のどちらに含まれるかを判定し、範囲1に含まれるスライスアドレスのみをルックアップテーブル401bを参照してユーザデータに変換し、ユーザデータ31を抽出する。なお、ルックアップテーブル401bは、情報多重化装置30のルックアップテーブル301cの逆変換を行う変換テーブルとし、定数αは情報多重化装置30と同じ値が予め保持されているものとする。
【0053】
上記の図8〜図9で説明したように、本発明による情報抽出装置40は、映像ビットストリームを構成するスライスデータのスライスアドレスとユーザデータを構成するコードデータとをマッピングしたマッピングテーブルに相当するルックアップテーブル401bと、ビットストリームのスライスデータの終端部分に付加されたスタッフィングバイトを検出し、検出したスタッフィングバイトが含まれるスライスデータのスライスアドレスを出力するスタッフィングバイト検出手段に相当するスタッフィングバイト検出部406と、出力されたスライスアドレスをルックアップテーブル401bによりユーザデータに変換し、変換したユーザデータを抽出するユーザデータ抽出手段に相当するユーザデータ抽出部401とを備える。
【0054】
そして、ユーザデータ抽出部401は、スタッフィングバイト検出部406により出力されたスライスアドレスが、ユーザデータのマッピングを行う範囲(すなわち、上記の範囲1)に含まれると判定した場合、このスライスアドレスをルックアップテーブル401bによりユーザデータに変換する処理を行う。
【0055】
このようにして、情報多重化装置30によりユーザデータが多重化されたMPEG2映像ビットストリームからスタッフィングバイトの挿入されたスライスデータを検出し、検出したスライスデータのスライスアドレスに対して、情報多重化装置30とは逆の変換を施すことにより、映像ビットストリームに多重された秘匿情報であるユーザデータを抽出することができる。
【0056】
なお、上述した情報多重化装置30及び情報抽出装置40において、ユーザデータは一般的な文字コードなどのコードデータで構成されており、代表的にはアスキーコードなどを用いることができる。従って、ルックアップテーブル301c、401bは、コードデータとスライスアドレスとが相互に変換可能なように構成されている。
【0057】
以上説明したように、本発明による情報多重化装置30と情報抽出装置40とを用いることにより、MPEG2映像ビットストリームを媒介として秘匿性の高いユーザデータを送受信することが可能となり、特に本装置はステガノグラフィの用途に好適に用いることができる。
【0058】
また、MPEG2映像ビットストリームのシーケンス層、GOP層、ピクチャ層、及びスライス層のデータはバイトアライメントされたデータであり、スタートコードの4バイトはビットストリーム全体を通してユニークであることが保証されている。従って、多重化されたユーザデータの抽出処理においては、スライスデータのスタートコードの検出を行い、スライスデータの終端、すなわち、次のスタートコードに先立つデータバイトにスタッフィングバイトが付加されているか否かを判定し、スタッフィングバイトが付加されているスライスデータのスライスアドレスを、スライスデータのスタートコードから求めるだけでよい。このため、本発明によるユーザデータ多重化及び抽出方法は、従来の電子透かしで見られるような周波数成分データ部分にユーザデータを埋め込む方法に比べて、処理コストを低く抑えることができる。
【0059】
また、本発明によるユーザデータ多重化方法によって多重化されたビットストリームは、一見するとスライスデータ終端部分がスタッフィングされているだけである。このため、MPEG2映像符号化の規格上配置することが許可されている位置にユーザデータを埋め込む方法に比べて、ユーザデータの秘匿性を向上させることができる。そして、ユーザデータを多重化する処理の前後においてもコンテンツの映像品位に影響を及ぼすことがない。
【0060】
さらに、本発明によるユーザデータ多重化方法と、従来の周波数成分データ部分にユーザデータを埋め込む方法とでは、ユーザデータを埋め込む位置が異なる。このため、本発明によるユーザデータ多重化方法を、上記の他のデータ埋め込み方法と併用して使用する場合においても、ユーザデータ抽出時のデータ検出精度に影響を及ぼすことがない。従って、他のデータ埋め込み方法と適宜併用することにより、さらに秘匿性や改竄に対する耐性を上げることができる。
【符号の説明】
【0061】
1…シーケンス層、2…GOP層、3…ピクチャ層、4…スライス層、5…マクロブロック層、6…ブロック層、10〜12…エクステンション&ユーザデータ、20…ピクチャ、21…スライスデータ、22…マクロブロック、23…スライススタートコード、24…スライスバーティカルポジションエクステンション、30…情報多重化装置、31…ユーザデータ、32…ビットストリーム(MPEG2映像ビットストリーム)、33…ユーザデータ多重化ビットストリーム、40…情報抽出装置、301…スライスアドレス変換部、301a…データ分解部、301b…アドレス変換部、301c,401b…ルックアップテーブル、302,402…ピクチャサイズ情報、303,403…スタッフィングバイト挿入スライスアドレス情報、304,404…ビットストリーム解析分離部、304a…スタートコード検出部、304b…セレクタ、304c…シーケンスヘッダ解析部、305…スライスデータ、306…スタッフィングバイト挿入部、307…データ多重部、308…非スライスデータ、401…ユーザデータ抽出部、401a…ユーザデータ変換部、406…スタッフィングバイト検出部。

【特許請求の範囲】
【請求項1】
映像ビットストリームにユーザデータを多重化する情報多重化装置であって、
映像ビットストリームを構成するスライスデータのスライスアドレスにユーザデータをマッピングするマッピング手段と、該マッピング手段によりユーザデータがマッピングされたスライスアドレスのスライスデータの終端部分にスタッフィングバイトを付加するスタッフィングバイト付加手段とを備えたことを特徴とする情報多重化装置。
【請求項2】
請求項1に記載の情報多重化装置において、前記マッピング手段は、映像ビットストリームを構成するピクチャのライン数に基づいて、各ラインのスライスデータに割り当てる単位データサイズを決定し、該決定した単位データサイズ毎にユーザデータを分解するデータ分解手段を備え、該データ分解手段により分解された単位データサイズのユーザデータをスライスアドレスにマッピングすることを特徴とする情報多重化装置。
【請求項3】
請求項1又は2に記載の情報多重化装置において、スタッフィングバイトを付加するスライスデータのスライスアドレスの範囲は、映像ビットストリームを構成するピクチャのライン数に基づいて決定され、前記スライスアドレスの範囲の中に、ユーザデータのマッピングを行う範囲と、ユーザデータのマッピングを行わない範囲とが含まれることを特徴とする情報多重化装置。
【請求項4】
請求項1〜3のいずれか1項に記載の情報多重化装置において、前記ユーザデータは、コードデータで構成され、前記マッピング手段は、映像ビットストリームを構成するスライスデータのスライスアドレスと、コードデータとをマッピングしたマッピングテーブルを備えたことを特徴とする情報多重化装置。
【請求項5】
映像ビットストリームからユーザデータを抽出する情報抽出装置であって、
映像ビットストリームを構成するスライスデータのスライスアドレスとユーザデータを構成するコードデータとをマッピングしたマッピングテーブルと、映像ビットストリームのスライスデータの終端部分に付加されたスタッフィングバイトを検出し、該検出したスタッフィングバイトが含まれるスライスデータのスライスアドレスを出力するスタッフィングバイト検出手段と、該出力されたスライスアドレスを前記マッピングテーブルによりユーザデータに変換し、該変換したユーザデータを抽出するユーザデータ抽出手段とを備えたことを特徴とする情報抽出装置。
【請求項6】
請求項5に記載の情報抽出装置において、前記ユーザデータ抽出手段は、前記スタッフィングバイト検出手段により出力されたスライスアドレスが、ユーザデータのマッピングを行う範囲に含まれると判定した場合、前記スライスアドレスを前記マッピングテーブルによりユーザデータに変換することを特徴とする情報抽出装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2012−64997(P2012−64997A)
【公開日】平成24年3月29日(2012.3.29)
【国際特許分類】
【出願番号】特願2010−205156(P2010−205156)
【出願日】平成22年9月14日(2010.9.14)
【出願人】(000005049)シャープ株式会社 (33,933)
【Fターム(参考)】