(57)【特許請求の範囲】
【請求項１】
外部装置からの要求に応じてデータを送信する通信装置であって、
複数のメディアのデータのうちのいずれか１つのメディアのデータをメインデータとするとともに、複数のメディアのデータのうちの２以上のメディアのデータおよび任意のデータへのリンクが可能なデータを有するデータをサブデータとする場合において、
前記メインデータとサブデータとを組みにしたデータであるパッケージデータを複数記憶する記憶手段と、
前記外部装置からの要求に応じて、前記記憶手段から所望のパッケージデータを検索する検索手段と、
前記検索手段により検索されたパッケージデータ内のサブデータと、所定の情報とに応じて、前記メインデータのエネルギの偏りを壊すことにより前記メインデータに前記サブデータおよび前記所定の情報を埋め込むことで、暗号化パッケージデータを復号する過程において前記所定の情報が得られるように、そのパッケージデータを暗号化し、前記暗号化パッケージデータを出力する暗号化手段と、
前記暗号化手段から出力される前記暗号化パッケージデータを、前記外部装置に送信する通信手段と
を備えることを特徴とする通信装置。
【請求項２】
前記記憶手段は、
ビジュアルデータ、オーディオデータ、及びテキストデータのうちのいずれかのメディアであるメインデータと、
複数のビジュアルデータ、複数のオーディオデータ、及び複数のテキストデータと、各データに対応するURL（Uniform Resource Locator）アドレスとを有するサブデータと
から構成されるパッケージデータを複数記憶している
ことを特徴とする請求項１に記載の通信装置。
【請求項３】
前記記憶手段のサブデータは、複数のオーディオデータの各データに対応するアイコンデータを、さらに有する
ことを特徴とする請求項２に記載の通信装置。
【請求項４】
前記検索手段は、前記外部装置からのＵＲＬアドレスに応じて、前記記憶手段から所望のパッケージデータを検索する
ことを特徴とする請求項１に記載の通信装置。
【請求項５】
前記外部装置への前記パッケージデータの提供に応じて、前記外部装置を使用するユーザのクレジットカード番号を含む個人情報、及び前記パッケージデータに対応する課金処理を実行する課金処理手段
をさらに備えることを特徴とする請求項１に記載の通信装置。
【請求項６】
前記外部装置を使用するユーザのユーザ情報を記憶するユーザ情報記憶手段と、
前記ユーザ情報記憶手段に記憶されるユーザ情報に基づいて、前記記憶手段に記憶されるパッケージデータ内のサブデータ、或いは当該サブデータから前記パッケージデータにリンクしているリンクデータを変更する変更手段と
をさらに備えることを特徴とする請求項１に記載の通信装置。
【請求項７】
前記ユーザ情報記憶手段は、
前記ユーザ毎に、当該ユーザが購入した前記パッケージデータの数をジャンル毎に記憶し、
前記ユーザ毎に、前記サブデータの変更内容、及び前記リンクデータの変更内容を記憶する
ことを特徴とする請求項６に記載の通信装置。
【請求項８】
前記暗号化手段は、前記サブデータに応じて、前記メインデータとしての画像データを所定単位でスワップして前記画像データの相関性の偏りを壊すことにより、前記画像データに前記サブデータを埋め込む
ことを特徴とする請求項１に記載の通信装置。
【請求項９】
前記暗号化手段は、前記サブデータに応じて、前記メインデータとしての画像データを所定単位でスワップして前記画像データの連続性の偏りを壊すことにより、前記画像データに前記サブデータを埋め込む
ことを特徴とする請求項１に記載の通信装置。
【請求項１０】
前記暗号化手段は、前記サブデータに応じて、前記メインデータとしての画像データを所定単位でスワップして前記画像データの相似性の偏りを壊すことにより、前記画像データに前記サブデータを埋め込む
ことを特徴とする請求項１に記載の通信装置。
【請求項１１】
外部装置からの要求に応じてデータを送信する通信方法であって、
複数のメディアのデータのうちのいずれか１つのメディアのデータをメインデータとするとともに、複数のメディアのデータのうちの２以上のメディアのデータおよび任意のデータへのリンクが可能なデータを有するサブデータとする場合において、
前記外部装置からの要求に応じて、記憶手段から所望のパッケージデータを検索し、
前記検索されたパッケージデータ内のサブデータと、所定の情報とに応じて、前記メインデータのエネルギの偏りを壊すことにより前記メインデータに前記サブデータおよび前記所定の情報を埋め込むことで、暗号化パッケージデータを復号する過程において前記所定の情報が得られるように、そのパッケージデータを暗号化し、前記暗号化パッケージデータを出力し、
前記暗号化パッケージデータを、前記外部装置に送信する
ステップを備えることを特徴とする通信方法。
【請求項１２】
外部装置からの要求に応じてデータを送信する処理を、コンピュータに行わせるプログラムが記録されている記録媒体であって、
複数のメディアのデータのうちのいずれか１つのメディアのデータをメインデータとするとともに、複数のメディアのデータのうちの２以上のメディアのデータおよび任意のデータへのリンクが可能なデータを有するデータをサブデータとする場合において、
前記外部装置からの要求に応じて、記憶手段から所望のパッケージデータを検索し、
前記検索されたパッケージデータ内のサブデータと、所定の情報とに応じて、前記メインデータのエネルギの偏りを壊すことにより前記メインデータに前記サブデータおよび前記所定の情報を埋め込むことで、暗号化パッケージデータを復号する過程において前記所定の情報が得られるように、そのパッケージデータを暗号化し、前記暗号化パッケージデータを出力し、
前記暗号化パッケージデータを、前記外部装置に送信する
ステップを備える処理を、コンピュータに行わせるプログラムが記録されている
ことを特徴とする記録媒体。
【請求項１３】
外部装置からデータ受信する通信装置であって、
複数のメディアのデータのうちのいずれか１つのメディアのデータをメインデータとするとともに、複数のメディアのデータのうちの２以上のメディアのデータおよび任意のデータへのリンクが可能なデータを有するデータをサブデータとする場合において、
ユーザ指示に応じて、前記メインデータとサブデータとを組みにしたデータであるパッケージデータを、前記外部装置に要求する要求手段と、
前記要求手段による要求に応じて、前記外部装置から受信された前記パッケージデータが暗号化された暗号化パッケージデータを復号して、前記メインデータ、前記サブデータ、および所定の情報を取得する復号手段と、
前記復号手段により復号されたパッケージデータのメインデータと、その復号過程において得られる前記所定の情報とを出力する出力手段と、
前記出力手段に出力される前記メインデータに対するユーザ指示を検出するユーザ指示検出手段と、
前記ユーザ指示検出手段によりユーザ指示が検出されたとき、前記メインデータに対応するサブデータを前記出力手段に出力する出力制御手段と
を備え、
前記ユーザ指示検出手段により、前記サブデータの一部に対するユーザ指示が検出されたとき、前記要求手段は、当該サブデータの一部に対応するリンクデータに基づいて前記外部装置に新たなパッケージデータを要求し、
前記暗号化パッケージデータは、前記パッケージデータ内のサブデータと、所定の情報とに応じて、前記メインデータのエネルギの偏りを壊すことにより前記メインデータに前記サブデータおよび前記所定の情報を埋め込むことで、暗号化パッケージデータを復号する過程において前記所定の情報が得られるように、そのパッケージデータを暗号化したものである
ことを特徴とする通信装置。
【請求項１４】
前記パッケージデータは、
ビジュアルデータ、オーディオデータ、及びテキストデータのうちのいずれかのメディアであるメインデータと、
複数のビジュアルデータ、複数のオーディオデータ、及び複数のテキストデータと、各データに対応するＵＲＬアドレスとを有するサブデータと
から構成される
ことを特徴とする請求項１３に記載の通信装置。
【請求項１５】
前記サブデータは、オーディオデータに対応するアイコンデータをさらに有する
ことを特徴とする請求項１４に記載の通信装置。
【請求項１６】
前記出力手段は、前記外部装置から受信された前記パッケージデータのメインデータとしてのビジュアルデータをアイコン画像として出力し、
前記ユーザ指示検出手段は、前記出力手段に出力される前記アイコン画像に対するユーザのマウス指示に応じてユーザ指示を検出し、
前記出力制御手段は、前記ユーザ指示の検出に応じて、前記メインデータに対応するサブデータをメニューで表示する
ことを特徴とする請求項１４に記載の通信装置。
【請求項１７】
前記出力手段は、前記外部装置から受信された前記パッケージデータのメインデータとしてのビジュアルデータをアイコン画像として出力し、
前記ユーザ指示検出手段は、前記出力手段に出力される前記アイコン画像に対するユーザのマウス指示に応じてユーザ指示を検出し、
前記出力制御手段は、前記ユーザ指示の検出に応じて、前記メインデータに対応するサブデータを出力し、
ビジュアルデータとして、アイコン画像が並べて表示され、
オーディオデータとして、複数のオーディオデータを選択再生可能な操作部が表示され、
テキストデータとして、複数のテキストデータがメニューで表示される
ことを特徴とする請求項１５に記載の通信装置。
【請求項１８】
前記要求手段は、ユーザ指示されたサブデータの一部のデータに対応するＵＲＬアドレスを、前記外部装置に送信する
ことを特徴とする請求項１３に記載の通信装置。
【請求項１９】
前記パッケージデータを記憶する記憶手段をさらに備え、
前記要求手段は、前記外部装置に、定期的に前記記憶手段に記憶されるパッケージデータを要求し、当該パッケージデータをアップデートする
ことを特徴とする請求項１８に記載の通信装置。
【請求項２０】
前記通信装置を使用するユーザのユーザ情報を記憶するユーザ情報記憶手段と、
前記ユーザ情報記憶手段に記憶されるユーザ情報に基づいて、前記記憶手段に記憶されるパッケージデータ内のサブデータ、或いは当該サブデータから前記パッケージデータにリンクしているリンクデータを変更させる変更情報を前記外部装置に送信する送信手段と
をさらに備え、
前記外部装置において、前記変更情報に基づいて変更されたパッケージデータが作成される
ことを特徴とする請求項１９に記載の通信装置。
【請求項２１】
前記ユーザ情報記憶手段は、
前記ユーザ毎に、当該ユーザが購入した前記パッケージデータの数をジャンル毎に記憶し、
前記ユーザ毎に、前記サブデータの変更内容、及び前記リンクデータの変更内容を記憶する
ことを特徴とする請求項２０に記載の通信装置。
【請求項２２】
前記パッケージデータは、前記サブデータに応じて、前記メインデータとしての画像データを所定単位でスワップして前記画像データの相関性の偏りを壊すことにより、前記画像データに前記サブデータが埋め込まれる
ことを特徴とする請求項１３に記載の通信装置。
【請求項２３】
前記パッケージデータは、前記サブデータに応じて、前記メインデータとしての画像データを所定単位でスワップして前記画像データの連続性の偏りを壊すことにより、前記画像データに前記サブデータが埋め込まれる
ことを特徴とする請求項１３に記載の通信装置。
【請求項２４】
前記パッケージデータは、前記サブデータに応じて、前記メインデータとしての画像データを所定単位でスワップして前記画像データの相似性の偏りを壊すことにより、前記画像データに前記サブデータが埋め込まれる
ことを特徴とする請求項１３に記載の通信装置。
【請求項２５】
外部装置からデータ受信する通信方法であって、
複数のメディアのデータのうちのいずれか１つのメディアのデータをメインデータとするとともに、複数のメディアのデータのうちの２以上のメディアのデータおよび任意のデータへのリンクが可能なデータを有するデータをサブデータとする場合において、
ユーザ指示に応じて、前記メインデータとサブデータとを組みにしたデータであるパッケージデータを、前記外部装置に要求し、
前記要求に応じて、前記外部装置から受信された前記パッケージデータが暗号化された暗号化パッケージデータを復号して、前記メインデータ、前記サブデータ、および所定の情報を取得し、
前記復号された前記パッケージデータのメインデータと、その復号過程において得られる前記所定の情報とを出力し、
前記出力される前記メインデータに対するユーザ指示を検出し、
前記ユーザ指示が検出されたとき、前記メインデータに対応するサブデータを出力する
ステップを備え、
前記サブデータの一部に対するユーザ指示が検出されたとき、当該サブデータの一部に対応するリンクデータに基づいて前記外部装置に新たなパッケージデータを要求し、
前記暗号化パッケージデータは、前記パッケージデータ内のサブデータと、所定の情報とに応じて、前記メインデータのエネルギの偏りを壊すことにより前記メインデータに前記サブデータおよび前記所定の情報を埋め込むことで、暗号化パッケージデータを復号する過程において前記所定の情報が得られるように、そのパッケージデータを暗号化したものである
ことを特徴とする通信方法。
【請求項２６】
外部装置からデータ受信する処理を、コンピュータに行わせるプログラムが記録されている記録媒体であって、
複数のメディアのデータのうちのいずれか１つのメディアのデータをメインデータとするとともに、複数のメディアのデータのうちの２以上のメディアのデータおよび任意のデータへのリンクが可能なデータを有するデータをサブデータとする場合において、
ユーザ指示に応じて、前記メインデータとサブデータとを組みにしたデータであるパッケージデータを、前記外部装置に要求し、
前記要求に応じて、前記外部装置から受信された前記パッケージデータが暗号化された暗号化パッケージデータを復号して、前記メインデータ、前記サブデータ、および所定の情報を取得し、
前記復号された前記パッケージデータのメインデータと、その復号過程において得られる前記所定の情報とを出力し、
前記出力される前記メインデータに対するユーザ指示を検出し、
前記ユーザ指示が検出されたとき、前記メインデータに対応するサブデータを出力する
ステップを備え、
前記サブデータの一部に対するユーザ指示が検出されたとき、当該サブデータの一部に対応するリンクデータに基づいて前記外部装置に新たなパッケージデータを要求し、
前記暗号化パッケージデータは、前記パッケージデータ内のサブデータと、所定の情報とに応じて、前記メインデータのエネルギの偏りを壊すことにより前記メインデータに前記サブデータおよび前記所定の情報を埋め込むことで、暗号化パッケージデータを復号する過程において前記所定の情報が得られるように、そのパッケージデータを暗号化したものである
処理を、コンピュータに行わせるプログラムが記録されている
ことを特徴とする記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、通信装置および通信方法、並びに記録媒体に関し、特に、例えば、所望の情報を、所望のメディアで得ることができるようにするとともに、例えば、広告等を、ユーザに必ず見せることができるようにする通信装置および通信方法、並びに記録媒体に関する。
【０００２】
【従来の技術】
例えば、インターネットにおいて構築されているＷＷＷ(World Wide Web)システムによれば、ユーザは、ＷＷＷブラウザによって、ＷＷＷサーバから提供されるＷｅｂページを閲覧することができる。
【０００３】
【発明が解決しようとする課題】
ところで、Ｗｅｂページは、例えば、ＨＴＭＬ(Hyper Text Markup Language)等で記述されており、ＨＴＭＬによれば、各種の情報にリンクをはることができる。従って、ユーザは、あるＷｅｂページを閲覧し、そのＷｅｂページからはられているリンクを辿っていくことで、所望の情報を得ることができる。
【０００４】
しかしながら、Ｗｅｂページからはられているリンク先の情報のメディアは、そのＷｅｂページの作成者によって決定される。従って、ユーザは、所望の情報を、所望のメディアで得ることができるとは限らない。即ち、例えば、ユーザが、あるアーティストの曲に関する情報を得ようとするときには、その曲名をテキストで知りたいユーザや、曲を聴いてみたいユーザ、その曲が収められているアルバム（ＣＤ(Compact Disc)等）のジャケットの画像を見たいユーザ等のように、様々なユーザが存在するが、ユーザが所望するメディアで情報の提供が行われているとは限らなかった。
【０００５】
一方、Ｗｅｂページ上には、例えば、詳細な広告情報が記述されたＷｅｂページにリンクがはられたバナー広告がおかれている場合がある。しかしながら、バナー広告からリンクがはられている広告情報は、ユーザが、そのバナー広告をクリックしなければ、ＷＷＷブラウザ上に表示されないため、広告情報を、ユーザに必然的に見せることは困難であった。
【０００６】
本発明は、このような状況に鑑みてなされたものであり、ユーザが、所望の情報を、所望のメディアで得ることができるようにするとともに、広告等の所定の情報を、ユーザに必然的に見せること等ができるようにするものである。
【０００７】
【課題を解決するための手段】
本発明の第１の通信装置は、複数のメディアのデータのうちのいずれか１つのメディアのデータをメインデータとするとともに、複数のメディアのデータのうちの２以上のメディアのデータおよび任意のデータへのリンクが可能なデータを有するデータをサブデータとする場合において、メインデータとサブデータとを組みにしたデータであるパッケージデータを複数記憶する記憶手段と、外部装置からの要求に応じて、記憶手段から所望のパッケージデータを検索する検索手段と、検索手段により検索されたパッケージデータ内のサブデータと、所定の情報とに応じて、メインデータのエネルギの偏りを壊すことによりメインデータにサブデータおよび所定の情報を埋め込むことで、暗号化パッケージデータを復号する過程において所定の情報が得られるように、そのパッケージデータを暗号化し、暗号化パッケージデータを出力する暗号化手段と、暗号化手段から出力される暗号化パッケージデータを、外部装置に送信する通信手段とを備えることを特徴とする。
【０００８】
本発明の第１の通信方法は、複数のメディアのデータのうちのいずれか１つのメディアのデータをメインデータとするとともに、複数のメディアのデータのうちの２以上のメディアのデータおよび任意のデータへのリンクが可能なデータを有するサブデータとする場合において、外部装置からの要求に応じて、記憶手段から所望のパッケージデータを検索し、検索されたパッケージデータ内のサブデータと、所定の情報とに応じて、メインデータのエネルギの偏りを壊すことによりメインデータにサブデータおよび所定の情報を埋め込むことで、暗号化パッケージデータを復号する過程において所定の情報が得られるように、そのパッケージデータを暗号化し、暗号化パッケージデータを出力し、暗号化パッケージデータを、外部装置に送信するステップを備えることを特徴とする。
【０００９】
本発明の第１の記録媒体は、複数のメディアのデータのうちのいずれか１つのメディアのデータをメインデータとするとともに、複数のメディアのデータのうちの２以上のメディアのデータおよび任意のデータへのリンクが可能なデータを有するデータをサブデータとする場合において、外部装置からの要求に応じて、記憶手段から所望のパッケージデータを検索し、検索されたパッケージデータ内のサブデータと、所定の情報とに応じて、メインデータのエネルギの偏りを壊すことによりメインデータにサブデータおよび所定の情報を埋め込むことで、暗号化パッケージデータを復号する過程において所定の情報が得られるように、そのパッケージデータを暗号化し、暗号化パッケージデータを出力し、暗号化パッケージデータを、外部装置に送信するステップを備える処理を、コンピュータに行わせるプログラムが記録されていることを特徴とする。
【００１０】
本発明の第２の通信装置は、複数のメディアのデータのうちのいずれか１つのメディアのデータをメインデータとするとともに、複数のメディアのデータのうちの２以上のメディアのデータおよび任意のデータへのリンクが可能なデータを有するデータをサブデータとする場合において、ユーザ指示に応じて、メインデータとサブデータとを組みにしたデータであるパッケージデータを、外部装置に要求する要求手段と、要求手段による要求に応じて、外部装置から受信されたパッケージデータが暗号化された暗号化パッケージデータを復号して、メインデータ、サブデータ、および所定の情報を取得する復号手段と、復号手段により復号されたパッケージデータのメインデータと、その復号過程において得られる所定の情報とを出力する出力手段と、出力手段に出力されるメインデータに対するユーザ指示を検出するユーザ指示検出手段と、ユーザ指示検出手段によりユーザ指示が検出されたとき、メインデータに対応するサブデータを出力手段に出力する出力制御手段とを備え、ユーザ指示検出手段により、サブデータの一部に対するユーザ指示が検出されたとき、要求手段は、当該サブデータの一部に対応するリンクデータに基づいて外部装置に新たなパッケージデータを要求し、暗号化パッケージデータは、パッケージデータ内のサブデータと、所定の情報とに応じて、メインデータのエネルギの偏りを壊すことによりメインデータにサブデータおよび所定の情報を埋め込むことで、暗号化パッケージデータを復号する過程において所定の情報が得られるように、そのパッケージデータを暗号化したものであることを特徴とする。
【００１１】
本発明の第２の通信方法は、複数のメディアのデータのうちのいずれか１つのメディアのデータをメインデータとするとともに、複数のメディアのデータのうちの２以上のメディアのデータおよび任意のデータへのリンクが可能なデータを有するデータをサブデータとする場合において、ユーザ指示に応じて、メインデータとサブデータとを組みにしたデータであるパッケージデータを、外部装置に要求し、要求に応じて、外部装置から受信されたパッケージデータが暗号化された暗号化パッケージデータを復号して、メインデータ、サブデータ、および所定の情報を取得し、復号されたパッケージデータのメインデータと、その復号過程において得られる所定の情報とを出力し、出力されるメインデータに対するユーザ指示を検出し、ユーザ指示が検出されたとき、メインデータに対応するサブデータを出力するステップを備え、サブデータの一部に対するユーザ指示が検出されたとき、当該サブデータの一部に対応するリンクデータに基づいて外部装置に新たなパッケージデータを要求し、暗号化パッケージデータは、パッケージデータ内のサブデータと、所定の情報とに応じて、メインデータのエネルギの偏りを壊すことによりメインデータにサブデータおよび所定の情報を埋め込むことで、暗号化パッケージデータを復号する過程において所定の情報が得られるように、そのパッケージデータを暗号化したものであることを特徴とする。
【００１２】
本発明の第２の記録媒体は、複数のメディアのデータのうちのいずれか１つのメディアのデータをメインデータとするとともに、複数のメディアのデータのうちの２以上のメディアのデータおよび任意のデータへのリンクが可能なデータを有するデータをサブデータとする場合において、ユーザ指示に応じて、メインデータとサブデータとを組みにしたデータであるパッケージデータを、外部装置に要求し、要求に応じて、外部装置から受信されたパッケージデータが暗号化された暗号化パッケージデータを復号して、メインデータ、サブデータ、および所定の情報を取得し、復号されたパッケージデータのメインデータと、その復号過程において得られる所定の情報とを出力し、出力されるメインデータに対するユーザ指示を検出し、ユーザ指示が検出されたとき、メインデータに対応するサブデータを出力するステップを備え、サブデータの一部に対するユーザ指示が検出されたとき、当該サブデータの一部に対応するリンクデータに基づいて外部装置に新たなパッケージデータを要求し、暗号化パッケージデータは、パッケージデータ内のサブデータと、所定の情報とに応じて、メインデータのエネルギの偏りを壊すことによりメインデータにサブデータおよび所定の情報を埋め込むことで、暗号化パッケージデータを復号する過程において所定の情報が得られるように、そのパッケージデータを暗号化したものである処理を、コンピュータに行わせるプログラムが記録されていることを特徴とする。
【００１９】
本発明の第１の通信装置および通信方法、並びに記録媒体においては、複数のメディアのデータのうちのいずれか１つのメディアのデータをメインデータとするとともに、複数のメディアのデータのうちの２以上のメディアのデータおよび任意のデータへのリンクが可能なデータを有するデータをサブデータとする場合において、外部装置からの要求に応じて、記憶手段から所望のパッケージデータが検索され、検索されたパッケージデータ内のサブデータと、所定の情報とに応じて、メインデータのエネルギの偏りを壊すことによりメインデータにサブデータおよび所定の情報を埋め込むことで、暗号化パッケージデータを復号する過程において所定の情報が得られるように、そのパッケージデータが暗号化されて暗号化パッケージデータが出力され、その暗号化パッケージデータが、外部装置に送信される。
【００２０】
本発明の第２の通信装置および通信方法、並びに記録媒体においては、複数のメディアのデータのうちのいずれか１つのメディアのデータをメインデータとするとともに、複数のメディアのデータのうちの２以上のメディアのデータおよび任意のデータへのリンクが可能なデータを有するデータをサブデータとすると、ユーザ指示に応じて、メインデータとサブデータとを組みにしたデータであるパッケージデータが、外部装置に要求され、要求に応じて、外部装置から受信されたパッケージデータが暗号化された暗号化パッケージデータが復号されて、メインデータ、サブデータ、および所定の情報が取得され、復号されたパッケージデータのメインデータと、その復号過程において得られる所定の情報とが出力される。さらに、出力されるメインデータに対するユーザ指示が検出され、ユーザ指示が検出されたとき、メインデータに対応するサブデータが出力される。また、サブデータの一部に対するユーザ指示が検出されたとき、サブデータの一部に対応するリンクデータに基づいて外部装置に新たなパッケージデータが要求される。そして、暗号化パッケージデータは、パッケージデータ内のサブデータと、所定の情報とに応じて、メインデータのエネルギの偏りを壊すことによりメインデータにサブデータおよび所定の情報を埋め込むことで、暗号化パッケージデータを復号する過程において所定の情報が得られるように、そのパッケージデータが暗号化されたものである。
【００２３】
【発明の実施の形態】
図１は、本発明を適用したネットワークシステムの一実施の形態の構成例を示している。
【００２４】
パッケージサーバ１は、例えば、ユーザ端末３1や３2，３3，・・・，３4の要求に応じて、後述するようなパッケージデータを、インターネット等のネットワーク２を介して送信する。
【００２５】
ユーザ端末３1乃至３N（以下、特に区別する必要がない限り、ユーザ端末３と記載する）は、必要に応じて、ネットワーク２を介し、パッケージサーバ１にパッケージデータを要求し、その要求に応じて、パッケージサーバ１からネットワーク２を介して送信されてくるパッケージデータを受信して出力する（画像やテキスト等として表示し、あるいは音声として出力する）。また、ユーザ端末３は、必要に応じて、ネットワーク２を介し、ＷＷＷサーバ４にＷｅｂページ等を要求し、その要求に応じて、ＷＷＷサーバ４からネットワーク２を介して送信されてくるＷｅｂページを受信して表示する。
【００２６】
ＷＷＷサーバ４は、ユーザ端末３の要求に応じて、Ｗｅｂページを、ネットワーク２を介して送信する。
【００２７】
次に、図２は、パッケージサーバ１、ユーザ端末３、およびＷＷＷサーバ４のハードウェア構成例を示している。
【００２８】
パッケージサーバ１、ユーザ端末３、ＷＷＷサーバ４は、例えばいずれもコンピュータをベースに構成されている。
【００２９】
コンピュータは、CPU(Central Processing Unit)１２を内蔵している。CPU１２には、バス１１を介して、入出力インタフェース２０が接続されており、CPU１２は、入出力インタフェース２０を介して、ユーザによって、キーボードや、マウス、マイク等で構成される入力部１７が操作等されることにより指令が入力されると、それにしたがって、ROM(Read Only Memory)１３に格納されている、後述する専用ブラウザ等を実現するプログラムを実行する。あるいは、また、CPU１２は、ハードディスク１５に格納されているプログラム、衛星若しくはネットワークから転送され、通信部１８で受信されてハードディスク１５にインストールされたプログラム、またはドライブ１９に装着されたリムーバブル記録媒体２１から読み出されてハードディスク１５にインストールされたプログラムを、RAM(Random Access Memory)１４にロードして実行する。これにより、CPU１２は、後述するフローチャートにしたがった処理、あるいは後述するブロック図の構成により行われる処理を行う。そして、CPU１２は、その処理結果を、必要に応じて、例えば、入出力インタフェース２０を介して、LCD(Liquid CryStal Display)やスピーカ等で構成される出力部１６から出力、あるいは、通信部１８から送信、さらには、ハードディスク１５に記録等させる。
【００３０】
ここで、本明細書において、コンピュータに各種の処理を行わせるためのプログラムを記述する処理ステップは、必ずしも、後述するフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいは個別に実行される処理（例えば、並列処理あるいはオブジェクトによる処理）も含むものである。
【００３１】
また、プログラムは、１のコンピュータにより処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであっても良い。
【００３２】
さらに、プログラムは、コンピュータに内蔵されている記録媒体としてのハードディスク１５やＲＯＭ１３に予め記録しておくことができる他、フロッピーディスク、CD-ROM(Compact Disc Read Only Memory)，MO(Magneto optical)ディスク，DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体２１に、一時的あるいは永続的に格納（記録）しておくことができる。このようなリムーバブル記録媒体２１は、いわゆるパッケージソフトウエアとして提供することができる。
【００３３】
なお、プログラムは、上述したようなリムーバブル記録媒体２１からコンピュータにインストールする他、ダウンロードサイトから、ディジタル衛星放送用の人工衛星を介して、コンピュータに無線で転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを、通信部１８で受信し、内蔵するハードディスク１５にインストールすることができる。
【００３４】
次に、図３は、図１のパッケージサーバ１の機能的構成例を示している。
【００３５】
データベース３１は、パッケージサーバ１がユーザ端末３に提供するパッケージデータ等を記憶している。検索部３２は、返信データ生成部３６からの要求に応じて、データベース３１からパッケージデータを検索し、返信データ生成部３６に供給する。さらに、検索部３２は、返信データ生成部３６から、返信データとしてのパッケージデータを受信し、その返信データを、符号化／暗号化部３４に供給する。符号化／暗号化部３４は、検索部３２からの返信データに対して、ネットワーク２を介して送信を行うためのプロトコル変換（符号化）や、セキュリティ確保のための必要な暗号化等の処理を施し、通信Ｉ／Ｆ(Interface)３７に供給する。復号部３５は、通信Ｉ／Ｆ３７から供給される、ユーザ端末３からのデータに対して、セキュリティ確保のための暗号の解読や、プロトコル変換等の処理を施し、返信データ生成部３６に供給する。
【００３６】
返信データ生成部３６は、復号部３５から供給される、ユーザ端末３からのデータに基づいて、ユーザから要求のあったパッケージデータを認識し、そのパッケージデータを検索するように、検索部３２を制御する。さらに、返信データ生成部３６は、検索部３２から供給されるパッケージデータから、ユーザ端末３に返信するための返信データを生成し、検索部３２に供給する。また、返信データ生成部３６は、ユーザ端末３からの要求等に基づいて、課金処理部３８を制御する。
【００３７】
通信Ｉ／Ｆ３７は、符号化／暗号化部３４からの返信データを、ネットワーク２を介して、ユーザ端末３に送信するとともに、ネットワーク２を介してユーザ端末３から送信されてくるデータを受信して、復号部３５に供給する。課金処理部３８は、返信データ生成部３６の制御にしたがい、課金処理を行う。
【００３８】
次に、図４乃至図６を参照して、パッケージサーバ１（図３）のデータベース３１に記憶されているデータについて説明する。
【００３９】
データベース３１は、ルックアップテーブル（図４（Ａ））と、データ記憶部（図４（Ａ））とから構成されている。
【００４０】
ルックアップテーブルは、図４（Ａ）に示すように、データ記憶部の各エントリに記憶されているパッケージデータを識別するためのコンテンツ識別子と、そのパッケージデータが記憶されているエントリ（のアドレス）を指し示すポインタとから構成されている。なお、図４（Ａ）の実施の形態では、コンテンツ識別子として、ＵＲＬ(Uniform Resource Locator)が用いられている。
【００４１】
データ記憶部は、図４（Ｂ）に示すように、パッケージデータを記憶する１以上のエントリで構成されている。
【００４２】
パッケージデータは、その先頭から、例えば、ヘッダ、アイコンデータ、テキストデータ、リンクデータが順次配置されて構成されている。
【００４３】
ヘッダには、そのパッケージデータについての所定の情報（例えば、パッケージデータのデータ長等）が配置される。
【００４４】
アイコンデータは、ユーザ端末３においてアイコンとして表示される画像データで、パッケージデータは、必ず、１つのアイコンデータを有している。
【００４５】
テキストデータは、アイコンデータと組になり、そのアイコンに対して、所定のイベントが与えられたときに表示されるメニューの項目となるテキストで、パッケージデータは、必要な数のテキストデータを有している。ここで、図４（Ｂ）の実施の形態では、パッケージデータは、Ｍ個のテキストデータを有している。
【００４６】
リンクデータは、テキストデータにリンクさせるパッケージデータを識別するための識別情報で、例えば、そのリンクされているパッケージデータのコンテンツ識別子で構成される。従って、パッケージデータは、基本的には、テキストデータと同一の数だけのリンクデータを有している。
【００４７】
即ち、パッケージデータは、図５に示すように、アイコンデータと、パッケージデータへのリンクを表すリンクデータが対応付けられた必要な数のテキストデータ＃１乃至＃Ｍとの組で構成される。そして、パッケージデータは、その各テキストデータから、他の（自分自身であっても良い）パッケージデータにリンクをはることができ、従って、パッケージデータによれば、それを、いわば基本単位として、複数のパッケージデータからなるリンク構造を構成することができる。
【００４８】
具体的には、例えば、図５に示したように、パッケージデータのアイコンデータを○印で、テキストデータを□印で、それぞれ表すとすると、パッケージデータによれば、図６に示すように、パッケージデータを構成するテキストデータから、他のパッケージデータにリンクをはることができる。そして、そのようなリンク付けを繰り返し行うことにより、理論的には、無限のパッケージデータがリンクされているリンク構造を実現することができる。
【００４９】
なお、パッケージデータのリンク構造は、図６（Ａ）に示すように、木構造とすることは勿論、図６（Ｂ）に点線の矢印で示すように、ループが形成されるような構造等とすることも可能である。
【００５０】
ここで、図５に示したアイコンデータおよびテキストデータの組であるパッケージデータの構造は、アイコンデータを中心として、テキストデータが副次的に付随しているようにも見える。そこで、以下、適宜、パッケージデータの中心点となるデータ（例えば、図５のアイコンデータ）を、メインデータというとともに、そのメインデータと組となってパッケージデータを構成する副次的なデータ（例えば、図５のテキストデータ）を、サブデータという。
【００５１】
次に、図７のフローチャートを参照して、図３のパッケージサーバ１の処理について説明する。
【００５２】
なお、本実施の形態では、ユーザ端末３が、パッケージサーバ１から、パッケージデータの提供を受けるために、例えば、パッケージサーバ１に、あらかじめ登録されていることを必要とし、登録がされたユーザ端末３には、ユーザを識別するためのユーザＩＤ(Identification)が発行されているものとする。
【００５３】
但し、上述のような登録なしで、パッケージデータの提供を行うことも可能である。
【００５４】
パッケージサーバ１には、ネットワーク２を介して、ユーザ端末３から、所定のパッケージデータを要求するリクエスト信号が送信されてくるようになっており、通信Ｉ／Ｆ３７は、ステップＳ１において、ユーザ端末３からのリクエスト信号を受信したかどうかを判定する。なお、リクエスト信号には、例えば、それによって要求するパッケージデータのコンテンツ識別子（図４（Ａ））と、ユーザ端末３のユーザＩＤが含まれているものとする。
【００５５】
ステップＳ１において、ユーザ端末３からのリクエスト信号を受信していないと判定された場合、ステップＳ１に戻り、リクエスト信号を受信するまで、ステップＳ１の処理を繰り返す。
【００５６】
そして、ステップＳ１において、ユーザ端末３からのリクエスト信号を受信したと判定された場合、通信Ｉ／Ｆ３７は、その受信したリクエスト信号を、復号部３５に供給し、復号部３５は、そのリクエスト信号に対して、暗号の解読やプロトコル変換等の処理を施し、返信データ生成部３６に供給する。返信データ生成部３６は、ステップＳ２において、復号部３５からのリクエスト信号に含まれるコンテンツ識別子のパッケージデータを検索するように、検索部３２を制御する。
【００５７】
なお、返信データ生成部３６には、リクエスト信号に含まれるユーザＩＤが登録されているものであるかどうかを確認させ、登録されていないものである場合には、例えば、以降の処理を行わないようにすることができる。
【００５８】
検索部３２は、返信データ生成部３６の制御にしたがい、リクエスト信号に含まれるコンテンツ識別子を、データベース３１のルックアップテーブル（図４（Ａ））から検索し、さらに、そのコンテンツ識別子に対応付けられているポインタが示しているエントリのパッケージデータを、データベース３１から読み出し、返信データ生成部３６に供給する。
【００５９】
返信データ生成部３６は、ステップＳ３において、検索部３２からのパッケージデータに、ユーザ端末３からのリクエスト信号に含まれていたユーザＩＤや、パッケージサーバ１を識別するためのサーバＩＤ等を配置することにより、返信データを生成し、検索部３２を介して、符号化／暗号化部３４に供給する。
【００６０】
符号化／暗号化部３４は、検索部３４を介して供給される返信データに対して、プロトコル変換や必要な暗号化等の処理を施し、通信Ｉ／Ｆ３７に供給する。通信Ｉ／Ｆ３７は、ステップＳ４において、符号化／暗号化部３４からの返信データを、ネットワーク２を介して、リクエスト信号を送信してきたユーザ端末３に送信し、ステップＳ１に戻り、以下、同様の処理を繰り返す。
【００６１】
次に、図８は、図１のユーザ端末３の構成例を示している。
【００６２】
制御部４１は、イベント検出セレクタ部４３において、例えば、処理の終了を指示するイベント等が検出された場合に、その処理の終了のための制御等を行う。なお、制御部４１は、ユーザ端末３を構成する各ブロックの制御を行うが、その制御を表す矢印等は、図が煩雑になるのを避けるために省略してある。
【００６３】
指示部４２は、例えば、マウス等のポインティングデバイスで構成され、カーソルを移動等するときに操作される。なお、指示部４２は、その他、例えば、キーボード等で構成したり、あるいは、マイクおよび音声認識装置で構成することも可能である。
【００６４】
イベント検出セレクタ４３は、指示部４２が操作等されることにより与えられるイベントを検出し、そのイベントに応じて、そのイベントに対応するイベント信号を、制御部４１や、データ検索部４４、選択指示検出部４５、リクエスト信号生成部４６、コンテンツ識別子蓄積部４７等に供給する。
【００６５】
ここで、イベントとしては、例えば、指示部４２としてのマウスのクリックや、ダブルクリック、ドラッグ等がある。なお、本実施の形態では、指示部４２としてのマウスは、例えば、左右の２つのボタンを有するものとし、イベント検出セレクタ４３は、左ボタンが操作されることによるクリック（左クリック）と、右ボタンが操作されることによるクリック（右クリック）とを、異なるイベントとして検出するものとする。
【００６６】
データ検索部４４は、イベント検出セレクタ部４３から供給されるイベント信号等に基づいて、記憶部５２に記憶されたパッケージデータを構成するサブデータ等を検索し、選択指示検出部４５および表示部５１に供給する。
【００６７】
選択指示検出部４５は、イベント検出セレクタ部４３から供給されるイベント信号に基づいて、表示部５１に表示されたサブデータとしてのテキストデータの中から、ユーザによる指示部４２の操作によって選択されたものを、データ検索部４４からのサブデータを参照することで検出し、その検出されたテキストデータに対応するリンクデータを、リクエスト信号生成部４６に供給する。
【００６８】
リクエスト信号生成部４６は、選択指示検出部４５から供給されるリンクデータとしてのコンテンツ識別子を含むリクエスト信号を生成し、符号化／暗号化部４８に供給する。また、リクエスト信号生成部４６は、イベント検出セレクタ部４３からのイベント信号に基づいて、コンテンツ識別子蓄積部４７に蓄積されたコンテンツ識別子を含むリクエスト信号を生成し、符号化／暗号化部４８に供給する。
【００６９】
コンテンツ識別子蓄積部４７は、イベント検出セレクタ部４３からのイベント信号に基づいて、指示部４２としてのマウスのドラッグが開始されたときのカーソルが位置している、Ｗｅｂページのコンテンツを識別するコンテンツ識別子としてのＵＲＬやファイル名を認識して記憶する。なお、コンテンツ識別子蓄積部４７は、ここでは、常に、最新のコンテンツ識別子（最後にドラッグされたコンテンツのコンテンツ識別子）を記憶する。
【００７０】
符号化／暗号化部４８は、リクエスト信号生成部４６からのリクエスト信号に対して、パッケージサーバ１（図３）の符号化／暗号化部３４と同様の処理を施し、通信Ｉ／Ｆ４９に供給する。
【００７１】
通信Ｉ／Ｆ４９は、符号化／暗号化部４８からのリクエスト信号を、ネットワーク２を介して、パッケージサーバ１に送信するとともに、ネットワーク２を介してパッケージサーバ１から送信されてくる返信データを受信して、復号部５０に供給する。
【００７２】
復号部５０は、通信Ｉ／Ｆ４９からの返信データに対して、パッケージサーバ１（図３）の復号部３５と同様の処理を施し、表示部５１および記憶部５２に供給する。
【００７３】
表示部５１は、データ検索部４４から供給されるサブデータや、復号部５１から供給される返信データとしてのパッケージデータのメインデータ等を表示する。
【００７４】
記憶部５２は、復号部５０から供給される返信データとしてのパッケージデータを記憶する。
【００７５】
なお、ユーザ端末３は、ＷＷＷブラウザとして機能するためのブロックも有するが、図８においては（後述する図１８および図６７においても同様）、図が煩雑になるのを避けるため、その図示は省略してある。
【００７６】
次に、図９のフローチャートおよび図１０乃至図１４を参照して、図８のユーザ端末３の処理について説明する。
【００７７】
ユーザ端末３が、パッケージサーバ１からのパッケージデータの提供を受けるためのアプリケーションプログラム（専用ブラウザ６２）を起動するように操作されると、表示部５１において、例えば、図１０に示すように、パッケージデータの提供を受けるための専用ブラウザ６２のウインドウと、必要に応じて、ＷＷＷブラウザ６０のウインドウとがオープンされる。
【００７８】
ＷＷＷブラウザ６０では、ユーザにより指定されたＵＲＬ、またはあらかじめ設定されたＵＲＬのＷｅｂページが、ネットワーク２を介して、ＷＷＷサーバ４に要求され、その結果、ＷＷＷサーバ４から送信されてくるＷｅｂページが表示される。
【００７９】
ここで、専用ブラウザ６２は、リンク表示部６２Ａとアイコン登録部６２Ｂとから構成される。即ち、本実施の形態では、専用ブラウザ６２のウインドウの下部が、アイコン登録部６２Ｂとされており、残りの上部が、リンク表示部６２Ａとされている。
【００８０】
表示部５１には、ＷＷＷブラウザ６０および専用ブラウザ６２（のウインドウ）の他、指示部４２により操作可能なカーソル６１も表示され、ステップＳ１１では、イベント検出セレクタ部４３が、指示部４２としてのマウスが操作されることにより、ＷＷＷブラウザ６０に表示されたＷｅｂページのいずれかのコンテンツがドラッグされ、さらに、専用ブラウザのアイコン登録部６２Ｂ上でドロップされるというイベントが生じたかどうか、即ち、ドラッグアンドドロップが行われたかどうかを判定する。
【００８１】
ステップＳ１１において、ドラッグアンドドロップが行われたと判定された場合、ステップＳ１２に進み、イベント検出セレクタ部４３は、その旨のイベント信号を、リクエスト信号生成部４６に供給し、リクエスト信号生成部４６は、イベント検出セレクタ部４３からのイベント信号に基づき、コンテンツ識別子蓄積部４７を参照することで、ドラッグが開始されたときのカーソルが位置していた、Ｗｅｂページのコンテンツのコンテンツ識別子を検出する。
【００８２】
そして、ステップＳ１３に進み、リクエスト信号生成部４６は、ステップＳ１２で検出したコンテンツ識別子と、ユーザ端末３（のユーザ）に割り当てられたユーザＩＤとを含む、そのコンテンツ識別子に対応するパッケージデータを要求するリクエスト信号を生成し、符号化／暗号化部４８を介して、通信Ｉ／Ｆ４９に供給する。通信Ｉ／Ｆ４９は、ステップＳ１４において、符号化／暗号化部４８を介して供給されるリクエスト信号を、ネットワーク２を介して、パッケージサーバ１に送信する。
【００８３】
その後、ステップＳ１５に進み、イベント検出セレクタ部４３は、後述するようにして、専用ブラウザ６２のリンク表示部６２Ａまたはアイコン登録部６２Ｂに表示されたアイコン上に、カーソル６１が移動され、指示部４２としてのマウスが、例えば、右クリックされるというイベントが生じたかどうかを判定し、右クリックされていないと判定した場合、ステップＳ２１に進む。
【００８４】
ステップＳ２１では、通信部Ｉ／Ｆ４９が、ステップＳ１４または後述するステップＳ２０において送信されたリクエスト信号に対応してパッケージサーバ１が送信してくるパッケージデータとしての返信データを受信したかどうかを判定する。
【００８５】
ステップＳ２１において、返信データを受信したと判定された場合、通信Ｉ／Ｆ４９は、その返信データとしてのパッケージデータを、復号部５０を介して、表示部５１および記憶部５２に供給し、ステップＳ２２に進む。
【００８６】
ステップＳ２２では、記憶部５２は、復号部５０を介して供給されるパッケージデータを記憶し、ステップＳ２３に進む。ステップＳ２３では、表示部５１は、復号部５０を介して供給されるパッケージデータを構成するアイコンデータに対応するアイコンを、専用ブラウザ６２のリンク表示部６２Ａまたはアイコン登録部６２Ｂに表示し、ステップＳ２４に進む。
【００８７】
ここで、パッケージサーバ１（のデータベース３１）は、Ｗｅｂページを構成するコンテンツを象徴するアイコン（例えば、コンテンツが、gif形式の画像データ等であれば、その画像を縮小したアイコン）に対応するアイコンデータを有するパッケージデータを、そのコンテンツと同一のコンテンツ識別子に対応付けて記憶しており、従って、例えば、図１１に示すように、ＷＷＷブラウザ６０に表示されたＷｅｂページの画像コンテンツが、専用ブラウザ６２のアイコン登録部６２Ｂにドラッグアンドドロップされた場合には、ステップＳ１１乃至Ｓ１５，Ｓ２１乃至Ｓ２３の順で処理が行われ、その結果、アイコン登録部６２Ｂには、その画像コンテンツを象徴するアイコン６３が表示される。
【００８８】
ステップＳ２４では、イベント検出セレクタ部４３は、指示部４２としてのマウスが、専用ブラウザをクローズするように操作されたかどうかを判定し、そのような操作が行われていないと判定した場合、ステップＳ１１に戻り、以下、同様の処理を繰り返す。
【００８９】
一方、ステップＳ１５において、専用ブラウザ６２のリンク表示部６２Ａまたはアイコン登録部６２Ｂに表示されたアイコン上に、カーソル６１が移動され、指示部４２としてのマウスが右クリックされるというイベントが生じたと判定された場合、ステップＳ１６に進み、イベント検出セレクタ部３４は、右クリックされた旨のイベント信号を、データ検索部４４に供給することにより、その右クリックされたときにカーソル６１が位置していたアイコンに対応するアイコンデータと組になっているテキストデータを、記憶部５２から検索させる。
【００９０】
データ検索部４４は、記憶部５２からテキストデータを検索すると、ステップＳ１７において、そのテキストデータを項目とするプルダウンメニューを作成し、表示部５１に表示させる。
【００９１】
ここで、例えば、図１１において、アイコン登録部６２Ｂに表示されたアイコン６３が、例えば、アーティストの顔写真である場合には、そのアイコン６３に対応するアイコンデータは、そのアーティストが歌っている曲の曲名を表すテキストデータと組になってパッケージデータを構成しており、従って、そのようなアイコンに対して右クリックがされた場合には、図１２（Ａ）に示すように、テキストデータとしての曲名を項目とするプルダウンメニュー６４が表示される。
【００９２】
表示部５１においてプルダウンメニューが表示された後は、ステップＳ１７からＳ１８に進む。そして、イベント検出セレクタ部４３は、ユーザが指示部４２を操作することにより、プルダウンメニューのいずれかの項目を選択した場合には、ステップＳ１８において、その選択があったことを検出し、対応するイベント信号を、データ検索部４４および選択指示検出部４５に供給する。データ検索部４４は、このイベント信号を受信すると、ユーザが指示部４２を操作することにより選択したプルダウンメニューの項目のテキストデータに対応するリンクデータを、記憶部５２から検索し、選択指示検出部４５に供給する。選択指示検出部４５は、データ検索部４４からのリンクデータとしてのコンテンツ識別子を、リクエスト信号生成部４６に供給し、これにより、リクエスト信号生成部４６は、ステップＳ１９において、選択指示検出部４５からのコンテンツ識別子を含むリクエスト信号を生成する。
【００９３】
さらに、リクエスト信号生成部４６は、ステップＳ１９で生成したリクエスト信号を、符号化／暗号化部４８を介して、通信Ｉ／Ｆ４９に供給する。通信Ｉ／Ｆ４９は、ステップＳ２０において、符号化／暗号化部４８を介して供給されるリクエスト信号を、ネットワーク２を介して、パッケージサーバ１に送信する。その後、ステップＳ２１に進み、以下、同様の処理が繰り返される。そして、ステップＳ２４において、指示部４２としてのマウスが、専用ブラウザ６２をクローズするように操作されたと判定されると、制御部４１は、ＷＷＷブラウザ６０および専用ブラウザ６２をクローズし、処理を終了する。
【００９４】
従って、例えば、図１２（Ａ）に示したように、曲名のプルダウンメニューが表示されている場合において、図１２（Ｂ）に示すように、カーソル６１が、そのうちの曲名「△△△」に移動されて左クリック等されることにより選択されると、その曲名「△△△」を表すテキストデータに対応するリンクデータとしてのコンテンツ識別子が、パッケージサーバ１に送信される。
【００９５】
そして、例えば、いま、曲名を表すテキストデータに対応するリンクデータとしてのコンテンツ識別子に対応付けられているパッケージデータが、その曲が収められているアルバムのジャケット写真を縮小したアイコンデータを有するものであるとすると、パッケージサーバ１からは、そのようなパッケージデータが、返信データとして、ユーザ端末３に送信されてくる。
【００９６】
このパッケージデータは、上述したように、ステップＳ２２で記憶部５２で記憶され、さらに、そのパッケージデータのアイコンデータに対応するアイコンは、表示部５１に表示される。
【００９７】
即ち、これにより、図１３（Ａ）に示すように、専用ブラウザ６２には、ユーザにより選択された曲名の曲が収められているアルバムのジャケット写真を縮小したアイコン６５が表示される。
【００９８】
ここで、本実施の形態では、ＷＷＷブラウザ６０上のコンテンツを、アイコン登録部６２Ｂ上にドラッグアンドドロップした場合には、そのコンテンツに対応するアイコンが、アイコン登録部６２Ｂに表示される。一方、パッケージデータのテキストデータ（サブデータ）からリンクがはられているパッケージデータが有するアイコンデータに対応するアイコンは、リンク表示部６２Ａに表示される。このため、アイコン登録部６２Ｂに表示されたアイコン６３を右クリックすることにより表示されるプルダウンメニュー６４（図１２）から選択された曲名としてのテキストデータからリンクされているパッケージデータが有するアイコンデータに対応するジャケット写真のアイコン６５は、図１３（Ａ）に示したように、専用ブラウザ６２のリンク表示部６２Ａに表示される。
【００９９】
また、アイコン登録部６２Ｂに表示されたアイコンは、そのアイコン登録部６２上に登録され、専用ブラウザ６２がクローズされても、そのアイコンに対応するアイコンデータを有するパッケージデータは、記憶部５２に記憶されたままにされる。これに対して、リンク表示部６２Ａに表示されたアイコンを有するパッケージデータは、例えば、専用ブラウザ６２がクローズされるときに、記憶部５２から消去される。従って、その後、再び、専用ブラウザ６２がオープンされると、アイコン登録部６２Ｂに登録されたアイコンは表示されるが、リンク表示部６２Ａに表示されていたアイコンは表示されない。
【０１００】
リンク表示部６２Ａに表示された、ジャケット写真のアイコン６５上にカーソル６１を移動し、操作部４２としてのマウスを左クリックすると、上述した場合と同様にして、図１３（Ｂ）に示すように、そのアイコン６５に対応するアイコンデータと組になっているテキストデータによる項目からなるプルダウンメニュー６６が表示される。
【０１０１】
プルダウンメニュー６６は、アイコン６５に象徴されるアルバムの内容の視聴、購入、歌詞の表示（歌詞表示）の各項目からなり、図１３（Ｃ）に示すように、例えば、ユーザが、そのうちの購入の項目上にカーソル６１を移動して、指示部４２を左クリックすることにより、アイコン６５で象徴されるアルバムに収められている曲のデータを購入することを選択すると、上述した場合と同様にして、ユーザ端末３からリクエスト信号が送信され、さらに、そのリクエスト信号に応じて、購入の項目のテキストデータからリンクされているパッケージデータが、パッケージサーバ１からユーザ端末３に送信される。そして、リンク表示部６２Ａにおいては、図１３（Ｄ）に示すように、そのパッケージデータが有するアイコンデータに対応するアイコン６７が、例えば、リンク表示部６２Ａの最後に表示されたアイコン６５の右隣に表示される。
【０１０２】
ここで、図１３（Ｃ）に示したプルダウンメニューの購入の項目のテキストデータからは、曲のデータを購入する際の決済を象徴するアイコン６７のアイコンデータを有するパッケージデータにリンクがはられており、図１３（Ｄ）では、そのようなアイコン６７が、リンク表示部６２Ａに表示されている。
【０１０３】
さらに、リンク表示部６２Ａに表示された、決済を象徴するアイコン６７上にカーソル６１を移動し、操作部４２としてのマウスをクリックすると、上述した場合と同様にして、図１４（Ａ）に示すように、そのアイコン６７に対応するアイコンデータと組になっているテキストデータによる項目からなるプルダウンメニュー６８が表示される。
【０１０４】
プルダウンメニュー６８は、アイコン６７に象徴される決済の方法としてのクレジットカードによる支払い、電子マネーによる支払い、コンビニエンスストアでの支払い（コンビニ決済）の各項目からなり、ユーザが、そのうちのいずれかの項目上にカーソル６１を移動して、指示部４２を左クリックすることにより、曲のデータの決済方法を選択すると、専用ブラウザ６２は、その選択された決済方法に対応する処理を行う。
【０１０５】
即ち、例えば、クレジットカードによる支払いが選択された場合には、ユーザ端末３の専用ブラウザ６２は、クレジットカードの番号等を入力するためのダイアログボックスを表示し、その入力を待って、ユーザがデータの購入を選択した曲を表す曲識別情報とともに、購入情報として、パッケージサーバ１に送信する。
【０１０６】
購入情報のうち、クレジットカードの番号は、パッケージサーバ１（図３）の課金処理部３８で課金処理され、後日、曲のデータの代金の引き落としが行われる。
【０１０７】
さらに、パッケージサーバ１は、ユーザ端末３からの購入情報のうちの曲識別情報によって特定される曲のデータを、図示せぬデータベースや、ネットワーク２上の図示せぬサーバから取得し、ユーザ端末３に送信する。
【０１０８】
ユーザ端末３は、以上のようにしてパッケージサーバ１から送信されてくる曲のデータのダウンロードを行い、例えば、図示せぬ携帯型のメモリ等に記憶させる。
【０１０９】
以上のように、専用ブラウザ６２では、情報等を象徴するアイコンが表示され、さらに、そのアイコンに付随してプルダウンメニューが表示される。そして、そのプルダウンメニューの項目を選択すると、その項目に対応するテキストデータからリンクされているパッケージデータが有するアイコンが表示されることが繰り返されるので、ユーザは、同一操作により、所望の情報に辿り着くこと等が可能となる。
【０１１０】
なお、パッケージサーバ１においては、曲のデータの送信を開始する直前に、データのダウンロード中であることを象徴するアイコン６９のアイコンデータ（パッケージデータではない）を、ユーザ端末３に送信するようにすることができ、この場合、ユーザ端末３の専用ブラウザ６２では、図１４（Ｂ）に示すように、アイコン６９を、例えば、リンク表示部６２Ａの最後に表示されたアイコン６７の右隣に表示するようにすることができる。また、パッケージサーバ１においては、アイコン６９のアイコンデータを有するパッケージデータに、プルダウンメニュー６８の各項目に対応するテキストデータからリンクをはっておき、そのうちのいずれかの項目が左クリックされたときに、アイコン６９のアイコンデータを有するパッケージデータを、ユーザ端末３に送信するようにすることも可能である。
【０１１１】
さらに、上述の場合には、リンク表示部６２Ａにおいて、新たなアイコンを、最後に表示されたアイコンの右隣に表示するようにしたが、新たなアイコンは、既にリンク表示部６２Ａに表示されているアイコンに上書きする形で表示することも可能である。
【０１１２】
また、アイコン登録部６２Ｂは、複数の領域に分けることができ、この場合、各領域には、同一のカテゴリの情報に関するアイコンを登録することが可能である。即ち、アイコン登録部６２では、例えば、音楽や、映画、ニュースといった各カテゴリのアイコンを、そのカテゴリごとに異なる領域に登録して表示することが可能である。
【０１１３】
さらに、上述の場合には、専用ブラウザ６２（のウインドウ）を、リンク表示部６２Ａとアイコン登録部６２Ｂの２つの領域に分けるようにしたが、専用ブラウザ６２は、そのように領域を分けずに、１つの領域で構成することも可能である。
【０１１４】
また、上述の場合には、専用ブラウザ６２がクローズされたときに、記憶部５２において、アイコン登録部６２Ｂに表示されたアイコンを有するパッケージデータのみを記憶しておき、リンク表示部６２Ａに表示されたアイコンを有するパッケージデータは消去するようにしたが、すべてのパッケージデータを、記憶部５２に記憶させておくことも可能である。この場合、再度、専用ブラウザ６２がオープンされると、専用ブラウザ６２には、アイコン登録部６２Ｂに登録されたアイコンと、そのアイコンを、いわば開始点として、ユーザが辿っていったパッケージデータが有するアイコンのシーケンスが表示されるから、例えば、ＵＲＬのような、あるＷｅｂページを特定するための情報ではなく、ユーザが辿っていったリンクの、いわゆるブックマークが、アイコンという視覚に訴えるメディアで実現されることになる。なお、アイコン登録部６２Ｂには、ＷＷＷブラウザ６０上に表示されたＷｅｂページを構成するコンテンツを象徴するアイコンが登録されるが、この点に注目すれば、Ｗｅｂページ単位ではなく、コンテンツ単位のブックマークが実現されていることになる。
【０１１５】
さらに、上述の場合には、専用ブラウザ６２に表示されたアイコン上に、カーソル６１を移動し、右クリックをしたときに、そのアイコンに対応するアイコンデータと組になっているテキストデータでなるプルダウンメニューを表示するようにしたが、プルダウンを表示する際のイベントは、右クリックに限定されるものではなく、その他、例えば、カーソル６１が、アイコン上に位置するときに、プルダウンメニューを表示するようにすることも可能である。プルダウンメニューの項目の選択等の他のアクションを起動するときのイベントについても、同様に、上述したイベントに限定されるものではない。
【０１１６】
また、上述の場合には、パッケージサーバ１において、最終的に、曲のデータのダウンロードが行われるときに、その曲のデータに対する対価として、課金を行うようにしたが、パッケージデータの提供に対しても、必要に応じて、課金を行うようにすることが可能である。
【０１１７】
さらに、上述の場合には、曲のデータのダウンロードを行うようにしたが、曲のデータ等の音声データ（オーディオデータ）の他、例えば、映画等の画像データ（ビデオデータ）や、プログラム等のダウンロードを行うようにすることも可能である。ここで、上述の場合には、曲のデータのダウンロードを、パッケージサーバ１から行うようにしたが、曲のデータのダウンロードは、ネットワーク２上のその他のサーバから行うようにすることも可能である。
【０１１８】
また、ユーザ端末３においては、パッケージサーバ１からダウンロードして、記憶部５２に記憶させたパッケージデータは更新することが可能である。即ち、例えば、パッケージサーバ１（図３）において、データベース３１に記憶されたパッケージデータのアイコンデータやテキストデータが更新される場合には、その更新後のパッケージデータによって、ユーザ端末３の記憶部５２のパッケージデータを更新することが可能である。
【０１１９】
記憶部５２のパッケージデータの更新方法としては、いわゆるプッシュ技術を利用することができる。即ち、例えば、リクエスト信号生成部４６において、定期的または非定期に、記憶部５２に記憶されたパッケージデータに対応するコンテンツ識別子を含むリクエスト信号を生成して、パッケージサーバ１に送信し、そのリクエスト信号に対応して、パッケージサーバ１から送信されてくるパッケージデータによって、記憶部５２に記憶されたパッケージデータを更新することができる。
【０１２０】
その他、例えば、ユーザ端末３に、固有の端末ＩＤを割り当て、パッケージサーバ１において、ユーザ端末３がダウンロードしたパッケージデータのコンテンツ識別子を、そのユーザ端末３の端末ＩＤと対応付けて記憶しておくようにする一方、ユーザ端末３において、例えば、インターネットであるネットワーク２に接続したときに、ユーザ端末３に割り当てられるＩＰ(Internet Protocol)アドレスを端末ＩＤと対応付けて、パッケージサーバ１に送信することによっても、記憶部５２に記憶されたパッケージデータの更新を実現することができる。
【０１２１】
即ち、この場合、パッケージサーバ１では、ユーザ端末３からＩＰアドレスと端末ＩＤとを受信したときに、その端末ＩＤと対応付けられているコンテンツ識別子のパッケージデータのうちの更新されているものを検出し、その更新されているパッケージデータを、端末ＩＤとともに送信されてきたＩＰアドレスを宛先として送信することにより、ユーザ端末３では、記憶部５２に記憶されたパッケージデータのうち、更新されたものを受信することができる。
【０１２２】
以上のように、ユーザ端末３の記憶部５２に記憶されたパッケージデータを更新する場合には、専用ブラウザ６２に表示されるアイコンや、そのアイコンに付随して表示されるプルダウンメニューの項目が、適宜、あるいは時々刻々と変化し、ユーザに興味を持たせることが可能となる。
【０１２３】
ところで、上述の場合には、パッケージデータを構成するメインデータがアイコンデータであり、そのメインデータと組になっているサブデータがテキストデータであるから、ユーザは、そのテキストデータでなるプルダウンメニューを見ることによって、テキストにより情報の認識をすることができる。
【０１２４】
即ち、例えば、図１２に示したように、アーティストの顔写真のアイコン６３を右クリックすることで表示されるプルダウンメニュー６４には、そのアーティストが歌っている曲の曲名がテキストで表示されるから、ユーザは、曲名をテキストで知ることができる。しかしながら、テキストによる曲名を知りたいユーザだけではなく、実際に曲を聴いてみたいユーザや、アーティストの曲が収められているアルバムのジャケットの画像を見たいユーザ等がいる。
【０１２５】
そこで、パッケージサーバ１のデータベース３１には、テキストや、画像データ、音声データ等の複数のメディアのデータのうちのいずれかをメインデータとするとともに、複数のメディアのデータのうちの２以上のメディアのデータをサブデータとして構成したパッケージデータを記憶させ、パッケージサーバ１からユーザ端末３に対して、そのようなパッケージデータを提供するようにすることが可能である。
【０１２６】
この場合、データベース３１のデータ記憶部における各エントリには、図１５に示すようなパッケージデータが記憶される。
【０１２７】
即ち、この場合、パッケージデータは、その先頭から、例えば、ヘッダ、メインデータとしての画像データ、テキストデータ、または音声データのうちのいずれか、サブデータとしてのテキストデータおよびテキスト用リンクデータ、画像データおよび画像用リンクデータ、並びに音声データおよび音声用画像データが順次配置されて構成されている。
【０１２８】
ヘッダ、テキストデータ、テキスト用リンクデータは、図４（Ｂ）に示したパッケージデータのヘッダ、テキストデータ、リンクデータとそれぞれ同様のものである。
【０１２９】
メインデータとしては、ここでは、例えば、画像データ、テキストデータ、音声データのうちのいずれかを用いることができる。なお、メインデータとして画像データまたはテキストデータが用いられる場合には、そのメインデータとしての画像データまたは音声データは表示可能であるが、メインデータとして音声データが用いられる場合には、そのメインデータとしての音声データは表示することができないため、その音声データを象徴するようなアイコンが表示される。このため、メインデータとして音声データが用いられる場合には、そのメインデータには、音声データの他、その音声データを象徴するようなアイコンのアイコンデータも含まれる。但し、メインデータとしての画像データやテキストデータについても、それらを象徴するようなアイコンのアイコンデータを含めることが可能である。
【０１３０】
サブデータとしての画像データと画像用リンクデータ、または音声データと音声用リンクデータは、メディアがテキストではなく、画像または音声であるという点を除けば、図４（Ｂ）に示したパッケージデータのテキストデータとリンクデータと同様のものなので、その説明は省略する。
【０１３１】
従って、この場合、パッケージデータは、図１６に示すように、メインデータとなる画像データ、音声データ、またはテキストデータのうちの１つと、パッケージデータへのリンクを表すリンクデータが対応付けられた必要な数のテキストデータ＃１乃至＃Ｍ1、画像データ＃１乃至＃Ｍ2、および音声データ＃１乃至＃Ｍ3との組で構成される。そして、この場合も、パッケージデータは、サブデータである各テキストデータ、画像データ、音声データから、他の（自分自身であっても良い）パッケージデータにリンクをはることができるから、パッケージデータを基本単位として、複数のパッケージデータからなるリンク構造を構成することができる。
【０１３２】
具体的には、例えば、図１６に示したように、パッケージデータのメインデータを◎印で、サブデータとしてのテキストデータを□印で、画像データを○印で、音声データを△印で、それぞれ表すとすると、上述のようなマルチメディアのデータで構成されるパッケージデータであっても、図１７に示すように、パッケージデータを構成するサブデータとしての各メディアのデータから、他のパッケージデータにリンクをはることができる。そして、そのようなリンク付けを繰り返し行うことにより、やはり、理論的には、無限のパッケージデータがリンクされているリンク構造を実現することができる。
【０１３３】
なお、図１７では、図が煩雑になるのを避けるため、各メインデータ（◎印）が、サブデータとしての１つずつのテキストデータ（□印）、画像データ（○印）、音声データ（△印）と組になっているパッケージデータを示してある。
【０１３４】
また、このように、マルチメディアのデータで構成されるパッケージデータ（以下、適宜、マルチメディアパッケージデータという）であっても、図６における場合と同様に、そのリンク構造は、木構造とすることも、また、ループが形成されるような構造等とすることも可能である。
【０１３５】
次に、図１８は、パッケージサーバ１が、マルチメディアパッケージデータを提供する場合のユーザ端末３の構成例を示している。なお、図中、図８における場合と対応する部分については、同一の符号を付してある。
【０１３６】
即ち、図１８のユーザ端末３は、マルチメディアパッケージデータを構成する音声データを出力するスピーカ５３が設けられている他は、基本的に、図８における場合と同様に構成されているので、その説明は省略する。
【０１３７】
次に、図１９のフローチャート、並びに図２０乃至図２２を参照して、図１８のユーザ端末３（専用ブラウザ６２）の処理について説明する。
【０１３８】
ユーザ端末３では、ステップＳ３１乃至Ｓ４３において、基本的には、図９のステップＳ１１乃至Ｓ２３における場合とそれぞれ同様の処理が行われる。
【０１３９】
但し、ステップＳ４１において、パッケージサーバ１から返信データとしてのマルチメディアパッケージデータを受信したと判定された場合には、ステップＳ４２に進み、そのマルチメディアパッケージデータが、記憶部５２に記憶され、さらに、ステップＳ４３に進み、そのマルチメディアパッケージデータのメインデータとなっている画像データ、音声データ、若しくはテキストデータを象徴するアイコンが、表示部５１にオープンされた専用ブラウザ６２に表示されるか、または、その画像データ、音声データ、若しくはテキストデータが、表示部５１で表示され、あるいはスピーカ５３から出力される。
【０１４０】
また、ステップＳ３５において、専用ブラウザ６２に表示されたメインデータを象徴するアイコンに対して、右クリックのイベントが与えられたと判定された場合には、ステップＳ３６に進み、データ検索部４４において、そのメインデータと組になっているサブデータが、記憶部５２から検索され、ステップＳ３７に進む。ステップＳ３７では、データ検索部４４で検索されたサブデータとなっているテキストデータ、画像データ、または音声データが、必要に応じて、表示部５１で表示され、あるいはスピーカ５３から出力される。なお、このとき、専用ブラウザ６２では、その他の必要な表示が行われる。即ち、例えば、サブデータとしてのテキストデータが、プルダウンメニューの項目を構成するものである場合には、そのプルダウンメニューの表示が行われる。また、例えば、サブデータとしての音声データについては、その再生等の制御や音声データの選択等のためのボタンの表示が行われる。
【０１４１】
そして、その後に行われるステップＳ３８では、ユーザが指示部４２を操作することにより、サブデータのいずれかを選択した場合には、イベント検出セレクタ部４３において、そのサブデータの選択が検出され、対応するイベント信号が、データ検索部４４および選択指示検出部４５に供給される。データ検索部４４は、このイベント信号を受信すると、ユーザが指示部４２を操作することにより選択したサブデータに対応するリンクデータを、記憶部５２から検索し、選択指示検出部４５に供給する。選択指示検出部４５は、データ検索部４４からのリンクデータとしてのコンテンツ識別子を、リクエスト信号生成部４６に供給し、これにより、リクエスト信号生成部４６は、ステップＳ３９において、選択指示検出部４５からのコンテンツ識別子を含むリクエスト信号を生成する。
【０１４２】
このリクエスト信号は、ステップＳ４０において、パッケージサーバ１に送信され、パッケージサーバ１は、そのリクエスト信号に含まれるコンテンツ識別子で特定されるマルチメディアパッケージデータを、返信データとして、ユーザ端末３に送信する。そして、ステップＳ４１において、この返信データとしてのマルチメディアパッケージデータが、ユーザ端末３の通信Ｉ／Ｆ４９で受信されたと判定されると、以下、上述したように、ステップＳ４２において、そのマルチメディアパッケージデータが記憶部５２に記憶され、さらに、ステップＳ４３において、そのマルチメディアパッケージデータのメインデータとなっている画像データ、音声データ、若しくはテキストデータを象徴するアイコンが、表示部５１にオープンされた専用ブラウザ６２に表示されるか、または、その画像データ、音声データ、若しくはテキストデータが、表示部５１で表示され、あるいはスピーカ５３から出力される。
【０１４３】
従って、例えば、図２０に示すように、ＷＷＷブラウザ６０に表示されたＷｅｂページの画像コンテンツが、専用ブラウザ６２のアイコン登録部６２Ｂにドラッグアンドドロップされた場合には、その画像コンテンツのコンテンツ識別子で特定されるマルチメディアパッケージデータが、パッケージサーバ１からダウンロードされ、そのマルチメディアパッケージデータのメインデータが、専用ブラウザ６２のアイコン登録部６２Ｂに表示される。
【０１４４】
ここで、図２０では、ドラッグアンドドロップされた画像コンテンツのコンテンツ識別子で特定されるマルチメディアパッケージデータのメインデータが画像データとされており、アイコン登録部６２Ｂでは、その画像データに対応する画像７１が表示されている。なお、メインデータが音声データやテキストデータである場合には、その音声データに対応する音声をスピーカ５３から出力し、あるいはそのテキストデータに対応するテキストを表示部５１で表示する他、その音声データやテキストデータを象徴するアイコンを、アイコン登録部６２Ｂに表示することが可能である。また、メインデータが画像データの場合であっても、同様に、アイコン登録部６２Ｂには、その画像データを象徴するアイコンを表示するようにすることが可能である。
【０１４５】
専用ブラウザ６２のアイコン登録部６２Ｂに、画像７１が表示された後に、その画像７１上にカーソル６１を移動して、右クリックを行うと、図２１に示すように、サブデータが出力（表示部５１における表示と、スピーカ５３からの出力の両方を含む）され、さらに、必要な表示が行われる。
【０１４６】
即ち、図２１では、サブデータとしてのテキストデータを項目とするプルダウンメニュー７２が、表示部５１に表示されている。また、図２１では、サブデータとしての画像７３が、表示部５１に表示されている。さらに、図２１では、サブデータとしての音声が、スピーカ５３から出力され、その音声の再生制御や選択を行うための操作パネル７４が、表示部５１に表示されている。
【０１４７】
なお、図２１において、メインデータとしての画像７１は、アーティストの顔写真の画像であり、サブデータとしてのプルダウンメニュー７２は、そのアーティストが歌っている曲名を表すテキストで構成されている。また、サブデータとしての画像７３は、プルダウンメニュー７２の項目となっている曲名の曲が収められているアルバムのジャケット写真の画像で構成されている。さらに、サブデータとしての音声データは、プルダウンメニュー７２の項目となっている曲名の曲の先頭部分の音声データをつなぎ合わせたものとなっており、従って、スピーカ５３からは、プルダウンメニュー７２の項目となっている曲名の曲の先頭部分が順次出力される。また、図２１において、操作パネル７４は、スピーカ５３から出力される曲の巻き戻しを指示する巻き戻しボタン７４Ａ、早送りを指示する早送りボタン７４Ｂ、再生を指示する再生ボタン７４Ｃ、停止を指示する停止ボタン７４Ｄ、選択を指示する選択ボタン７４Ｅから構成されている。
【０１４８】
従って、ユーザは、テキストによって曲名を知ることもできるし、実際に曲を聴いてみることもできる。さらには、曲が収められているアルバムのジャケットの画像を見ることもできる。
【０１４９】
スピーカ５３からサブデータとしての曲の先頭部分が順次再生されている場合において、ユーザが、カーソル６１を、選択ボタン７４Ｅ上に移動して、例えば、左クリックを行うと、そのときスピーカ５３から再生されていた曲の音声データが選択されたことが検出され、その音声データに対応する音声用リンクデータとしてのコンテンツ識別子が、リクエスト信号に含められて、パッケージサーバ１に送信される。
【０１５０】
この場合、例えば、そのコンテンツ識別子により特定されるマルチメディアパッケージデータのメインデータが、ユーザにより選択された曲全体の音声データであるとすると、そのような音声データをメインデータとするマルチメディアパッケージデータが、パッケージサーバ１からユーザ端末３に送信され、ユーザ端末３では、図２２に示すように、そのマルチメディアパッケージデータのメインデータとなっている音声データを象徴するアイコン７５が、専用ブラウザ６２のリンク表示部６２Ａに表示され、さらに、その音声データに対応する曲が、スピーカ５３から出力される。
【０１５１】
専用ブラウザ６２のリンク表示部６２Ａに、アイコン７５が表示された後に、そのアイコン７５上にカーソル６１を移動して、右クリックを行うと、図２２に示すように、サブデータが出力され、さらに、必要な表示が行われる。
【０１５２】
即ち、図２２では、サブデータとしてのテキストデータを項目とするプルダウンメニュー７６が、表示部５１に表示されている。また、図２２では、サブデータとしての画像７７が、表示部５１に表示されている。さらに、図２２では、サブデータとしての音声の再生制御や選択を行うための操作パネル７８が、表示部５１に表示されている。
【０１５３】
なお、図２２において、サブデータとしてのプルダウンメニュー７６は、そのサブデータと組になっているメインデータとしての音声データに対応する曲に対する各解説者の解説内容を表すテキストで構成されている。また、サブデータとしての画像７７は、プルダウンメニュー７６の項目となっている解説を行った角解説者の写真の画像で構成されている。
【０１５４】
さらに、図２２において、サブデータとしての音声データは、プルダウンメニュー７６の項目となっている各解説の音声データをつなぎ合わせたものとなっている。但し、マルチメディアパッケージデータがダウンロードされた直後においては、スピーカ５３からは、そのマルチメディアパッケージデータのメインデータである音声データに対応する曲が出力されており、そのサブデータである音声データに対応する解説は出力されていない。
【０１５５】
このサブデータである音声データに対応する解説は、例えば、操作パネル７８が操作されることにより、スピーカ５３から出力される。即ち、操作パネル７８は、図２１の操作パネル７４が有する巻き戻しボタン７４Ａ、早送りボタン７４Ｂ、再生ボタン７４Ｃ、停止ボタン７４Ｄ、または選択ボタン７４Ｅそれぞれと同一構成の巻き戻しボタン７８Ａ、早送りボタン７８Ｂ、再生ボタン７８Ｃ、停止ボタン７８Ｄ、または選択ボタン７８Ｅを有しており、例えば、再生ボタン７８Ｃがクリックされると、メインデータとしての音声データに対応する曲の再生が停止され、サブデータとしての音声データに対応する解説の再生が開始される。
【０１５６】
ここで、サブデータとしての音声データに対応する解説の再生が開始された場合であっても、メインデータとしての音声データに対応する曲の再生を停止せずに、例えば、その音量を、解説の音量よりも十分小さくして、曲の再生を続行することが可能である。
【０１５７】
以上から、ユーザは、テキストによって曲の解説内容を読むこともできるし、その解説内容を音声で聴くこともできる。さらには、解説を行っている解説者の画像を見ることもできる。
【０１５８】
なお、上述の場合には、例えば、図２１で説明したように、メインデータとしての画像７１が、アーティストの顔写真の画像であるときに、そのアーティストが歌っている曲名を表すテキストデータ、その曲が収められているアルバムのジャケット写真の画像データ、およびその曲の音声データを、サブデータとするようにしたが、サブデータとしてのテキストデータ、画像データ、および音声データは、そのような同一内容のデータである必要はなく、異なる内容のデータであっても良い。即ち、例えば、サブデータとしてのテキストデータは、アーティストが歌っている曲の歌詞とし、画像データは、アーティストのビデオクリップとし、音声データは、アーティストが歌っている曲に対する解説者による解説とすることができる。
【０１５９】
次に、上述の場合においては、パッケージサーバ１からユーザに提供されるマルチメディアパッケージデータについては、そのリンク構造も、また、各マルチメディアパッケージデータの内容も、パッケージサーバ１側で定められており、従って、すべてのユーザに対して、同一の内容で、かつ同一のリンク構造のマルチメディアパッケージデータが提供される。
【０１６０】
即ち、パッケージサーバ１において、例えば、図２３（Ａ）に示すように、マルチメディアパッケージデータａ，ｂ，ｃ，ｄ，ｅの順でリンクがはられている場合には、すべてのユーザは、そのようにリンクを辿っていなければ、マルチメディアパッケージデータｅの提供を受けることができない。また、パッケージサーバ１において、例えば、図２３（Ｂ）に示すように、メインデータと組になっているサブデータとしてのテキストデータや、画像データ、音声データが多数ある場合には、すべてのユーザに対して、そのような多数のサブデータが提供される。
【０１６１】
ここで、図２３において（後述する図２４においても同様）、◎印、□印、○印、△印は、図１６における場合と同様に、マルチメディアパッケージデータのメインデータ、サブデータとしてのテキストデータ、画像データ、音声データを、それぞれ表す。
【０１６２】
しかしながら、例えば、マルチメディアパッケージデータａからリンクを辿る場合には、ほぼ確実に、マルチメディアパッケージデータｅに辿り着くユーザにとっては、マルチメディアパッケージデータａ，ｂ，ｃ，ｄ，ｅの順で、リンクを辿っていくのは面倒である。また、例えば、サブデータとして、テキストデータと画像データは必要とするが、音声データを不要とするユーザにとっては、サブデータとしての音声データが出力されるのは煩わしい。
【０１６３】
そこで、パッケージサーバ１においては、マルチメディアパッケージデータのリンク構造や、各マルチメディアパッケージデータの内容を、ユーザごとにカスタマイズして、マルチメディアパッケージデータの提供を行うようにすることができる。
【０１６４】
即ち、パッケージサーバ１においては、例えば、図２４（Ａ）に示すように、マルチメディアパッケージデータａからｅに直接リンクがはられるように、リンク構造を変更したり、また、図２４（Ｂ）に示すように、テキストデータと画像データのみを含み、音声データを含まないように、サブデータの内容を変更して、マルチメディアパッケージデータを提供するようにすることができる。
【０１６５】
ここで、サブデータについては、その他、例えば、サブデータとしてのテキストデータによるプルダウンメニューの項目の変更（削除および追加を含む）、さらには、プルダウンメニューの項目の順番の変更等のカスタマイズが可能である。なお、サブデータには、リンクデータが付随するから、サブデータとしてのプルダウンメニューの項目（テキストデータ）の追加や削除は、マルチメディアパッケージデータへのリンクの追加や削除でもある。
【０１６６】
図２５は、マルチメディアパッケージデータのリンク構造や、各マルチメディアパッケージデータの内容のカスタマイズ可能なパッケージサーバ１の構成例を示している。なお、図中、図３における場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。即ち、図２５のパッケージサーバ１は、ユーザ情報記憶部３９が新たに設けられている他は、基本的に、図３における場合と同様に構成されている。
【０１６７】
ユーザ情報記憶部３９では、ユーザに関するユーザ情報が収集されて記憶される。
【０１６８】
ユーザ情報記憶部３９に記憶されるユーザ情報は、図２６に示すように、ユーザ嗜好情報（図２６（Ａ））と、変更情報（図２６（Ｂ））とから構成される。
【０１６９】
ユーザ嗜好情報は、図２６（Ａ）に示すように、ユーザを識別するためのユーザＩＤと、そのユーザからのマルチメディアパッケージデータの要求頻度を表す要求頻度情報とから構成される。そして、要求頻度情報は、マルチメディアパッケージデータのカテゴリごとに分類されている。即ち、例えば、音楽関係のマルチメディアパッケージデータについては、図２６（Ａ）に示すように、曲のジャンル（例えば、ポップス、ロック、演歌等）、アーティストの活動地域（例えば、日本、アメリカ合衆国、ヨーロッパ諸国等）、アーティストの性別（男、女）等ごとに、ユーザからのマルチメディアパッケージデータの要求頻度がカウントされ、そのカウント値が、要求頻度情報として登録される。
【０１７０】
変更情報は、図２６（Ｂ）に示すように、ユーザＩＤと、そのユーザＩＤに対応する要求頻度情報に基づいて作成されたパッケージ内容変更情報およびリンクデータ変更情報とから構成される。
【０１７１】
パッケージ内容変更情報には、要求頻度情報に基づいてカスタマイズ（変更）されたサブデータの変更内容が登録される。また、リンクデータ変更情報には、要求頻度情報に基づいてカスタマイズされたマルチメディアパッケージデータのリンク構造の変更内容が登録される。
【０１７２】
図２５のパッケージサーバ１では、ユーザ端末３からリクエスト信号が送信されてくると、返信データ生成部３６が、そのリクエスト信号に含まれるユーザＩＤに対応する要求頻度情報であって、そのリクエスト信号によって要求されたマルチメディアパッケージデータのカテゴリに対応するものを更新する。さらに、返信データ生成部３６は、その更新後の要求頻度情報に基づいて、パッケージ内容変更情報や、リンク変更情報を更新する。
【０１７３】
そして、返信データ生成部３６は、更新後のパッケージ内容変更情報およびリンク変更情報を考慮して、検索部３２にマルチメディアパッケージデータを検索させ、あるいは、検索部３２に検索させたマルチメディアパッケージデータの内容を変更して、返信データを構成する。
【０１７４】
従って、この場合、パッケージサーバ１においては、ユーザが過去に要求したマルチメディアパッケージデータから、そのユーザの嗜好や癖等が収集され、その収集されたユーザの嗜好や癖等に基づいて、マルチメディアパッケージデータのリンク構造や内容がカスタマイズされて、ユーザに提供される。
【０１７５】
その結果、ユーザは、自身にとって、利便性の高い形で、マルチメディアパッケージデータの提供を受けることができる。
【０１７６】
さらに、この場合、ユーザは、マルチメディアパッケージデータの提供を受けるにつれて、より自身の嗜好等にあった内容やリンク構造のマルチメディアパッケージデータの提供を受けることが可能となり、自身にとっての利便性が増すことになる。これは、パッケージサーバ１によるサービス提供者からすれば、ユーザがサービスを利用することを維持し続け、さらには、サービスを利用するユーザ数を増加させることができることになる。
【０１７７】
なお、上述の場合には、パッケージサーバ１において、ユーザの嗜好等を収集し、その収集結果に基づいて、ユーザに提供するマルチメディアパッケージデータのリンク構造や内容を、いわば自動的にカスタマイズするようにしたが、このようなカスタマイズは、ユーザ自身が、パッケージサーバ１に、パッケージ内容変更情報やリンクデータ変更情報を登録して行うようにすることも可能である。但し、ユーザ自身によるカスタマイズが行われ、リンク先が変更された場合には、その変更後のリンク先のマルチメディアパッケージデータ以降にリンクされているマルチメディアパッケージデータは、ユーザに提供しないようにすることが可能である。この場合、ユーザによる、いわば勝手なカスタマイズを抑制することができる。
【０１７８】
さらに、マルチメディアパッケージデータのリンク先は、マルチメディアパッケージデータではない、例えば、Ｗｅｂページ等に変更することが可能である。また、この場合、そのＷｅｂページから、マルチメディアパッケージデータにリンクをはることを禁止するようにすることもできるし、許可するようにすることもできる。
【０１７９】
さらに、図２６に示したユーザ嗜好情報と変更情報とは、ユーザ端末３において作成するようにすることが可能である。この場合、ユーザ端末３において、変更情報を、リクエスト信号に含めて、パッケージサーバ１に送信し、パッケージサーバ１において、そのリクエスト信号に含まれる変更情報に基づいて、リンク構造や内容を変更したマルチメディアパッケージデータを作成して、ユーザ端末３に送信するようにすることができる。この場合も、上述した場合と同様に、ユーザは、自身にとって、利便性の高い形で、マルチメディアパッケージデータの提供を受けることができる。
【０１８０】
次に、例えば、上述のように、パッケージサーバ１からユーザ端末３に、パッケージデータを提供する場合に、ユーザ端末３におけるパッケージデータの出力に伴って、広告情報を、ユーザに必然的に見せること等ができれば便利である。
【０１８１】
このように、パッケージデータの出力に伴って、広告情報を、ユーザに必然的に見せる方法としては、例えば、パッケージデータと広告情報とを対応付けて、ユーザ端末３に提供し、ユーザ端末３の専用ブラウザ６２において、パッケージデータを出力するとともに、広告情報を出力するようにする方法があるが、この方法では、例えば、ユーザ端末３において、広告情報が、記憶部５２から消去された場合には、パッケージデータを出力するときに、広告情報を出力することができなくなる。さらに、広告情報が、記録部５２から消去されなくても、パッケージデータのファイルが、専用ブラウザ６２以外のアプリケーションで開かれた場合には、やはり、広告情報は出力されない。
【０１８２】
また、例えば、従来の電子すかしの技術を利用し、パッケージデータを構成する画像データや音声データ等の下位数ビットに、本来のパッケージデータに替えて、広告情報を配置しておき、ユーザ端末３の専用ブラウザ６２において、パッケージデータを出力するとともに、広告情報を出力するようにする方法があるが、この方法でも、例えば、ユーザ端末３において、広告情報が下位ビットに配置されたパッケージデータのファイルが、専用ブラウザ６２以外のアプリケーションで開かれた場合には、広告情報は出力されない。
【０１８３】
そこで、ユーザ端末３におけるパッケージデータの出力に伴って、広告情報を、ユーザに必然的に見せる方法としては、例えば、本件出願人が先に提案した埋め込み符号化／復号を利用することができる。
【０１８４】
ここで、埋め込み符号化／復号については、例えば、本件出願人が先に出願した、例えば、特願平１０−２０００９３号や、特願平１０−２２２９５１号、特願平１０−３３３７００号、特願平１１−１２９９１９号、特願平１１−１６０５２９号、特願平１１−１６０５３０号、特願平１１−２８４１９８号（特願平１０−２８５３１０号を基礎とする国内優先権主張出願）、特願平１１−２８４１９９号（特願平１０−２８５３０９号を基礎とする国内優先権主張出願）、特願平１１−２８４２００号（特願平１０−２８５３０８号を基礎とする国内優先権主張出願）等に、その詳細が記載されているが、以下に、そのうちの幾つかの手法について説明する。
【０１８５】
図２７は、埋め込み符号化／復号を行う埋め込み符号化／復号システムの一実施の形態の構成例を示している。
【０１８６】
この埋め込み符号化／復号システムは、符号化装置１１０および復号装置１２０で構成されており、符号化装置１１０は、符号化対象としての、例えば、画像を符号化して符号化データを出力し、復号装置１２０は、その符号化データを、元の画像に復号するようになされている。
【０１８７】
即ち、画像データベース１０１は、符号化すべき画像（例えば、ディジタル画像）を記憶している。そして、画像データベース１０１からは、そこに記憶されている画像が読み出され、埋め込み符号化器１０３に供給される。
【０１８８】
また、付加情報データベース１０２は、符号化対象の画像に埋め込むべき情報としての付加情報（ディジタルデータ）を記憶している。そして、付加情報データベース１０２からも、そこに記憶されている付加情報が読み出され、埋め込み符号化器１０３に供給される。
【０１８９】
埋め込み符号化器１０３では、画像データベース１０１からの画像、および付加情報データベース１０２からの付加情報が受信される。さらに、埋め込み符号化器１０３は、画像データベース１０１からの画像が有するエネルギの偏りを利用して復号を行うことができるように、その画像を、付加情報データベース１０２からの付加情報にしたがって符号化して出力する。即ち、埋め込み符号化器１０３は、画像が有するエネルギの偏りを利用して復号を行うことができるように、画像に付加情報を埋め込むことで、その画像を符号化し、符号化データを出力する。埋め込み符号化器１０３が出力する符号化データは、例えば、半導体メモリ、光磁気ディスク、磁気ディスク、光ディスク、磁気テープ、相変化ディスクなどでなる記録媒体１０４に記録され、あるいは、また、例えば、地上波、衛星回線、ＣＡＴＶ（Cable Television）網、インターネット、公衆回線などでなる伝送媒体１０５を介して伝送され、復号装置１２０に提供される。
【０１９０】
復号装置１２０は、埋め込み復号器１０６で構成され、そこでは、記録媒体１０４または伝送媒体１０５を介して提供される符号化データが受信される。さらに、埋め込み復号器１０６は、その符号化データを、画像が有するエネルギの偏りを利用して、元の画像および付加情報に復号する。復号された画像は、例えば、図示せぬモニタに供給されて表示される。
【０１９１】
なお、付加情報としては、例えば、元の画像に関連するテキストデータや、音声データ、その画像を縮小した縮小画像等は勿論、元の画像に無関係なデータも用いることができる。
【０１９２】
次に、図２７の埋め込み符号化器３における符号化（埋め込み符号化）、および埋め込み復号器６における復号（埋め込み復号）の原理について説明する。
【０１９３】
一般に、情報と呼ばれるものは、エネルギ（エントロピー）の偏り（普遍性）を有し、この偏りが、情報（価値ある情報）として認識される。即ち、例えば、ある風景を撮影して得られる画像が、そのような風景の画像であると人によって認識されるのは、画像（画像を構成する各画素の画素値など）が、その風景に対応したエネルギの偏りを有するからであり、エネルギの偏りがない画像は、雑音等にすぎず、情報としての利用価値はない。
【０１９４】
従って、価値ある情報に対して、何らかの操作を施し、その情報が有する本来のエネルギの偏りを、いわば破壊した場合でも、その破壊されたエネルギの偏りを元に戻すことで、何らかの操作が施された情報も、元の情報に戻すことができる。即ち、情報を符号化して得られる符号化データは、その情報が有する本来のエネルギの偏りを利用して、元の価値ある情報に復号することができる。
【０１９５】
ここで、情報が有するエネルギ（の偏り）を表すものとしては、例えば、相関性、連続性、相似性などがある。
【０１９６】
情報の相関性とは、その情報の構成要素（例えば、画像であれば、その画像を構成する画素やラインなど）どうしの相関（例えば、自己相関や、ある構成要素と他の構成要素との距離など）を意味する。例えば、画像の相関性を表すものとしては、画像のライン間の相関があり、この相関を表す相関値としては、例えば、２つのラインにおける、対応する各画素値の差分の２乗和等を用いることができる（この場合、相関値が小さいことは、ライン間の相関が大きいことを表し、相関値が大きいことは、ライン間の相関が小さいことを表す）。
【０１９７】
即ち、例えば、いま、図２８に示すようなＨライン１１０２を有する画像１１０１があった場合に、その上から１行目のライン（第１ライン）１１０３と、他のラインとの相関は、一般に、図２９（Ａ）に示すように、第１ライン１１０３との距離が近いライン（図２８における画像１１０１の上側のライン）ほど、第Ｍライン１１０４についての相関１２０１として示すように大きくなり、第１ライン１１０３との距離が遠いライン（図２８における画像の下側のライン）ほど、第Ｎライン１１０５についての相関１２０２として示すように小さくなる。従って、第１ライン１１０３から近いほど、第１ライン１１０３との相関が大きくなり、遠いほど相関が小さくなるという相関の偏りがある。
【０１９８】
そこで、いま、図２８の画像１１０１において、第１ライン１１０３から比較的近い第Ｍライン１１０４と、第１ライン１１０３から比較的遠い第Ｎライン１１０５との画素値を入れ替える操作を行い（１＜Ｍ＜Ｎ≦Ｈ）、その入れ替え後の画像１１０１について、第１ライン１１０３と、他のラインとの相関を計算値すると、それは、例えば、図２９（Ｂ）に示すようになる。
【０１９９】
即ち、入れ替え後の画像１１０１では、第１ライン１１０３から近い第Ｍライン（入れ替え前の第Ｎライン１１０５）との相関１２０３が小さくなり、第１ライン１１０３から遠い第Ｎライン（入れ替え前の第Ｍライン１１０４）との相関１２０４が大きくなる。
【０２００】
従って、図２９（Ｂ）では、第１ライン１１０３から近いほど相関が大きくなり、遠いほど相関が小さくなるという相関性の偏りが破壊されている。しかしながら、画像については、一般に、第１ライン１１０３から近いほど相関が大きくなり、遠いほど相関が小さくなるという相関性の偏りを利用することにより、破壊された相関性の偏りを復元することができる。即ち、図２９（Ｂ）において、第１ライン１１０３から近い第Ｍラインとの相関１２０３が小さく、第１ライン１１０３から遠い第Ｎラインとの相関１２０４が大きいのは、画像１１０１が有する本来の相関性の偏りからすれば、明らかに不自然であり（おかしく）、第Ｍラインと第Ｎラインとは入れ替えるべきである。そして、図２９（Ｂ）における第Ｍラインと第Ｎラインとを入れ替えることで、図２９（Ａ）に示すような本来の相関性の偏りを有する画像、即ち、元の画像１１０１を復号することができる。
【０２０１】
ここで、図２８および図２９で説明した場合においては、ラインの入れ替えが、画像の符号化を行うこととなる。また、その符号化に際し、埋め込み符号化器１０３では、例えば、何ライン目を移動するかや、どのラインどうしを入れ替えるかなどが、付加情報にしたがって決定されることになる。一方、埋め込み復号器１０６では、符号化後の画像、即ち、ラインの入れ替えられた画像を、その相関を利用して、ラインを元の位置に入れ替えることにより、元の画像に戻すことが、画像を復号することとなる。さらに、その復号に際し、埋め込み復号器１０６において、例えば、何ライン目を移動したかや、どのラインどうしを入れ替えたかなどを検出することが、画像に埋め込まれた付加情報を復号することになる。
【０２０２】
次に、図３０は、画像の相関性を利用して元に戻すことができるように、画像に付加情報を埋め込む埋め込み符号化を行う場合の図２７の埋め込み符号化器１０３の構成例を示している。
【０２０３】
画像データベース１０１から供給される画像は、フレームメモリ１３１に供給されるようになされており、フレームメモリ１３１は、画像データベース１０１からの画像を、例えば、フレーム単位で一時記憶するようになされている。
【０２０４】
ＣＰＵ（Central Processing Unit）１３２は、プログラムメモリ１３３に記憶されたプログラムを実行することで、後述する埋め込み符号化処理を行うようになされている。即ち、ＣＰＵ１３２は、付加情報データベース２から供給される付加情報を、例えば、所定ビット数単位で受信し、その所定ビットごとの付加情報を、フレームメモリ１３１に記憶された画像に埋め込むようになされている。具体的には、ＣＰＵ１３２は、フレームメモリ１３１に記憶された画像を構成する一部の画素を選択し、その選択した画素に対して、付加情報に対応した処理であって、画像の相関性を利用して元に戻すことができるものを施すことにより、画素に、付加情報を埋め込むようになされている。
【０２０５】
プログラムメモリ１３３は、例えば、ＲＯＭ（Read Only Memory）やＲＡＭ（Random Access Memory）などで構成され、ＣＰＵ１３２に、埋め込み符号化処理を行わせるためのコンピュータプログラムを記憶している。
【０２０６】
出力Ｉ／Ｆ（Interface）１３４は、フレームメモリ１３１から、付加情報の埋め込まれた画像を読み出し、符号化データとして出力するようになされている。
【０２０７】
なお、フレームメモリ１３１は、複数のフレームを記憶することのできるように、複数バンクで構成されており、バンク切り替えを行うことで、フレームメモリ１３１では、画像データベース１０１から供給される画像の記憶、ＣＰＵ１３２による埋め込み符号化処理の対象となっている画像の記憶、および埋め込み符号化処理後の画像（符号化データ）の出力を、同時に行うことができるようになされている。これにより、画像データベース１０１から供給される画像が、動画であっても、符号化データのリアルタイム出力を行うことができるようになされている。
【０２０８】
次に、図３１のフローチャートを参照して、埋め込み符号化器１０３において行われる埋め込み符号化処理について説明する。
【０２０９】
画像データベース１０１では、そこに記憶されている画像が読み出され、例えば、１フレーム単位で、フレームメモリ１３１に供給されて記憶される。
【０２１０】
一方、ＣＰＵ１３２は、付加情報データベース１０２から、付加情報を、例えば１ビットずつ受信しており、１ビットの付加情報を受信すると、ステップＳ１０１において、その１ビットの付加情報を埋め込む処理の対象とする画素（処理対象画素）を、フレームメモリ１３１に記憶された画像から選択する。
【０２１１】
ここで、本実施の形態では、例えば、図３２に示すように、フレームメモリ１３１に記憶された画像から、五の目格子状に、画素が選択されるようになされている。即ち、ＣＰＵ１３２では、ステップＳ１０１の処理が行われるごとに、図３２において、斜線を付していない画素が、例えば、ラインスキャン順に、順次、処理対象画素として選択されるようになされている。なお、図３２におけるｐ（ｘ，ｙ）は、左からｘ番目の、上からｙ番目の画素を表している（後述する図３６においても同様）。
【０２１２】
その後、ＣＰＵ１３２は、ステップＳ１０２において、付加情報データベース１０２から受信した付加情報が１または０のうちのいずれであるかを判定する。ステップＳ１０２において、付加情報が、１または０のうちの、例えば０であると判定された場合、ステップＳ１０１に戻る。即ち、ＣＰＵ１３２は、付加情報が０である場合には、処理対象画素に、何らの処理も施さずに（所定の定数としての０を加算し）、ステップＳ１０１に戻り、次の１ビットの付加情報が、付加情報データベース１０２から送信されてくるのを待って、次に処理対象画素とすべき画素を選択し、以下、同様の処理を繰り返す。
【０２１３】
また、ステップＳ１０２において、付加情報が、１または０のうちの、例えば１であると判定された場合、ステップＳ１０３に進み、ＣＰＵ１３２は、処理対象画素に対して、所定の処理を施す。即ち、ＣＰＵ１３２は、所定の定数としての、例えば、２の、画像を構成する画素に割り当てられているビット数−１乗を、処理対象画素の画素値に加算する。
【０２１４】
従って、画像を構成する画素の画素値として、例えば、８ビットが割り当てられている場合には、ステップＳ１０３では、２7が、処理対象画素の画素値に加算さ
れることになる。
【０２１５】
なお、この加算は、画素値が、例えば、ＹＵＶなどで表現されている場合には、輝度成分Ｙ、または色成分Ｕ，Ｖのいずれに対して行っても良い。また、加算は、画素値が、例えば、ＲＧＢで表現されている場合には、Ｒ，Ｇ，Ｂのいずれに対して行っても良い。
【０２１６】
ステップＳ１０３において、処理対象画素の画素値に、２7が加算された後は、ステップＳ１０４に進み、その加算結果がオーバフローしているかどうかが判定される。ステップＳ１０４において、加算結果がオーバフローしていないと判定された場合、ステップＳ１０５をスキップして、ステップＳ１０６に進み、ＣＰＵ１３２は、その加算結果を、処理対象画素の画素値として、フレームメモリ１３１に書き込み（上書きし）、ステップＳ１に戻る。
【０２１７】
また、ステップＳ１０４において、加算結果がオーバフローしていると判定された場合、即ち、加算結果が、２8以上となった場合、ステップＳ１０５に進み、その加算値の補正が行われる。即ち、ステップＳ１０５では、オーバフローした加算値が、例えば、そのオーバフローした分（オーバフローした加算値から２8を減算した値）に補正される。そして、ステップＳ１０６に進み、ＣＰＵ１３２は、その補正後の加算結果を、処理対象画素の画素値として、フレームメモリ１３１に書き込み、次の１ビットの付加情報が、付加情報データベース１０２から送信されてくるのを待って、ステップＳ１０１に戻る。
【０２１８】
なお、フレームメモリ１３１に記憶された、ある１フレームの画像について処理が行われた後は、出力Ｉ／Ｆ１３４は、その１フレームの画像（付加情報が埋め込まれた画像）を、符号化データとして読み出し、また、ＣＰＵ１３２は、フレームメモリ１３１に記憶された、次の１フレームの画像を対象に、処理を続行する。
【０２１９】
以上のように、フレームメモリ１３１に記憶された画像を構成する一部の画素を選択し、その選択した画素に対して、付加情報に対応した処理であって、画像の相関性を利用して元に戻すことができるものを施すことにより、画素に、付加情報を埋め込むことで、画像の画質の劣化を極力なくし、かつデータ量を増加せずに、画像に付加情報を埋め込むことができる。
【０２２０】
即ち、付加情報が埋め込まれた画素は、画像の相関性、即ち、ここでは、付加情報が埋め込まれなかった画素との間の相関を利用することにより、オーバヘッドなしで、元の画素と付加情報に復号（戻す）ことができる。従って、その結果得られる復号画像（再生画像）には、基本的に、付加情報を埋め込むことによる画質の劣化は生じない。
【０２２１】
次に、図３３は、図３０の埋め込み符号化器１０３が出力する符号化データを、画像の相関性を利用して元の画像と付加情報に復号する図２７の埋め込み復号器１０６の構成例を示している。
【０２２２】
符号化データ、即ち、付加情報が埋め込まれた画像（以下、適宜、埋め込み画像という）は、フレームメモリ１４１に供給されるようになされており、フレームメモリ１４１は、埋め込み画像を、例えば、フレーム単位で一時記憶するようになされている。なお、フレームメモリ１４１も、図３０のフレームメモリ１３１と同様に構成され、バンク切り替えを行うことにより、埋め込み画像が、動画であっても、そのリアルタイム処理が可能となっている。
【０２２３】
出力Ｉ／Ｆ１４２は、フレームメモリ１４１から、ＣＰＵ１４３による、後述する埋め込み復号処理の結果得られる画像（復号画像）を読み出して出力するようになされている。
【０２２４】
ＣＰＵ１４３は、プログラムメモリ１４４に記憶されたプログラムを実行することで、埋め込み復号処理を行うようになされている。即ち、ＣＰＵ１４３は、フレームメモリ１４１に記憶された埋め込み画像を、画像の相関性を利用して元の画像と付加情報に復号するようになされている。具体的には、ＣＰＵ１４３は、埋め込み画像を構成する一部の画素を、処理対象画素として選択し、図３４に示すように、その処理対象画素に対して、図３０のＣＰＵ１３２が施した処理と逆の処理を施すことで、その画素値を変更する。さらに、図３４に示すように、ＣＰＵ１４３は、画素値の変更前の処理対象画素と、その周辺画素（図３４の実施の形態では、左右に隣接する画素）との相関値Ｒ1（第１の相関）を演算するとともに、画素値の変更された処理対象画素と、その画素の周辺画素との相関値Ｒ2（第２の相関）を演算し、その相関値Ｒ1とＲ2とを比較する。そして、ＣＰＵ１４３は、その比較結果に基づいて、画素値の変更前または変更後の処理対象画素のうちのいずれか一方を、復号結果とするとともに、その処理対象画素に埋め込まれた付加情報（ここでは、１ビットの１または０のうちのいずれか一方）を復号する。
【０２２５】
プログラムメモリ１４３は、例えば、図３０のプログラムメモリ１３３と同様に構成され、ＣＰＵ１４３に、埋め込み復号化処理を行わせるためのコンピュータプログラムを記憶している。
【０２２６】
次に、図３５のフローチャートを参照して、埋め込み復号器１０６において行われる埋め込み復号処理について説明する。
【０２２７】
フレームメモリ１４１では、そこに供給される埋め込み画像が、例えば、１フレーム単位で順次記憶される。
【０２２８】
一方、ＣＰＵ１４３は、ステップＳ１１１において、フレームメモリ１４１に記憶されたあるフレームの埋め込み画像から、復号を行う処理の対象とする画素（処理対象画素）を選択する。
【０２２９】
ここで、ＣＰＵ１４３では、図３２に示したように、図３０のＣＰＵ１３２と同様に、フレームメモリ１４１に記憶された埋め込み画像から、五の目格子状に、画素が選択されるようになされている。即ち、ＣＰＵ１４３では、ステップＳ１１１の処理が行われるごとに、図３２において、斜線を付していない画素が、例えば、ラインスキャン順に、順次、処理対象画素として選択されるようになされている。
【０２３０】
その後、ステップＳ１１２に進み、ＣＰＵ１４３は、処理対象画素に対し、図３０のＣＰＵ１３２が行った処理と逆の処理を施す。即ち、ＣＰＵ１３２は、所定の定数としての、例えば、２の、画像を構成する画素に割り当てられているビット数−１乗を、処理対象画素の画素値から減算する。
【０２３１】
従って、上述したように、画像を構成する画素の画素値として、例えば、８ビットが割り当てられている場合においては、ステップＳ１１２では、２7が、処理対象画素の画素値から減算されることになる。
【０２３２】
なお、この減算は、画素値が、例えば、ＹＵＶなどで表現されている場合には、輝度成分Ｙ、または色成分Ｕ，Ｖのいずれに対して行っても良い。また、減算は、画素値が、例えば、ＲＧＢで表現されている場合には、Ｒ，Ｇ，Ｂのいずれに対して行っても良い。但し、ステップＳ１１２における減算は、図３１のステップＳ１０３における加算が行われたものと同一のものに対して行う必要がある。即ち、画素値が、例えば、ＹＵＶなどで表現されており、図３１のステップＳ１０３における加算が、ＹＵＶのうちの、例えば、Ｙ成分に対して行われた場合には、ステップＳ１１２における減算は、やはり、Ｙ成分に対して行う必要がある。
【０２３３】
ステップＳ１１２において、処理対象画素の画素値から、２7が減算された後は、ステップＳ１１３に進み、その減算結果がアンダフローしているかどうかが判定される。ステップＳ１１３において、減算結果がアンダフローしていないと判定された場合、ステップＳ１１４をスキップして、ステップＳ１１５に進む。
【０２３４】
また、ステップＳ１１３において、減算結果がアンダフローしていると判定された場合、即ち、加算結果が、０未満となった場合、ステップＳ１１４に進み、その減算値の補正が行われる。即ち、ステップＳ１１４では、アンダフローした減算値が、例えば、その減算値に２8を加算した値に補正され、ステップＳ１１５に進む。
【０２３５】
ステップＳ１１５では、処理対象画素の画素値（ステップＳ１１２で２7を減算していないもの）（以下、適宜、第１の画素値という）Ｐ1と、その画素値から２7を減算した減算値（以下では、ステップＳ１１４で補正されたものも含むものとする）（以下、適宜、第２の画素値という）Ｐ2のそれぞれについて、処理対象画素の周辺画素としての、例えば、その左右に隣接する画素との間の相関値が演算される。
【０２３６】
即ち、ステップＳ１１５では、例えば、処理対象画素の第１の画素値Ｐ1と、その左右の画素それぞれの画素値との差分の絶対値が演算され、その２つの絶対値の加算値が、処理対象画素の第１の画素値Ｐ1についての相関値Ｒ1として求められる。さらに、ステップＳ１１５では、処理対象画素の第２の画素値Ｐ2についても、その左右の画素それぞれの画素値との差分の絶対値どうしの加算値が演算され、それが、処理対象画素の第２の画素値Ｐ2の相関値Ｒ2として求められる。
【０２３７】
なお、ステップＳ１１５において、処理対象画素との間の相関を求めるのに用いる画素は、その左右に隣接する画素に限定されるものではなく、上下に隣接する画素であっても良いし、時間的に隣接する画素であっても良い。また、必ずしも、空間的または時間的に隣接する画素である必要もない。但し、処理対象画素との相関を求めるにあたっては、図３２において、斜線を付した画素、即ち、付加情報が埋め込まれていない画素を用いるのが望ましい。これは、処理対象画素について、付加情報が埋め込まれた画素との相関を求めても、元の画像についての相関を得ることができず、従って、画像の相関性を利用することができないため、付加情報が埋め込まれた画素から、元の画素値および付加情報を、正確に復号するのが困難となるからである。また、画像の相関性を利用して、処理対象画素を復号する以上、処理対象画素との相関値を求めるのに用いる画素は、その処理対象画素との空間的または時間的距離が近いものであるのが望ましい。
【０２３８】
第１の画素値Ｐ1についての相関値Ｒ1、および第２の画素値Ｐ2についての相関値Ｒ2の算出後は、ステップＳ１１６に進み、ＣＰＵ１４３において、その相関値Ｒ1とＲ2とが比較される。
【０２３９】
ステップＳ１１６において、相関値Ｒ1が、相関値Ｒ2より大きい（以上である）と判定された場合、ステップＳ１１７に進み、ＣＰＵ１４３において、付加情報の復号結果として、０が出力され、ステップＳ１１１に戻る。そして、この場合、フレームメモリ１４１の記憶値は書き換えられず、従って、処理対象画素の画素値の復号結果は、その画素値Ｐ1のままとされる。
【０２４０】
即ち、第１の画素値Ｐ1についての相関値Ｒ1の方が、第２の画素値Ｐ2についての相関値Ｒ2より大きいということは、処理対象画素の画素値としては、画素値Ｐ2よりも、画素値Ｐ1の方が確からしいこととなるので、処理対象画素の画素値の復号結果は、その確からしい画素値Ｐ1とされる。さらに、画素値Ｐ1は、ステップＳ１１２で２7が減算されていないものであるから、図３１のステップＳ１０３で２7が加算されていないと考えられる。そして、図３１の埋め込み符号化処理では、付加情報が０の場合には、２7を加算しないこととしているから、第１の画素値Ｐ1についての相関値Ｒ1の方が大きく、画素値Ｐ1が、処理対象画素の画素値として確からしい場合には、そこに埋め込まれた付加情報は０ということになる。
【０２４１】
一方、ステップＳ１１６において、相関値Ｒ2が、相関値Ｒ1より大きい（以上である）と判定された場合、ステップＳ１１８に進み、ＣＰＵ１４３において、フレームメモリ１４１に記憶された処理対象画素の画素値が、その画素値から２7を減算した減算値、即ち、第２の画素値Ｐ2に書き換えられる。従って、この場合、処理対象画素の画素値の復号結果は、その画素値Ｐ2とされる。そして、ステップＳ１１９に進み、ＣＰＵ１４３において、付加情報の復号結果として、１が出力され、ステップＳ１１１に戻る。
【０２４２】
即ち、第２の画素値Ｐ2についての相関値Ｒ2の方が、第１の画素値Ｐ1についての相関値Ｒ1より大きいということは、処理対象画素の画素値としては、画素値Ｐ1よりも、画素値Ｐ2の方が確からしいこととなるので、処理対象画素の画素値の復号結果は、その確からしい画素値Ｐ2とされる。さらに、画素値Ｐ2は、ステップＳ１１２で、画素値Ｐ1から２7が減算されたものであるから、図３１のステップＳ１０３で、元の画素値に２7が加算されたものであると考えられる。そして、図３１の埋め込み符号化処理では、付加情報が１の場合には、２7を加算することとしているから、第２の画素値Ｐ2についての相関値Ｒ2の方が大きく、画素値Ｐ2が、処理対象画素の画素値として確からしい場合には、そこに埋め込まれた付加情報は１ということになる。
【０２４３】
ここで、上述のようにして求められる相関値Ｒ1とＲ2との差分が小さい場合には、画素値Ｐ1とＰ2のうちのいずれが、処理対象画素の画素値として確からしいかは、一概にはいえない。そこで、このような場合には、処理対象画素の左右に隣接する画素だけでなく、他の画素をも用いて、画素値Ｐ1，Ｐ2それぞれについての相関値を求め、その相関値を比較することで、画素値Ｐ1，Ｐ2のうちのいずれが、処理対象画素の画素値として確からしいかを決定することができる。
【０２４４】
以上のように、付加情報が埋め込まれた画像である符号化データを、画像の相関性を利用して、元の画像と付加情報に復号するようにしたので、その復号のためのオーバヘッドがなくても、符号化データを、元の画像と付加情報に復号することができる。従って、その復号画像（再生画像）には、基本的に、付加情報を埋め込むことによる画質の劣化は生じない。
【０２４５】
なお、本実施の形態では、処理対象画素と、他の画素との相関値として、それらの画素値の差分の絶対値を用いるようにしたが、相関値は、これに限定されるものではない。
【０２４６】
また、本実施の形態では、図３２に示したように、画像から、五の目格子状に、画素を選択し、その画素に、付加情報を埋め込むようにしたが、付加情報を埋め込む画素の選択パターンは、これに限定されるものではない。但し、付加情報を埋め込んだ画素の復号にあたっては、上述したように、付加情報が埋め込まれていない画素を用いて相関を求めるのが望ましく、また、画素どうしの相関は、基本的に、それらの間の空間的または時間的距離が離れるほど小さくなっていく。従って、正確な復号を行う観点からは、付加情報を埋め込む画素は、空間的または時間的に、いわゆる疎らになるように選択するのが望ましい。一方、多くの付加情報を埋め込む観点、即ち、圧縮率の観点からは、付加情報を埋め込む画素は、ある程度多くする必要がある。従って、付加情報を埋め込む画素は、復号の正確さと、圧縮率とをバランスさせて選択するのが望ましい。
【０２４７】
さらに、本実施の形態では、処理対象画素として選択された１画素に、１ビットの付加情報を埋め込むようにしたが、１画素に、２ビット以上の付加情報を埋め込むようにすることも可能である。例えば、１画素に、２ビットの付加情報を埋め込む場合には、その２ビットの付加情報にしたがって、例えば、０，２6，２7，２6＋２7のうちのいずれかを、画素値に加算するようにすれば良い。
【０２４８】
また、本実施の形態では、画素値に、０または２7のうちのいずれかを加算することで（画素値に、２7を加算しないか、または加算することで）、付加情報を埋め込むようにしたが、画素値に加算する値は、２7に限定されるものではない。但し、画素値の下位ビットにしか影響を与えないような値を加算する場合には、その加算値と、元の画素値とが、あまり異なったものとならず、従って、図３５のステップＳ１１５で求められる相関値Ｒ1とＲ2も、あまり異なったものとならなくなる。これは、画素値および付加情報の復号結果の精度を劣化させることとなるから、付加情報にしたがって、画素値に加算する値は、元の画素値の上位ビットに影響を与えるような値とするのが望ましい。
【０２４９】
さらに、本実施の形態では、画素値に、所定値を加算することで、付加情報の埋め込みを行うようにしたが、付加情報の埋め込みは、加算以外の操作（例えば、ビット反転など）を、画素値に施すことによって行うことも可能である。但し、上述したように、画素値および付加情報の復号結果の精度の劣化を防止する観点から、画素値に施す操作は、元の画素値についての相関と、操作を施した画素値についての相関とが大きく異なるようなものであることが望ましい。
【０２５０】
また、本実施の形態では、処理対象画素として選択された１画素に、１ビットの付加情報を埋め込むようにしたが、複数画素に、１ビットの付加情報を埋め込むようにすることも可能である。即ち、例えば、図３６において○印で示す位置関係にある４画素に、１ビットの付加情報を埋め込むようにすることなどが可能である。
【０２５１】
具体的には、例えば、図３６において、４つの画素ｐ（１，４），ｐ（５，４），ｐ（１，８），ｐ（５，８）に注目した場合、符号化時には、１ビットの付加情報にしたがい、画素ｐ（１，４），ｐ（５，４），ｐ（１，８），ｐ（５，８）それぞれの画素値に対して、同一の操作を施すことで、１ビットの付加情報を埋め込む。一方、復号時には、４つの画素ｐ（１，４），ｐ（５，４），ｐ（１，８），ｐ（５，８）それぞれについて、上述したような第１および第２の画素値Ｐ1，Ｐ2の相関値Ｒ1，Ｒ2を求め、その相関値Ｒ1，Ｒ2の大小関係を比較する。そして、その比較結果の多数決によって、４つの画素ｐ（１，４），ｐ（５，４），ｐ（１，８），ｐ（５，８）それぞれの画素値と、付加情報の復号結果を決定すれば良い。あるいは、また、４つの画素ｐ（１，４），ｐ（５，４），ｐ（１，８），ｐ（５，８）それぞれについての第１の画素値Ｐ1の相関値Ｒ1の総和と、第２の画素値Ｐ2の相関値Ｒ2の総和とを求め、その２つの総和の大小関係に基づいて、４つの画素ｐ（１，４），ｐ（５，４），ｐ（１，８），ｐ（５，８）それぞれの画素値と、付加情報の復号結果を決定しても良い。
【０２５２】
ここで、図３２に示したように、処理対象画素として、画像から、五の目格子状に、画素を選択し、その選択された各画素に、１ビットの付加情報を埋め込むようにした場合には、画像の画素数の約半分のビット数の付加情報を埋め込むことができるが、上述したように、４画素に、１ビットの付加情報を埋め込む場合には、画像に埋め込むことのできる付加情報は、その画像の画素数の約半分の１／４のビット数となる。
【０２５３】
次に、情報の連続性についてであるが、例えば、画像のある１ラインについて注目した場合に、その注目ラインにおいて、図３７（Ａ）に示すような、画素値の変化パターンが連続している波形１３０１が観察されたとすると、その注目ラインと離れた他のラインでは、注目ラインとは異なる画素値の変化パターンが観察される。従って、注目ラインと、その注目ラインと離れた他のラインとにおいては、画素値の変化パターンが異なり、連続性においても偏りがある。即ち、画像のある部分の画素値の変化パターンに注目すると、その注目部分に隣接する部分には、同様の画素値の変化パターンが存在し、注目部分から離れるにつれて、異なる画素値の変化パターンが存在するという連続性の偏りがある。
【０２５４】
そこで、いま、図３７（Ａ）に示した、画像のあるラインにおける、画素値の変化パターンが連続している波形１３０１の一部を、例えば、図３７（Ｂ）に示すように、離れたラインにおける波形１３０２と入れ替える。
【０２５５】
この場合、画像の連続性の偏りが破壊される。しかしながら、近接する部分の画素値の変化パターンは連続しており、離れるほど、画素値の変化パターンが異なるという連続性の偏りを利用することにより、破壊された連続性の偏りを復元することができる。即ち、図３７（Ｂ）において、波形の一部１３０２の画素値の変化パターンが、他の部分の画素値の変化パターンに比較して大きく異なっているのは、波形が有する本来の連続性の偏りからすれば、明らかに不自然であり、他の部分の画素値の変化パターンと異なっている部分１３０２は、他の部分の画素値の変化パターンと同様の波形に入れ替えるべきである。そして、そのような入れ替えを行うことで、連続性の偏りが復元され、これにより、図３７（Ｂ）に示した波形から、図３７（Ａ）に示した元の波形を復号することができる。
【０２５６】
ここで、図３７で説明した場合においては、波形の一部を、その周辺の画素値の変化パターンとは大きく異なる画素値の変化パターンの波形に入れ替えることが、画像の符号化を行うこととなる。また、その符号化に際し、埋め込み符号化器１０３では、例えば、波形のどの部分の画素値の変化パターンを入れ替えるのかや、画素値の変化パターンをどの程度大きく変化させるのかなどが、付加情報にしたがって決定されることになる。一方、埋め込み復号器１０６では、符号化後の信号、即ち、大きく異なる画素値の変化パターンを一部に有する波形を、周辺の画素値の変化パターンは連続しており、離れるほど、画素値の変化パターンが異なるという連続性の偏りを利用して、元の波形に戻すことが、その元の波形を復号することとなる。さらに、その復号に際し、埋め込み復号器１０６において、例えば、波形のどの部分の画素値の変化パターンが大きく変化していたのかや、画素値の変化パターンがどの程度大きく変化していたのかなどを検出することが、埋め込まれた付加情報を復号することになる。
【０２５７】
次に、画像の連続性を利用して、埋め込まれる付加情報が復号されるように、画像に付加情報を埋め込む埋め込み符号化処理について説明する。なお、この場合の埋め込み符号化器１０３の構成は、図３０における場合と同様の構成であるので、説明を省略する。
【０２５８】
図３８は、画像の連続性を利用した埋め込み符号化処理を示すフローチャートである。
【０２５９】
まず最初に、ステップＳ１２１において、ＣＰＵ１３２は、画像データベース１０１から１フレーム分の画像データがフレームメモリ１３１に転送されるように制御すると共に、画像データの連続領域を検出し、更に、連続領域の位置を示す連続領域データを、図示せぬワーク用のメモリ（ワークメモリ）に記憶する。
【０２６０】
すなわち、ＣＰＵ１３２は、図３９（Ａ）に示すような、２２４（＝ ７×３２）×１６００画素からなる画像データの連続領域を検出する場合には、例えば、画像データを、３２×１画素毎の画像ブロックに分割し、その画像ブロック毎にＤＣＴ処理を施して、画像ブロック毎にＤＣＴ係数を算出する。
【０２６１】
ＣＰＵ１３２は、画像ブロックをラスタスキャン順にスキャンして、順次、注目画像ブロックとし、注目画像ブロックに対応するＤＣＴ係数と左隣の隣接画像ブロックの対応するＤＣＴ係数との差分を順に算出して注目画像ブロックの連続性評価値としてワークメモリに記憶させる。ＣＰＵ１３２は、算出された連続性評価値（差分値）が所定しきい値以下である画像ブロックを連続領域と認識し、その画像ブロックの位置をワークメモリに記憶する。ここで、算出された連続領域内の一部の画像ブロックがノイズ等の影響により連続領域ではないと判断される可能性もあるので、ＣＰＵ１３２は、連続領域の検出の後、連続領域の拡大、縮小処理等により、連続領域内の一部の非連続の画像ブロックを、連続領域の画像ブロックに変換する補正処理を行う。
【０２６２】
その後、ステップＳ１２２において、ＣＰＵ１３２は、付加情報データベース２から、付加情報を、例えば６ビット（３ビット＋３ビット）ずつ受信し、ステップＳ１２３に進む。
【０２６３】
ステップＳ１２３において、ＣＰＵ１３２は、上述の付加情報６ビットを埋め込むための処理対象画像である、例えば、図３９（Ａ）の第１ライン、及び第８０１ラインを選択抽出する。このとき、ステップＳ１２１においてワークメモリに記憶された連続領域データを参照して、ＣＰＵ１３２は、第１ライン、第８０１ラインの連続領域のみを選択抽出する。図３９の実施の形態においては、第１ライン、第８０１ラインの全領域が連続領域であるとして、選択抽出されている。
【０２６４】
そして、ステップＳ１２４に進み、ＣＰＵ１３２は、処理対象画像である、例えば、第１ラインの画像と、第８０１のラインの画像を入れ替えることにより、画像データに付加情報を埋め込む。
【０２６５】
即ち、図３９（Ｂ）は、付加情報が埋め込まれる前の第１ラインの画像データの画素値を示している。また、図３９（Ｃ）は、付加情報が埋め込まれる前の第８０１ラインの画像データの画素値を示している。図３９（Ｂ）および図３９（Ｃ）に示すように、第１ラインの領域と第８０１ラインの領域では画素値の変化パターン（周波数特性）が異なっている。
【０２６６】
例えば、いま、上位３ビットが２で、下位３ビットが６の６ビットの付加情報が画像データに埋め込まれるとすると、ＣＰＵ１３２は、上位３ビットの２を埋め込むため、図３９（Ｂ）の左から２ブロック目を選択するとともに、下位３ビットの６を埋め込むため、図３９（Ｃ）の左からの６ブロック目を選択する。更に、ＣＰＵ１３２は、選択された２ブロック目と６ブロック目の画像データを入れ替えることにより、図３９（Ｄ）、図３９（Ｅ）に示すような画像データに符号化する。
【０２６７】
その後、ステップＳ１２５において、ＣＰＵ１３２は、符号化された第１ラインと第８０１ラインの画像データを、フレームメモリ１３１に書き込み（上書き）、ステップＳ１２６に進む。
【０２６８】
ステップＳ１２６において、ＣＰＵ１３２は、１フレームの画像データの符号化が終了したか否かを判別する。ＣＰＵ１３２が、符号化が終了していないと判別すると、ステップＳ１２２に戻り、再び付加情報が受信される。そして、ステップＳ１２３に進み、ＣＰＵ１３２は、次のライン、すなわち第２ラインと第８０２ラインを選択し、以下、同様の処理を繰り返す。
【０２６９】
一方、ステップＳ１２６において、ＣＰＵ１３２が符号化を終了したと判別すると、フレームメモリ１３１に記憶された符号化データが、出力Ｉ／Ｆ１３４を介して出力され、処理を終了する。
【０２７０】
次に、画像の連続性を利用して付加情報が埋め込まれた符号化データを復号する埋め込み復号処理について説明する。なお、この場合の埋め込み復号器１０６の構成は、図３３における場合と同様の構成であるので、説明を省略する。
【０２７１】
図４０は、画像の連続性を利用して、図３８の埋め込み符号化処理により得られる、符号化データを復号する埋め込み復号処理を示すフローチャートである。
【０２７２】
まず最初に、ステップＳ１３１において、ＣＰＵ１４３は、１フレーム単位の符号化データをフレームメモリ１４１に順次記憶する。更に、ＣＰＵ１４３は、図３８で説明したのと同様の手法により、符号化データの中から連続領域を抽出し、その画像ブロックの位置を、連続領域データとして、図示せぬワークメモリに記憶する。ここで、本実施の形態では、図３９で説明したことから、１ラインに３ビットの付加情報が埋め込まれるので、１ラインのうち１つの画像ブロックが変更されることにより、画像データは符号化される。よって、連続領域を抽出する際の拡大、縮小処理により連続領域内の非連続の１画像ブロックは、連続領域に変換される。
【０２７３】
ステップＳ１３２において、ＣＰＵ１４３は、６ビットの付加情報を復号するための処理対象画像である図３９（Ａ）の１画像ブロック（例えば、図３９（Ａ）の左上の画像ブロック）を選択抽出する。このとき、ステップＳ１３１においてワークメモリに記憶された連続領域データを参照して、ＣＰＵ１４３は、連続領域内の画像ブロックのみを選択抽出する。上述したことから、ここでは、第１ライン、第８０１ラインの全領域は連続領域であるとして、選択抽出される。
【０２７４】
ステップＳ１３３において、ＣＰＵ１４３は、ステップＳ１３２において抽出された画像ブロックをＤＣＴ処理し、ＤＣＴ係数を算出する。
【０２７５】
次に、ステップＳ１３４において、ＣＰＵ１４３は、前の注目画像ブロックのＤＣＴ係数と、現注目画像ブロックのＤＣＴ係数の差分値を演算し、ワークメモリに、その差分値と、現注目画像ブロックのＤＣＴ係数を記憶させる。なお、前の注目画像ブロックのＤＣＴ係数がワークメモリに記憶されていないとき、差分値は０とされる。
【０２７６】
ステップＳ１３５において、ＣＰＵ１４３は、１ラインの処理が終了したか否かを判別し、終了していないとき、ステップＳ１３２に戻る。一方、ステップＳ１３５において、ＣＰＵ１４３が、１ラインの処理が終了したと判別すると、ステップＳ１３６に処理を進める。
【０２７７】
ステップＳ１３６において、ＣＰＵ１４３は、ワークメモリに記憶された１ライン分の各画像ブロックのうち、上述の差分値の大きい２つの画像ブロックを検出し、その画像ブロックの位置をワークメモリ４４に記憶する。
【０２７８】
ステップＳ１３７において、ＣＰＵ１４３は、ワークメモリに記憶された１ライン分の画像ブロックのうち、差分値が所定値以上の画像ブロック２つを用いて付加情報を出力する。即ち、ＣＰＵ１４３は、そのような２つの画像ブロックが隣同士であるとき、左側の画像ブロック位置をワークメモリに記憶すると共に、付加情報として出力する。例えば、図３９（Ｄ）に示した場合では、差分値の大きい画像ブロックは、左から２番目と３番目の画像ブロックであり、左側の画像ブロックは２番目であるので、付加情報は２となる。
【０２７９】
ここで、左から０番目や７番目の画像ブロックに付加情報が埋め込まれているとき、差分値が所定値以上の画像ブロックは１つとなる可能性が高い。そこで、ＣＰＵ１４３は、１番目の画像ブロックのみの差分値が大のときは、付加情報はを０とし、７番目の画像ブロックのみの差分値が大のときは、付加情報を７とするような、画像データの境界では特別な処理を行う。
【０２８０】
ステップＳ１３８において、ＣＰＵ１４３は、現在の処理対象が画像の上段の１乃至８００ラインであるか、下段の８０１乃至１６００ラインであるかを判別する。ＣＰＵ１４３が、現在の処理対象が画像の上段であると判別すると、ステップＳ１３９に進み、画像処理領域を上段から下段に変更する。具体的には、ＣＰＵ１４３は、現在処理されているラインが、例えば第１ラインであれば、それに８００を加算し、第８０１ラインを処理の対象とする。上段から下段に切り換えられた後、ステップＳ１３２に戻る。
【０２８１】
一方、ステップＳ１３８において、ＣＰＵ１４３が、現在の処理対象が画像の下段であると判別すると、ステップＳ１４０に進み、ＣＰＵ１４３は、ステップＳ１３７において最終的に記憶された２つの位置の画像ブロックを入れ替え、フレームメモリ１４１に書き込みむ。
【０２８２】
ステップＳ１４１において、ＣＰＵ１４３は、画像データの復号が１フレーム分終了したか否かを判別する。ＣＰＵ１４３が、復号が終了していないと判別すると、ステップＳ１３９に進み、上述したように、画像処理領域が下段から上段に変更され、以下、同様の処理が行われる。また、ＣＰＵ１４３が、復号が終了したと判別すると、処理を終了する。
【０２８３】
ここで、元の画像に復号され、フレームメモリ４１に記憶される画像データは、第１ラインと第８０１ラインのように２ライン毎に、出力Ｉ／Ｆ１４２を介して順に出力しても良いし、全ての復号処理が終了したのち、出力Ｉ／Ｆ１４２から出力しても構わない。
【０２８４】
次に、情報の相似性についてであるが、例えば、風景を撮影した画像等の一部は、画像のフラクタル性（自己相似性）を利用して生成することができることが知られている。即ち、例えば、図４１（Ａ）に示すような、海１４０１と森１４０２を撮影した画像においては、海１４０１全体の画素値の変化パターンと、その海１４０１の一部の画素値の変化パターンとの相似性は高いが、それらの変化パターンと、海１４０１から離れた森１４０２の画素値の変化パターンとの相似性は低いという相似性の偏りがある。ここで、画像の相似性は、上述のように画素値の変化パターンを比較して考えるのではなく、エッジ形状を比較して考えても良い。
【０２８５】
そこで、いま、図４１（Ａ）に示した海１４０１の一部１４０３と、森１４０２の一部１４０４とを入れ替える。
【０２８６】
この場合、画像の相似性の偏りが破壊され、図４１（Ｂ）に示すような画像が得られる。しかしながら、近接する部分の画素値の変化パターンは相似性が高く、離れるほど、画素値の変化パターンの相似性が低くなるという相似性の偏りを利用することにより、破壊された相似性の偏りを復元することができる。即ち、図４１（Ｂ）において、海１４０１の画像の一部が、海１４０１と相似性の低い森１４０２の画像の一部１４０４になっていること、および森１４０２の画像の一部が、森１４０２と相似性の低い海１４０１の画像の一部１４０３となっていることは、画像が有する本来の相似性の偏りからすれば、明らかに不自然である。具体的には、図４１（Ｂ）において、海１４０１の画像の中の、森１４０２の画像の一部１４０４についての相似性は、海１４０１の他の部分についての相似性に比較して極端に低くなっており、また、森１４０２の画像の中の、海１４０１の画像の一部１４０３についての相似性も、森１４０２の他の部分についての相似性に比較して極端に低くなっている。
【０２８７】
従って、画像が本来有する相似性の偏りからすれば、海１４０１の画像の一部となっている、森１４０２の画像の一部１４０４と、森１４０２の画像の一部となっている、海１４０１の画像の一部１４０３とは入れ替えるべきである。そして、そのような入れ替えを行うことで、画像の相似性の偏りが復元され、これにより、図４１（Ｂ）に示した画像から、図４１（Ａ）に示した元の画像を復号することができる。
【０２８８】
ここで、図４１で説明した場合においては、海１４０１の画像の一部１４０３と、森１４０２の画像の一部１４０４とを入れ替えることが、画像の符号化を行うこととなる。また、その符号化に際し、埋め込み符号化器１０３では、例えば、海１４０１の画像のどの部分（画面上の位置）と、森１４０２の画像のどの部分とを入れ替えるのかなどが、付加情報にしたがって決定されることになる。一方、埋め込み復号器１０６では、符号化後の信号、即ち、海１４０１の一部が、森１４０２の一部１４０４となっているとともに、森１４０２の一部が、海１４０１の一部１４０３となっている画像を、周辺の画素値の変化パターンの相似性は高く、離れるほど、画素値の変化パターンの相似性が低くなっていくという相似性の偏りを利用して、元の画像に戻すことが、その元の画像を復号することとなる。さらに、その復号に際し、埋め込み復号器１０６において、例えば、海の画像のどの部分と、森の画像のどの部分とが入れ替えられていたのかなどを検出することが、埋め込まれた付加情報を復号することになる。
【０２８９】
次に、図４２を参照して、相似性について、さらに説明する。
【０２９０】
いま、例えば、図４２（Ａ）に示すようなフラクタル画像を符号化対象として符号化を行うとした場合、埋め込み符号化器１０３では、付加情報に対応して、フラクタル画像の一部が、そのフラクタル画像とは相似でない画像に入れ替えられることで、フラクタル画像の符号化が行われる。即ち、埋め込み符号化器１０３では、図４２（Ａ）に示した、樹木の葉の形状をしたフラクタル画像の一部が、例えば、図４２（Ｂ）に示すように、三角形に入れ替えられる。なお、図４２では、図４２（Ｂ）においてＤ１およびＤ２で示す部分が三角形になっている。また、埋め込み符号化器１０３では、例えば、三角形に入れ替えられるフラクタル画像の位置や、フラクタル画像と入れ替える三角形の大きさ、数などが、付加情報にしたがって決定される。
【０２９１】
この場合、埋め込み復号器１０６では、例えば、次のようにして、フラクタル画像と付加情報とが復号される。即ち、例えば、図４２（Ｂ）において、点線の四角形で囲んである部分については、三角形との入れ替えを行わないこととしておき、埋め込み復号器１０６では、その点線の四角形で囲んである部分を、教師画像として、その教師画像と相似でない部分（ここでは、三角形）が検索される。さらに、埋め込み復号器１０６は、教師画像と相似でない部分である三角形を、教師画像に含まれる、フラクタル画像の基準図形から生成される画像（フラクタル画像）に入れ替え、元のフラクタル画像（図４２（Ａ））を復号する。そして、検索された三角形の位置や、大きさ、数などに基づいて、埋め込まれた付加情報を復号する。
【０２９２】
なお、上述の場合においては、埋め込み復号器１０６で、教師画像に含まれる、フラクタル画像の基準図形を検出する必要があるが、これは、例えば、次のようにして行われる。即ち、図４２（Ｂ）の画像のうちの、教師画像と、それ以外の部分との相似性、および教師画像の自己相似性に基づいて、図４２（Ｂ）の画像を対象に、フラクタル画像の基準図形が検索され、教師画像以外の部分を、最も効率良く表すことができる図形が、基準図形として検出される。
【０２９３】
また、ここでは、埋め込み復号器１０６において、元のフラクタル画像の生成規則が認識されており、その生成規則に基づいて、三角形と入れ替える画像が、基準図形を用いて生成される。即ち、埋め込み復号器１０６では、三角形と入れ替える画像を生成するための、基準図形の大きさや、位置、回転量などが、生成規則に基づいて特定され、その特定された基準図形の大きさや、位置、回転量などにしたがって、基準図形が操作され、三角形と入れ替える画像（フラクタル画像）が生成される。
【０２９４】
次に、画像の相似性を利用して、埋め込まれる付加情報が復号されるように、画像に付加情報を埋め込む埋め込み符号化処理について詳細に説明する。なお、この場合も、埋め込み符号化器１０３の構成は、図３０における場合と同様の構成であるので、説明を省略する。
【０２９５】
図４３は、相似性を利用する埋め込み符号化処理を示すフローチャートである。
【０２９６】
ステップＳ１５１において、ＣＰＵ１３２は、画像データベース１０１から１フレーム分の画像データがフレームメモリ１３１に転送されるように制御すると共に、画像データの相似領域を検出し、更に、相似領域の位置を示す相似領域データを、ワークメモリに記憶させる。
【０２９７】
すなわち、ＣＰＵ１３２は、例えば、図４４（Ａ）に示すような、５６×１６００画素からなる画像データの相似領域を画像データより検出する場合には、画像データを、８×８画素毎の画像ブロックに分割し、注目画像ブロックと周辺画像ブロックとの相似性を検出する。
【０２９８】
即ち、ＣＰＵ１３２は、注目画像ブロックをラスタスキャン順にスキャンし、注目画像ブロックと左右の周辺画像ブロックとの相似性を算出する。具体的には、ＣＰＵ１３２は、注目画像ブロックの大きさ、位置、回転量を所定量だけ変更しながら、左及び右隣の画像ブロックとのマッチングを行い、マッチング度を正規化する。さらに、ＣＰＵ１３２は、正規化後のマッチング度を平均し、注目画像ブロックの周辺との相似性評価値として、ワークメモリに記憶させる。ここで、左端と右端の画像ブロックが注目画像ブロックのときは、一方のマッチング度を、そのまま注目画像ブロックのマッチング度とすることとする。ＣＰＵ１３２は、算出された相似性評価値（マッチング度）が所定しきい値以上である画像ブロックを相似領域として認識し、その画像ブロックの位置を、ワークメモリに記憶させる。ここで、算出された相似領域内の一部の画像ブロックがノイズ等の影響により相似領域ではないと判断される可能性もあるので、ＣＰＵ１３２は、相似領域の検出の後、相似領域の拡大、縮小処理により相似領域内の一部の非相似の画像ブロックを、相似領域の画像ブロックに変換する補正処理を行う。
【０２９９】
次に、ステップＳ１５２において、ＣＰＵ１３２は、付加情報データベース１０２から、付加情報を、例えば、６ビット（３ビット＋３ビット）ずつ受信する。
【０３００】
ステップＳ１５３において、ＣＰＵ１３２は、上述の付加情報６ビットを埋め込むための処理対象画像である、例えば、図４４（Ａ）の１番目のライン、及び１０１番目のラインを選択抽出する。このとき、ステップＳ１５１においてワークメモリに記憶された相似領域データを参照して、ＣＰＵ１３２は、１番目のライン、１０１番めのラインの相似領域のみを選択抽出する。図４４（Ａ）の実施の形態においては、１番目のライン、１０１番目のラインの全領域が相似領域であるとして選択抽出される。
【０３０１】
ステップＳ１５４において、ＣＰＵ１３２は、処理対象画像である、１番目のラインの画像と、１０１番目のラインの画像を入れ替えることにより、画像データに付加情報を埋め込む。
【０３０２】
即ち、図４４（Ａ）は、付加情報が埋め込まれる前の１番目のラインと１０１番目のラインの画像データの画素値を示している。図４４（Ａ）では、１番目のラインの領域と１０１番目のラインの領域では画素値の変化パターン、すなわち、画像ブロック内の図形の相似性が異なっている。
【０３０３】
例えば、いま、６ビットの付加情報の上位３ビットが２で、下位３ビットが６であるとすると、ＣＰＵ１３２は、上位３ビットの２を埋め込むため、図４４（Ａ）の１番目のラインの２ブロック目を選択し、下位３ビットの６を埋め込むため、図４４（Ａ）の１０１番目のラインの６ブロック目を選択する。更に、ＣＰＵ１３２は、選択された２ブロック目と６ブロック目の画像データを入れ替えることにより、図４４（Ｂ）に示すような画像データに符号化する。
【０３０４】
ステップＳ１５５において、ＣＰＵ１３２は、符号化された１番目のラインと１０１番目のラインの画像データを、フレームメモリ１３１に書き込み（上書きし）、ステップＳ１５６に進む。
【０３０５】
ステップＳ１５６において、ＣＰＵ１３２は、１フレームの画像データの符号化が終了したか否かを判別する。ＣＰＵ１３２が、符号化が終了していないと判別すると、ステップＳ１５２に戻り、再び付加情報が受信される。そして、ステップＳ１５３に進み、ＣＰＵ１３２は、次のライン、すなわち、２番目のライン及び１０２番目のラインというように順に処理対象画像を選択する。
【０３０６】
一方、ステップＳ１５６において、ＣＰＵ１３２が、符号化が終了したと判別すると、フレームメモリ１３１に記憶される符号化データが、出力Ｉ／Ｆ１３４を介して出力され、処理を終了する。
【０３０７】
次に、画像の相似性を利用して付加情報が埋め込まれた符号化データを復号する埋め込み復号処理について説明する。なお、この場合も、埋め込み復号器１０６の構成は、図３３における場合と同様の構成であるので、説明を省略する。
【０３０８】
図４５は、相似性を利用した埋め込み復号処理を示すフローチャートである。
【０３０９】
ステップＳ１６１において、ＣＰＵ１４３は、１フレーム単位の符号化データを、フレームメモリ１４１に順次記憶する。更に、ＣＰＵ１４３は、図４３における場合と同様の手法により、符号化データの中から相似領域を抽出し、その画像ブロックの位置を、相似領域データとして、ワークメモリに記憶させる。ここで、本実施の形態では、上述のように、８画素毎を１ラインとした１ラインに３ビットのデータが埋め込まれるので、８画素毎の１ラインのうち１つの画像ブロックが変更されることにより画像データは符号化される。よって、相似領域を抽出する際の拡大、縮小処理により相似領域内の非相似の１画像ブロックは相似領域に変換される。
【０３１０】
ステップＳ１６２において、ＣＰＵ１４３は、６ビットの付加情報を復号するための処理対象画像である、例えば、図４４（Ａ）の１画像ブロック（例えば、図４４（Ａ）の左上の画像ブロック）を選択抽出する。このとき、ステップＳ１６１においてワークメモリに記憶された相似領域データを参照して、ＣＰＵ１４３は、相似領域内の画像ブロックのみを選択抽出する。ここでは、例えば、１番目のライン、１０１番目のラインの全領域が相似領域であるとして、選択抽出されるものとする。
【０３１１】
ステップＳ１６３において、ＣＰＵ１４３は、ステップＳ１６２において抽出された画像ブロックを注目画像ブロックとして、左右の周辺画像ブロックとの相似性を算出する。相似性の算出方法は、図４３における場合と同様の手法が用いられる。即ち、ＣＰＵ１４３は、注目画像ブロックの大きさ、位置、回転量を所定量だけ変更しながら、左及び右隣の画像ブロックとのマッチングを行い、マッチング度を正規化し、さらに、平均する。そして、その平均値が、ステップＳ１６４において、注目画像ブロックの周辺との相似性評価値として、ワークメモリに記憶される。ここで、左端と右端の画像ブロックが注目画像ブロックのときは、一方のマッチング度がそのまま注目画像ブロックのマッチング度とされる。
【０３１２】
なお、ここでは、注目画像ブロックと左右の画像ブロックのマッチング度の平均を記憶するようにしたが、いずれか小さい方を記憶するようにしても構わない。
【０３１３】
ステップＳ１６５において、ＣＰＵ１４３は、１番目のラインの処理が終了したか否かを判別し、終了していないときは、ステップＳ１６２に戻り、再び処理を繰り返す。一方、ステップＳ１６５において、ＣＰＵ１４３が、１番目のラインの処理が終了したと判別すると、ステップＳ１６６に処理を進める。
【０３１４】
ステップＳ１６６において、ＣＰＵ１４３は、ワークメモリに記憶された１番目のライン分の各画像ブロックのマッチング度のうち、最小のマッチング度を有する画像ブロックの位置を、ワークメモリに記憶させる。
【０３１５】
ステップＳ１６７において、ＣＰＵ１４３は、ステップＳ１６６において記憶された画像ブロックの位置により付加情報を出力する。即ち、例えば、図４４（Ｂ）に示した場合では、マッチング度の小さい画像ブロックは２番目の画像ブロックとなり、その結果、付加情報は２となる。
【０３１６】
ステップＳ１６８において、ＣＰＵ１４３は、現在の処理対象が画像の上段１乃至１００番目のラインであるか、または下段の１０１乃至２００番目のラインであるかを判別する。ＣＰＵ１４３が、現在の処理対象が画像の上段であると判別すると、ステップＳ１６９に進み、画像処理領域を上段から下段に変更する。具体的には、ＣＰＵ１４３は、現在処理されているラインが、例えば１番目のラインである場合には、それに１００を加算し、１０１番目のラインを処理の対象とする。上段から下段に切り換えられた後、ステップＳ１６２に戻り、以下、同様の処理を繰り返す。
【０３１７】
一方、ステップＳ１６８において、ＣＰＵ１４３が、現在の処理対象が画像の下段であると判別すると、ステップＳ１７０に進み、ステップＳ１６７において最終的に記憶された２つの位置の画像ブロックが入れ替えられると共に、入れ替え後の画像ブロックが、フレームメモリ１４１に書き込まれる。
【０３１８】
ステップＳ１７１において、ＣＰＵ１４３は、画像データの復号が１フレーム分終了したか否かを判別する。そして、ＣＰＵ１４３が、復号が終了していないと判別すると、ステップＳ１６９に進み、以下、同様の処理を繰り返す。また、ステップＳ１７１において、ＣＰＵ１４３が、処理画像が終了したと判別すると、復号処理を終了する。
【０３１９】
ここで、元の原画像に復号され、フレームメモリ１４１に記憶される画像データは、１番目のラインと１０１番目のラインのように、２ライン毎に、出力Ｉ／Ｆ１４２を介して順に出力しても良いし、全ての復号処理が終了したのち、出力Ｉ／Ｆ１４２から出力しても構わない。
【０３２０】
以上のように、埋め込み符号化器１０３において、符号化対象の画像が有するエネルギの偏りを利用して復号を行うことができるように、その画像を、付加情報にしたがって符号化して、符号化データを出力する場合には、埋め込み復号器１０６では、その符号化データを、画像が有するエネルギの偏りを利用することにより、復号のためのオーバヘッドなしで、元の画像および付加情報に復号することができる。
【０３２１】
また、符号化対象の画像には、付加情報が埋め込まれることで、その埋め込みの結果得られる画像は、元の画像と異なる画像とされ、人が価値ある情報として認識することのできる画像ではなくなることから、符号化対象の画像については、オーバヘッドなしの暗号化を実現することができる。
【０３２２】
さらに、完全可逆の電子透かしを実現することができる。即ち、従来の電子透かしでは、例えば、画質にあまり影響のない画素値の下位ビットが、電子透かしに対応する値に、単に変更されていたが、この場合、その下位ビットを、元の値に戻すことは困難である。従って、復号画像の画質は、電子透かしとしての下位ビットの変更により、少なからず劣化する。これに対して、符号化データを、元の画像が有するエネルギの偏りを利用して復号する場合には、劣化のない元の画像および付加情報を得ることができ、従って、付加情報を電子透かしとして用いることで、電子透かしに起因して復号画像の画質が劣化することはない。
【０３２３】
また、埋め込まれた付加情報は、符号化データから画像を復号することで取り出すことができるので、画像の符号化結果とともに、オーバヘッドなしでサイドインフォメーションを提供することができる。言い換えれば、付加情報を取り出すためのオーバヘッドなしで、その付加情報を画像に埋め込むことができるので、その埋め込みの結果得られる符号化データは、付加情報の分だけ圧縮（埋め込み圧縮）されているということができる。従って、例えば、ある画像の半分を符号化対象とするとともに、残りの半分を付加情報とすれば、符号化対象である半分の画像に、残りの半分の画像を埋め込むことができるから、この場合、画像は、単純には、１／２に圧縮されることになる。
【０３２４】
さらに、符号化データは、元の画像が有するエネルギの偏りという、いわば統計量を利用して復号されるため、誤りに対する耐性の強いものとなる。即ち、ロバスト性の高い符号化であるロバスト符号化（統計的符号化）を実現することができる。
【０３２５】
また、符号化データは、元の画像が有するエネルギの偏りを利用して復号されるため、そのエネルギの偏りに特徴があるほど、即ち、例えば、画像については、そのアクティビティが高いほど、あるいは、冗長性が低いほど、多くの付加情報を埋め込むことができる。ここで、上述したように、付加情報の埋め込みの結果得られる符号化データは、付加情報の分だけ圧縮されているということができるが、この圧縮という観点からすれば、符号化対象の情報が有するエネルギの偏りを利用して復号を行うことができるように、その情報を、付加情報にしたがって符号化する方式（埋め込み符号化方式）によれば、画像のアクティビティが高いほど、あるいは、画像の冗長性が低いほど、圧縮率が高くなる。この点、埋め込み符号化方式は、従来の符号化方式と大きく異なる（従来の符号化方式である、例えばＭＰＥＧ（Moving Picture Experts Group）方式などでは、基本的に、画像のアクティビティが高いほど、あるいは、画像の冗長性が低いほど、圧縮率は低くなる）。
【０３２６】
さらに、例えば、上述したように、画像を符号化対象とする一方、付加情報として、画像とは異なるメディアの、例えば、音声を用いるようにすることで、音声をキーとして、画像の提供を行うようなことが可能となる。即ち、符号化装置１１０側において、例えば、契約者が発話した音声「開けゴマ」など付加情報として画像に埋め込んでおき、復号装置１２０側では、ユーザに、音声「開けゴマ」を発話してもらい、その音声と、画像に埋め込まれた音声とを用いて話者認識を行うようにする。このようにすることで、例えば、話者認識の結果、ユーザが契約者である場合にのみ、自動的に、画像を提示するようなことが可能となる。なお、この場合、付加情報としての音声は、いわゆる特徴パラメータではなく、音声波形そのものを用いることが可能である。
【０３２７】
また、例えば、音声を符号化対象とする一方、付加情報として、音声とは異なるメディアの、例えば、画像を用いるようにすることで、画像をキーとして、音声の提供を行うようなこと（例えば、顔認識後の音声応答）が可能となる。即ち、符号化装置１１０側において、例えば、ユーザへの応答としての音声に、そのユーザの顔の画像を埋め込み、復号装置１２０側では、ユーザの顔を撮影し、その結果得られる画像とマッチングする顔画像が埋め込まれている音声を出力するようにすることで、ユーザごとに異なる音声応答を行う音声応答システムを実現することが可能となる。
【０３２８】
さらに、音声に、音声を埋め込んだり、画像に、画像を埋め込んだりするような、あるメディアの情報に、それと同一メディアの情報を埋め込むようなことも可能である。あるいは、また、画像に、契約者の音声と顔画像を埋め込んでおけば、ユーザの音声と顔画像とが、画像に埋め込まれているものと一致するときのみ、その画像を提示するようにする、いわば二重鍵システムなどの実現も可能となる。
【０３２９】
また、例えば、テレビジョン放送信号を構成する、いわば同期した画像と音声のうちのいずれか一方に、他方を埋め込むようなことも可能であり、この場合、異なるメディアの情報どうしを統合した、いわば統合符号化を実現することができる。
【０３３０】
さらに、埋め込み符号化方式では、上述したように、情報には、そのエネルギの偏りに特徴があるほど、多くの付加情報を埋め込むことができる。従って、例えば、ある２つの情報について、エネルギの偏りに特徴がある方を適応的に選択し、その選択した方に、他方を埋め込むようにすることで、全体のデータ量を制御することが可能となる。即ち、２つの情報どうしの間で、一方の情報によって、他方の情報量を、いわば吸収するようなことが可能となる。そして、このように全体のデータ量を制御することができる結果、伝送路の伝送帯域や使用状況、その他の伝送環境にあったデータ量による情報伝送（環境対応ネットワーク伝送）が可能となる。
【０３３１】
また、例えば、画像に、その画像を縮小した画像を埋め込むことで（あるいは、音声に、その音声を間引いたものを埋め込むことで）、データ量を増加することなく、いわゆる階層符号化（下位階層の情報を少なくすることにより、上位階層の情報を生成する符号化）を実現することができる。
【０３３２】
さらに、例えば、画像に、その画像を検索するためのキーとなる画像を埋め込んでおくことで、そのキーとなる画像に基づいて、画像の検索を行うデータベースを実現することが可能となる。
【０３３３】
次に、図４６は、画像の相関性を利用して元に戻すことができるように、画像に付加情報を埋め込む埋め込み符号化を行う場合の図３０の埋め込み符号化器１０３の他のハードウェアの構成例を示している。なお、図４６の埋め込み符号化器１０３は、出力Ｉ／Ｆ１３３が設けられていない他は、図３０における場合と同様に構成されている。
【０３３４】
画像データベース１０１から供給される画像は、フレームメモリ１３１に供給されるようになされており、フレームメモリ１３１は、画像データベース１からの画像を、例えば、フレーム単位で一時記憶するようになされている。
【０３３５】
ＣＰＵ（Central Processing Unit）１３２は、プログラムメモリ１３４に記憶されたプログラムを実行することで、後述する埋め込み符号化処理を行うようになされている。即ち、ＣＰＵ１３２は、プログラムメモリ１３４に記憶されたプログラムにしたがって、付加情報データベース１０２から供給される付加情報を受信し、その付加情報を、フレームメモリ１３１に記憶された画像に埋め込むようになされている。具体的には、ＣＰＵ１３２は、フレームメモリ１３１に記憶された画像を構成する画素の位置を、例えば、１列（垂直方向に並ぶ画素列）単位で、付加情報に基づいて入れ替える（スワップする）ことで、各列に、付加情報を埋め込むようになされている。この付加情報が埋め込まれた画像は、符号化データとして出力されるようになされている。
【０３３６】
プログラムメモリ１３４は、例えば、ＲＯＭ（Read Only Memory）やＲＡＭ（Random Access Memory）などで構成され、ＣＰＵ１３２に、埋め込み符号化処理を行わせるためのコンピュータプログラムを記憶している。
【０３３７】
次に、図４７は、図４６の埋め込み符号化器１０３の機能的な構成例を示している。なお、この図４７に示した機能的な構成は、ＣＰＵ１３２がプログラムメモリ１３４に記憶されたコンピュータプログラムを実行することで実現されるようになされている。
【０３３８】
フレームメモリ１３１は、図４６で説明したように、画像データベース１０１から供給される画像を一時記憶するようになされている。
【０３３９】
スワップ情報生成部１３６は、付加情報データベース１０２から付加情報を読み出し、その付加情報に基づいて、フレームメモリ１３１に記憶された１フレームの画像の各列の位置を、どのように入れ替えるかを表すスワップ情報を生成するようになされている。即ち、フレームメモリ１３１に記憶された１フレームの画像が、Ｍ行Ｎ列の画素で構成される場合において、その画像の第ｎ列（左からｎ番目の列）を、第ｎ’列に入れ替えるときには、スワップ情報生成部１３６において、ｎとｎ’とが対応付けられたスワップ情報が生成される（ｎ，ｎ’は、１以上Ｎ以下の整数）。
【０３４０】
ここで、１フレームの画像の列数がＮ列である場合、その入れ替え方は、そのすべての列を入れ替えの対象とすると、Ｎ！（！は、階乗を表す）通りだけある。従って、この場合、１フレームには、最大で、ｌｏｇ2（Ｎ！）ビットの付加情報の埋め込みが可能となる。
【０３４１】
スワップ情報生成部１３６で生成されたスワップ情報は、スワッピング部１３７に供給されるようになされている。スワッピング部１３７は、スワップ情報生成部１３６から供給されるスワップ情報にしたがって、フレームメモリ１３１に記憶された１フレームの画像の各列の位置を入れ替えるようになされている。
【０３４２】
次に、図４８のフローチャートを参照して、図４７の埋め込み符号化器１０３において行われる埋め込み符号化処理について説明する。
【０３４３】
画像データベース１０１からは、そこに記憶されている画像が読み出され、フレームメモリ１３１に、順次供給されて記憶される。
【０３４４】
一方、スワップ情報生成部１３６では、ステップＳ１８１において、１フレームの画像に埋め込み可能なデータ量の付加情報が、付加情報データベース２から読み出される。即ち、例えば、上述したように、１フレームの画像の列数がＮ列であり、そのすべての列を入れ替えの対象とする場合には、１フレームには、最大で、ｌｏｇ2（Ｎ！）ビットの付加情報の埋め込みが可能であるから、そのようなビット数（以下）の付加情報が、付加情報データベース１０２から読み出される。
【０３４５】
そして、スワップ情報生成部１３６は、ステップＳ１８２に進み、ステップＳ１８１で読み出した付加情報に基づいて、スワップ情報を生成する。即ち、スワップ情報生成部１３６は、付加情報に基づき、フレームメモリ１３１に記憶された処理対象のフレームの第１列乃至第Ｎ列のうちの、例えば、第１列を除く第２列乃至第Ｎ列それぞれを、第何列に入れ替えるかを表すスワップ情報を生成する。このスワップ情報は、スワッピング部１３７に供給される。
【０３４６】
スワッピング部１３７は、スワップ情報生成部１３６からスワップ情報を受信すると、ステップＳ１８３に進み、そのスワップ情報にしたがって、フレームメモリ１３１に記憶された処理対象のフレームの各列の位置を入れ替える。そして、列の位置の入れ替えが行われたフレームは、フレームメモリ１３１から読み出され、符号化データとして出力される。
【０３４７】
なお、フレームの各列の位置の入れ替えは、フレームメモリ１３１における画像データ（を構成する画素）の記憶位置を変更することで行うことができるが、その他、例えば、フレームメモリ１３１からフレームを読み出すときのアドレスを制御することによって、結果として、列の位置の入れ替えが行われたフレームが、フレームメモリ１３１から読み出されるようにしても良い。
【０３４８】
また、本実施の形態では、上述したように、スワップ情報には、第２列乃至第Ｎ列それぞれを、第何列に入れ替えるかを表す情報が含まれているが、第１列を、第何列に入れ替えるかを表す情報は含まれていない。従って、スワッピング部３７では、第２列乃至第Ｎ列それぞれの入れ替えは行われるが、第１列の入れ替えは行われない。
【０３４９】
処理対象のフレームの第２列乃至第Ｎ列すべての入れ替えが終了すると、ステップＳ１８４に進み、フレームメモリ１３１に、まだ処理の対象とされていないフレームが記憶されているかどうかが判定され、記憶されていると判定された場合、ステップＳ１８１に戻り、まだ処理されていないフレームを対象に、同様の処理が繰り返される。
【０３５０】
また、ステップＳ１８４において、フレームメモリ１３１に、まだ処理の対象とされていないフレームが記憶されていないと判定された場合、埋め込み符号化処理を終了する。
【０３５１】
以上のような埋め込み符号化処理によれば、ある１フレームの画像は、次のような符号化データに符号化される。
【０３５２】
即ち、いま、付加情報が、例えば、図４９に示すように、Ｎ列（図４９（Ａ））の処理対象フレームの第２列を第６列に（図４９（Ｂ））、第３列を第９列に（図４９（Ｃ））、第４列を第７列に（図４９（Ｄ））、第５列を第３列に（図４９（Ｅ））、第６列を第８列に（図４９（Ｆ））、第７列を第４列に（図４９（Ｇ））、第８列を第５列に（図４９（Ｈ））、第９列を第２列に（図４９（Ｉ））、・・・、第Ｎ列を第Ｎ列に、それぞれ入れ替えるものに対応するとすると、そのような入れ替えを表すスワップ情報が、スワップ情報生成部１３６において生成される。そして、スワッピング部１３７では、例えば、図４９（Ｊ）に示すようなフレームが、上述のようなスワップ情報にしたがい、第２列が第６列に、第３列が第９列に、第４列が第７列に、第５列が第３列に、第６列が第８列に、第７列が第４列に、第８列を第５列に、第９列が第２列に、・・・、第Ｎ列が第Ｎ列に、それぞれ入れ替えられる。その結果、図４９（Ｊ）の画像は、図４９（Ｋ）に示すような画像に符号化される。
【０３５３】
ここで、図４９における第１列乃至第９列に注目して、埋め込み符号化処理について、さらに説明する。
【０３５４】
本実施の形態では、第１列は入れ替えの対象になっていない（禁止されている）ので、まず、第２列については、第１列乃至第９列のうちの第１列を除く第２列乃至第９列の合計８列の中から入れ替え先が決定される。この場合、第２列の入れ替え先は８通り存在するので、付加情報として、例えば、０乃至７の８通りの値のうちのいずれかを埋め込むことが可能である。いま、第２列乃至第８列への入れ替えに、それぞれ０乃至７の付加情報を割り当てると、図４９（Ｂ）に示したように、第２列が第６列に入れ替えられる場合は、第６列への入れ替えに割り当てられた４が、付加情報として埋め込まれることになる。
【０３５５】
第２列が第６列に入れ替えられると、残りの入れ替え先は第２列乃至第５列および第７列乃至第９列の合計７列となり、第３列については、この７列の中から入れ替え先が決定される。従って、この場合、付加情報として、例えば、０乃至６の７通りの値のうちのいずれかを埋め込むことが可能である。いま、上述した場合と同様に、第２列乃至第５列、第７列乃至第９列への入れ替えに、それぞれ０乃至６の付加情報を割り当てると、図４９（Ｃ）に示したように、第３列が第９列に入れ替えられる場合は、第９列への入れ替えに割り当てられた６が、付加情報として埋め込まれることになる。
【０３５６】
以下、同様にして、画像に付加情報が埋め込まれるが、このような埋め込み手法による場合には、付加情報の埋め込みが進行するほど、埋め込み可能な付加情報のビット数が減少していくことになる。
【０３５７】
以上のように、フレームメモリ１３１に記憶された画像を構成する１以上の画素の集合としての、各列の画素の位置を、付加情報に対応して入れ替えることにより、各列に、付加情報を埋め込む場合には、その逆の入れ替えを行うことで、元の画像を復号することができ、さらに、どのような入れ替えを行ったかということが付加情報となる。従って、画像の画質の劣化を極力なくし、かつデータ量を増加せずに、画像に付加情報を埋め込むことができる。
【０３５８】
即ち、付加情報が埋め込まれた画像である、列の位置の入れ替えが行われた画像の各列は、その画像の相関性、即ち、ここでは、元の画像と同様の正しい位置にある列との間の相関を利用することにより、オーバヘッドなしで、元の位置に入れ替えることができ、さらに、その入れ替え方により、付加情報を復号ことができる。従って、その結果得られる復号画像（再生画像）には、基本的に、付加情報を埋め込むことによる画質の劣化は生じない。
【０３５９】
なお、符号化データに、正しい位置にある列が存在しない場合には、上述のように画像の相関性を利用して、画像と付加情報を復号するのは困難である。そこで、ここでは、図４８の埋め込み符号化処理において、各フレームの第１列は、入れ替えを行わないで、そのまま、符号化データとして出力するようにしている。
【０３６０】
但し、第１列を含むすべての列を入れ替えの対象として、埋め込み符号化を行うことも可能であり、この場合、入れ替え後の列の少なくとも１以上の元の位置を、オーバヘッドとして、符号化データに含めることで、画像と付加情報の復号が容易に可能となる。
【０３６１】
また、付加情報は、上述のように、列を、順次入れ替えることにより、画像に埋め込んでいく他、すべての列を一度に入れ替えることにより、画像に埋め込むことも可能である。この場合、すべての列を一度に入れ替えるときの場合の数は、その列数の階乗通りだけあるが、その階乗通りの中から、どのような入れ替えパターンを選択するかが、付加情報によって決定される。また、その復号は、付加情報が埋め込まれた画像について、すべての列の階乗通りの入れ替えが行われ、その階乗通りの入れ替えパターンの中から、相関に基づいて、１つの入れ替えパターンが決定されることにより行われる。
【０３６２】
さらに、ここでは、画像の列を、付加情報そのものにしたがって入れ替えるようにしたが、列の入れ替えは、その他、例えば、付加情報の特徴量（例えば、付加情報のヒストグラムや、分散、ダイナミックレンジ等）に応じて行うようにすることも可能である。
【０３６３】
次に、図５０は、図４７の埋め込み符号化器１０３が出力する符号化データを、画像の相関性を利用して元の画像と付加情報に復号する図２７の埋め込み復号器１０６のハードウェアの構成例を示している。なお、図５０の埋め込み復号器１０６は、出力Ｉ／Ｆ１４２が設けられていない他は、図３３における場合と同様に構成されている。
【０３６４】
符号化データ、即ち、付加情報が埋め込まれた画像（以下、適宜、埋め込み画像ともいう）は、フレームメモリ１４１に供給されるようになされており、フレームメモリ１４１は、埋め込み画像を、例えば、フレーム単位で一時記憶するようになされている。
【０３６５】
ＣＰＵ１４３は、プログラムメモリ１４４に記憶されたプログラムを実行することで、埋め込み復号処理を行うようになされている。即ち、ＣＰＵ１４３は、フレームメモリ１４１に記憶された埋め込み画像を、画像の相関性を利用して元の画像と付加情報に復号するようになされている。具体的には、ＣＰＵ１４３は、埋め込み画像を構成する列のうち、既に復号した最新の列と、他の列との相関を計算する。そして、既に復号した列との相関を最大にする列を、その既に復号した列の右隣の位置に入れ替えることを、埋め込み画像を構成するすべての列について行うことで、元の画像を復号し、さらに、埋め込み画像を元の画像に復号する際の、埋め込み画像の各列の位置の入れ替え方に基づいて、付加情報を復号する。
【０３６６】
プログラムメモリ１４４は、ＣＰＵ１４３に、埋め込み復号処理を行わせるためのコンピュータプログラムを記憶している。
【０３６７】
次に、図５１は、図５０の埋め込み復号器１０６の機能的な構成例を示している。なお、この図５１に示した機能的な構成は、ＣＰＵ１４３がプログラムメモリ１４４に記憶されたコンピュータプログラムを実行することで実現されるようになされている。
【０３６８】
フレームメモリ１４１は、図５０で説明したように、埋め込み画像を一時記憶するようになされている。
【０３６９】
スワッピング部１４６は、フレームメモリ１４１に記憶された処理対象のフレームの、既に元の位置に入れ替えられた最新の列と、他の列（まだ、元の位置に戻されていない列）との相関を計算し、その相関に基づいて、処理対象のフレームの中の、まだ元の位置に戻されていない列の位置を入れ替えることで元に戻す（列の位置を復号する）ようになされている。さらに、スワッピング部１４６は、フレームの各列をどのように入れ替えたかを表すスワップ情報を、スワップ情報変換部１４７に供給するようにもなされている。
【０３７０】
スワップ情報変換部１４７は、スワッピング部１４６からのスワップ情報、即ち、処理対象のフレームの各列の、入れ替え前の位置と、入れ替え後の位置との対応関係に基づいて、埋め込み画像に埋め込まれた付加情報を復号するようになされている。
【０３７１】
次に、図５２のフローチャートを参照して、図５１の埋め込み復号器１０６において行われる埋め込み復号処理について説明する。
【０３７２】
フレームメモリ１４１では、そこに供給される埋め込み画像（符号化データ）が、例えば、１フレーム単位で順次記憶される。
【０３７３】
一方、スワッピング部１４６では、ステップＳ１９１において、フレームの列数をカウントするための変数ｎに、初期値としての、例えば、１がセットされ、ステップＳ１９２に進み、変数ｎが、フレームの列数であるＮから１を減算したＮ−１以下であるかどうかが判定される。
【０３７４】
ステップＳ１９２において、変数ｎがＮ−１以下であると判定された場合、ステップＳ１９３に進み、スワッピング部１４６は、フレームメモリ１４１に記憶された処理対象のフレームから、第ｎ列の画素（画素列）を読み出し、その第ｎ列の各画素（の画素値）を要素として並べたベクトル（以下、適宜、列ベクトルという）ｖnを生成する。ここで、フレームがＭ行の画素で構成される場合には、列ベクトルｖn（後述する列ベクトルｖkも同様）は、Ｍ次元のベクトルとなる。
【０３７５】
その後、ステップＳ１９４において、第ｎ列より右側にある列をカウントするための変数ｋに、初期値としてのｎ＋１がセットされ、ステップＳ１９５に進み、スワッピング部１４６は、第ｋ列の画素を読み出し、その第ｋ列の画素を要素とする列ベクトルｖkを生成して、ステップＳ１９６に進む。
【０３７６】
ステップＳ１９６では、スワッピング部１４６において、列ベクトルｖnおよびｖkを用いて、第ｎ列と第ｋ列との相関が求められる。
【０３７７】
即ち、スワッピング部１４６では、列ベクトルｖnとｖkとの距離ｄ（ｎ，ｋ）が、次式にしたがって計算される。
【０３７８】
0004626784.tif 000002
但し、上式において、Σは、ｍを、１からＭに変化させてのサメーションを表す。また、また、Ａ（ｉ，ｊ）は、処理対象になっているフレームの第ｉ行第ｊ列の画素（画素値）を表す。
【０３７９】
そして、スワッピング部１４６では、列ベクトルｖnとｖkとの距離ｄ（ｎ，ｋ）の逆数１／ｄ（ｎ，ｋ）が、第ｎ列と第ｋ列との相関（を表す相関値）として求められる。
【０３８０】
第ｎ列と第ｋ列との相関の算出後は、ステップＳ１９７に進み、変数ｋが、フレームの列数であるＮから１を減算したＮ−１以下であるかどうかが判定される。ステップＳ１９７において、変数ｋがＮ−１以下であると判定された場合、ステップＳ１９８に進み、変数ｋが１だけインクリメントされ、ステップＳ１９５に戻り、以下、ステップＳ１９７において、変数ｋがＮ−１以下でないと判定されるまで、ステップＳ１９５乃至Ｓ１９８の処理を繰り返す。即ち、これにより、第ｎ列と、それより右側にある埋め込み画像の列それぞれとの相関が求められる。
【０３８１】
その後、ステップＳ１９７において、変数ｋがＮ−１以下でないと判定されると、ステップＳ１９８に進み、スワッピング部１４６において、第ｎ列との相関を最大にするｋが求められる。そして、第ｎ列との相関を最大にするｋを、例えばＫと表すと、スワッピング部１４６は、ステップＳ２００において、フレームメモリ１４１に記憶された処理対象のフレームの第ｎ＋１列と第Ｋ列とをスワッピング、即ち、第Ｋ列を、第ｎ列の右隣の第ｎ＋１列に入れ替える。
【０３８２】
その後、ステップＳ２０１において、変数ｎが１だけインクリメントされ、ステップＳ１９２に戻り、以下、ステップＳ１９２において、変数ｎがＮ−１以下でないと判定されるまで、ステップＳ１９２乃至Ｓ２０１の処理を繰り返す。
【０３８３】
ここで、本実施の形態では、埋め込み画像の第１列は、元の画像の第１列のままであるから、変数ｎが、初期値である１のときは、第１列との相関が最も高い埋め込み画像の列が、第１列の右隣の第２列に入れ替えられる。第１列との相関が最も高い列は、画像の相関性から、基本的に、元の画像の第２列であるから、この場合、埋め込み符号化処理において、埋め込み画像のどこかの列に入れ替えられた元の画像の第２列は、元の位置に戻される（復号される）ことになる。
【０３８４】
そして、変数ｎが２となると、上述したようにして元の位置に入れ替えられた第２列との相関が最も高い埋め込み画像の列が、その第２列の右隣の第３列に入れ替えられる。第２列との相関が最も高い列は、やはり、画像の相関性から、基本的に、元の画像の第３列であるから、この場合、埋め込み符号化処理において、埋め込み画像のどこかの列に入れ替えられた元の画像の第３列は、元の位置に戻されることになる。
【０３８５】
以下、同様にして、フレームメモリ１４１に記憶された埋め込み画像は、元の画像に復号されていく。
【０３８６】
そして、ステップＳ１９２において、変数ｎがＮ−１以下でないと判定された場合、即ち、埋め込み画像を構成する第２列乃至第Ｎ列すべてが、画像の相関性を利用して元の位置に戻され、これにより、フレームメモリ１４１に記憶された埋め込み画像が、元の画像が復号された場合、ステップＳ２０２に進み、その復号された画像が、フレームメモリ１４１から読み出される。さらに、ステップＳ２０２では、スワッピング部１４６が、埋め込み画像を元の画像に復号した際の、埋め込み画像の第２列乃至第Ｎ列それぞれの入れ替え方を表すスワップ情報が、スワップ情報変換部１４７に出力される。そして、スワップ情報変換部１４７では、スワッピング部１４６からのスワップ情報に基づいて、埋め込み画像に埋め込まれていた付加情報が復号されて出力される。
【０３８７】
その後、ステップＳ２０３に進み、フレームメモリ１４１に、まだ処理の対象とされていない埋め込み画像のフレームが記憶されているかどうかが判定され、記憶されていると判定された場合、ステップＳ１９１に戻り、まだ処理の対象とされていない埋め込み画像のフレームを対象に、同様の処理が繰り返される。
【０３８８】
また、ステップＳ２０３において、フレームメモリ１４１に、まだ処理の対象とされていないフレームが記憶されていないと判定された場合、埋め込み復号処理を終了する。
【０３８９】
以上のように、付加情報が埋め込まれた画像である符号化データを、画像の相関性を利用して、元の画像と付加情報に復号するようにしたので、その復号のためのオーバヘッドがなくても、符号化データを、元の画像と付加情報に復号することができる。従って、その復号画像には、基本的に、付加情報を埋め込むことによる画質の劣化は生じない。
【０３９０】
なお、図５２の埋め込み復号処理においては、既に復号された最新の列（ｎ＝１の場合においては、埋め込み符号化時に入れ替えられていない第１列）と、まだ復号されていない列との相関を求め、その相関に基づいて、既に復号された最新の列の右隣の位置に入れ替えられるべき列を検出するようにしたが、その他、例えば、既に復号された複数の列と、まだ復号されていない列との相関を演算することにより、既に復号された最新の列の右隣に入れ替えられるべき列を検出するようにすることも可能である。
【０３９１】
ここで、図５３乃至図５５に、以上のような埋め込み符号化処理および復号化処理のシミュレーション結果を示す。
【０３９２】
図５３は、埋め込み符号化処理の対象とした画像（原画像）で、長手方向を縦にして見た場合に、横×縦が５１２画素×８３２画素で構成されている。
【０３９３】
図５４は、図５３の画像に対して、埋め込み符号化処理を施した処理結果を示している。図５４の画像（埋め込み画像）には、ｌｏｇ2（５１２！）ビットの付加情報が埋め込まれている。なお、同図からも明らかなように、埋め込み符号化は、上述したように、画像の暗号化という機能（効果）を有する。
【０３９４】
図５５は、図５４の埋め込み符号化処理の結果を、埋め込み復号処理により復号した復号画像を示している。図５３と図５５とを比較することにより、画質の劣化なく、元の画像に復号されていることが分かる。なお、埋め込み復号処理により、埋め込み画像が元の画像に正確に復号されれば、その復号の際の、埋め込み画像の各列の入れ替え方に基づいて、付加情報も、正確に復号される。
【０３９５】
次に、上述の場合においては、埋め込み符号化器１０３には、例えば、図５６に示すような、Ｎ列でなる画像を符号化対象とし、第１列は固定して、第２乃至第Ｎ列を、付加情報にしたがって入れ替えることにより埋め込み符号化を行わせるようにしたが、埋め込み符号化器１０３には、その他、例えば、図５７に示すような、Ｈラインでなる画像を符号化対象とし、第１ラインは固定して、第２乃至第Ｈラインを、付加情報にしたがって入れ替えることにより埋め込み符号化を行わせることが可能である。
【０３９６】
また、埋め込み復号器１０６には、埋め込み符号化結果を、画像の相関性を利用して、元の画像と付加情報に復号させるようにしたが、埋め込み復号器１０６には、画像の相関性、連続性、または相似性のうちの複数を利用して、埋め込み符号化結果の復号を行わせることが可能である。
【０３９７】
即ち、図５２における場合には、図５６の画像の各列について、その列を構成する画素の画素値を要素とする列ベクトルｖnを用い、その列ベクトルどうしの距離の逆数を、相関として定義し、この相関のみを利用して、符号化データの復号を行うようにしたが、この場合、埋め込み復号器１０６では、まず、符号化データから、第１列（第１列は、上述したように固定）の列ベクトルと最も距離の近い列ベクトルが検出され、その列ベクトルに対応する列が、第２列とされる。さらに、埋め込み復号器１０６では、符号化データから、第２列の列ベクトルと最も距離の近い列ベクトルが検出され、その列ベクトルに対応する列が、第３列とされる。以下、同様にして、符号化データから、第Ｎ列までが検出され、これにより、元の画像が復号されるとともに、第２乃至第Ｎ列が、どのように入れ替えられていたかが、埋め込まれた付加情報として復号される。
【０３９８】
一方、図５６の画像の第ｎ列（ｎ＝１，２，・・・，Ｎ）の列ベクトルｖ1，ｖ2，・・・、ｖNが列ベクトル空間内に描く軌跡が、例えば、図５８に、細い点線で示すようであったとする。
【０３９９】
この場合、上述したように、第１列から、最も距離の近い列ベクトルを順次検出していくと、図５８に太い点線で示す軌跡が描かれる。即ち、ｖ1，ｖ2，ｖ13，ｖ3，ｖ14，ｖ15，ｖ4，ｖ5，ｖ6，・・・といった順番で、列ベクトルが検出されていく。従って、図５８の実施の形態においては、相関（ここでは、列ベクトルどうしの距離）だけでは、列ベクトルは、正しい順序で検出されず、その結果、画像および付加情報も正しく復号することができないことになる。
【０４００】
そこで、第１列の列ベクトルｖ1と最も距離の近い列ベクトルを検出し、その列ベクトルに対応する列を、第２列とした後は、例えば、図５９に示すように、第２列の列ベクトルｖ2と、第１列の列ベクトルｖ1との差分ベクトル△ｖ12を求める。そして、列ベクトルｖ2に、その差分ベクトル△ｖ12を加算したベクトルによって表される点Ｐ12に最も近い列ベクトルを検出し、その列ベクトルに対応する列を第３列とする。
【０４０１】
さらに、第４列については、第３列の列ベクトルｖ3と、第２列の列ベクトルｖ2との差分ベクトルを求めて、その差分ベクトルを、列ベクトルｖ3に加算したベクトルによって表される点に最も近い列ベクトルを検出し、その列ベクトルに対応する列を第４列とする。以下、同様にして、第Ｎ列までを求めていくようにする。
【０４０２】
以上のように、第ｎ列と第ｎ＋１列との間の相関性だけでなく、第ｎ列の列ベクトルｖnと、第ｎ＋１列の列ベクトルｖn+1との間の、例えば連続性、即ち、ここでは、差分ベクトルｖn+1−ｖnの変化が連続しているということをも利用することで、図５８において、細い点線で示した軌跡が描かれるような正しい順番で、列ベクトルが検出され、その結果、画像および付加情報を正しく復号することができる。
【０４０３】
次に、図４９の実施の形態においては、符号化対象の画像の画素（但し、第１列の画素を除く）を、列単位で、付加情報に基づいて入れ替えることで、付加情報の、画像への埋め込み、即ち、埋め込み符号化を行うようにしたが、埋め込み符号化は、例えば、符号化対象の画像の画素を、行単位で入れ替えたり、また、時間方向に並ぶ所定数のフレームの同一位置にある画素列の位置を入れ替えたりすることで行うことも可能である。
【０４０４】
さらに、埋め込み符号化は、例えば、符号化対象の画像の画素を、列単位で入れ替え、さらに、その入れ替え後の画像の画素を、行単位で入れ替えることにより行うことも可能である。
【０４０５】
即ち、例えば、図６０に示すような、横×縦がＮ×Ｍ画素でなる画像の列を、付加情報に基づいて入れ替え、例えば、図６１（Ａ）に示すような埋め込み画像とする。ここで、図６１（Ａ）においては、図６０の画像の第１列が第５列に、第２列が第Ｎ列に、第３列が第１列に、第４列が第２列に、第５列が第４列に、第６列が第３列に、・・・、第Ｎ列が第６列に、それぞれ入れ替えられている。
【０４０６】
そして、図６１（Ａ）の画像の行を、付加情報に基づいて入れ替え、例えば、図６１（Ｂ）に示すような埋め込み画像とする。ここで、図６１（Ｂ）においては、図６１（Ａ）の画像の第１行が第３行に、第２行が第５行に、第３行が第２行に、第４行が第Ｍ行に、第５行が第１行に、・・・、第Ｍ行が第４行に、それぞれ入れ替えられている。
【０４０７】
図６１（Ｂ）に示した埋め込み画像は、例えば、その第１列の左側に、入れ替えを行っていない列があるとすれば、その列を第１列として、図５２で説明した埋め込み復号処理を行うことにより、図６０に示した元の画像に復号することができる。即ち、列方向と行方向の両方向の入れ替えを行った埋め込み画像については、式（１）におけるΣにおいて加算される項の順番が変化するだけで、加算される項自体は変化しない。従って、式（１）によって求められる距離ｄ（ｎ，ｋ）は、埋め込み符号化された画像が同一であれば、列だけ入れ替えた場合と、列と行の両方を入れ替えた場合とで変化しないため、列と行の両方を入れ替えた埋め込み画像も、列だけ入れ替えた埋め込み画像と同様に、図５２の埋め込み復号処理によって、元の画像と付加情報に復号することができる。
【０４０８】
以上から、列と行の両方を入れ替える場合には、行と列のうち、いずれの入れ替えを先または後に行うかは、埋め込み復号処理に影響を与えない。従って、埋め込み符号化処理においては、行と列の入れ替えのうちのいずれを先または後に行っても良いし、埋め込み復号処理においても、行と列の入れ替えのうちのいずれを先または後に行っても良い。また、行と列の入れ替えを、交互に行うようなことも可能である。
【０４０９】
なお、埋め込み符号化処理において、列だけの入れ替えを行う場合には、埋め込み画像を元の画像に復号した際の、埋め込み画像の列の入れ替え方が、付加情報の復号結果となるが、行と列の両方の入れ替えを行う場合には、埋め込み画像の第ｍ行ｎ列の位置（ｍ，ｎ）にある画素が、復号画像のどの位置（ｍ’，ｎ’）に入れ替えられたかが、付加情報の復号結果となる。
【０４１０】
次に、図４８の埋め込み符号化処理では、符号化対象の画像の第１列だけを固定にし、埋め込み復号器１０６では、この第１列を、いわば復号の基準として、埋め込み画像の他の列の入れ替えを行うようにしたが、復号の基準は、第１列でなくても、あらかじめ、埋め込み符号化器１０３と埋め込み復号器１０６に設定されていれば、最後の第Ｎ列であっても良いし、その他の任意の列でも良い。さらに、復号の基準は、１列の画素である必要はなく、極端には、１画素であっても良い。
【０４１１】
ところで、例えば、第１列を、いわば復号の基準とし、画像の相関を利用して、埋め込み画像の他の列の入れ替えを行う場合には、１の列の入れ替えを誤ると、その後の列（本実施の形態では、入れ替えを誤った列の右側にある列）の入れ替えも誤る可能性が高くなる。この場合、元の画像を復号することができないから、正しい付加情報を復号することもできなくなる。
【０４１２】
そこで、埋め込み符号化処理においては、複数の列を、復号の基準として残しておく（入れ替えの対象としない）（入れ替えを禁止する）ようにすることが可能である。
【０４１３】
即ち、例えば、画像の列方向に並ぶ画素の集合を１の入れ替え単位として入れ替えを行う場合においては、例えば、図６２に斜線を付して示すように、１列おきの列を、復号の基準とし、残りの列（図６２において、白抜きで示す部分）を、入れ替えの対象とすることが可能である。
【０４１４】
なお、図６２に示した場合において、画像の列数が２Ｎ列であれば、その画像に埋め込むことのできる付加情報のデータ量は、最大で、ｌｏｇ2（Ｎ！）ビットとなる。
【０４１５】
次に、埋め込み符号化は、列や行単位より細かい単位で、１以上の画素の集合を入れ替えることで行うことが可能である。
【０４１６】
即ち、例えば、図６３に示すように、画像の各列を、５画素などの１以上の連続して並ぶ画素の集合に分け、その集合を１の入れ替え単位として入れ替えを行うことが可能である。さらに、この場合、図６３に示すように、入れ替え単位を市松模様状に２つに分類し、一方（例えば、図６３において白抜きの部分）を入れ替え対象とし、他方（例えば、図６３において斜線を付してある部分）を復号の基準とすることが可能である。なお、このようにした場合において、画像の行数が、入れ替え単位がＭ個だけ並ぶ画素数で構成され、列数が２Ｎ列であれば、その画像に埋め込むことのできる付加情報のデータ量は、最大で、ｌｏｇ2（（Ｍ×Ｎ）！）ビットとなる。
【０４１７】
また、例えば、図６４に示すように、画像の各列の画素を、６画素などの所定の画素数おきに抽出し、その抽出した画素の集合（図６４において、○を付してある画素の集合や、×を付してある画素の集合、△を付してある画素の集合など）を、１の入れ替え単位として入れ替えを行うことが可能である。さらに、この場合、図６４に示すように、画像を構成する各画素を市松模様状に２つに分類し、一方（例えば、図６４において白抜きの部分）を入れ替え対象とし、他方（例えば、図６４において斜線を付してある部分）を復号の基準とすることが可能である。なお、このようにした場合において、画像の各列から２Ｍ画素おき（図６４の実施の形態では、６画素おき）に抽出した画素の集合を１の入れ替え単位とし、画像の列数がＮ列であれば、その画像に埋め込むことのできる付加情報のデータ量は、最大で、ｌｏｇ2（（Ｍ×Ｎ）！）ビットとなる。即ち、例えば、図６４において○印で示す入れ替え単位は、同図において、１４２０や、１４２１、１４２２で示すように、各列に存在し、従って、各列における○印で示す入れ替え単位のみに注目すれば、Ｎ！通りの入れ替えが可能である。よって、画像の各列から２Ｍ画素おきに抽出した画素の集合を１の入れ替え単位とする場合には、各列には、Ｍ個の入れ替え単位が存在するから、図６４に示した画像全体では、最大で、（Ｍ×Ｎ）！通りの入れ替えが可能であり、その結果、画像に埋め込むことのできる付加情報のデータ量は、ｌｏｇ2（（Ｍ×Ｎ）！）ビットとなる。
【０４１８】
ここで、図６２乃至図６４に示した場合においては、入れ替え対象の画素（図６２乃至図６４において白抜きの部分）の集合が、複数の復号の基準（図６２乃至図６４において斜線を付してある部分）に隣接している。このような場合においては、例えば、その複数の復号の基準それぞれと、入れ替え対象の画素の集合との距離の自乗和の逆数などを相関として利用することができる。
【０４１９】
以上のように、埋め込み符号化時および埋め込み復号時における入れ替え単位は、特に限定されるものではない。
【０４２０】
また、復号の基準とする画素の集合も特に限定されるものではない。
【０４２１】
なお、復号の正確さの観点からすれば、入れ替え対象の画素が、より多数の、復号の基準とされている画素に隣接しているのが好ましく、従って、図６４に示した場合が最も好ましい。さらに、復号の正確さの観点からすれば、復号の基準とする画素が多い方が好ましい。
【０４２２】
但し、復号の基準とする画素は入れ替えの対象とされないから、その数が多い場合には、画像に埋め込むことのできる付加情報のデータ量が少なくなる。さらに、復号の基準とする画素が多い場合や、入れ替え対象の画素が、より多数の、復号の基準とされている画素に隣接している場合には、暗号化の効果が弱まる。
【０４２３】
従って、復号の基準とする画素の数やその配置パターンは、復号の正確さと、埋め込む付加情報のデータ量および暗号化の効果とを考慮し、埋め込み符号化および埋め込み復号の用途に応じて設定するのが望ましい。
【０４２４】
また、ある列が、それに近い列に入れ替えられたり、あるいは、近い位置にある列どうしが、同様の位置関係のまま入れ替えられたりする場合には、やはり、暗号化の効果が弱まるので、そのような入れ替えが行われないように、埋め込み符号化処理において、各列は、元の位置より、所定距離以上離れた位置の列に入れ替えるといった制限や、近い位置にある列どうしは、所定距離以上離れた位置の列に入れ替えるといった制限を付すことが可能である。
【０４２５】
さらに、埋め込み符号化の対象とする画像が、例えば、ＲＧＢコンポーネント信号で構成されるカラー画像である場合には、ＲＧＢのすべてを同一位置に入れ替えても良いし、ＲＧＢの各コンポーネントを、独立に入れ替えても良い。ＲＧＢのすべてを同一位置に入れ替える場合には、ＲＧＢの各コンポーネントを、独立に入れ替える場合に比較して、埋め込むことのできる付加情報のデータ量は少なくなるが、埋め込み復号時における復号精度を向上させることができる。一方、ＲＧＢの各コンポーネントを、独立に入れ替える場合には、ＲＧＢのすべてを同一位置に入れ替える場合に比較して、埋め込み復号時における復号精度は劣化するが、埋め込むことのできる付加情報のデータ量を多くすることができる。
【０４２６】
また、付加情報として用いる情報は、特に限定されるものではなく、例えば、画像や、音声、テキスト、コンピュータプログラム、制御信号、その他のデータを付加情報として用いることが可能である。なお、画像データベース１０１の画像の一部を付加情報とし、残りを、フレームメモリ１３１への供給対象とすれば、その残りの部分に、付加情報とされた画像の一部分が埋め込まれるから、画像の圧縮が実現されることになる。
【０４２７】
さらに、本実施の形態では、付加情報を、画像に埋め込むようにしたが、付加情報は、その他、例えば、音声に埋め込むことも可能である。即ち、例えば、時系列の音声データを、適当なフレームに区切り、各フレームの音声データを、付加情報にしたがって入れ替えることで、付加情報を、音声に埋め込むことが可能である。
【０４２８】
また、上述の場合には、ＣＰＵ１３２または１４２に、コンピュータプログラムを実行させることで、埋め込み符号化処理または埋め込み復号処理をそれぞれ行うようにしたが、これらの処理は、それ専用のハードウェアによって行うことも可能である。
【０４２９】
以上のような埋め込み符号化／復号を利用して、ユーザ端末３におけるパッケージデータの出力に伴って、広告情報を、ユーザに必然的に見せる場合には、パッケージデータを、次のように埋め込み符号化して、その符号化データを、ユーザ端末３に提供するようにすれば良い。
【０４３０】
即ち、まず、例えば、マルチメディアパッケージデータのメインデータに、そのメインデータと組になっているサブデータとしてのテキストデータ、画像データ、および音声データを埋め込む。
【０４３１】
具体的には、例えば、メインデータが画像データであるとすると、図６５（Ａ）に示すような、メインデータとしての画像データのラインを、サブデータに基づいて入れ替え、図６５（Ｂ）に示すような埋め込み画像を得る。
【０４３２】
さらに、その埋め込み画像に、広告情報を埋め込み、最終的な埋め込み画像を得る。
【０４３３】
具体的には、例えば、メインデータに、サブデータを埋め込むことにより得られる埋め込み画像の列を、広告情報に基づいて入れ替え、図６５（Ｃ）に示すような、最終的な埋め込み画像を得る。
【０４３４】
なお、図６５においては、最初に、メインデータとしての画像をラインを、サブデータに基づいて入れ替えることにより、埋め込み画像を得て、その後に、その埋め込み画像の列を、広告情報に基づいて入れ替えることにより、最終的な埋め込み画像を得るようにしたが、上述したように、埋め込み符号化／復号化においては、ライン（行）と列のうちのいずれの入れ替えを先または後に行うかは、埋め込み符号化／復号に影響を与えないから、図６６に示すように、最初に、メインデータとしての画像の列を、広告情報に基づいて入れ替えることにより（図６６（Ａ））、埋め込み画像を得て、その後に、その埋め込み画像のラインを、サブデータに基づいて入れ替えることにより（図６６（Ｂ））、最終的な埋め込み画像（図６６（Ｃ））を得るようにすることも可能である。
【０４３５】
また、サブデータに基づいて、画像の列を入れ替えるとともに、広告情報に基づいて、画像のラインを入れ替えるようにしても良い。
【０４３６】
さらに、マルチメディアパッケージデータへの広告情報の埋め込み方法は、上述したようなラインや列の入れ替えに限定されるものではない。
【０４３７】
以上のような埋め込み画像等である符号化データが、パッケージサーバ１からユーザ端末３に提供される場合には、ユーザ端末３において、マルチメディアパッケージデータの出力に伴って、広告情報を、ユーザに必然的に見せること等が可能となる。
【０４３８】
なお、マルチメディアパッケージデータのメインデータがテキストデータである場合には、メインデータが画像データまたは音声データである場合に比較して、一般に、メインデータに対し、少量の情報しか埋め込むことができないため、本実施の形態では、メインデータが、画像データか、または音声データである場合にのみ、広告情報を埋め込むこととする。但し、メインデータが、テキストデータである場合であっても、広告情報を埋め込むようにすることが可能である。
【０４３９】
図６７は、パッケージサーバ１が、マルチメディアパッケージデータを埋め込み符号化した符号化データを提供する場合のユーザ端末３の構成例を示している。なお、図中、図１８における場合と対応する部分については、同一の符号を付してあり、以下では、その説明は適宜省略する。即ち、図６７のユーザ端末３は、第１復号部５４および第２復号部５５が新たに設けられている他は、基本的に、図１８における場合と同様に構成されている。
【０４４０】
なお、ここでは、例えば、図６５または図６６で説明したように、サブデータと広告情報それぞれを、いわば独立に、メインデータに埋め込んだ符号化データとなっているマルチメディアパッケージデータが、パッケージサーバ１から提供されるものとする。
【０４４１】
第１復号部５４は、データ検索部４４が記憶部５２から検索して出力するマルチメディアパッケージデータとしての埋め込み符号化された符号化データに対して、埋め込み復号処理を施し、その復号結果を、第２復号部５５に出力するとともに、表示部５１またはスピーカ５３に供給する。第２復号部５５は、第１復号部５４の出力に対して、埋め込み復号処理を施し、その復号結果を、選択指示検出部４５に出力するとともに、表示部５１またはスピーカ５３に供給する。
【０４４２】
次に、図６８および図６９のフローチャートを参照して、図６７のユーザ端末３の処理について説明する。
【０４４３】
ユーザ端末３では、図６８に示すように、ステップＳ２１１乃至Ｓ２２３において、図１９のステップＳ３１乃至Ｓ４３における場合とそれぞれ、基本的に同様の処理が行われる。
【０４４４】
但し、ここでは、パッケージサーバ１から提供されるマルチメディアパッケージデータは、基本的に、埋め込み符号化された符号化データとなっているため、ステップＳ２２２では、そのような符号化データが、記憶部５２に記憶される。さらに、符号化データの状態では、ステップＳ２２３においてメインデータを出力し、また、ステップＳ２１７においてサブデータを出力することができないことから、そのメインデータおよびサブデータを得るために、図６７のユーザ端末３では、図６９のフローチャートにしたがったマルチメディアパッケージデータ復号処理が、メインデータやサブデータの出力時に、図６８のフローチャートにしたがった処理と並列に行われる。
【０４４５】
即ち、データ検索部４４は、ステップＳ２３１において、パッケージサーバ１からダウンロードされ、記憶部５２に記憶されたマルチメディアパッケージデータ（符号化データ）を、必要に応じて検索し、ステップＳ２３２に進み、その検索結果としてのマルチメディアパッケージデータのメインデータが、画像データまたは音声データのうちのいずれかであるかどうかを判定する。ステップＳ２３２において、メインデータが、画像データおよび音声データのうちのいずれでもないと判定された場合、即ち、メインデータがテキストデータである場合、ステップＳ２３１に戻る。
【０４４６】
即ち、メインデータがテキストデータである場合には、ここでは、上述したように、そのメインデータを有するマルチメディアパッケージデータは埋め込み符号化されていないから、メインデータおよびサブデータを即座に出力できるので、特に処理を行わずに、ステップＳ２３１に戻る。
【０４４７】
なお、例えば、マルチメディアパッケージデータのうちのヘッダには、情報の埋め込みが行われないこととし、また、ヘッダには、マルチメディアパッケージデータのメディアの種類が記述されているものとする。従って、ステップＳ２３２における判定処理は、マルチメディアパッケージデータのヘッダを参照することで行うことができる。
【０４４８】
また、ステップＳ２３２において、メインデータが、画像データまたは音声データのうちのいずれかであると判定された場合、即ち、マルチメディアパッケージデータが埋め込み符号化されている場合、データ検索部４４は、その埋め込み符号化されているマルチメディアパッケージデータである符号化データを、第１復号部５４に供給し、ステップＳ２３３に進む。
【０４４９】
ステップＳ２３３では、第１復号部５４は、データ検索部４４からの符号化データに対して、埋め込み復号処理を施し、これにより、符号化データに埋め込まれていた広告情報を復号するとともに、サブデータが埋め込まれた状態のメインデータ（以下、適宜、サブデータ埋め込みメインデータという）を得る。
【０４５０】
ステップＳ２３３で復号された広告情報は、ステップＳ２４４において、第１復号部５４から表示部５１またはスピーカ５３に供給されて出力される。即ち、広告情報が表示可能なものである場合には、第１復号部５４から表示部５１に供給されて表示され、音として出力可能なものである場合には、第１復号部５４からスピーカ５３に供給されて出力される。
【０４５１】
また、ステップＳ２３３で得られたサブデータ埋め込みメインデータは、第１復号部５４から第２復号部５５に供給される。第２復号部５５は、ステップＳ２３５において、サブデータ埋め込みメインデータに対して、埋め込み復号処理を施し、これにより、メインデータと、そのメインデータに埋め込まれていたサブデータを復号して、ステップＳ２３１に戻る。
【０４５２】
以上のようにして復号されたメインデータは、図６８のステップＳ２２３において出力され、また、サブデータは、ステップＳ２１７において出力される。
【０４５３】
従って、ユーザ端末３において、例えば、画像データであるメインデータに、サブデータと広告情報が埋め込まれた符号化データがダウンロードされた場合には、図７０（Ａ）に示すような符号化データに対して、埋め込み復号処理が施されることにより、図７０（Ｂ）に示すように、メインデータに埋め込まれていた広告情報が復号されて出力されるとともに、サブデータ埋め込みメインデータが得られる。そして、そのサブデータ埋め込みメインデータに対して、埋め込み符号化処理が施されることにより、図７０（Ｃ）に示すように、メインデータと、そのメインデータに埋め込まれていたサブデータとが復号される。
【０４５４】
その結果、ユーザが、メインデータである画像データを右クリックして、そのメインデータと組になっているサブデータを表示等させようとする場合には、必ず広告情報が出力されるので、ユーザが、サブデータを見る（あるいは、聴く）場合には、必然的に、広告情報も見る（あるいは聴く）ことになる。
【０４５５】
さらに、符号化データのファイルを、専用ブラウザ６２以外のアプリケーションで開いた場合であっても、例えば、ラインと列とが入れ替えられた画像が表示等されるだけであるから、ユーザは、広告情報を出力させることなしで、サブデータを得ることはできない。即ち、ユーザが、サブデータを得るにあたっては、必ず、広告情報が出力される。
【０４５６】
次に、図６７のユーザ端末３には、図７１のフローチャートにしたがったマルチメディアパッケージデータ復号処理を行わせることもできる。
【０４５７】
即ち、この場合、ステップＳ２４１乃至２４４、またはステップＳ２４６において、図６９のステップＳ２３１乃至Ｓ２３５における場合と同様の処理が行われる。
【０４５８】
そして、ステップＳ２４４において、ステップＳ２４３で復号された広告情報が、表示部５１またはスピーカ５３に供給されて出力された後に行われるステップＳ２４５では、ステップＳ２４４で出力された広告情報に対して、例えば、ユーザがクリック等の所定のアクションを行ったかどうかが判定され、クリックが行われていないと判定された場合、ステップＳ２４５に戻る。
【０４５９】
また、ステップＳ２４５において、ステップＳ２４４で出力された広告情報に対して、クリックが行われたと判定された場合は、ステップＳ２４６に進み、メインデータと、そのメインデータに埋め込まれていたサブデータが復号される。
【０４６０】
従って、この場合、広告情報の出力を、いわば、ユーザが確認したことを表すクリックが行われないと、サブデータは出力されない。その結果、図６９における場合に比較して、広告情報に対して、ユーザの意識を、より向けさせることができる。
【０４６１】
なお、上述の場合においては、メインデータに完全に復号したものを出力するようにしたが、メインデータが画像データである場合には、最初に、第１復号部５４で得られるサブデータ埋め込みメインデータを出力し、その後、第２復号部５５で得られるメインデータを、サブデータ埋め込みメインデータに替えて出力するようにしても良い。
【０４６２】
次に、広告情報を、ユーザに必然的に見せるための、マルチメディアパッケージデータの埋め込み符号化は、例えば、図７２に示すように行うことも可能である。
【０４６３】
即ち、この場合、まず最初に、広告情報に、サブデータを埋め込み（図７２（Ａ））、サブデータ埋め込み広告情報を得る。そして、このサブデータ埋め込み広告情報を、メインデータに埋め込み（図７２（Ｂ））、図７２（Ｃ）に示すような、最終的に、ユーザに提供する符号化データを得る。
【０４６４】
このような符号化データが、パッケージサーバ１から提供される場合には、図６７のユーザ端末３では、図７３のフローチャートにしたがったマルチメディアパッケージデータ復号処理が行われる。
【０４６５】
即ち、この場合、ステップＳ２５１またはＳ２５２において、図６９のステップＳ２３１またはＳ２３２における場合と、それぞれ同様の処理が行われる。
【０４６６】
そして、ステップＳ２５３では、第１復号部５４は、データ検索部４４からの符号化データに対して、埋め込み復号処理を施し、これにより、メインデータと、そのメインデータに埋め込まれていたサブデータ埋め込み広告情報とを復号する。
【０４６７】
ステップＳ２５３で得られたサブデータ埋め込み広告情報は、第１復号部５４から第２復号部５５に供給される。第２復号部５５は、ステップＳ２３４において、サブデータ埋め込み広告情報に対して、埋め込み復号処理を施し、これにより、広告情報と、その広告情報に埋め込まれていたサブデータを復号して、ステップＳ２５５に進む。
【０４６８】
ステップＳ２５５では、ステップＳ２５４において復号された広告情報が、第２復号部５５から表示部５１またはスピーカ５３に供給されて出力され、ステップＳ２５１に戻る。
【０４６９】
そして、以上のようにして復号されたメインデータは、図６８のステップＳ２２３において出力され、また、サブデータは、図６８のステップＳ２１７において出力される。
【０４７０】
従って、ユーザ端末３において、例えば、画像データであるメインデータに、図７２で説明したようにして、サブデータと広告情報が埋め込まれた符号化データがダウンロードされた場合には、図７４（Ａ）に示すような符号化データに対して、埋め込み復号処理が施されることにより、図７４（Ｂ）に示すように、メインデータと、サブデータ埋め込み広告情報とが復号される。そして、そのサブデータ埋め込み広告情報に対して、埋め込み符号化処理が施されることにより、図７４（Ｃ）に示すように、広告情報と、その広告情報に埋め込まれていたサブデータとが復号される。
【０４７１】
その結果、ユーザが、メインデータである画像データを右クリックして、そのメインデータと組になっているサブデータを表示等させようとする場合には、必ず広告情報が出力されるので、ユーザが、サブデータを見る（あるいは、聴く）場合には、必然的に、広告情報も見る（あるいは聴く）ことになる。
【０４７２】
さらに、符号化データのファイルを、専用ブラウザ６２以外のアプリケーションで開いた場合であっても、符号化データが表示等されるだけであるから、ユーザは、広告情報を出力させることなしで、サブデータを得ることはできない。即ち、ユーザが、サブデータを得るにあたっては、必ず、広告情報が出力される。
【０４７３】
なお、図６５または図６６で説明したように、サブデータと広告情報それぞれを、いわば独立に、メインデータに埋め込んだ符号化データについては、その符号化データから、サブデータと広告情報を、それぞれ独立に復号することが可能であるから、いわゆる悪意のあるユーザ等によって、広告情報を復号することなしに、サブデータが復号されることがあり得るが、図７２で説明したように、広告情報に、サブデータを埋め込み、その結果得られるサブデータ埋め込み広告情報を、メインデータに埋め込む場合には、サブデータと広告情報とは、必ず同時に復号されることになるから、広告情報を復号することなしに、サブデータが復号されることを、完全に防止することができる。
【０４７４】
また、上述のように、パッケージサーバ１において、広告情報を埋め込んだ符号化データを提供する場合には、ユーザが、その広告情報を必然的に見聞きすることになるから、パッケージサーバ１の課金処理部３８では、広告情報を埋め込んだ符号化データのダウンロード回数をカウントし、そのダウンロード回数に応じて、広告情報の提供に対する広告主への課金を行うようにすることができる。
【０４７５】
さらに、上述の場合には、パッケージサーバ１（のデータベース３１）に、広告情報が既に埋め込まれた符号化データを記憶させておくようにしたが、パッケージサーバ１において、広告情報の埋め込みは、ユーザ端末３に対して、要求のあったマルチメディアパッケージデータを送信するときに行うようにすることが可能である。
【０４７６】
即ち、図７５は、そのようなパッケージサーバ１の構成例を示している。なお、図中、図２５における場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。即ち、図７５のパッケージサーバ１は、埋め込み符号化器３６Ａおよび広告データベース４０が新たに設けられている他は、図２５における場合と基本的に同様に構成されている。
【０４７７】
埋め込み符号化器３６Ａは、返信データ生成部３６に内蔵されており、返信データ生成部３６が検索部３２からマルチメディアパッケージデータを受信すると、広告データベース４０に記憶されている広告情報を読み出し、その広告情報を、検索部３２からのマルチメディアパッケージデータに埋め込む埋め込み符号化処理を行う。そして、埋め込み符号化器３６Ａは、その埋め込み符号化処理の結果得られる符号化データを、返信データとして検索部３２に出力する。
【０４７８】
この場合、広告情報の広告主から、あらかじめ代金を徴収しておき、その代金に応じて、マルチメディアパッケージデータに広告情報を埋め込む頻度を変えるようなサービスの提供が可能となる。
【０４７９】
なお、上述の場合には、マルチメディアパッケージデータに、広告情報を埋め込むようにしたが、マルチメディアパッケージデータには、広告情報の他、例えば、著作権情報等の、ユーザ端末３において必ず出力させたい所定の情報を埋め込むようにすることが可能である。
【０４８０】
また、広告情報は、マルチメディアパッケージデータの他、例えば、図４乃至図６で説明したような、アイコンデータをメインデータとするとともに、テキストデータをサブデータとするパッケージデータに埋め込むことが可能である。
【０４８１】
さらに、広告情報は、メインデータとサブデータとの組になっているパッケージデータ以外の任意のデータに埋め込むようにすることが可能である。
【０４８２】
また、ユーザ端末３に提供する符号化データは、上述のような、広告情報をパッケージデータに埋め込んだものに限定されるものではなく、復号する過程において広告情報が得られるように、パッケージデータを符号化したものであれば良い。
【０４８３】
さらに、本実施の形態では、マルチメディアパッケージデータを構成するメディアのデータとして、テキストデータ、画像データ、および音声データを採用したが、その他、例えば、プログラム等をも採用することも可能であり、また、テキストデータ、画像データ、音声データ、その他のメディアのデータのうちの任意の２つだけや４つ以上を採用することも可能である。
【０４８４】
【発明の効果】
本発明の第１の通信装置および通信方法、並びに記録媒体によれば、ユーザは、所望のメディアによるデータの提供を受けることが可能となる。
【０４８５】
本発明の第２の通信装置および通信方法、並びに記録媒体によれば、ユーザは、所望のメディアによるデータの提供を、単純なインタフェースによって受けることが可能となる。
【図面の簡単な説明】
【図１】本発明を適用したネットワークシステムの一実施の形態の構成例を示す図である。
【図２】パッケージサーバ１、ユーザ端末３，ＷＷＷサーバ４のハードウェア構成例を示すブロック図である。
【図３】パッケージサーバ１の第１の機能的構成例を示すブロック図である。
【図４】データベース３１の記憶内容を示す図である。
【図５】パッケージデータを示す図である。
【図６】パッケージデータどうしのリンク構造を示す図である。
【図７】パッケージサーバ１の処理を説明するフローチャートである。
【図８】ユーザ端末３の第１の機能的構成例を示すブロック図である。
【図９】ユーザ端末３の処理を説明するフローチャートである。
【図１０】ユーザ端末３における表示例を示す図である。
【図１１】ユーザ端末３における表示例を示す図である。
【図１２】ユーザ端末３における表示例を示す図である。
【図１３】ユーザ端末３における表示例を示す図である。
【図１４】ユーザ端末３における表示例を示す図である。
【図１５】データベース３１の記憶内容を示す図である。
【図１６】マルチメディアパッケージデータを示す図である。
【図１７】マルチメディアパッケージデータどうしのリンク構造を示す図である。
【図１８】ユーザ端末３の第２の機能的構成例を示すブロック図である。
【図１９】ユーザ端末３の処理を説明するフローチャートである。
【図２０】ユーザ端末３における表示例を示す図である。
【図２１】ユーザ端末３における表示例を示す図である。
【図２２】ユーザ端末３における表示例を示す図である。
【図２３】データベース３１に記憶されているマルチメディアパッケージデータを示す図である。
【図２４】ユーザ端末３に提供されるマルチメディアパッケージデータのカスタマイズを説明する図である。
【図２５】パッケージサーバ１の第２の機能的構成例を示すブロック図である。
【図２６】ユーザ情報を構成するユーザ嗜好情報と変更情報を示す図である。
【図２７】埋め込み符号化／復号システムの一実施の形態の構成例を示すブロック図である。
【図２８】符号化対象の画像を示す図である。
【図２９】相関性を利用した符号化／復号を説明するための図である。
【図３０】埋め込み符号化器１０３の構成例を示すブロック図である。
【図３１】埋め込み符号化処理を説明するフローチャートである。
【図３２】ステップＳ１０１の処理を説明する図である。
【図３３】埋め込み復号器１０６の構成例を示すブロック図である。
【図３４】ＣＰＵ１４３の処理を説明する図である。
【図３５】埋め込み復号処理を説明するフローチャートである。
【図３６】４画素に、１ビットの情報を埋め込む場合の処理を説明する図である。
【図３７】連続性を利用した符号化／復号を説明する図である。
【図３８】埋め込み符号化処理を説明するフローチャートである。
【図３９】埋め込み符号化処理および埋め込み復号処理を説明する図である。
【図４０】埋め込み復号処理を説明するフローチャートである。
【図４１】相似性を利用した符号化／復号を説明するための図である。
【図４２】相似性を利用した符号化／復号を説明するための図である。
【図４３】埋め込み符号化処理を説明するフローチャートである。
【図４４】埋め込み符号化処理および埋め込み復号処理を説明する図である。
【図４５】埋め込み復号処理を説明するフローチャートである。
【図４６】埋め込み符号化器１０３のハードウェアの構成例を示すブロック図である。
【図４７】埋め込み符号化器１０３の機能的構成例を示すブロック図である。
【図４８】埋め込み符号化処理を説明するためのフローチャートである。
【図４９】埋め込み符号化処理の結果を説明するための図である。
【図５０】埋め込み復号器１０６のハードウェアの構成例を示すブロック図である。
【図５１】埋め込み復号器１０６の機能的構成例を示すブロック図である。
【図５２】埋め込み復号処理を説明するためのフローチャートである。
【図５３】埋め込み符号化のシミュレーションに用いた原画像を示すディスプレイ上に表示された中間階調の写真である。
【図５４】埋め込み符号化のシミュレーション結果を示すディスプレイ上に表示された中間階調の写真である。
【図５５】埋め込み復号のシミュレーション結果を示すディスプレイ上に表示された中間階調の写真である。
【図５６】符号化対象となる画像を示す図である。
【図５７】符号化対象となる画像を示す図である。
【図５８】列ベクトル空間を示す図である。
【図５９】列ベクトル空間を示す図である。
【図６０】行と列の両方向の入れ替えを説明するための図である。
【図６１】行と列の両方向の入れ替えを説明するための図である。
【図６２】復号の基準とする画素を示す図である。
【図６３】復号の基準とする画素を示す図である。
【図６４】復号の基準とする画素を示す図である。
【図６５】広告情報を、マルチメディアパッケージデータに埋め込んだ符号化データの生成方法を説明する図である。
【図６６】広告情報を、マルチメディアパッケージデータに埋め込んだ符号化データの生成方法を説明する図である。
【図６７】ユーザ端末３の第３の機能的構成例を示すブロック図である。
【図６８】ユーザ端末３の処理を説明するフローチャートである。
【図６９】ユーザ端末３によるマルチメディアパッケージデータ復号処理を説明するフローチャートである。
【図７０】ユーザ端末３における符号化データの復号過程を示す図である。
【図７１】ユーザ端末３によるマルチメディアパッケージデータ復号処理を説明するフローチャートである。
【図７２】広告情報を、マルチメディアパッケージデータに埋め込んだ符号化データの生成方法を説明する図である。
【図７３】ユーザ端末３によるマルチメディアパッケージデータ復号処理を説明するフローチャートである。
【図７４】ユーザ端末３における符号化データの復号過程を示す図である。
【図７５】パッケージサーバ１の第３の機能的構成例を示すブロック図である。
【符号の説明】
１  パッケージサーバ，  ２  ネットワーク，  ３1乃至３N  ユーザ端末，  １１  バス，  １２  CPU，  １３  ROM，  １４  RAM，  １５  ハードディスク，  １６  出力部，  １７  入力部，  １８  通信部，  １９  ドライブ，  ２０  入出力インタフェース，  ２１  リムーバブル記録媒体，  ３１  データベース，  ３２  検索部，  ３４  符号化／暗号化部，  ３５  復号部，  ３６返信データ生成部，  ３６Ａ  埋め込み符号化器，  ３７  通信Ｉ／Ｆ，  ３８  課金処理部，  ３９  ユーザ情報記憶部，  ４０  広告データベース，  ４１  制御部，  ４２  指示部，  ４３  イベント検出セレクタ部，  ４４  データ検索部，  ４５  選択指示検出部，  ４６  リクエスト信号生成部，  ４７  コンテンツ識別子蓄積部，  ４８  符号化／暗号化部，  ４９  通信Ｉ／Ｆ，  ５０  復号部，  ５１  表示部，  ５２  記憶部，  ５３  スピーカ，  ５４  第１復号部，  ５５  第２復号部，  ６２  専用ブラウザ
【図１】
0004626784.tif 000003
【図２】
0004626784.tif 000004
【図３】
0004626784.tif 000005
【図４】
0004626784.tif 000006
【図５】
0004626784.tif 000007
【図６】
0004626784.tif 000008
【図７】
0004626784.tif 000009
【図８】
0004626784.tif 000010
【図９】
0004626784.tif 000011
【図１０】
0004626784.tif 000012
【図１１】
0004626784.tif 000013
【図１２】
0004626784.tif 000014
【図１３】
0004626784.tif 000015
【図１４】
0004626784.tif 000016
【図１５】
0004626784.tif 000017
【図１６】
0004626784.tif 000018
【図１７】
0004626784.tif 000019
【図１８】
0004626784.tif 000020
【図１９】
0004626784.tif 000021
【図２０】
0004626784.tif 000022
【図２１】
0004626784.tif 000023
【図２２】
0004626784.tif 000024
【図２３】
0004626784.tif 000025
【図２４】
0004626784.tif 000026
【図２５】
0004626784.tif 000027
【図２６】
0004626784.tif 000028
【図２７】
0004626784.tif 000029
【図２８】
0004626784.tif 000030
【図２９】
0004626784.tif 000031
【図３０】
0004626784.tif 000032
【図３１】
0004626784.tif 000033
【図３２】
0004626784.tif 000034
【図３３】
0004626784.tif 000035
【図３４】
0004626784.tif 000036
【図３５】
0004626784.tif 000037
【図３６】
0004626784.tif 000038
【図３７】
0004626784.tif 000039
【図３８】
0004626784.tif 000040
【図３９】
0004626784.tif 000041
【図４０】
0004626784.tif 000042
【図４１】
0004626784.tif 000043
【図４２】
0004626784.tif 000044
【図４３】
0004626784.tif 000045
【図４４】
0004626784.tif 000046
【図４５】
0004626784.tif 000047
【図４６】
0004626784.tif 000048
【図４７】
0004626784.tif 000049
【図４８】
0004626784.tif 000050
【図４９】
0004626784.tif 000051
【図５０】
0004626784.tif 000052
【図５１】
0004626784.tif 000053
【図５２】
0004626784.tif 000054
【図５３】
0004626784.tif 000055
【図５４】
0004626784.tif 000056
【図５５】
0004626784.tif 000057
【図５６】
0004626784.tif 000058
【図５７】
0004626784.tif 000059
【図５８】
0004626784.tif 000060
【図５９】
0004626784.tif 000061
【図６０】
0004626784.tif 000062
【図６１】
0004626784.tif 000063
【図６２】
0004626784.tif 000064
【図６３】
0004626784.tif 000065
【図６４】
0004626784.tif 000066
【図６５】
0004626784.tif 000067
【図６６】
0004626784.tif 000068
【図６７】
0004626784.tif 000069
【図６８】
0004626784.tif 000070
【図６９】
0004626784.tif 000071
【図７０】
0004626784.tif 000072
【図７１】
0004626784.tif 000073
【図７２】
0004626784.tif 000074
【図７３】
0004626784.tif 000075
【図７４】
0004626784.tif 000076
【図７５】
0004626784.tif 000077