ステガノグラファーは、ステガノグラフィ技術を用いた独自の電子透かしエンジン、HIP(Happy Image Privacy)で画質を保持したまま大量の透かしデータが隠蔽できる電子透かしエディターです。
|
ビューアー設定で
- ズームアルゴリズム
- ズームの限界
- 初期表示のズーム倍率
- ウィンドウ背景色、透過色
- ファイルタイプの関連付け
- スプラッシュイメージ
が設定できます。
●ワンポイント
ファイルタイプの関連付けをしておくと、エクスプローラからファイルをダブルクリックすることでステガノグラファーが起動できるようになります。
|
↑TOP
|
透かしを埋め込むイメージのことを錯乱画像(ダミー画像)といいます。
錯乱画像を開くには、下記の方法があります。
- ファイルメニューの開くで、ファイルオープンダイアログ(左図)からファイルを選択する
- エクスプローラからドラッグ&ドロップして表示されるダイアログから、「このウィンドウに表示する」を選択する
- 錯乱画像対応の画像フォーマット
ビットマップ、JPEG、GIF、TIFF、PNG、フォトCD、アイコン、カーソル、アニメーションカーソル、アイコンライブラリー、PSD、PICT
- 錯乱画像対応の動画フォーマット
AVI、MPEG、QuickTimeムービー
|
↑TOP
|
錯乱画像に透かしデータを埋め込むには、下記の方法があります。
- 電子透かしメニューの透かし情報の埋め込みで、ファイル選択ダイアログからファイルを選択する(複数可)
- エクスプローラからドラッグ&ドロップして表示されるダイアログ(左図)から、「透かし情報として埋め込む」を選択する
●ワンポイント
表示されている画像ピクセル(DIB)に透かしを埋め込みます。複数のファイルを一度に埋め込むことができます。
|
|
次に、透かしデータ設定ダイアログが表示されます。
このダイアログで下記の設定ができます。
- パスワード(MD5による暗号化)の有無
- 透かしデータの暗号化の有無
- 埋め込みアルゴリズムの選択(Ver2.1追加機能)
- 埋め込み確認プレビュー(Ver2.1追加機能)
- 埋め込み可能サイズの表示
- 透かしデータの圧縮の有無
- 透かしデータへのコメントの付与
- 透かしデータの抽出時のファイル名
●ワンポイント
ファイル以外に、テキスト、ショートカットが透かしデータとして埋め込めます。
パスワード有りで透かしデータの暗号化を行うとリバースエンジニアリングを行っても、パスワードが分からない限りデコードは不可能になります。
Ver2.1から「埋め込み確認プレビュー」ボタンで埋め込み画像が確認できるようになりました。
|
|
最後に、埋め込みが成功したかどうかを示す埋め込み結果レポートが表示されます。
この例では、24ビットの800x585ピクセルのデータサイズ、1,404,000バイト(=3x800x585)に、自動選択アルゴリズムで526,448バイト(約37.5パーセント)の透かしが埋め込み可能であり、280,717バイトの圧縮サイズで3つのファイルが埋め込まれたことをレポートしています。
●ワンポイント
埋め込みアルゴリムズは、目的によって最適なものを選択して下さい。
- 画質と埋め込みサイズを均等に評価
アルゴリズム自動選択を使用して下さい。
- 画質優先
LSB(最下位ビット)への埋め込みの1ビットを使用して下さい。
- 埋め込みサイズ優先
画質をある程度考慮するのであれば、LSB(最下位ビット)への埋め込みの6ビットまでを使用して下さい。
画質を無視するのであれば、LSB(最下位ビット)への埋め込みの7〜8ビットを使用して下さい。
- ファイルサイズ優先
インデックス画像埋め込みを使用して下さい。
画質を考慮するのであれば、8ビットインデックス画像埋め込みの7ビット(128色)を使用して下さい。
埋め込みサイズを優先したい場合は、インデックス画像埋め込みの1ビット(2色)を使用して下さい。
|
↑TOP
フルカラー画像(24ビット)とインデックス画像(4,8ビット)に透かしが埋め込むことができます。
目的に応じて、透かしデータサイズと画質、ファイルサイズで使い分けて下さい。
出力形式 | アルゴリズム | 概要 | パターン | 最大埋め込み率 |
24ビット PNG BMP TIFF JPEG | 自動選択 | 画素の複雑さによる埋め込みとLSB埋め込みで画質と最大埋め込み率が最適なアルゴリズムを選択します | - | 37.5〜60% |
画素の複雑さによる埋め込み | コンジュケート演算によって、色の複雑な部分に透かしを埋め込みます。 写真のような自然画像に適しており、色数の少ない画像には不適です。 画像エントローピーによって最大埋め込み率は異なります。 | - | 〜60% |
LSB(最下位ビット)への埋め込み | 画素の最下位ビットに埋め込みます。
埋め込み可能サイズは画像の性質に関係なく、画像サイズで決まります。
埋め込むデータ量が大きいほど画質は劣化しますが、埋め込みビットが3ビット程度までは画質の劣化は目立ちません。 埋め込むビット数によって最大埋め込み率は異なります。 | 1ビット〜8ビット | 12.5%〜100% |
8ビット GIFPNG BMP TIFF | 256色カラーパレットへの埋め込み | 8ビットカラーパレットの最下位ビットに埋め込みます。 マップする色数によって最大埋め込み率は異なります。 | 7ビット(128色)〜1ビット(2色) | 12.5〜87.5% |
4ビット GIFPNG BMP TIFF | 16色カラーパレットへの埋め込み | 4ビットカラーパレットの最下位ビットに埋め込みます。 マップする色数によって最大埋め込み率は異なります。 | 3ビット(8色)〜1ビット(2色) | 25〜75% |
↑TOP
↑TOP
|
透かしデータの複号は、電子透かしメニューの透かし情報の抽出で行います。
パスワードが設定されている場合には、「パスワードの入力」ダイアログがまず表示されます。
その後「透かし情報の抽出」ダイアログが出力され、保存方法の選択ができます。また、透かし情報のプロパティも表示されます。
透かし情報を確認して問題なければ、下記から保存方法を選択します。
- 開く
透かしのデータを確認する場合に選択します。 データは、テンポラリーに保存されますが、確認後に削除されます。
- ファイルに保存する
透かしのデータをファイルに保存する場合に選択します。
- ファイルに保存して開く
透かしのデータをファイルに保存してから、シームレスで開きます。
●ワンポイント
出所不明な実行形式のファイルは、危険なので抽出しないようにして下さい。
|
↑TOP
ファイルメニューの 名前を付けて保存で編集中の錯乱画像がイメージファイルに保存できます。
錯乱画像は、下記のイメージファイルに保存できます。
可逆圧縮イメージ
- PNG
- GIF(4,8ビット)
- ビットマップ
- TIFF
●ワンポイント
可逆圧縮イメージの場合、ファイルサイズは透かしデータサイズに依存しませんが、非可逆圧縮イメージでは、
透かしデータサイズだけ画像ファイルサイズが大きくなります。
ブラウザー(IE、NetScape)も対応している可逆圧縮イメージのPNGまたはGIF形式での保存をお勧めします。
↑TOP
錯乱画像に対して次の編集操作ができます。
- イメージの回転
- イメージのミラー移動
- イメージのフィルター
- イメージのサイズ変更
- 領域選択された大きさに切り抜き
- 編集操作のやり直し
↑TOP
ステガノグラファーは、ZSTEGANOINP.DLLというCOMサーバー(インプロセスサーバー)を提供します。
透かしのエンコード/デコードをVBScriptなどのスクリプト言語によってバッチ化することができます。
■COMサーバー稼動環境
Windows Me/2000または、Microsoft Visual Studio6.0がインストールされていること。
■オブジェクトの作成に必要な情報
・アプリケーション(サーバー)名
ZSTEGANOINP
・透かしエンコーダークラス
クラス名 :Stegano
GUID :4F35298C-6BCF-45CC-ABF9-C9437DDB76C2
バージョン:1
・透かしデータクラス
クラス名 :SteganoContents
GUID : 37F9564B-D8FA-415F-A5F0-2A202885E8B5
バージョン:1
■オブジェクトの参照に必要な情報
・タイプライブラリー名
ZSTEGANOINPLib
表示名称 :ZSTEGANOINPLib(ステガノグラファー 1.0 タイプ ライブラリ)
GUID :9E780081-6972-46DE-A2DD-DF212842AF68
■オブジェクトの作成
CreateObjectスクリプト関数およびVisual BasicのNewキーワードでオブジェクトのインスタンスを生成できます。
CreateObjectよりも、参照設定を使用してNewキーワードでオブジェクトを作成する方が効率的です。
@CreateObjectによるオブジェクトの作成コード
Dim oRet
Set oRet = CreateObject("ZSTEGANOINP.Stegano.1")
ANewキーワードによるオブジェクトの作成コード
Dim oRet as Stegano
Set oRet = New Stegano
あるいは、
Dim oRet as New Stegano
■タイプライブラリーの参照
タイプライブラリーの参照を行うと、スクリプトからステガノグラファーの組み込み定数が使用できるようになります。
Windows Script Host コントロールファイル(.wsf)では、XMLタグによってタイプライブラリーの参照ができます。
@プログラムIDによるオブジェクトの参照コード
<Reference object="ZSTEGANOINP.Stegano.1"></Reference>
AGUIDによるオブジェクトの参照コード
<Reference guid="9E780081-6972-46DE-A2DD-DF212842AF68"></Reference>
■プロパテイ/メソッド
インストール後にステガノグラファーヘルプをご覧下さい。
|
↑TOP
Windows Script Host コントロールファイル(.wsf)を使用すると、スクリプトの個別の設定ができます。
下記のサンプルスクリプト(sample.wsf)では、以下の処理が記述されています。
尚、このサンプルは、WScript.exe(Ver5.1)で動作確認していますが、バージョンが古いと動作しない可能性があります。
※このサンプルでは画面を表示していますが、サーバー処理等のバックグランド処理では画面を表示しないメソッドで作成して下さい。
@タイプライブラリーの参照(<Reference>)
透かし埋め込みサブルーチンの実行
Aステガノグラファーオブジェクトのインスタンス作成(CreateObject)
B錯乱画像の読み込み
画像ファイルオープンダイアログが表示されます。
C透かし埋め込みデータの作成
・画像ファイルの追加(存在するファイルであること)
・ショートカットの追加
D透かしの埋め込み
透かし埋め込みダイアログが表示されます。
E錯乱画像の保存
画像ファイル保存ダイアログが表示されます。
透かし抽出サブルーチンの実行
Fステガノグラファーオブジェクトのインスタンス作成(CreateObject)
G錯乱画像の読み込み
透かし埋め込みサブルーチンで保存された画像ファイルを読み込みます。
H透かしの復号
透かし抽出ダイアログが表示されます。
■sample.wsfソースコード
<Job id="Example">
<?job debug="true"?>
<Reference object="9E780081-6972-46DE-A2DD-DF212842AF68"></Reference>
<Script language="VBScript">
'--------------------------
'メインプログラム
'--------------------------
Dim saveFilename
'透かしを埋め込む
Call EmbedSample(saveFilename)
'埋め込んだ透かしを抽出
if saveFilename <> "" then
Call ExtractSample(saveFilename)
End If
'--------------------------
'透かし埋め込みサブルーチン
'--------------------------
Sub EmbedSample(saveFilename)
Dim oRet, Result, filename
Dim Format
'オブジェクトの生成
Set oRet = CreateObject("ZSTEGANOINP.Stegano.1")
'錯乱画像の読み込み(ダイアログ表示)
filename = oRet.OpenImageFileUI
If filename = "" Then
Exit Sub
End If
'画像ファイルを透かし埋め込みデータに追加
'存在するファイルパスを指定すること
Result = oRet.EmbedContents.AddItem(stgFile, "c:\test.jpg")
If Result < 0 Then
MsgBox ("埋め込みデータ追加エラー")
Exit Sub
End If
'ショートカットを透かし埋め込みデータに追加
Result = oRet.EmbedContents.AddItem(stgShortcut, "http://hp.vector.co.jp/authors/VA017815/")
If Result < 0 Then
MsgBox ("埋め込みデータ追加エラー")
Exit Sub
End If
'透かしを錯乱画像に埋め込む(ダイアログ表示)
Result = oRet.EmbedUI
If Not (Result) Then
MsgBox ("透かし埋め込みエラー")
Exit Sub
End If
'透かしを埋め込んだ錯乱画像をファイル保存(ダイアログ表示)
saveFilename = oRet.SaveImageFileUI( , filename)
If saveFilename <> "" Then
MsgBox ("透かしが" & saveFilename & "に保存されました")
else
MsgBox ("透かしが保存されませんでした")
End If
Set oRet = Nothing
End Sub
'----------------------
'透かし抽出サブルーチン
'----------------------
Sub ExtractSample(filename)
Dim oRet, Result
'オブジェクトの生成
Set oRet = CreateObject("ZSTEGANOINP.Stegano.1")
'錯乱画像の読み込み
Result = oRet.ReadImageFile(filename)
If Not (Result) Then
MsgBox ("読み込みエラー")
Exit Sub
End If
'透かしの抽出(ダイアログ表示)
Result = oRet.ExtractUI
If Result Then
MsgBox ("透かしが" & filename & "から復号されました")
else
MsgBox ("透かし復号エラー")
End If
Set oRet = Nothing
End Sub
|
↑TOP
|