(57)【要約】【課題】  従来の電子透かし埋め込み方法では、画像や音声・オーディオ信号の変換処理に時間、コストがかかり、また、元の信号に関与しない暗号情報を画像信号などに埋め込むと、符号化における効率が落ち、画像信号などの品質劣化に繋がるおそれがある。【解決手段】  カウンタ３０３は可変長符号化器１０６からの符号語の符号長をカウントして、暗号情報を埋め込む符号語内の挿入位置を指定する。可変長符号入換器３０１は、カウンタ３０３からの挿入位置を指定する信号に基づき、暗号変換器３０２から出力される暗号化された情報のビット信号を、最小符号量検出器１０７から供給されるＭＤＣＴ係数の量子化値を可変長符号化した符号語の該当ビットと入れ換える。この場合、入れ換え後の符号語が可変長符号化器１０６で使用したハフマンコードブックに存在しない時には、そのハフマンコードブックにおいて、入れ換え後の符号語に最も近い符号語を選択する。【選択図】            図３
2006128743.tif 000002
【特許請求の範囲】
【請求項１】
情報信号を可変長符号語テーブルを使用して可変長符号化して得た符号語に、所望の埋め込み情報を暗号化して得られた暗号情報を埋め込んでなるビットストリームを生成する暗号情報生成装置において、
前記情報信号を前記可変長符号語テーブルを使用して可変長符号化して前記符号語を得る符号化手段と、
前記符号語の符号長をカウントして、前記暗号情報を埋め込む前記符号語内の挿入位置を所定のカウント規則に従って指定する第１のカウント手段と、
前記第１のカウント手段により指定された前記符号語内の挿入位置の符号語部分を、前記暗号情報と入れ換え、入れ換え後の符号語が前記可変長符号語テーブルに存在するときには、その入れ換え後の符号語を出力し、前記入れ換え後の符号語が前記可変長符号語テーブルに存在しない時には、前記可変長符号語テーブルにおいて、前記入れ換え後の符号語に最も近い符号語を選択して出力する符号入れ換え手段と、
前記符号入れ換え手段から出力された暗号情報が埋め込まれた符号語から前記ビットストリームを生成して出力する出力手段と
を有することを特徴とする暗号情報生成装置。
【請求項２】
請求項１記載の暗号情報生成装置により生成されたビットストリームを入力として受け、そのビットストリームから前記符号語を取り出す解析手段と、
前記解析手段から出力された前記符号語の符号長をカウントして、前記第１のカウント手段と同一の前記所定のカウント規則に従い前記符号語内の分離位置を指定し、その指定された前記符号語内の分離位置の符号語部分を、埋め込まれた前記暗号情報として取り出す第２のカウント手段と
を有することを特徴とする暗号情報再生装置。
【請求項３】
コンピュータにより、情報信号を可変長符号語テーブルを使用して可変長符号化して得た符号語に、所望の埋め込み情報を暗号化して得られた暗号情報を埋め込んでなるビットストリームを生成させる暗号情報生成プログラムにおいて、
前記コンピュータを、
前記情報信号を前記可変長符号語テーブルを使用して可変長符号化して前記符号語を得る符号化手段と、
前記符号語の符号長をカウントして、前記暗号情報を埋め込む前記符号語内の挿入位置を所定のカウント規則に従って指定する第１のカウント手段と、
前記第１のカウント手段により指定された前記符号語内の挿入位置の符号語部分を、前記暗号情報と入れ換え、入れ換え後の符号語が前記可変長符号語テーブルに存在するときには、その入れ換え後の符号語を出力し、前記入れ換え後の符号語が前記可変長符号語テーブルに存在しない時には、前記可変長符号語テーブルにおいて、前記入れ換え後の符号語に最も近い符号語を選択して出力する符号入れ換え手段と、
前記符号入れ換え手段から出力された暗号情報が埋め込まれた符号語から前記ビットストリームを生成して出力する出力手段と
して機能させることを特徴とする暗号情報生成プログラム。
【請求項４】
請求項１記載の暗号情報生成装置又は請求項３記載の暗号情報生成プログラムに基づき、コンピュータにより生成されたビットストリームを入力として受けるコンピュータを、
前記入力ビットストリームから前記符号語を取り出す解析手段と、
前記解析手段から出力された前記符号語の符号長をカウントして、前記第１のカウント手段と同一の前記所定のカウント規則に従い前記符号語内の分離位置を指定し、その指定された前記符号語内の分離位置の符号語部分を、埋め込まれた前記暗号情報として取り出す第２のカウント手段と
して機能させることを特徴とする暗号情報再生プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は暗号情報生成装置、暗号情報再生装置、暗号情報生成プログラム及び暗号情報再生プログラムに係り、特に画像や音声をはじめとするディジタル信号に暗号情報を付加してビットストリームを生成するする暗号情報生成装置、そのビットストリームから暗号情報を再生する暗号情報再生装置、並びに暗号情報生成プログラム及び暗号情報再生プログラムに関する。
【背景技術】
【０００２】
暗号情報の一伝送方式として電子透かし技術がある。この電子透かし技術は、画像や音声のマルチメディアデータに何らかの情報を埋め込み、隠し持たせる技術である。マルチメディアデータに何らかの情報を埋め込む方式は、従来より様々なものが提案されている（例えば、非特許文献１、２参照）。
【０００３】
上記の非特許文献１では、暗号情報をＭＰＥＧ（Moving Experts Group）符号、特にＤＣＴ(Discrete Cosine Transform)係数や、動きベクトル、量子化特性の変更に基づく情報埋め込み手法を提案している。また、上記の非特許文献２では、直接拡散方式に従い、ＰＮ系列で画像信号を拡散し、画像に署名情報を合成する方法を提案している。この非特許文献２では、署名情報が合成されている拡散された画像信号を逆拡散すると、署名情報が画像信号全体に拡散し、拡散された署名情報が画像信号に対して大きなノイズとはならないため、署名情報を含んだ画像信号が見掛け上、原画像と殆ど変わらず、他方、署名情報を確認するには、送信側と同じ拡散符号で画像信号を拡散すればよいことを開示している。
【０００４】
また、本出願人は、上記の電子透かし技術の情報埋め込み方式として、フレーム画像中のいずれの領域の画像データが改竄されても、それを確実に、かつ、容易に検出することが可能な暗号情報伝送装置及び暗号情報伝送プログラムを提案している（例えば、特許文献１参照）。
【０００５】
この特許文献１記載の従来の暗号情報伝送装置は、記録装置と再生装置からなり、記録装置は、画像メモリにフレーム画像データを取り込み、分割領域設定部でフレーム単位で多数の領域に分割し、埋め込みコード作成部により、相互に関連付けた複数の埋め込みコードを変数とした所定の関数による演算結果が所定の識別コードとなるように埋め込みコードの組を作成し、コード埋め込み部により、各組のコードを所定の位置対応付け規則で前記領域の各画像データに埋め込む。再生装置では、記録装置と同一条件で画像データを分割して各埋め込みコードを抽出し、前記規則に基づいて埋め込みコードを組分けし、前記所定関数を用いて識別コードを求めるための演算を行い、全ての組について識別コードが求まるか否かで改竄の有無を判定する。
【０００６】
【非特許文献１】小川宏，中村高雄，高嶋洋一，「ＤＣＴを用いたデジタル動画像における著作権情報埋め込み方法」，電子情報通信学会，ＳＣＳＩ’９７−３１Ｇ
【非特許文献２】大西淳児，岡一博，松井甲子雄，「ＰＮ系列による画像への透かし署名法」，電子情報通信学会，ＳＣＳＩ’９７−２６Ｂ
【特許文献１】特開２００４−２２８７８３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかるに、上記のような従来の各種の電子透かし埋め込み方法で、透かし情報である暗号情報を画像や音声・オーディオ信号に埋め込んで伝送する場合、画像や音声・オーディオ信号の変換処理に時間、コストがかかるという問題が生じる。
【０００８】
また、従来の暗号情報伝送装置では元の信号に関与しない暗号情報を画像や音声・オーディオ信号に埋め込むと、符号化における効率が落ち、画像あるいは音声・オーディオ信号の品質劣化に繋がるおそれがある。
【０００９】
本発明は以上の点に鑑みなされたもので、符号化処理により出力される符号語に簡単に暗号情報の埋め込みと再生を実現することができる暗号情報生成装置、暗号情報再生装置、暗号情報生成プログラム及び暗号情報再生プログラムを提供することを目的とする。
【００１０】
また、本発明の他の目的は、符号化効率の低減しない暗号情報生成装置、暗号情報再生装置、暗号情報生成プログラム及び暗号情報再生プログラムを提供することにある。
【課題を解決するための手段】
【００１１】
上記の目的を達成するため、本発明の暗号情報生成装置は、情報信号を可変長符号語テーブルを使用して可変長符号化して得た符号語に、所望の埋め込み情報を暗号化して得られた暗号情報を埋め込んでなるビットストリームを生成する暗号情報生成装置において、情報信号を可変長符号語テーブルを使用して可変長符号化して符号語を得る符号化手段と、符号語の符号長をカウントして、暗号情報を埋め込む符号語内の挿入位置を所定のカウント規則に従って指定する第１のカウント手段と、第１のカウント手段により指定された符号語内の挿入位置の符号語部分を、暗号情報と入れ換え、入れ換え後の符号語が可変長符号語テーブルに存在するときには、その入れ換え後の符号語を出力し、入れ換え後の符号語が可変長符号語テーブルに存在しない時には、可変長符号語テーブルにおいて、入れ換え後の符号語に最も近い符号語を選択して出力する符号入れ換え手段と、符号入れ換え手段から出力された暗号情報が埋め込まれた符号語からビットストリームを生成して出力する出力手段とを有することを特徴とする。
【００１２】
また、上記の目的を達成するため、本発明の暗号情報再生装置は、第１の発明の暗号情報生成装置により生成されたビットストリームを入力として受け、そのビットストリームから符号語を取り出す解析手段と、解析手段から出力された符号語の符号長をカウントして、第１のカウント手段と同一の所定のカウント規則に従い符号語内の分離位置を指定し、その指定された符号語内の分離位置の符号語部分を、埋め込まれた暗号情報として取り出す第２のカウント手段とを有することを特徴とする。
【００１３】
また、上記の目的を達成するため、本発明の暗号情報生成プログラムは、コンピュータにより、情報信号を可変長符号語テーブルを使用して可変長符号化して得た符号語に、所望の埋め込み情報を暗号化して得られた暗号情報を埋め込んでなるビットストリームを生成する暗号情報記録プログラムにおいて、コンピュータを、情報信号を可変長符号語テーブルを使用して可変長符号化して符号語を得る符号化手段と、符号語の符号長をカウントして、暗号情報を埋め込む符号語内の挿入位置を所定のカウント規則により指定する第１のカウント手段と、第１のカウント手段により指定された符号語内の挿入位置の符号語部分を、暗号情報と入れ換え、入れ換え後の符号語が可変長符号語テーブルに存在するときには、その入れ換え後の符号語を出力し、入れ換え後の符号語が可変長符号語テーブルに存在しない時には、可変長符号語テーブルにおいて、入れ換え後の符号語に最も近い符号語を選択して出力する符号入れ換え手段と、符号入れ換え手段から出力された暗号情報が埋め込まれた符号語からビットストリームを生成して出力する出力手段として、コンピュータを機能させることを特徴とする。
【００１４】
また、上記の目的を達成するため、本発明の暗号情報再生プログラムは、上記の本発明の暗号情報生成装置又は暗号情報生成プログラムに基づき、コンピュータにより生成されたビットストリームを入力として受けるコンピュータを、入力ビットストリームから符号語を取り出す解析手段と、解析手段から出力された符号語の符号長をカウントして、第１のカウント手段と同一の所定のカウント規則に従い符号語内の分離位置を指定し、その指定された符号語内の分離位置の符号語部分を、埋め込まれた暗号情報として取り出す第２のカウント手段として機能させることを特徴とする。
【００１５】
本発明の暗号情報生成装置及び暗号情報生成プログラムでは、情報信号を可変長符号語テーブルを使用して可変長符号化して得られた符号語の符号長をカウントして、暗号情報を埋め込む符号語内の挿入位置を指定し、その指定された符号語内の挿入位置の符号語部分を、暗号情報と入れ換えるようにしたため、透かし情報である暗号情報を画像や音声・オーディオ信号に埋め込んで伝送する従来の電子透かし技術に比べて、符号語に簡単に暗号情報の埋め込みができる。
【００１６】
また、本発明の暗号情報生成装置及び暗号情報生成プログラムでは、入れ換え後の符号語が可変長符号語テーブルに存在するときには、その入れ換え後の符号語を出力し、入れ換え後の符号語が可変長符号語テーブルに存在しない時には、可変長符号語テーブルにおいて、入れ換え後の符号語に最も近い符号語を選択して出力する。
【発明の効果】
【００１７】
本発明によれば、符号化処理により出力される符号語に簡単に暗号情報の埋め込みと再生を実現することができる。また、本発明によれば、入れ換え後の符号語が可変長符号語テーブルに存在しない時には、可変長符号語テーブルにおいて、入れ換え後の符号語に最も近い符号語を選択するようにしたため、極力画像あるいは音声・オーディオ信号の品質劣化を抑えることが可能であり、また元の符号語の符号長に近い符号語を選択することで符号化効率の低減を防止できる。
【発明を実施するための最良の形態】
【００１８】
次に、本発明の実施の形態について図面と共に説明する。なお、ここでは、一例としてＭＰＥＧ−２／ＡＡＣ（Advanced Audio Coding）オーディオ符号化方式について適用するものとし、本発明に係る暗号情報生成装置内ではＭＰＥＧ−２／ＡＡＣオーディオ符号化部、暗号情報再生装置内ではＭＰＥＧ−２／ＡＡＣオーディオ復号化部を採用するものとする。
【００１９】
そこで、まず、音声・オーディオ符号化を行うＭＰＥＧ−２／ＡＡＣオーディオ符号化部について説明する。図１はＭＰＥＧ−２／ＡＡＣオーディオ符号化部の一例のブロック図を示す。同図中、点描で示したブロック１００は、スケールファクタバンド単位に処理を行う箇所であることを示している。ＭＰＥＧ−２／ＡＡＣオーディオ符号化部では、入力されたオーディオ信号に対し、聴覚心理分析器１０１で高速フーリエ変換（ＦＦＴ：First Fourier Transform）を施し、周波数スペクトルを求め、それを基にマスキングを計算し、予め設定された周波数帯域毎に聴覚心理に基づいた許容量子化雑音電力を算出する。
【００２０】
一方、ＭＤＣＴ器１０２では、入力されたオーディオ信号に対して変形離散コサイン変換（ＭＤＣＴ：Modified Discrete Cosine Transform）を施して、スペクトルデータ（以後ＭＤＣＴ係数）に変換する。このとき、ＭＤＣＴ器１０２では、聴覚心理分析器１０１で決定された窓選択情報に基づいて変換ブロック長を切り換え、変換は演算ブロック長を５０％ずつオーバーラップして実行する。
【００２１】
ロング窓の場合は２０４８サンプルを１０２４本のＭＤＣＴ係数に変換し、ショート窓の場合は２５６サンプルを１２８本のＭＤＣＴ係数に変換する。スケールファクタ算出器１０３では、人間の聴覚特性を基にした周波数帯域毎に、ＭＤＣＴ器１０２からの１０２４本のＭＤＣＴ係数を単位にして、複数のスケールファクタバンドに分け、各スケールファクタバンドで計算された量子化雑音が聴覚心理分析器１０１で算出された許容量子化雑音電力よりも大きくならないように、各スケールファクタバンドの量子化ステップ数（スケールファクタ）を算出する。
【００２２】
量子化器１０４では、スケールファクタ算出器１０３で算出されたスケールファクタバンド単位に、ＭＤＣＴ器１０２から出力されたＭＤＣＴ係数の量子化を行う。スケールファクタ算出器１０３で算出されたスケールファクタと全体の量子化ステップ数からスケールファクタバンド内のＭＤＣＴ係数を量子化する。このとき、量子化に必要なビット数が使用可能なビット数以内に収まるように全体の量子化ステップ数を制御して、量子化を実行する。
【００２３】
コードブック選択器１０５では量子化値の最大絶対値から使用可能なハフマンコードブックを選択する。ＭＰＥＧ−２／ＡＡＣでは量子化値の最大絶対値に基づき、表１に示すようなハフマンコードブックを選択するようになっている。
【００２４】
【表１】
2006128743.tif 000003
例えば量子化値の最大絶対値が５であれば、ハフマンコードブックは７以上が使用可能となる。表１はハフマンコードブック８番の一部を示したものである。これについては後述する。
【００２５】
選択されたハフマンコードブックは可変長符号化器１０６に送られる。可変長符号化器１０６では、量子化器１０４から出力されるＭＤＣＴ係数の量子化値に対して、コードブック選択器１０５で選択されたハフマンコードブックを可変長符号語テーブルとして使用して可変長符号化を施す。複数のハフマンコードブックが選択された場合には、可変長符号化器１０６は、それぞれのハフマンコードブックを使って可変長符号化を行い、その符号化結果を最小符号量検出器１０７に送る。また、可変長符号化器１０６は、スケールファクタ算出器１０３から出力されたスケールファクタに対しても可変長符号化を施し、冗長度を削減し、符号化結果を符号量判定器１０８に送る。
【００２６】
最小符号量検出器１０７では、各ハフマンコードブックで符号化した結果、発生した符号量が最小となるハフマンコードブックを選択し、そのハフマンコードブックと符号化結果を符号量判定器１０８に送る。
【００２７】
符号量判定器１０８では、符号化で発生した符号量が使用可能な符号量以内に収まっているかを判定し、使用可能な符号量を越えている場合は再度量子化を行い、生成される符号量が使用可能な符号量を下回るまで繰り返される。使用可能ビット数を満足して符号量判定器１０８から出力された符号化データは、ビットストリーム生成器１０９において、サンプリング周波数、符号化レート等の符号化パラメータとともに多重化され、ＡＡＣビットストリームとして伝送される。
【００２８】
次に、音声・オーディオ符号化を行う図１のＭＰＥＧ−２／ＡＡＣオーディオ符号化装置に対応した音声・オーディオ復号化を行うＭＰＥＧ−２／ＡＡＣ復号化部について説明する。図２はＭＰＥＧ−２／ＡＡＣ復号化部の一例のブロック図を示す。同図において、ＭＰＥＧ−２／ＡＡＣ復号化部に入力されたＡＡＣビットストリームは、ビットストリーム解析器２０１において、サンプリング周波数、符号化レート等の符号化パラメータと符号化データとに分離される。
【００２９】
可変長復号化器２０２は、ビットストリーム解析器２０１にて分離された符号化データを、分離された符号化パラメータに基づき、スケールファクタと量子化値に可変長復号化する。ここで、上記のスケールファクタは、スケールファクタ用のハフマンコードブックを使用して復号化し、上記の量子化値はスケールファクタバンド単位にビットストリーム解析器２０１から得られたハフマンコードブックの番号を基に、量子化値用のハフマンコードブックを選択して復号化する。復号化された量子化値及びスケールファクタは逆量子化器２０３に送られる。
【００３０】
逆量子化器２０３は、ビットストリーム解析器２０１から出力される符号化パラメータの一つである全体の量子化ステップ数とスケールファクタを用いて、スケールファクタバンド単位に量子化値を逆量子化し、ＭＤＣＴ係数を算出する。このＭＤＣＴ係数はＩＭＤＣＴ（Inverse Modified Discrete Cosine Transform）器２０４に入力され、ここで逆ＭＤＣＴ変換されてオーディオ信号に変換され出力される。
【００３１】
本発明は上述したＭＰＥＧ−２／ＡＡＣオーディオ符号化方式に適用したものであり、その一実施の形態について以下説明する。
【００３２】
図３は本発明になる暗号情報生成装置の一実施の形態のブロック図、図４は本発明になる暗号情報再生装置の一実施の形態のブロック図を示す。図３中、図１と同一構成部分には同一符号を付し、また、図４中、図２と同一構成部分には同一符号を付し、それぞれその説明を省略する。
【００３３】
まず、図３の暗号情報生成装置について説明する。図３に示す暗号情報生成装置内の、点描で示したブロック３００は、スケールファクタバンド単位に処理を行う箇所であることを示している。この図３に示す暗号情報生成装置は、上述の図１に示したＭＰＥＧ−２／ＡＡＣオーディオ符号化部と比較すると、可変長符号入換器３０１、暗号変換器３０２、カウンタ３０３が追加されている。
【００３４】
図３において、可変長符号化器１０６は、量子化器１０４から出力されるＭＤＣＴ係数の量子化値を、コードブック選択器１０５で決められたハフマンコードブックを使用して可変長符号化を施し、コードブック選択器１０５で複数のハフマンコードブックが選択された場合には、それぞれのハフマンコードブックを使って可変長符号化を施し、それらの符号化結果を最小符号量検出器１０７に供給する。更に、可変長符号化器１０６は、スケールファクタも可変長符号化を施し、冗長度を削減して得られた符号化結果を可変長符号入換器３０１に供給する。
【００３５】
最小符号量検出器１０７から出力された、発生符号量が最小となるハフマンコードブックと、そのハフマンコードブックを使用して、可変長符号化されたＭＤＣＴ係数の量子化値の符号化結果がカウンタ３０３及び可変長符号入換器３０１にそれぞれ送出される。
【００３６】
一方、伝送されるべき埋め込み情報は、暗号変換器３０２にて暗号化された後、可変長符号入換器３０１に入力される。暗号変換器３０２における暗号化の簡単な一例としては、ＡＳＣＩＩ文字を送る場合、文字は１バイト（８ビット）で表されるので、８個のビットを１ビットずつ順に送るものとすればよいし、また暗号情報再生装置の暗号逆変換器４０２との整合性がとれればハフマンテーブルのようなテーブルを用いて符号化したものを１ビットずつ送ってもよい。
【００３７】
カウンタ３０３は、最小符号量検出器１０７から入力される符号化結果の符号語のビット数をカウントし、設定している間隔ビット数に当たる符号語のビットの位置を示す発生信号を可変長符号入換器３０１に送出する。ここでは一例として設定する間隔ビット数は任意の固定値とし、この間隔ビット数毎に発生信号を送出するものとする。なお、この間隔ビット数は、暗号情報再生装置のカウンタ４０１と整合性がとれていれば、どのような値を設定しても構わない。
【００３８】
可変長符号入換器３０１は、カウンタ３０３からの発生信号に基づき、暗号変換器３０２から出力される暗号化された情報のビット信号を、最小符号量検出器１０７から供給されるＭＤＣＴ係数の量子化値を可変長符号化した符号語の該当ビットと入れ換える。この場合、可変長符号入換器３０１は、暗号化された情報のビット信号が“１”であれば、符号語の該当ビットを“１”に、暗号化された情報のビット信号が“０”であれば、符号語の該当ビットを“０”に入れ換えるわけであるが、単純に入れ換えただけでは符号化で規定するシンタックスを満たさない符号語が生じる可能性があるので、符号化で規定するシンタックスを満たすような該当ビットの入れ換えによる符号語の選定について、前記表１を使用した例について説明する。
【００３９】
表１は、ハフマンコードブック８番の一部を示したものである。表１中のインデックスは量子化値から計算される値で、可変長符号化器１０６において可変長符号化する際には、そのインデックスに対応する符号語を読み出す。ここで、ビットの入れ換えの対象となる符号語が表１に示されるハフマンコードブック８番のインデックス１４である“０ｘ７５”（＝111 0101）とする。
【００４０】
この符号語の上位３ビット目に情報のビット信号“０”に入れ換えることを考えると、単純に入れ換えると符号語は“０ｘ６５”（＝110 0101）となるが、この符号語はハフマンコードブック８番の中には存在しないため、シンタックスを満たさない。
【００４１】
そこで、ハフマンコードブック８番の中で元の符号語の長さに近く、インデックスの値が近く、かつ、上位３ビット目が“０”である符号語を検索する。ここではインデックス１３の符号語“０ｘ６ａ”が条件を満たすので、“０ｘ６ａ”を選択し、“０ｘ７５”から入れ換える。
【００４２】
また、情報のビット信号“１”に入れ換える場合の例として、同様に元の符号語がハフマンコードブック８番のインデックス５８である“０ｘｆ４”(＝1111 0100)の上位７ビット目が該当ビットであるとすると、入れ換えると符号語は“０ｘｆ６”(＝1111 0110)となる。“０ｘｆ６”はハフマンコードブック８番の中に存在するが（インデックス５３）、元のインデックスの値から離れている。
【００４３】
そこで、ハフマンコードブック８番の中で元の符号語の長さに近く、インデックスの値が近く、かつ、上位７ビット目が“１”である符号語を検索する。従って、この場合は、元のインデックス５８に近いインデックス５７（符号語“０ｘｆ３”）かインデックス５９（符号語“０ｘｆ７”）のどちらか一方を選択する。
【００４４】
このように、該当ビットの入れ換えにより選択可能な符号語が複数存在する場合は、予め選択の規則を決めておけばよく、ここでは元のインデックスの値よりも小さい方を優先することにし、符号語”０ｘｆ３”を選択し、”０ｘｆ４”から入れ換える。
【００４５】
こうして入れ換えられた符号語を含む符号化結果と、ハフマンコードブックを符号量判定器１０８に送り、符号化で発生した符号量が使用可能な符号量以内に収まっているかを判定し、使用可能な符号量を越えている場合は再度量子化を行い、生成される符号量が使用可能な符号量を下回るまで繰り返される。
【００４６】
使用可能ビット数を満足して出力された符号化データは、ビットストリーム生成器１０９において、サンプリング周波数、符号化レート等の符号化パラメータと共に多重化され、ＡＡＣビットストリームとして出力される。
【００４７】
なお、サンプリング周波数、符号化レート等の符号化パラメータに係るビット列は、ビットの入れ換えを行うと符号化のシンタックスに違反するため、ビットの入れ換えの対象とせず、データの箇所のみを対象とする。
【００４８】
また、一般に可変長符号に使われる符号語の最上位ビットは“１”となる場合が多いので、ビットの入れ換え位置が符号語の最上位ビットの位置の時は入れ換えを行わないようにし、その符号語の上位２ビット目に対してビットの入れ換えを行うか、或いは次の間隔ビット数に当たる符号語に対して入れ換えを行うようにすることも可能である。
【００４９】
次に、図４の暗号情報再生装置について説明する。図４に示す暗号情報再生装置は、図２に示したＭＰＥＧ−２／ＡＡＣ復号化部と比較すると、ビットストリーム解析器２０１で分離された符号化データが入力されるカウンタ４０１と、カウンタの出力が入力される暗号逆変換器４０２とが追加された構成とされている。
【００５０】
図４の暗号情報再生装置の動作について説明するに、ビットストリーム解析器２０１で分離された符号化データは、可変長復号化器２０２及びカウンタ４０１にそれぞれ出力される。カウンタ４０１は、入力される符号化データの符号語のビット数をカウントし、暗号情報生成装置のカウンタ３０３と整合性がとれた間隔ビット数に当たる符号語のビットを暗号逆変換器４０２に送出する。
【００５１】
暗号逆変換器４０２では、カウンタ４０１から出力される暗号情報のビット列を入力として受け、この入力された暗号情報のビット列に対して逆変換を施して元の埋め込み情報を得る。暗号変換器３０２における暗号化方式については、暗号逆変換器４０２との整合性がとれていれば、どのような方式を用いても構わない。
【００５２】
このように、本実施の形態によれば、符号化処理により出力される符号語に簡単に暗号情報の埋め込みと再生を実現することができる。また、符号語に暗号情報を埋め込む際には、元の符号語の長さに近く、かつ、所定の符号化規則に従った符号語（元の符号語に近い符号語）を選択するので、極力画像あるいは音声・オーディオ信号の品質劣化を抑えることが可能であり、また元の符号語の符号長に近い符号語を選択することで符号化効率も低減しないようにできる。
【００５３】
なお、暗号情報生成装置のカウンタ３０３と暗号情報再生装置のカウンタ４０１では、間隔ビット数に固定値を設定したが、整合性がとれるならば、両カウンタの内部に擬似乱数発生器を持ち、そこから発生される擬似乱数を間隔ビット数として使用しても構わない。
【００５４】
次に、本発明はハードウェアのみならず、ソフトウェア（プログラム）としても適用可能であり、その一般的なプログラムの実施の形態について説明する。図５及び図６は本発明の暗号情報生成プログラムの一実施の形態を示すフローチャートであり、図７は本発明の暗号情報再生プログラムの一実施の形態を示すフローチャートである。
【００５５】
図５及び図６のフローチャートは、図３に示した本発明になる暗号情報生成装置のブロック図に対応しており、図７のフローチャートは、図４に示した本発明になる暗号情報再生装置のブロック図に対応している。なお、図６は図５中で聴覚心理分析ステップに分岐する処理を示すフローチャートである。
【００５６】
まず、暗号情報生成プログラムについて図５及び図６と共に説明する。コンピュータはオーディオ信号をＰＣＭして得た１０２４サンプルのＰＣＭデータを取り込み（図５のステップＳ０１）、取り込んだＰＣＭデータをＭＤＣＴで周波数スペクトルデータ（ＭＤＣＴ係数）に変換する一方（図５のステップＳ０２）、聴覚心理分析する（図６のステップＳ２１）。この聴覚心理分析では、前述したようにＰＣＭデータに対してＦＦＴを施し、周波数スペクトルを求め、それを基にマスキングを計算し、予め設定された周波数帯域毎に聴覚心理に基づいた許容量子化雑音電力を算出する。聴覚心理分析後にコンピュータは、スケールファクタを算出し（図６のステップＳ２２）、算出したスケールファクタをメモリに格納する（図６のステップＳ２３）。
【００５７】
ここで、上記のスケールファクタは、前述したように人間の聴覚特性を基にした周波数帯域毎に、例えば１０２４本のＭＤＣＴ係数を単位にして、複数のスケールファクタバンドに分け、各スケールファクタバンドで計算された量子化雑音が、ステップＳ２１の聴覚心理分析で算出された許容量子化雑音電力よりも大きくならないように算出された各スケールファクタバンドの量子化ステップ数である。
【００５８】
続いて、コンピュータは、メモリに格納された上記のスケールファクタバンドの量子化ステップで、ステップＳ０２で得られたＭＤＣＴ係数の量子化を行う（図５のステップＳ０３）。このとき、量子化に必要なビット数が使用可能なビット数以内に収まるように全体の量子化ステップ数を制御して、量子化を実行する。
【００５９】
続いて、コンピュータは、量子化値の最大絶対値から選択したハフマンコードブックを使用して、ＭＤＣＴ係数の量子化値に対して可変長符号化を施すと共に、メモリから入力したスケールファクタに対しても可変長符号化を施し、冗長度を削減し、符号化結果を得た後（図５のステップＳ０４）、各ハフマンコードブックで符号化した結果、発生した符号量が最小となるハフマンコードブックを検出する（図５のステップＳ０５）。
【００６０】
また、コンピュータは、伝送されるべき埋め込み情報を暗号化する一方（図５のステップＳ１０）、符号化結果の符号語のビット数をカウントし、設定している間隔ビット数に当たる符号語のビットの位置、すなわちビットを埋め込む位置を指定する（図５のステップＳ１１）。続いて、コンピュータは、ステップＳ１１によるビットを埋め込む位置の指定に基づき、ステップＳ１０で得た暗号化された情報のビット信号を、ＭＤＣＴ係数の量子化値を可変長符号化した符号語の該当ビットと、符号化で規定するシンタックスを満たすように入れ換える（図５のステップＳ０６）。
【００６１】
続いて、コンピュータは、入れ換えられた符号語を含む符号化結果とハフマンコードブックに基づいて、符号化で発生した符号量が使用可能な符号量以内に収まっているかを判定し（図５のステップＳ０７）、使用可能な符号量を越えている場合はステップＳ０１に戻って再度量子化を行い、生成される符号量が使用可能な符号量を下回るまで上記の処理を繰り返す。
【００６２】
ステップＳ０７で使用可能ビット数を満足すると判定されたときには、その符号化データは、サンプリング周波数、符号化レート等の符号化パラメータと共に多重化され、ＡＡＣビットストリームとして生成され（図５のステップＳ０８）、全てのＰＣＭデータについての処理が行われたかどうか判定され（図５のステップＳ０９）、全てのＰＣＭデータに対する処理が終わったことにより、処理を終了する。
【００６３】
次に、暗号情報再生プログラムについて、図７と共に説明する。コンピュータは伝送されて入力されたビットストリームを解析して（ステップＳ３１）、符号化データと符号化パラメータとに分離し、分離された符号化パラメータに基づき、符号化データをスケールファクタと量子化値に可変長復号化する（ステップＳ３２）。
【００６４】
一方、コンピュータは、分離された符号化データの符号語のビット数をカウントし、暗号記録側の間隔ビット数に当たる符号語のビット列（暗号情報）を取り出し（ステップＳ３６）、その符号語のビット列に対して逆変換を施して（暗号解読を施して）元の埋め込み情報を得る（ステップＳ３７）。
【００６５】
また、コンピュータは、ステップＳ３２で可変長復号化して得た量子化値及びスケールファクタに基づいて、スケールファクタバンド単位に量子化値を逆量子化し、ＭＤＣＴ係数を算出する（ステップＳ３３）。このＭＤＣＴ係数は、逆ＭＤＣＴ変換されてＰＣＭデータに変換された後（ステップＳ３４）、すべてのＭＤＣＴ係数が逆ＭＤＣＴ変換されたかどうか判定し（ステップＳ３５）、すべてのＭＤＣＴ係数が逆ＭＤＣＴ変換されるまで上記のステップＳ３１〜Ｓ３７の処理を繰り返し、全て終了することにより処理を終了する。
【００６６】
なお、上記した各プログラムは、記録媒体から読み取られてコンピュータに取り込まれてもよいし、通信ネットワークを介して伝送されてコンピュータに取り込まれてもよい。
【００６７】
次に、本発明の一実施の形態の符号語と暗号情報との入れ替え手順について、具体例と共に更に詳細に説明する。ここでは、図３に示した最小符号量検出器１０７から出力される符号語として、表１のレングス分のサイズのビット数とし、また、説明を簡単にするため、カウンタ３０３は符号語のビット数をカウントし、カウント数の下一桁が”３”になった符号語の該当するビットと暗号情報のビットとを入れ替えるものとする。また、暗号変換器３０２から出力される暗号情報のビットが”１”であれば”１”に、”０”であれば”０”に入れ替えるものとする。
【００６８】
いま、最小符号量検出器１０７から図８（Ａ）に示すように、符号語が”７５”、”１ｆ６”、”ｆ４”の順で出力されるものとすると、この符号語をビット表示で表わすと、同図（Ｂ）に示すようになり、この符号語のビット数をカウントするカウンタ３０３のカウント数は同図（Ｃ）に示すようになる（ただし、カウント数は下一桁のみを表記している。）。
【００６９】
ここで、図３の暗号変換器３０２から出力される暗号情報のビット列が、図８（Ｄ）に示すように、”００１”であるものとすると、入力符号語”７５”の上位３ビット目で図８（Ｃ）に示すようにカウント数が”３”となり、その時の入力符号語”７５”の上位３ビット目が暗号情報のビット”０”に入れ換えられる。同様に、入力符号語”１ｆ６”の上位６ビット目で図８（Ｃ）に示すようにカウント数が”３”となり、その時の入力符号語”１ｆ６”の上位６ビット目が暗号情報のビット”０”に入れ換えられ、続く入力符号語”ｆ４”の上位７ビット目で図８（Ｃ）に示すようにカウント数が”３”となり、その時の入力符号語”ｆ４”の上位７ビットが暗号情報のビット”１”に入れ換えられる。
【００７０】
従って、上記の入れ換えにより符号語は、図８（Ｅ）に示すように、”６５”、”１ｆ６”、”ｆ６”の順となるが、同図（Ｆ）に示すように、”６５”は表１には存在せず、”１ｆ６”は元の符号語と同じであり、”ｆ６”は表１に存在するが元のインデックスから遠い。そこで、可変長入換え器３０１は、前述したように、”６５”は、表１において元の符号語”７５”の長さに近く、インデックスの値が近く、かつ、上位３ビット目が“０”である符号語”６ａ”とし、続く”１ｆ６”は元の符号語と同じ”１ｆ６”とする。
【００７１】
続く”ｆ６”は表１に存在するが元のインデックスから遠いので、前述したように、表１のハフマンコードブック８番の中で元の符号語の長さに近く、インデックスの値が近く、かつ、上位７ビット目が“１”である符号語を検索すると、元のインデックス５８に近いインデックス５７（符号語“０ｘｆ３”）かインデックス５９（符号語“０ｘｆ７”）が検索されるが、ここでは、インデックスの小さい方を選択するものとすると最初から条件付けておくことにより、インデックス５７に当たる”ｆ３”に入れ換える。
【００７２】
このようにして、符号量判定器３０１は、実際には図８（Ｇ）に示すように”６ａ”、”１ｆ６”、”ｆ３”の順で符号語を符号量判定器１０８へ出力する。
【００７３】
次に、図８のようにして符号語と入れ換えられた暗号情報の暗号情報再生装置における復元動作の具体例について、図９と共に説明する。図４に示したカウンタ４０１は暗号情報生成装置側と整合がとれているという条件の下で、図９（Ａ）に示す入力符号語のビット数をカウントする。図９（Ａ）に示す入力符号語をビット表示で表わすと、同図（Ｂ）に示すようになり、カウンタ４０１のカウント数の下一桁は同図（Ｃ）に示すようになる。
【００７４】
暗号情報生成装置のカウンタ３０３と同じカウント規則に基づいて、カウンタ４０１は下一桁の値が”３”のときに入れ換えられたビット位置として指定して出力するので、カウンタ４０１は入力符号語”６ａ”のときには、カウント数の下一桁の値が”３”となる上位３ビット目のときの値”０”を出力する。同様に、続く入力符号語”１ｆ６”のときには、カウント数の下一桁の値が”３”となる上位６ビット目のときの値”０”を出力する。更に、続く入力符号語”ｆ３”のときには、カウント数の下一桁の値が”３”となる上位７ビット目のときの値”１”を出力する。
【００７５】
従って、カウンタ４０１からは図９（Ｄ）に示すように、”００１”が取り出され、これは暗号情報生成装置の暗号変換器３０２から出力された暗号情報（図８（Ｄ））と一致する。このようにして、暗号情報が復元される。なお、ここでは、説明を簡単にするため、カウンタ３０３、４０１の暗号情報の入れ換え及び取り出し位置を符号語のビット数の総和の下一桁として説明したが、カウンタ３０３とカウンタ４０１の間でカウント規則の整合性がとれるならば、その規則は上記の例に限定されるものではない。
【００７６】
なお、本発明は以上の実施の形態に限定されるものではなく、例えば、本発明はＭＰＥＧ−２／ＡＡＣオーディオ符号化方式以外の、画像や音声をはじめとするディジタル信号を、可変長符号を用いて圧縮伸長を行う符号化方式・復号化方式に広く適用できるものである。また、符号語に暗号情報が埋め込まれてなるビットストリームを伝送する伝送路は、無線通信や有線通信の通信路、あるいは記録媒体などがあり、伝送路自体は特に限定されるものではない。
【図面の簡単な説明】
【００７７】
【図１】ＭＰＥＧ−２／ＡＡＣオーディオ符号化方式の一般的な符号化装置の一例のブロック図である。
【図２】ＭＰＥＧ−２／ＡＡＣオーディオ符号化方式の一般的な復号化装置の一例のブロック図である。
【図３】本発明の暗号情報生成装置の一実施の形態のブロック図である。
【図４】本発明の暗号情報再生装置の一実施の形態のブロック図である。
【図５】本発明の暗号情報生成プログラムの一実施の形態を示すフローチャートである。
【図６】本発明の暗号情報生成プログラムの聴覚心理分析に分岐する処理過程を示すフローチャートである。
【図７】本発明の暗号情報再生プログラムの一実施の形態を示すフローチャートである。
【図８】暗号情報生成装置における符号語と暗号情報との入換えの一具体例の説明図である。
【図９】暗号情報再生装置における暗号情報復号動作の一具体例の説明図である。
【符号の説明】
【００７８】
１０１、３０１  聴覚心理分析器
１０２、３０２  ＭＤＣＴ器
１０３、３０３  スケールファクタ算出器
１０４、３０４  量子化器
１０５、３０５  コードブック選択器
１０６、３０６  可変長符号化器
１０７、３０７  最小符号量検出器
１０８、３０８  符号量判定器
１０９、３０９  ビットストリーム生成器
２０１、４０１  ビットストリーム解析器
２０２、４０２  可変長復号化器
２０３、４０３  逆量子化器
２０４、４０４  ＩＭＤＣＴ器
３１０  暗号変換器
３１１、４０５  カウンタ
３１２  可変長符号入換器
４０６  暗号逆変換器
【図１】
2006128743.tif 000004
【図２】
2006128743.tif 000005
【図３】
2006128743.tif 000006
【図４】
2006128743.tif 000007
【図５】
2006128743.tif 000008
【図６】
2006128743.tif 000009
【図７】
2006128743.tif 000010
【図８】
2006128743.tif 000011
【図９】
2006128743.tif 000012