(57)【特許請求の範囲】
【請求項１】
入力データ列を所定の設定値に基づいて符号化して符号列を出力する符号化部と、
与えられた設計要件から上記符号化部の上記所定の設定値に対して１つ以上の変更情報を設計する変更情報設計部と、
上記変更情報設計部が設計した変更情報を得て、該変更情報を上記符号化部に設定する設定変更部と、
上記符号化部から出力された上記符号列の再生品質を所定の評価基準で評価し、該評価した再生品質が所定の評価基準を満たすまで上記変更情報を再設定させる評価部と、
上記所定の評価基準を満たした変更情報を復号の際に適用すべき共有する変更情報とする情報共有部と、を備えて、
符号化器は、１つ以上の設定した、上記情報共有部が持つ共有する変更情報を部分的に、または段階的に復号器に開示することを特徴とする複数品質データ生成符号化器。
【請求項２】
入力のデータ列を細分化して所定のデータ構成単位に分解して符号化部への入力とする構成単位分解部を備え、
上記符号化部は、上記所定のデータ構成単位に分解された入力データ列毎に上記所定の設定値に基づいて符号化し、
変更情報設計部は、上記構成単位分解部が分解した上記所定のデータ構成単位毎に与えられた設計要件から上記符号化部の所定の設定値に対して１つ以上の変更情報を設計し、
情報共有部は、上記１つ以上の変更情報を上記データ構成単位毎に共有することを特徴とする請求項１記載の複数品質データ生成符号化器。
【請求項３】
変更情報は、予め実変更情報が記憶されている設定記憶領域の位置を指定して得るようにして、
符号化及び復号に際しては、上記位置指定された領域にある上記実変更情報に基づいて処理を行うことを特徴とする請求項１記載の複数品質データ生成符号化器。
【請求項４】
入力データ列を所定の設定値に基づいて符号化して符号列を出力する符号化ステップと、
与えられた設計要件から上記符号化ステップが基準とする上記所定の設定値に対して１つ以上の変更情報を設定する変更情報設計ステップと、
上記変更情報設計ステップで設定した変更情報を得て、該変更情報を上記符号化ステップに出力する設定変更ステップと、
上記符号化ステップで得られた上記符号列の再生品質を所定の評価基準で評価し、該評価した再生品質が所定の評価基準を満たすまで上記変更情報を再設定させる評価ステップと、
上記所定の評価基準を満たした変更情報を復号の際に適用すべき共有する変更情報とす
る情報共有ステップと、を備えて、
符号化器は、１つ以上の設定した、上記情報共有ステップで共有する変更情報を部分的に、または段階的に復号器に開示することを特徴とする複数品質データ生成符号化方法。
【請求項５】
入力のデータ列を細分化して所定のデータ構成単位に分解して符号化ステップ前の入力とする構成単位分解ステップを備え、
上記符号化ステップは、上記所定のデータ構成単位に分解された入力データ列毎に上記所定の設定値に基づいて符号化し、
変更情報設計ステップは、上記構成単位分解ステップが分解した上記所定のデータ構成単位毎に与えられた設計要件から上記符号化ステップにおける所定の設定値に対して１つ以上の変更情報を設計し、
情報共有ステップは、上記１つ以上の変更情報を上記データ構成単位毎に共有することを特徴とする請求項４記載の複数品質データ生成符号化方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明はファクシミリ、インターネット、画像データベース等の精細イメージデータを含むデータ送受信装置において、主として送信側の意図により送信データから各種の品質レベルの受信データを与える装置、システムに関するものである。
【０００２】
【従来の技術】
従来の技術を説明する。
図３５および図３６は、従来の符号器および復号器のブロック構成図を示している。図３５の符号器において、データ列５０１はモデル化部５０２Ａでここのデータ値５０３とその（符号化）パラメータ５０４を順次出力し、符号化部５０５で符号化され、符号送信部５０６によって符号５０７が出力される。
【０００３】
また、図３６の復号器において、符号５０７は符号受信部５０８に入力され、復号部５０９は復号すべきデータ値５０３に対してモデル化部５０２Ｂから順次入力される（復号）パラメータ５０４と符号５０７から復号したデータ値５０３をモデル化部５０２Ｂへ出力し、データ列５０１を出力する。
【０００４】
ここで、従来符号器では、図３５のデータ列５０１の入力（Ａ点）で図３７で示されるデータビット入替器のように結線によりビットを入れ替えたり、あるいは符号５０７の出力（Ｂ点）で図３８で示される暗号器のように暗号鍵５６０を元にした乱数発生器５６１からの発生乱数との排他的論理和（ＥｘＯＲ）を用いた暗号化を行って、データ内容を秘匿する操作を行う。
【０００５】
従来復号器では、図３６の符号５０７の入力（Ｂ点）で符号器と同じ乱数との排他的論理和（ＥｘＯＲ）を用いて暗号を解読して符号５０７に戻し、あるいはデータ列５０１の出力（Ａ点）でビットを入れ替えて元のデータ列５０１に戻す。
【０００６】
このように、従来符号器、従来復号器は、符号化（圧縮）部、復号（解凍）部とは独立に、Ａ点またはＢ点で暗号化を適用する構成をとり、復号処理は符号化された元のデータ列を完全に再生するものである。
【０００７】
このような従来技術については、例えば特開平８−３３１３９５の「多値画像伝送装置」に、上記のようにビットを入れ替たり、あるいはビット値の簡単な論理変換を用いてデータを秘匿する例が開示されている。また、例えば特開平７−１１１６４６の「スクランブル装置、デスクランブル装置および信号処理装置」に上記暗号化の例が開示されている。さらに、例えば特開平８−１８１９６６の「送信装置並びに受信装置並びに通信処理システム」に、複数の階層に分離して符号化した符号を秘匿強度の異なる暗号化を行うこと、また特開平９−２０５６３０の「テレビジョン信号送信・受信方法、及びテレビジョン信号送信・受信装置」に複数のチャンネルに分離して符号化・送信されたデータに対して一部を再生しないことで、アクセス権の有無やその権利種別によって受信データの再生品質を変える例が開示されている。
【０００８】
また、従来の符号化方式の一例として、高い圧縮率が得られる算術符号化を利用する暗号化について説明する。まず、最も代表的な算術符号化の符号器（Ｅｎｃｏｄｅｒ）・復号器（Ｄｅｃｏｄｅｒ）には、ＩＴＵ−Ｔの国際標準勧告Ｔ．８２およびＴ．８１に記載されるＱＭ−Ｃｏｄｅｒがある。一般に、算術符号化では、従来の符号化がデータの性質の変化に追従できずに圧縮率が上がらなかったのに対し、圧縮率の低下を抑えるためにその性質変化を学習して最適化を図っている。特に、符号化・復号パラメータの決定では、符号化・復号済みのデータを参照し、また符号化・復号結果をフィードバックして更新される。よって、復号器は、一度復号に誤りが発生するとそれ以後符号器と共通のパラメータを生成・選択できなくなり、その後の復号データに対して致命的となる。
【０００９】
この算術符号化の特徴を暗号化に利用した従来技術が、例えば生成された算術符号の先頭あるいは所定ビット間隔にダミービットを付加、あるいは符号ビットを反転したり、またテーブル値を変更する例が特開平５−５６２６７の「符号化復号化方法」に、また後述の算術符号化パラメータである有効領域の初期値を変更する例が特開平６−１１２８４０の「符号化復号化方法およびその装置」に、さらに有効領域および推定確率の初期値、また割当て領域幅を変更する例が特開平１１−０７３１０２の「秘密鍵暗号化復号化方法及びその装置」に開示されている。これらは、いずれも変更値を暗号鍵としている。
【００１０】
算術符号について具体的に動作を説明する前に、図３９で２値算術符号化の概念を説明する。算術符号化は、０．０以上１．０未満の数直線上の２進小数座標値が符号となる。処理過程において、上記数直線上の範囲を有効領域として２値シンボルの出現確率に比例して分割し、実際に出現したシンボルに対応する部分領域を新たな有効領域として分割を繰り返す。ＭＰＳ（Ｍｏｒｅ  Ｐｒｏｂａｂｌｅ  Ｓｙｍｂｏｌ）は出現確率がより高いデータ値が出たことを示す優勢シンボル、ＬＰＳ（Ｌｅｓｓ  Ｐｒｏｂａｂｌｅ  Ｓｙｍｂｏｌ）は出現確率がより低いデータ値が出たことを示す劣勢シンボルである。最終シンボルで更新された有効領域内の１つの座標を符号として出力する。処理中は、符号を有効領域の下界値として計算し、同図において上界値と下界値の差である有効領域幅とともに更新される。符号は、座標末尾に続く０を切り捨てた有効領域内で有効桁数が最小の座標値を選択することもできる。このとき、復号時に不足する符号ビットは、切り捨てた０を補填する。或いは、符号化で切り捨てるビット値、復号で補填するビット値は、操作ビット値が一致すれば１でも構わない。
【００１１】
図４０を用いて２値算術符号の符号化および復号の例を説明する。同図において、数直線上の小数値は２進座標、シンボル０はＭＰＳ、シンボル１はＬＰＳを示す。符号化において、区間幅Ａの初期値は１．０００、符号Ｃの初期値は０．０００とし、２値データ列ＤＮ＝０１０１を符号化は次のように進められる。第１の２値データ０は、コンテクスト０に対する予測値０から「予測一致」としてシンボル０（ＭＰＳ）となり、新たな区間幅をその対応区間Ａ０とする。ここで、便宜上、コンテクストは直前のデータ値、シンボル対応区間は等分割（一般には出現確率比）とし、ＬＰＳ対応区間Ａ１をＭＰＳ対応区間Ａ０より上位に配置する。また、直前のデータ値のない第１の２値データに対するコンテクスト（初期値）は０、またコンテクスト０、１に対応する予測値（初期値）はいずれも０として、図中における最初の参照を枠で囲んで示した。次に、第２の２値データ１は、直前（第１）データ値０をコンテクストとし、その予測値０から「予測不一致」としてシンボル１（ＬＰＳ）となり、新たな区間幅をその対応区間Ａ１とする。このとき、有効区間下界値となるように更新するため符号Ｃに部分区間幅Ａ０を加える。同様に、第３、第４の２値データ値についても処理し、最終有効区間の下界値Ｃ＝０．０１０１０００を符号値とする。
【００１２】
復号においては、区間幅Ａの初期値は１．０００、符号Ｃの初期値は上記２値小数０．０１０１０００とし、コンテクストと予測値の初期値は符号化と同じ値を採ることによって復号は次のように進められる。第１の２値データの復号に当たって符号化同様にコンテクスト０に対する予測値０が得られ、符号Ｃは下方部分区間Ａ０内に含まれるので、その対応するシンボル０（ＭＰＳ）、つまり予測一致であることから予測値０をそのまま２値データ値０として復号する。第２の２値データ１は、直前（第１）データ値０をコンテクストとし、その予測値０が得られ、符号Ｃは上方部分区間Ａ１内に含まれるので、その対応するシンボル１（ＬＰＳ）、つまり予測不一致であることから非予測値（１−予測値０）を２値データ値１として復号する。このとき、符号Ｃは有効区間下界値からの変位として更新するため符号Ｃから部分区間幅Ａ０を減じる。同様に、第３、第４の２値データ値についても処理し、順に２値データ値０、１が復号され、符号化した２値データが誤りなく復号されていることがわかる。
【００１３】
算術符号化の実用化に当たっては、符号演算時の有効桁数増加に対処した減算型算術符号化が一般に用いられる。以下、算術符号は減算型算術符号を指すものとし、ＱＭ−Ｃｏｄｅｒも減算型算術符号に分類される。図４１は、減算型算術符号化と正規化処理の概念を示す図である。ここで、有効領域が１／２（０．１００）を下回ると２のべき乗倍して１／２（０．１００）以上に拡大する正規化処理を行う。これにより、計算時の２進小数部の桁数は一定に保たれる。このとき、整数部は小数点から続く１とその上位の０となった桁は後の座標計算で桁上がりの伝播によって変更されることあるため符号値が確定できないが、それらの桁よりも上位の桁には桁上がりの伝播がないため出力してしまうことができる。
【００１４】
ＱＭ−Ｃｏｄｅｒは、ＩＴＵ−Ｔの国際標準勧告Ｔ．８２に記載されるテーブルおよび処理フローによって実現できる。以下、符号化対象データを２値画像として上記国際標準勧告で規定される符号化及び復号の標準動作について説明する。
【００１５】
ＱＭ−Ｃｏｄｅｒの符号器および復号器のブロック構成図を図４２、図４３に示す。本従来例では、画像メモリ５Ａおよび５Ｂを符号器、復号器の内部に配置されるものとして説明する。
【００１６】
ＱＭ符号器１Ａにおける画像メモリ５Ａは、入力される画像６を蓄積し、符号化の対象となる画素（Ｐｉｘｅｌ）に対してモデルテンプレート（Ｍｏｄｅｌ  Ｔｅｍｐｌａｔｅ）で指定された近隣の符号化済みの１０画素の参照パターンであるコンテクスト（１０ビット。総数１０２４）を生成し、同時に符号化対象画素を出力する。
【００１７】
ＱＭ復号器１Ｂにおける画像メモリ５Ｂは、すでに復号された復号画素を蓄積し、これから復号の対象とする画素に対するコンテクストを生成して出力し、そのコンテクストを使用して復号された復号対象画素を得て蓄え、画像６を出力する。
【００１８】
画像メモリ５Ａ、５Ｂには、コンテクストを生成するための図４４に示される２ラインおよび３ラインの標準モデルテンプレートが用意されており、符号化／復号処理開始時にいずれかを選択して使用する。どちらを使用したかという情報は符号データのヘッダによって通知され、符号器と復号器が共通のものを使用することになる。
【００１９】
ＱＭ−Ｃｏｄｅｒでは、符号化／復号対象画素に対する各コンテクストごとに画素値の予測一致確率を推定し、その変動に伴って学習しながら符号化／復号を進める。学習は、コンテクストをインデクスとする２つの変数テーブルを書き換えることによって行われる。１つは、出現する確率の高い画素値ＭＰＳを予測値として記憶する各１ビットのＭＰＳテーブル７である。もう１つは、予測値の予測一致確率の程度を総計１１３の状態（Ｓｔａｔｅ）に分類した状態番号（０〜１１２）を記憶する各７ビットのＳＴテーブル８である。
【００２０】
変数テーブルの他に、符号化／復号の際に状態番号（ステート）をインデクスとして参照する定数テーブル（確率推定テーブル）が存在する。そのテーブル設定値を図４５に示す。
【００２１】
ＬＰＳ領域幅を１６ビットで表すＬＳＺテーブル９、ＭＰＳ遷移先を７ビットで表すＮＭＰＳテーブル１０、ＬＰＳ遷移先を７ビットで表すＮＬＰＳテーブル１１、予測値反転判定を１ビットで表すＳＷＴＣＨテーブル１２である。（ここで示した英字の変数・定数テーブル名は、後述の処理フローで用いる配列名とする。）
ＬＳＺテーブル９は、算術符号器１３Ａ／算術復号器１３Ｂ内の演算部で参照され、適応予測の学習には直接的には関係しない。算術符号器１３Ａ／算術復号器１３Ｂの内部ではＬＳＺ値を用いて演算が行われ、演算精度が低下した際には正規化処理（リノーマライズ。Ｒｅｎｏｒｍａｌｉｚｅ）を行う。この正規化処理が行われれるとき、同時に学習を行う。
【００２２】
正規化処理を発生したときの符号化／復号シンボル１４が優勢シンボルであればＮＭＰＳ値を、劣勢シンボルであればＮＬＰＳ値をＳＴテーブル８に書き込み、状態が遷移される。優勢シンボルとは、符号化／復号対象画素３が予測値ＭＰＳ７と等しいことを示し、劣勢シンボルとはそれらが等しくないことを示している。符号化のとき画素シンボル変換器１５Ａがシンボル１４を算術符号器１３Ａへ出力し、復号のとき算術復号器１３Ｂがシンボル１４をシンボル画素変換器１５Ｂへ出力する。算術符号器１３Ａ、算術復号器１３Ｂは、更新処理器１６，１７へ正規化実行とシンボルを知らせて、その画素に対するコンテクストによって示される予測値７とステート８の値のみを更新させる。
【００２３】
また、正規化処理が劣勢シンボルによるものであるとき、その予測一致確率が１／２であればＭＰＳ値７を反転（演算「１−ＭＰＳ」）させてＭＰＳテーブル７に書き込む。一致確率が１／２であるかどうかは、ＳＷＴＣＨ値１２をフラグとして判定することができる。
【００２４】
このように、２つの変数テーブルＳＴ８およびＭＰＳ７に対して、それぞれ更新処理を行い、個別に管理しなければならない。図４２と図４３において、テーブルＳＴ８およびＭＰＳ７の各更新処理器１７，１６が更新値を決定し、テーブル値を書き換えることによって更新処理が行われる。
【００２５】
図４２，図４３の画像６、符号４は、図３５，図３６のデータ列５０１、符号５０７に対応する。また、図４２，図４３のコンテクスト２、画素３、画像メモリ５Ａ，５Ｂは、図３５，図３６のパラメータ５０４、データ値５０３、モデル化部５０２Ａ，５０２Ｂに対応する。図４２，図４３のステートテーブル８と予測テーブル７から算術符号器１３Ａ、算術復号器１３Ｂまでは、図３５，図３６の符号化部、復号部に対応する。また、図４２，図４３の算術符号器１３Ａ、算術復号器１３Ｂの符号４側の入出力対応部分が図３５，図３６の符号送信部５０６、符号受信部５０８に対応する。
【００２６】
符号化処理フローおよび復号処理フローを説明する前に、符号化レジスタＣ３０Ａ、復号レジスタＣ３０Ｂおよび領域幅レジスタＡ３１のビット配置を図４６に示す。
【００２７】
符号化レジスタＣ３０Ａにおいて、ｂｉｔ１５とｂｉｔ１６の間に小数点を設定し、“ｘ”（１６ビット）はＬＳＺ９に対する演算部Ｃｘ３２であり、キャリがある場合はより上位へ伝搬する。“ｓ”（３ビット）はスペーサビット部Ｃｓ３３、“ｂ”（８ビット）はバイト出力部Ｃｂ（Ｃｂレジスタ）３４、“ｃ”（１ビット）は桁上がり判定部Ｃｃ３５である。符号化の過程において、Ｃレジスタ値は符号４として符号化したシンボルに対応させた領域の下界値となるように更新される。
【００２８】
復号レジスタＣ３０Ｂにおいて、下位ワードＣＬＯＷ３６と上位ワードＣＨＩＧＨ３８は３２ビットのレジスタとして実現でき、ＭＳＢであるｂｉｔ３１の上位に小数点を設定し、“ｂ”（８ビット）はバイト入力部（ＣＬＯＷレジスタ３６）の上位バイトＣｂ３７、“ｘ”（１６ビット）はＬＳＺ９に対する演算部Ｃｘ（ＣＨＩＧＨレジスタ３８）３９である。復号の過程において、Ｃレジスタ値は復号したシンボルに対応させた領域の下界値からその領域内の座標である符号４へのオフセット値となるように更新される。
【００２９】
領域幅レジスタＡ３１は符号化／復号で共通とし、符号化／復号レジスタ３０Ａ，３０Ｂの小数点に対応して、“ｘ”レジスタ部に合わせて“ａ”（１６ビット）が小数部として配置され、初期状態の値でのみ整数部（ｂｉｔ１６）が“１”となる。領域幅（領域サイズともいう）は、Ａ−ＬＳＺ（下方領域幅）またはＬＳＺ（上方領域幅）に更新され、初期値（整数部＝“１”）を除いて１／２の重みを示すｂｉｔ１５が“１”となるように正規化され、１／２以上に保つことによって上方領域幅としていかなるＬＳＺ９を選択しても下方領域の確保を保証している。正規化処理では、Ａレジスタ３１、Ｃレジスタ３０Ａまたは３０Ｂを同時に拡大する。
【００３０】
ＱＭ−Ｃｏｄｅｒでは、状態に対して固定サイズとなる上方領域ＬＳＺ９は通常ＬＰＳに割り当てられるが、下方領域が上方領域より小さくなるときにはＭＰＳに割り当てる「条件付きＭＰＳ／ＬＰＳ交換」を行っている。ＬＰＳを符号化／復号したとき、および「条件付きＭＰＳ／ＬＰＳ交換」を適用してＭＰＳを符号化／復号したときには正規化処理が必ず行われる。
【００３１】
このレジスタのビット配置を基に、符号化の処理フロー、復号の処理フローを説明する。処理フロー中の用語「レイヤ」は階層的符号化の場合の「（解像度）層」、「ストライプ」は画像をＮライン単位（最終ストライプのみＮライン以下）で区切った「短冊」を意味する。ここでは、レイヤ数＝１として説明するが、複数レイヤの符号化／復号への拡張を妨げるものではない。
【００３２】
符号化／復号処理フローを説明するために、図４２、図４３、図４６で説明した変数、テーブル、レジスタの他に、次の補助変数ＣＴ５０、ＢＵＦＦＥＲ５１、ＳＣ５２、ＴＥＭＰ５３を使用する。ＣＴ５０は、正規化処理によるＣレジスタ３０Ａ、３０ＢおよびＡレジスタ３１のシフト数を計数し、値が０となったとき次の符号バイト入出力を行うための補助変数である。ＢＵＦＦＥＲ５１は、符号化のときＣレジスタ３０Ａから出力された符号バイト値、復号のときＣレジスタ３０Ｂへ入力される符号バイト値を格納する補助変数である。ＳＣ５２は、符号化のみで使用され、Ｃレジスタ３０Ａから出力された符号バイト値が０ｘｆｆであるときその連続数を計数する補助変数である。ＴＥＭＰ５３は、符号化のみで使用され、ＢＵＦＦＥＲ５１への桁上がりを検出し、桁上がり処理後はその下位８ビットを新たなＢＵＦＦＥＲ値５１とするための補助変数である。Ｃレジスタ３０ＡからＴＥＭＰ５３を介して設定されるＢＵＦＦＥＲ５１は桁上がり処理を行うことなく０ｘｆｆとなることはなく、その時点でＢＵＦＦＥＲ５１から下位、つまりＢＵＦＦＥＲ５１、ＳＣ５２個の０ｘｆｆはＣレジスタ３０Ａより上位への桁上がりあれば変更されるためＣレジスタ３０Ａから出力されていても符号４として確定できていない。
【００３３】
図４７は、符号化処理の全体の流れを示すＥＮＣＯＤＥＲ処理フローである。勧告Ｔ．８２の本処理フローにあるＴＰ（Ｔｙｐｉｃａｌ  Ｐｒｅｄｉｃｔｉｏｎ）およびＤＰ（Ｄｅｔｅｒｍｉｎｉｓｔｉｃ  Ｐｒｅｄｉｃｔｉｏｎ）に関する処理は本発明および従来例の基本処理とは直接的な関係がないため省略する。まず、Ｓ１０１ではＩＮＩＴＥＮＣを呼び出し、符号化処理の初期化を行う。Ｓ１０２では画素ＰＩＸ３とコンテクストＣＸ２の組を１つずつ読み出し、Ｓ１０３ではＥＮＣＯＤＥによって符号化を行う。Ｓ１０４ではストライプ（または画像）が終了するまでＳ１０２およびＳ１０３を繰り返し、終了したときＳ１０５でＦＬＵＳＨを呼び出して符号化処理の後処理を行う。
【００３４】
図４８は、符号化対象画素値３と予測値７の一致・不一致から呼び出す処理を切り替えるＥＮＣＯＤＥ処理フローである。Ｓ１１１では画素値３と予測値７の一致・不一致を判定し、一致ならばＭＰＳ、不一致ならばＬＰＳを符号化する。Ｓ１１３ではＣＯＤＥＭＰＳを呼び出してＭＰＳを、Ｓ１１２ではＣＯＤＥＬＰＳを呼び出してＬＰＳを符号化する。
【００３５】
図４９は、符号化対象画素値３と予測値７が不一致のとき、すなわちＬＰＳを符号化する際に呼び出されるＣＯＤＥＬＰＳ処理フローである。まず、Ｓ１２１では一時的にＡレジスタ３１値は、下方領域幅に更新される。Ｓ１２２の判定がＹｅｓならば、条件付きＭＰＳ／ＬＰＳ交換が適用され、下方領域を符号化するためＡレジスタ３１はそのままとし、Ｃレジスタ３０Ａは更新しない。Ｓ１２２の判定がＮｏならば、上方領域を符号化し、Ｓ１２３で領域下界値であるＣレジスタ３０Ａ、Ｓ１２４で領域幅であるＡレジスタ３１を更新する。Ｓ１２５の判定で定数ＳＷＴＣＨ値１２が１ならば、Ｓ１２６で予測値（ＭＰＳテーブル）の反転・更新を行う。ＬＰＳ符号化では、Ｓ１２７でＮＬＰＳテーブル１１参照による状態遷移を行い、Ｓ１２８でＲＥＮＯＲＭＥを呼び出して正規化処理を行う。
【００３６】
図５０は、符号化対象画素値３と予測値７が一致のとき、すなわちＭＰＳを符号化する際に呼び出されるＣＯＤＥＭＰＳ処理フローである。まず、Ｓ１３１では一時的にＡレジスタ３１値は、下方領域幅に更新される。Ｓ１３２の判定がＮｏならばそのままＣＯＤＥＭＰＳ処理を終了する。Ｓ１３２の判定がＹｅｓならば、必ずＳ１３６でＮＭＰＳテーブル１０参照による状態遷移を行い、Ｓ１３７でＲＥＮＯＲＭＥを呼び出して正規化処理を行う。Ｓ１３６およびＳ１３７の前に、Ｓ１３３の判定がＹｅｓならば、下方領域を符号化するためＡレジスタ３１はそのままとし、Ｃレジスタ３０Ａは更新しない。Ｓ１３３の判定がＮｏならば、条件付きＭＰＳ／ＬＰＳ交換が適用され、上方領域を符号化し、Ｓ１３４でＣレジスタ３０Ａ、Ｓ１３５でＡレジスタ３１を更新する。
【００３７】
図５１は、正規化処理を行うＲＥＮＯＲＭＥ処理フローである。Ｓ１４１ではＡレジスタ３１、Ｓ１４２ではＣレジスタ３０Ａを１ビット上位へシフトすることによって２倍の乗算と等価な演算を行う。Ｓ１４３で変数ＣＴ５０から１を減じ、Ｓ１４４で変数ＣＴ５０が０か否か判定し、判定がＹｅｓならばＳ１４５でＢＹＴＥＯＵＴ処理を呼び出してＣレジスタ３０Ａから１バイト符号４を出力する。Ｓ１４６の判定は、正規化処理の終了判定を行っており、Ａレジスタ３１が０ｘ８０００未満ならばＳ１４１からＳ１４５を繰り返し、０ｘ８０００以上となれば領域が１／２以上となり終了する。
【００３８】
図５２は、Ｃレジスタ３０Ａから１バイトずつ符号４を出力させるＢＹＴＥＯＵＴ処理フローである。出力するバイトは符号化レジスタＣ３０Ａのバイト出力部Ｃｂ３４である。桁上がりを判定するための桁上がり判定部Ｃｃ３５も同時に処理する。Ｓ１５１でＣｂレジスタ３４およびＣｃレジスタ３５の計９ビットを変数ＴＥＭＰ５３に設定する。Ｓ１５２で桁上がりがある場合（ＴＥＭＰ＞０ｘ１００；Ｃｃ＝１）、桁上がりがない場合にはＳ１５９で０ｘＦＦである場合、０ｘＦＦ未満である場合に分けてバイト出力を処理する。Ｓ１５２の判定がＹｅｓの場合、すでにＣレジスタ３０Ａから出力済みの符号４をＳ１５３でＢＵＦＦＥＲ５１値に桁上がりの１を加えた値、Ｓ１５４でＳＣ５２個のバイト値０（蓄積していた０ｘＦＦが桁上がりの伝搬により０ｘ００となった）の合計ＳＣ＋１バイトが桁上がりを伝搬された符号値として確定する。Ｓ１５５で変数ＳＣ５２を０とし、Ｓ１５６で変数ＢＵＦＦＥＲ５１に変数ＴＥＭＰの下位８ビットを設定する。Ｓ１５７で変数ＴＥＭＰ５３として処理したＣｃレジスタ３５，Ｃｂレジスタ３４をクリアし、Ｓ１５８で次の出力まで８ビットを処理するため変数ＣＴ５０に８を設定する。Ｓ１５９の判定がＹｅｓの場合は、符号４は確定できず、変数値ＳＣ５２に１を加えて０ｘＦＦを蓄積する。Ｓ１５９の判定がＮｏの場合は、すでにＣレジスタ３０Ａから出力済みの符号４をＳ１５３でＢＵＦＦＥＲ値、Ｓ１５４でＳＣ５２個のバイト値０ｘＦＦの合計ＳＣ＋１バイトが符号値として確定する。Ｓ１６３で変数ＳＣ５２を０とし、Ｓ１６４で変数ＢＵＦＦＥＲ５１に変数ＴＥＭＰ５３（桁上がりがないためそのまま８ビット）を設定する。
【００３９】
図５３は、符号化開始時のＳＴテーブル８、ＭＰＳテーブル７および各変数の初期値を設定するＩＮＩＴＥＮＣ処理フローである。Ｓ１７１の「このレイヤの第１ストライプ」はレイヤおよびストライプの概念を持ち込まない場合「画像の符号化開始の時点」を意味し、複数のストライプから構成される画像では変数テーブルをストライプごとに初期化せずに処理を続けることもできる。Ｓ１７１では、このレイヤの画素の第１ストライプか、またはテーブルを強制リセットするのかを判定する。Ｓ１７１の判定がＹｅｓならば、Ｓ１７２ですべてのコンテクストＣＸ２に対して変数テーブルＳＴ８、ＭＰＳ７を初期化する。Ｓ１７３はＳＣ５２を、Ｓ１７４はＡレジスタ３１値を、Ｓ１７５はＣレジスタ３０Ａを、Ｓ１７６は変数ＣＴ５０を初期化する。変数ＣＴ５０の初期値１１はＣｂレジスタ３４のビット数とＣｓレジスタ３３のビット数の和であり、１１ビット処理したとき最初の符号出力を行うことになる。Ｓ１７１の判定がＮｏの場合は、Ｓ１７７では変数テーブルの初期化を行わず、同じレイヤの直前のストライプ終端のテーブル値を再設定する。
【００４０】
図５４は、符号化終了時に符号化レジスタ３０Ａに残った値を掃き出す処理を含めた後処理を行うＦＬＵＳＨ処理フローである。Ｓ１８１でＣＬＥＡＲＢＩＴＳを呼び出してＣレジスタ３０Ａに残った符号の有効桁数を最小にする。Ｓ１８２はＦＩＮＡＬＷＲＩＴＥＳを呼び出して変数ＢＵＦＦＥＲ５１、ＳＣ５２およびＣレジスタ３０Ａの符号４を最終的に出力する。Ｓ１８３で符号４の第１バイトは変数ＢＵＦＦＥＲ５１がＣレジスタ３０Ａ値の出力に先だって（整数部として）出力されるため除去する。Ｓ１８４で符号４は最終有効領域内の小数座標であるから、必要であれば終端に連続するバイト０ｘ００は除去する。
【００４１】
図５５は、符号化終了時の符号４の有効桁数を最小とするための処理を行うＣＬＥＡＲＢＩＴＳ処理フローである。これによって、符号４は終端に可能な限り０ｘ００が連続する値となる。Ｓ１９１は変数ＴＥＭＰ５３として最終有効領域の上界値の下位２バイト（Ｃｘレジスタ３２）をクリアした値を設定している。Ｓ１９２では上界値の下位２バイトのクリアした値とＣレジスタ３０Ａ値との大小を比較する。Ｓ１９２の判定がＹｅｓならば、Ｓ１９３で変数値ＴＥＭＰ５３にクリアし過ぎた１ビット分（０ｘ８０００）を戻してＣレジスタ３０Ａ値とする。Ｓ１９２の判定がＮｏならば、変数値ＴＥＭＰ５３をＣレジスタ３０Ａ値とする。
【００４２】
図５６は、符号化終了時点で確定した符号をＣレジスタ３０Ａに残った値まで書き出すＦＩＮＡＬＷＲＩＴＥＳ処理フローである。Ｓ２０１でＣレジスタを変数値ＣＴ５０で示されるビット数だけシフトして符号出力および桁上がり判定を可能とする。Ｓ２０２で桁上がりの有無を判定する。Ｓ２０２の判定がＹｅｓならば桁上がりがあり、Ｎｏならば桁上がりはない。ＢＹＴＥＯＵＴ処理フローと同様にＳ２０３、Ｓ２０４で桁上がりのある符号値、Ｓ２０７、Ｓ２０８で桁上がりのない符号値とするＣレジスタから出力済みのＳＣ＋１バイトの符号４を確定する。Ｓ２０５でＣｂレジスタ値（１バイト）、Ｓ２０６でその下位１バイトを出力して符号出力が完了する。
【００４３】
図５７は、復号処理の全体の流れを示すＤＥＣＯＤＥＲ処理フローである。符号化処理の図４７と同様に、勧告Ｔ．８２の本処理フローにあるＴＰおよびＤＰに関する処理は本発明および従来例とは関係がないため省略する。まず、Ｓ２１１ではＩＮＩＴＤＥＣを呼び出し、復号処理の初期化を行う。Ｓ２１２ではコンテクストＣＸ２の組を１つずつ読み出し、Ｓ２１３ではＤＥＣＯＤＥによって画素ＰＩＸ３の復号を行う。Ｓ２１４ではストライプ（または画像）が終了するまでＳ２１２およびＳ２１３を繰り返す。
【００４４】
図５８は、復号対象画素を復号するＤＥＣＯＤＥ処理フローである。まず、Ｓ２２１で一時的にＡレジスタ３１値は、下方領域幅に更新される。Ｓ２２２の判定がＹｅｓならば、下方領域を復号する。Ｓ２２３の判定がＹｅｓならば、Ｓ２２４でＭＰＳ＿ＥＸＣＨＡＮＧＥを呼び出して、Ｓ２２５でＲＥＮＯＲＭＤを呼び出して正規化処理を行う。Ｓ２２３の判定がＮｏならば、正規化処理することなくＭＰＳを復号し、Ｓ２２６で予測値７を画素値３とする。また、Ｓ２２２の判定がＮｏならば、上方領域を復号する。Ｓ２２７でＬＰＳ＿ＥＸＣＨＡＮＧＥを呼び出して、Ｓ２２８でＲＥＮＯＲＭＤを呼び出して正規化処理を行う。ＭＰＳ＿ＥＸＣＨＡＮＧＥ，ＬＰＳ＿ＥＸＣＨＡＮＧＥを呼び出すパスでは、それぞれ復号すべき領域は決まっていても領域の大小を比較しないと復号対象がＭＰＳかＬＰＳか判断できない。呼び出した処理フローでそれぞれ復号される画素値３を決定する。
【００４５】
図５９は、上方領域を復号するＬＰＳ＿ＥＸＣＨＡＮＧＥ処理フローである。Ｓ２３１の判定がＹｅｓならばＭＰＳを復号する。Ｓ２３２でＣレジスタ３０Ｂを、Ｓ２３３でＡレジスタ３１を更新する。Ｓ２３４では予測値７をそのまま画素値３とする。Ｓ２３５でＮＭＰＳテーブル１０参照による状態遷移を行う。また、Ｓ２３１の判定がＮｏならばＬＰＳを復号する。Ｓ２３６でＣレジスタ３０Ｂを、Ｓ２３７でＡレジスタ３１を更新する。Ｓ２３８では非予測値「１−予測値」を画素値３とする。Ｓ２３９の判定がＹｅｓならば、Ｓ２４０で予測値（ＭＰＳテーブル）７の反転・更新を行う。Ｓ２４１でＮＬＰＳテーブル１１参照による状態遷移を行う。
【００４６】
図６０は、下方領域を復号するＭＰＳ＿ＥＸＣＨＡＮＧＥ処理フローである。Ｓ２５１の判定がＹｅｓならばＬＰＳを復号する。Ｓ２５２では非予測値を画素値３とする。Ｓ２５３の判定がＹｅｓならば、Ｓ２５４で予測値（ＭＰＳテーブル）７の反転・更新を行う。Ｓ２５５でＮＬＰＳテーブル１１参照による状態遷移を行う。また、Ｓ２５１の判定がＮｏならばＬＰＳを復号する。Ｓ２５６では予測値７をそのまま画素値３とする。Ｓ２５７でＮＭＰＳテーブル１０参照による状態遷移を行う。
【００４７】
図６１は、正規化処理を行うＲＥＮＯＲＭＤ処理フローである。Ｓ２６１で変数ＣＴ５０が０か否か判定し、判定がＹｅｓならばＳ２６２でＢＹＴＥＩＮを呼び出してＣレジスタ３０Ｂに１バイト符号４を入力する。Ｓ２６３ではＡレジスタ３１、Ｓ２６４ではＣレジスタ３０Ｂを１ビット上位へシフトすることによって２倍の乗算と等価な演算を行う。Ｓ２６５でＣＴ５０から１を減じる。Ｓ２６６の判定は、正規化処理の終了判定を行っており、Ａレジスタ３１が０ｘ８０００未満ならばＳ２６１からＳ２６５を繰り返す。Ｓ２６７で変数ＣＴ５０が０か否か判定し、判定がＹｅｓならばＳ２６８でＢＹＴＥＩＮを呼び出してＣレジスタ３０Ｂに１バイト符号を入力する。
【００４８】
図６２は、Ｃレジスタ３０Ｂに符号４を１バイトずつ読み込むＢＹＴＥＩＮ処理フローである。ＳＣＤ（Ｓｔｒｉｐｅ  Ｃｏｄｅｄ  Ｄａｔａ）はストライプに対する符号４である。Ｓ２７１で判定がＹｅｓの場合、読み出す符号４がないため変数ＢＵＦＦＥＲ５１は０とする。Ｓ２７３で変数ＢＵＦＦＥＲ５１をＣＬＯＷレジスタ３６（Ｃｂ３７）に読み込み、Ｓ２７４で次の入力まで８ビットを処理するため変数ＣＴ５０に８を設定する。また、判定がＮｏの場合、１バイト符号４を変数ＢＵＦＦＥＲ５１に読み込む。
【００４９】
図６３は、復号開始時のＳＴテーブル８、ＭＰＳテーブル７および各変数の初期値を設定するＩＮＩＴＤＥＣ処理フローである。テーブルの初期値設定に関するＳ２８１、Ｓ２８２、Ｓ２９０については、符号化処理のＩＮＩＴＥＮＣ処理フローのＳ１７１、Ｓ１７２、Ｓ１７７と同様である。Ｃレジスタ３０Ｂの初期値は、Ｃｘレジスタ３９およびＣｂレジスタ３７に符号４を３バイト読み込むことで設定される。Ｓ２８３でＣレジスタ３０Ｂをクリアし、Ｓ２８４でＢＹＴＥＩＮを呼び出して符号４をＣｂレジスタ３７に１バイト読み込む。Ｓ２８５でＣレジスタ３０Ｂを８ビットシフトして、Ｓ２８６でＢＹＴＥＩＮを呼び出して符号４をＣｂレジスタ３７に１バイト読み込む。Ｓ２８７でＣレジスタ３０Ｂを８ビットシフトして、Ｓ２８８でＢＹＴＥＩＮを呼び出して符号４をＣｂレジスタ３７に１バイト読み込む。これで、合計３バイトの符号４をＣｘレジスタ３９およびＣｂレジスタ３７に設定したことになる。Ｓ２８９ではＡレジスタ３１の初期値を設定する。
【００５０】
【発明が解決しようとする課題】
従来のデータ再生品質制御方法では、符号化側または送信側は、ユーザが所望する、あるいはユーザに提供できる様々なレベルの再生品質のデータコンテンツを提供するためには、対応したレベル毎に個別にデータを用意しなければならず、大きな蓄積領域を必要とするという課題があった。
【００５１】
またデータコンテンツの利用者側にとっては、データの概要をあらかじめ確認し、その後データ全体を受信するため、複数回の受信操作を必要とするという課題があった。
【００５２】
また、従来のデータコンテンツの符号は、不正に転用された場合であっても、復号されたとき再生品質は常に同一であるため、コンテンツの秘匿性を保持できないという課題があった。
【００５３】
さらに、データへの正当なアクセスを促進するために暗号化を行うが、この暗号化が符号化とは独立した処理となるため、その処理負荷および処理時間がかかるという課題があった。特にＳ／Ｗなど並列処理（パラレル処理）ができない構成では直列処理（シーケンシャル処理）しなければならず、規模が増大し、時間もかかるという課題があった。
【００５４】
この発明は、上記のような課題を解決するためになされたもので、符号化側または送信側では一つの符号データを配布するだけでユーザに統一した情報を提供でき、復号側の受信ユーザは、同一符号データから予め持っている変更情報を適用するか否かで、再生品質の異なるデータコンテンツを復号する。
【００５５】
また、データコンテンツの不正な転用に対しては、再生品質を制限したり、再生を不可能とすることによって、正規のユーザのみ正しい情報が得られる。
【００５６】
また更に、符号化に当って疑似的な暗号化を行い、符号化と暗号化、解読と復号が独立した処理とはならず、その処理負荷および処理時間を軽減する。
【００５７】
【課題を解決するための手段】
この発明に係る複数品質データ生成符号化器は、入力データ列を所定の設定値に基づいて符号化して符号列を出力する符号化部と、
与えられた設計要件から上記符号化部の上記所定の設定値に対する変更情報を得て、符号操作をさせる該変更情報を設定して出力する設定変更部と、
上記符号化部から出力された上記符号列の再生品質を所定の評価基準で評価し、該評価した再生品質が所定の評価基準を満たすまで上記変更情報を再設定させる評価部と、
上記評価部から与えられた上記再設定された変更情報を上記設定変更部から得て、該得た再設定された変更情報に基づき上記符号化部に符号列を出力させる符号操作部と、
上記評価部における上記再生品質が上記所定の評価基準を満たしたときの上記変更情報と上記符号列を出力する符号送信部と、を備えた。
【００５８】
また、上記符号操作部は、上記設定変更部から上記符号化部の内部で符号化するシンボル列に特定ビットを挿入または削除する変更情報を得ると、上記符号化部に指示して、
上記符号化部は、上記符号操作部からの指示で上記変更情報に基づいて上記特定ビットを挿入または削除する操作を行うようにした。
【００５９】
また、上記符号操作部は、上記設定変更部から上記符号化部が出力する符号列に特定ビットを挿入または削除する変更情報を得ると、上記符号化部に指示して、
上記符号化部は、上記符号操作部からの指示で上記変更情報に基づいて上記特定ビットを挿入または削除する操作を行うようにした。
【００６０】
また、入力のデータ列を細分化して所定のデータ構成単位に分解して符号化部への入力とする構成単位分解部を備え、
上記設定変更部と上記符号化操作部は、上記細分化した所定のデータ構成単位毎に操作を行うようにした。
【００６１】
また、変更情報は、予め実変更情報が記憶されている設定記憶領域の位置を指定して得るようにして、
符号操作部が変更操作を行う符号化にあたっては、上記位置指定された領域にある上記実変更情報に基づいて処理を行うようにした。
【００６２】
この発明に係る複数品質データ生成符号化方法は、入力データ列を所定の設定値に基づいて符号化して符号列を出力する符号化ステップと、
与えられた設計要件から上記符号化ステップが基準とする上記所定の設定値に対する変更情報を得て、符号操作をさせる該変更情報を設定して出力する設定変更ステップと、
上記符号化ステップで得られた上記符号列の再生品質を所定の評価基準で評価し、該評価した再生品質が所定の評価基準を満たすまで上記変更情報を再設定させる評価ステップと、
上記評価ステップで評価が得られた上再設定された変更情報を上記設定変更ステップで得て、該得た再設定された変更情報に基づき上記符号化ステップに符号列を出力させる符号操作ステップと、
上記評価ステップにおける上記再生品質が上記所定の評価基準を満たしたときの上記変更情報と上記符号列を出力する符号送信ステップと、を備えた。
【００６３】
【発明の実施の形態】
実施の形態１．
一般に符号器／復号器は、データの圧縮を行う符号器とその解凍を行う復号器の組合せによりデータの再現が保証され、上記従来例に示したような国際標準符号化や、業界標準として定着した符号化なども、規定された方法によりデータの再現を実現している。これらを通信で相互に接続する装置としてはファクシミリが代表として挙げられる。
【００６４】
近年のインフラの発達に伴い、コンピュータシステムを利用した、例えばインターネットなどの普及によりこれらの標準的な符号化による圧縮が適用された、あるいは圧縮されないままの電子データが容易にダウンロードできるようになり、また、書籍・雑誌の付録やダイレクトメールなどにより入手される蓄積媒体に収められているデータも数多く存在する。しかしながら、それらのコンテンツには著作権の問題もあることからこれらのデータを圧縮すると同時に暗号化して保護し、正規にアクセス権を得た者だけがデータを参照できることが望ましい。一方では、圧縮を行う符号化と暗号化の処理を別々に行うことは、実装規模や実行時間をより大きくすることになり好ましくない。
【００６５】
図１ないし図４は、本発明の実施の形態における符号器および復号器のブロック構成図である。
【００６６】
図１及び図２の符号器において、新しい要素である、所望の設計要件５１０を満たすように変更情報設計部５２０は暗号鍵となる変更情報５２１を出力する。変更情報５２１は、情報共有部５２２により符号器と復号器の間で共有されるが、符号中に埋め込んでもよいし、上位プロトコルレベルで符号とは別に通信してもよいし、また書面や媒体等による配送によってもよい。また、その変更情報５２１は別途暗号化が施されてもよい。同じく新規要素である、設定変更部５２３Ａは、与えられた変更情報５２１をモデル化部５０２Ａ’、符号化部５０５’、符号送信部５０６’、後述のデータ操作部５３０Ａおよび符号操作部５３１Ａにそれぞれの変更情報５２１ａ、５２１ｂ、５２１ｃ、５２１ｄ、５２１ｅを送る。これらの変更情報を、１つ以上設定する。
【００６７】
図３と図４の復号器においては、設定変更部５２３Ｂは、与えられた変更情報５２１をモデル化部５０２Ｂ’、復号部５０９’、符号受信部５０８’、後述のデータ操作部５３０Ｂおよび符号操作部５３１Ｂに対して、それぞれの変更情報５２１ａ’、５２１ｂ’、５２１ｃ’、５２１ｄ’、５２１ｅ’を送る。設定変更部５２３Ａ、５２３Ｂは、変更情報５２１を解釈して符号器、復号器へ適用すべき形式で指示する。図１，図２のモデル化部５０２Ａ’、符号化部５０５’、符号送信部５０６’、図３，図４のモデル化部５０２Ｂ’、復号部５０９’、符号受信部５０８’は従来の符号器、復号器内の同様要素において変更情報を設定できるようにしたものであって、その他の基本的な動作は従来の各要素と同じものである。
【００６８】
モデル化部５０２Ａ’、５０２Ｂ’は、データ操作部５３０Ａ，５３０Ｂからの変更情報５２１ａ、５２１ａ’に基づく指示により、データ値５０３に対するパラメータ５０４を変更する。パラメータ５０４は、例えばコンテクストであって、モデル化部５０２Ａ’、５０２Ｂ’によってそのデータ列５０１の特徴を抽出する参照データを変更したり、増減させる。
【００６９】
新規要素のデータ操作部５３０Ａ、５３０Ｂは、変更情報５２１ｄ、５２１ｄ’による指示により、データ列５０１に対してモデル化部５０２Ａ’、５０２Ｂ’が順次扱うデータ値５０３とその対となるパラメータ５０４を、図１，図３に示すように、データ値レベルで操作する。即ち、モデル化部の出力であるデータ値５０３、パラメータ５０４のいずれかを操作する。例えば、符号器においてデータ操作部５３０Ａがダミーのデータ値５０３およびパラメータ５０４を挿入して符号化すれば、復号器においてはデータ操作部５３０Ｂはそのダミーのパラメータ５０４からダミーのデータ値５０３を復号して真のデータ列５０１から削除する。また例えば、符号器においてデータ操作部５３０Ａがあるデータ値５０３を削除して変更情報５２１ｄにより通知して符号化すれば、復号器においてデータ操作部５３０Ｂはその削除されたデータ値５０３を通知された変更情報５２１ｄ’から得て真のデータ列５０１となるよう追加する。データ操作部５３０Ａ，５３０Ｂは、図２，図４のように、設定変更部５２３Ａ，５２３Ｂの出力する変更情報５２１ｄ，５２１ｄ’を得て、モデル化部５０２Ａ，５０２Ｂへ変更情報の指示に従い、データ列や生成されるコンテクストを操作して設定するよう指示する構成をとっても構わない。
【００７０】
符号化部５０５’、符号送信部５０６’は、変更情報５２１ｂ、５２１ｃによる指示により、また符号受信部５０８’、復号部５０９’は、変更情報５２１ｃ’、５２１ｂ’による指示により、静的および動的な参照値（定数・変数テーブル値）および他の保持値（レジスタ値・カウンタ値）、または割当・配置などの対応規則を変更し、その変更により派生する符号器および復号器の内部で必要な符号５０７の変更処理を行う。
【００７１】
新規要素の符号操作部５３１Ａ、５３１Ｂは、変更情報５２１ｅ、５２１ｅ’による指示により、符号送信部５０６’が送信した符号５０７、符号受信部５０８’が受信する符号５０７を生成された符号レベルで直接操作する。即ち、図１の符号器において符号操作部５３１Ａが符号５０７にダミーの符号ビットを挿入して送信すれば、図３の復号器において符号操作部５３１Ｂはそのダミーの符号ビットを削除する。また、符号器において符号操作部５３１Ａが符号５０７のある符号ビットを削除して変更情報５２１ｄにより通知して符号化すれば、復号器において符号操作部５３１Ｂはその削除された符号ビットを通知された変更情報５２１ｄ’から得て真の符号５０７となるよう追加挿入する。さらに、上記符号ビットの挿入や削除によらず、取決めによって該当する符号ビットの反転を行う。符号操作部５３１Ａ，５３１Ｂは、図２，図４のように、設定変更部５２３Ａ，５２３Ｂの出力する変更情報５２１ｅ，５２１ｅ’を得て、符号化部５０５、符号送信部５０６、また、符号受信部５０８、復号部５０９へ変更情報の指示に従い、符号化部５０５、復号部５０９内部の図４２，図４３でいう変数テーブル、定数テーブルの値、算術符号器１３Ａ、算術復号器１３Ｂ、レジスタ、カウンタの値や符号化／復号規則を操作して設定するよう指示する構成をとっても構わない。
【００７２】
ここで、データ操作部５３０Ａ、符号操作部５３１Ａが挿入あるいは削除し、またデータ操作部５３０Ｂ、符号操作部５３１Ｂが削除あるいは挿入するするデータ値５０３、符号５０７の符号ビット、あるいは符号５０７中で反転させる符号ビットは、変更情報５２１で通知できれば位置・数とも制限する必要はない。
【００７３】
また、符号化部５０５’、符号送信部５０６’、符号受信部５０８’、復号部５０９’の参照値、保持値、対応規則の変更は、変更情報５２１で通知でき、かつ同期がとれるならば、符号化・復号処理の最初であっても、その処理の途中であっても構わない。
【００７４】
さらに、変更情報５２１を符号中に埋め込んで送信・受信する一つの実施形態として、符号操作部５３１Ａは変更情報５２１を符号送信部５０６’の出力する符号５０７に埋め込んで送信し、受信側の符号操作部５３１Ｂは符号受信部５０８’へ入力する符号５０７に埋め込まれた変更情報５２１を分離して設定変更部５２３Ｂへ通知する。また、変更情報５２１は符号５０７への埋込みの適用に関わらず、別の通信や配送によって通知する実施形態も含めて、それ自身に別途情報撹乱するために従来の暗号化を適用しても構わない。
【００７５】
従来復号器によって変更情報を設定せずに復号される誤りを含んだ復号データは、設定変更内容の設計次第で再生状況が変化する。特に、リアルタイム通信系でなく時間に追われずに済むデータベースのような蓄積系の装置・アプリケーションの場合、これらの復号誤りをあらかじめ計算に入れながら設定変更内容を設計すれば、復号時に所望の値のＳＮＲ（信号誤り率）やビットレートになるよう符号化しておくことも可能である。
【００７６】
図５に所望の変更情報を設定する符号器の構成図を示す。同図において、符号５０７がデータ列５０１に対する設計要件５１０に厳密に合致させる必要があるときには、図１に示されたように変更情報設計部５２０の設計した変更情報５２１を設定して符号化し、出力される符号５０７を復号器へ送出する前に、評価部５３２は上記のＳＮＲあるいはビットレートなどの所望の評価基準から符号５０７をあらかじめ評価し、設計要件５１０に合わないと変更情報設計部５２０に変更情報５２１を再度設計するように再設計要求５３３を出力する。このとき、評価部５３２は、符号５０７の長さのみで評価できず、元のデータとの比較まで必要ならば標準復号器の復号結果をあらかじめ再現し評価することもある。よって、再設計をした後に再度符号化を繰り返し、設計要件に合致した時点の変更情報５２１を復号器と共有し、そのときの符号５０７を符号送信部５０６’は出力する。図５に示されるように、評価部５３２は、符号５０７から上記評価を行い、変更情報を再設計しながら符号を出力すればよい。
【００７７】
情報共有部５２２から設定変更部５２３Ａ、５２３Ｂを経て共有される設定の変更情報５２１は、図６のように変更情報５２１自身が設定の変更内容５４１であってもよい。変更内容５４１は、図１の符号器の変更情報５２１ａ、５２１ｂ、５２１ｃ、５２１ｄ、５２１ｅとして各部に作用し、また図３の復号器の変更情報５２１ａ’、５２１ｂ’、５２１ｃ’、５２１ｄ’、５２１ｅ’として各部に作用する。また、図７のように変更情報５２１は符号５０７に秘匿して付加したという抽出情報５４２だけ共有されて、符号５０７から間接的に抽出された変更内容５４１が具体的に指示され、図６と同様に作用させてもよい。あるいは、図８のように抽出情報５４２によって符号器・復号器（装置またはアプリケーション）に内蔵された設定記憶領域５４３から選択し、変更内容５４１が指示されることによって図６と同様に作用させてもよい。設定記憶領域５４３を内蔵する構成は、符号化あるいは復号の専用装置、専用アプリケーションの形態をとっても構わない。設定記憶領域５４３の実装形態は、用意される変更内容の蓄積容量が一つであっても複数であっても構わず、また一度設定した値を更新できるようにしても構わない。
【００７８】
このように指示される変更内容５４１を符号器・復号器に設定して符号化・復号を行う。ここで、それらの変更情報５２１（抽出情報５４２）あるいは変更内容５４１は、直接使用できる状態でも、符号化あるいは暗号化が実際の参照直前まで適用されている状態で共有されても構わない。また、変更情報５２１は符号器側が設定し共有するとき復号器に通知してもよいし、あるいは復号器側が指定した変更情報５２１に対して符号器が符号化時に適用し符号を生成して送信しても構わない。このように、復号器側が指定する変更情報５２１は復号器固有の能力的な制約を含んでもよく、また符号器側は指定された変更情報５２１を設定して符号を生成する構成を採る場合、変更情報５２１を符号器側から復号器側に再び送信する必要はない。
【００７９】
このように、算術符号化を利用した暗号化について、暗号鍵として共有する設定変更情報は、直接の変更内容であったり、あるいは符号中あるいは符号器／復号器の記憶領域に設けられた変更内容を間接的に抽出するための情報である。このような変更内容や抽出情報は暗号鍵として符号器から復号器に通知する際に個別に暗号化や符号化を適用することもありうるが、原則としてはそこまでの必要はなく、変更情報を共有して符号化と復号を行うことで、容易に正しい情報を伝送できる。
【００８０】
図９は、符号化部５０５’内部で行うデータ値５０３から予測値との一致・不一致に予測変換したシンボル列５５０（図４２のシンボル４）の操作を示している。符号器では、符号操作部５３１Ａにより符号化部５０５’が行う符号化結果のシンボル列５５０にダミーシンボルを挿入したり、シンボルを削除し、その操作を変更情報５２１により通知する。復号器では、受信した符号（図４３のシンボル４）から通知された変更情報５２１から符号操作部５３１Ｂにより復号部５０９’内部で挿入されたダミーシンボルを削除し、または削除されているシンボルを戻して、シンボル列５５０（図４３のシンボル４）を再現する。同様に、図１０は、図２のデータ操作部５３０Ａがデータ列５０１（図４２，図４３の画素３と対応するコンテクスト２）にダミーデータを挿入し、図４のデータ操作部５３０Ｂが対応データを削除してデータ列５０１に戻す操作を示す。また、図１１は、図１の符号操作部５３１Ａ、５３１Ｂが符号５０７（図４２，図４３の符号４）に対して行う操作を示す。これらの挿入・削除する操作は、単独でも、同時に組み合わせて、連続し、また散りばめて適用しても構わない。符号中にダミー符号ビットの挿入、符号ビットの削除する場合は、符号化方式あるいは通信方式で規定されたマーカコードが発生しないようにしなければならない。特に、算術符号の場合には桁上がり制御の適用もあるため符号ビット単位で操作するより符号バイト単位で操作する方がその回避が容易となる。また、挿入・削除に加えて、値の反転、置換による操作しても構わない。
【００８１】
図１２は、図２において、データ操作部５３０Ａが行う、コンテクスト初期値を変更する算術符号による符号化・復号の例を示している。同時にコンテクスト１に対する予測値ＭＰＳ（１）も変更している。コンテクスト初期値の変更は、データ操作部がモデル化部のコンテクスト初期値を変更する。また、予測値の変更は符号化部５０５’、復号部５０９’内の予測値テーブル７の値を符号操作部５３１Ａ，５３１Ｂが変更する。符号化において、４ビットのデータ列１１０１は、第１コンテクスト（ＣＸ１）を１、コンテクスト０および１に対する予測値の初期値（ＭＰＳ（０），ＭＰＳ（１））をその順に０、１とすれば、従来の形態の図４０と同様に有効区間の等分割を繰り返すことによって、中央に示した区間分割の推移によりシンボル列００１１に変換されて、最終有効区間の下界値とした符号０．００１１０００が得られる。
【００８２】
復号においては、等分割という条件からシンボル列００１１が間違いなく再現され、ここでコンテクスト初期値および各予測値の初期値として符号化と同一値を与えれば正常に復号されるが、同図の復号例のように異なる値を与えれば復号されるデータ列は００１１となって符号化したデータ列１１０１と同じにはならない。同様に、この符号値を初期値の他の組合せ｛ＣＸ１，ＭＰＳ（０），ＭＰＳ（１）｝＝｛０，０，１｝、｛０，１，０｝、｛０，１，１｝、｛１，０，０｝、｛１，１，０｝、｛１，１，１｝で復号すると、復号データ列は順に００１０、１０００、１１００、００１１、０１１１、１１００となって符号化したデータ列とは一致しない。
【００８３】
ここで、区間分割に当たっては単純に等分割（＝１通り）、また予測値テーブルへのインデクスであるコンテクストも直前１画素としていたため、この場合では初期値の設定組合せも８通り可能であるが符号化と同一データが復号されるのは同じ設定値を設定した場合の１通りしかない。この例では、｛０，０，０｝と｛１，０，０｝のように、同じ符号で異なる初期値を与えても復号シンボル列が一致する可能性はあるが、データ列が短いこと、区間を単純に等分していること、予測値反転などの学習を行っていないことなどがその原因となっている。例えば、従来の形態で説明したＱＭ−Ｃｏｄｅｒでは、区間分割の配分を決める状態数が１１３通りあり、またＪＢＩＧ／ＪＰＥＧ符号化方式の標準テンプレートによるコンテクストも１０画素参照の１０２４通りある。本発明のような情報撹乱を目的とすれば、それらの初期値を独立に変更することにより達成できる。さらに、各状態についても代表確率値、状態遷移先、予測値反転判定フラグの変更や、状態数の増減を行うこともできる。コンテクストも参照画素を増減させたり、参照位置を変更することも可能である。これらの操作に対応できない復号器は、正規の区間へのマッピングが行えなくなり、シンボルの誤判定は復号データ値およびパラメータ学習を誤らせ、一度復号を誤ったことから過去の復号データ値（画素）を参照するコンテクストの生成およびそのパラメータの抽出にも影響し、壊滅的な結果を与える。
【００８４】
次に、算術符号を適用する場合の例として、上記従来例に示したＱＭ−Ｃｏｄｅｒの処理フローを使用し、主として符号化部５０５’、復号部５０９’に関する変更情報を共有化による暗号化を実現する具体的なパラメータ設定値の変更例を説明する。
【００８５】
符号化の際に、区間幅Ａ、符号Ｃに初期値を与えることも同様に復号結果を撹乱することになる。また、復号パラメータは符号化パラメータと同じものが使用できる場合でも、符号器が意図的にパラメータ以外の部分で、ビット操作、部分的隠匿、ダミー付加により符号値を異ならせたり、ダミーのデータ値（あるいはシンボル）を余分に加えれば、復号器が同様の補正を行えなければ、復号結果は正しく得られないことになる。このビット操作には、ビット反転や、排他的論理和によるマスキングなどを適用すればよい。また、部分的隠匿では符号の一部分を隠して別途通知したり、ダミー付加では符号にダミーのビット（やバイト）を挿入するようなものが挙げられる。ダミーのデータ値（あるいはシンボル）の付加では、復号器は符号器で挿入されたものと同じパラメータで復号して削除しなければならないが、そのダミーデータを以降のコンテクストの生成などに参照するか否かは符号器、復号器で同一の取扱いが必要である。
【００８６】
まず、ＱＭ−Ｃｏｄｅｒにおける演算レジスタの設定値を変更する例について説明する。例えば、図５３のＩＮＩＴＥＮＣ処理フローで演算レジスタである符号化レジスタＣ３０Ａ、領域幅レジスタＡ３１は、Ａ＝０ｘ１００００（Ｓ１７４）、Ｃ＝０（Ｓ１７５）で初期値を設定している。この値は、図１３において（ａ）に示したＡ＝１．０、Ｃ＝０に相当する。この２つの初期値から最終的な符号値は、０．０（＝Ｃ）以上１．０（＝Ｃ＋Ａ）未満で示される範囲の座標値となる。
【００８７】
Ａレジスタ３１初期値のみを変更する場合、図１３（ｂ）のようにＡ＝０．９とすると最終的な符号値は０．０以上０．９未満となり、Ｃレジスタ３０Ａ初期値のみを変更する場合、同図（ｃ）のようにＣ＝０．１とすると符号値は０．１以上１．１未満となる。初期値Ａ、Ｃと同時に変更した場合が同図（ｄ）、（ｅ）である。
【００８８】
次に、図５３のＩＮＩＴＥＮＣ処理フローで初期値を変更した場合には、図６３のＩＮＩＴＤＥＣ処理フローにも変更を加えなければならない。初期値Ａ（Ｓ１７４）を変更した場合は、Ｓ２８９で同じ初期値を設定する。また初期値Ｃ（Ｓ１７５）を変更した場合には、復号開始前、つまり図６３のＩＮＩＴＤＥＣ初期フローの最後に、すでに符号を読み込んで初期化したＣから、Ｓ１７５で設定した初期値分だけ差し引き、本来の符号原点を合わせる新規補正処理を追加する。
【００８９】
ここで、Ａレジスタ３１の初期値を１／２（＝０ｘ８０００）未満に設定すると、符号化・復号を行う前に正規化処理が必要となる。よって、上記処理フロー最後にＡレジスタ３１値を０ｘ８０００と大小判定し、小さければＲＥＮＯＲＭＥ、ＲＥＮＯＲＭＤ処理フローを呼び出すようにする。
【００９０】
このように、Ｃレジスタ３０Ａ、３０Ｂ、Ａレジスタ３１の初期値を上記従来例から変更し、正規にアクセスを許可されたユーザだけがその変更値を共有することによって正しい復号データを得られるようする。また、不正にアクセスしようとするユーザには復号誤りのあるデータしか得られなくなる。
【００９１】
また、ＱＭ−Ｃｏｄｅｒにおける符号バイト入出力タイミングを測定するためのビットカウンタの設定値を変更する例について説明する。例えば、図５３のＩＮＩＴＥＮＣ処理フローでＣＴカウンタ５０の初期値は、Ｃｓレジスタ３３、Ｃｂレジスタ３４の合計ビット長に相当する１１（＝３＋８）が設定される（Ｓ１７６）。この状態が、図１４（ａ）である。正規化処理によって、符号化開始時のＣｘレジスタ３２の最上位ビットが１１ビット（初期設定部Ｓ１７６）シフトされてＣｂレジスタ３４の最上位ビットとなったとき、図５２のＢＹＴＥＯＵＴ処理フローでＣｂレジスタ３４部の８ビットを符号バイトとして出力する。以降は、このとき未出力のＣｓレジスタ３３の最上位ビットが同じようにＣｂレジスタ３４の最上位ビットまで８ビット（再設定部Ｓ１５８）シフトされるごとにＣｂレジスタ３４部から同様に符号バイトを出力していく。
【００９２】
図１４（ｂ）は、初期値ＣＴを１１より小さくした場合を示している。例えば、図５３のＩＮＩＴＥＮＣ処理フローでＳ１７６を変更してＣＴ＝９とすると、２ビット余分に符号が出力されることになる。この場合、復号開始前、つまり図６３のＩＮＩＴＤＥＣ初期フローの最後に、２ビット余分に読み込み、符号上位２ビットを破棄する新規補正処理を追加する。この場合、シフトしてＣＨＩＧＨレジスタ３８の上位から押し出される２ビットはそのまま破棄されることになる。
【００９３】
図１４（ｃ）は、初期値ＣＴを１１より大きくした場合を示している。例えば、図５３のＩＮＩＴＥＮＣ処理フローでＳ１７６を変更してＣＴ＝１３とすると、出力する時点で２ビットの符号が消失することになる。この場合、図６３のＩＮＩＴＤＥＣ処理フローの最初に設定するＣレジスタ３０Ｂ初期値に、符号最上位２ビットを補完し、８ビットシフトしてから、符号データを読み込み始めるように新規補完処理を追加する。このとき補完する２ビットの情報は符号器で消失したビットが設定されなければならない。この符号ビットの補完は、上記Ｃレジスタ３０Ａに初期値を与えることにより符号範囲が整数部まで及んだときにも当てはまる。
【００９４】
いずれの場合でも、Ｃレジスタ３０Ｂの初期化はＣＨＩＧＨレジスタ３８の１６ビットを正規の符号ビットが満たした時点で終了する。
【００９５】
また、このようなＣＴカウンタ５０と直接関係なく、符号に余分なダミーデータを付加しておくことも同様な効果があると考えられる。復号器は余分な付加データを正しく除去できなければ正しい復号はできない。符号中の付加する場所は最初であっても途中であっても正しく除去できるならば構わない。また上記余分なデータには内容的に意味があってもなくても構わない。本発明における実施の形態に関わる情報などを付加することもできる。バイト単位で付加する方がＣＴカウンタ５０の操作がないためより簡易となるが、ビット単位で付加するためにはＣＴカウンタ５０の操作や符号の任意ビットの操作も必要となる。
【００９６】
このように、ＣＴカウンタ５０の初期値を上記従来例から変更し、正規にアクセスを許可されたユーザだけがその変更値を共有することによって正しい復号データを得られるようする。また、不正にアクセスしようとするユーザには復号誤りのあるデータしか得られなくなる。また、符号へダミーデータを埋め込むことによっても同様である。
【００９７】
さらに、ＱＭ−Ｃｏｄｅｒにおいて、符号化の過程でバイト０ｘＦＦでないＢＵＦＦＥＲに続くバイト０ｘＦＦの数を記憶するスタックカウンタの設定値を変更する例について説明する。例えば、図５３のＩＮＩＴＥＮＣ処理フローでＳＣカウンタ５２の初期値は０であり、このとき符号系列は図１５の（ａ）のように出力されていく。第１バイトは図５４のＦＬＵＳＨ処理フローのＳ１８３で除去される。図５３のＩＮＩＴＥＮＣ処理フローにおいて、ＳＣカウンタ５２の初期値を０以上の整数を設定すると、図１５（ｂ）のように第１バイトの直後にＳＣバイトの余分な符号バイトが挿入される。この余分に挿入されたバイトは、復号開始時に図６３のＩＮＩＴＤＥＣ処理フローで除去しなければならない。
【００９８】
挿入される符号バイトを置き換えて、共有設定に限らず有意な情報を埋め込んで符号を送信してもよい。その際、この情報自身がすでに直接使用できる状態でも、符号化あるいは暗号化が適用されている状態で挿入されても構わない。
【００９９】
さて、ＱＭ−Ｃｏｄｅｒにおける上記Ｃレジスタ３０Ａ、３０Ｂ、Ａレジスタ３１、上記ＣＴカウンタ５０、上記ＳＣカウンタ５２についての初期値変更の一例を図１６のＩＮＩＴＥＮＣ処理フロー、図１７のＦＬＵＳＨ、図１８のＩＮＩＴＤＥＣ処理フローを用いて従来と異なる動作について説明する。
【０１００】
図１６のＩＮＩＴＥＮＣ処理フローにおいて、Ｓ１７８は後述する変数テーブルおよび定数テーブルの設定変更であり、必要ならばＳ１７８の初期化後にも設定変更を行うものとする。ここで、Ｓ１７３’のＳＣカウンタ５２、Ｓ１７４’のＡレジスタ３１、Ｓ１７５’のＣレジスタ３０Ａ、Ｓ１７６’のＣＴカウンタ５０における各変更初期値は、ＳＣｉｎｉｔ、Ａｉｎｉｔ、Ｃｉｎｉｔ、ＣＴｉｎｉｔとする。これらは、図２の符号操作部５３１Ａが符号化部５０５の各レジスタ・カウンタ・テーブルの設定値を操作する。
【０１０１】
また、図１７のＦＬＵＳＨ処理フローにおいて、Ｓ１８５で必要であれば符号操作部５３１ＡがＳＣカウンタ５２初期値の設定変更（ＳＣ７０）を行って、余分に挿入される符号バイトを置き換える。ここで、置き換えない場合、ＳＣ個のバイト０ｘＦＦとなり、伝送制御バイト０ｘ００の挿入は考慮していない。
【０１０２】
図１８のＩＮＩＴＤＥＣ処理フローにおいて、Ｓ２９１は図１５のＩＮＩＴＥＮＣ処理フローのＳ１７８と同様の設定変更を行う。以降、新規のフローにおいて、符号操作部５３１Ｂが復号部５０９’内の各レジスタ・カウンタ・テーブルの設定値を操作する。Ｓ２９２では、ＳＣカウンタ５２の初期値ＳＣｉｎｉｔを符号器が設定変更した場合、Ｓ２９３で受信した符号の先頭ＳＣｉｎｉｔバイトを復号器が分離除去する。この分離除去される部分に有意な情報が埋め込まれている場合には別途利用すればよい。Ｓ２９４で符号化側のＣＴカウンタ５０の初期値ＣＴｉｎｉｔを設定変更した場合、その値が１１であれば従来通りＳ２８３からＳ２８８の処理を行う。初期値が１１より小さければ、従来通りのＳ２８３からＳ２８８の処理を行った後、Ｓ２９５のシフト処理を行って符号上位（１１−ＣＴｉｎｉｔ）ビットの符号Ｃｌｏｓｔを切り捨て、共有する設定情報として通知する。このとき、実装上ＣＨＩＧＨレジスタ３８より上位にレジスタが続くならば、ＣＨＩＧＨレジスタ３８、ＣＬＯＷレジスタ３６のみをマスクする。そしてＳ２９６でＣＴカウンタ５０値からそのシフトビット数を減じる。また、初期値が１１より大きければ、Ｓ２８３’で送信時消失した符号ビットＣｌｏｓｔを共有設定情報からＣレジスタ３０Ｂに補完し、正規の符号ビットがＣＨＩＧＨレジスタ３８を満たすまでＳ２８４からＳ２８７’およびＳ２９７の処理を行う。
【０１０３】
Ｓ２８７’では補完された符号ビットによってシフト数は８ビット未満となり、Ｓ２９７でＣＬＯＷレジスタ３６に残る符号ビット数にＣＴカウンタ５０値を更新する。よって、この時点では従来のＳ２８８の符号バイト読込みは発生しない。Ｃレジスタ３０Ｂへの符号読込み後、Ｓ２８９’でＡレジスタ３１に初期値Ａｉｎｉｔを設定する。またＳ２９８でＣレジスタ３０Ａに与えた初期値Ｃｉｎｉｔ分をＣＨＩＧＨレジスタ３８から差し引く。
【０１０４】
ここで、説明を行った初期値変更の処理フローは、基本的にＡｉｎｉｔ＋Ｃｉｎｉｔ≦０ｘ１００００を想定しており、その和が０ｘ１００００を超える場合には、Ｃｉｎｉｔ分の補正とＣＴｉｎｉｔとの絡みもあるが消失する整数部（初期状態のＣｓレジスタ３３以上）の符号ビットの補完について別途対策が必要となる。また、同様にＣＴｉｎｉｔも１１±７までの範囲を想定しており、その範囲を超えると図１８のＩＮＩＴＤＥＣ処理フローにおけるＣレジスタ３０Ｂの符号バイト読込み回数に別途変更が必要となる。
【０１０５】
さて、従来符号器に対して設定を変更して符号化することによって、総符号長が変わることが容易に想像できる。これは共通の符号化条件でない以上、違う結果が得られることからも明らかである。
【０１０６】
上記従来例でも説明したＱＭ−Ｃｏｄｅｒでは、図５４のＦＬＵＳＨのＳ１８４で符号最後に続く０ｘ００を除去し、図６２のＢＹＴＥＩＮ処理フローのＳ２７２でも符号が足りなくなったとき０ｘ００を補填することが規定されているが、符号が余る場合については特に規定されていない。仮に符号が余った場合には、復号画像の符号終端まで読み飛ばして、その余った符号は参照しなければよいなどの処理が考えられる。しかし、標準に準拠した復号器であっても、符号が余る場合は規定されておらずその実装によっては停止・終了してしまうこともありうるため、従来復号器で本発明による実施の形態における符号を復号した際には符号が不足して０ｘ００を規定通り補填する方が望ましいといえる。ここでいう「符号が不足する」とは、設定変更しないで生成した符号長より必ずしも短くなるということでなく、読込みバイト数も変わってくるため、設定変更して生成した符号を設定変更せず復号して「符号が余らない」ということが第一である。その次に、従来の設定変更なしの符号長より短くなることも望ましいといえる。
【０１０７】
ただし、データを不正に再生できなくする暗号化の一方法として適用する場合は、符号が余って従来復号器が停止・終了することを必ずしも回避する必要はないが、算術復号器はそれ自体ではエラー検出機能がないことに注意を要する。
【０１０８】
本実施の形態では、変数テーブルに初期値を持たせる例について説明する。
【０１０９】
従来方式では、図４２のＩＮＩＴＥＮＣ、図５２のＩＮＩＴＤＥＣのＳ１７２，Ｓ２８２において、すべてのコンテクストに対して状態と予測値の変数テーブルＳＴ、ＭＰＳに初期値０を設定している。符号化・復号が進むにつれて学習によってデータの発生状況（出現推定確率）に適応した状態・予測値に収束していく。上記初期値は、２値データ０，１ともに出現確率が１／２で出現することを想定している。よって、学習して本来の出現推定確率の状態、予測値に落ち着くまでにある程度の時間がかかる。よって、上記初期値以外の値を与える場合、落ち着くべき値により近ければ収束時間は短くなり、離れていれば長くなると考えられる。状態と予測値により適した初期値を与えられるならば、収束時間短縮だけでなく、推定確率の誤差も小さくなるため、符号化効率も向上し、より符号長が小さくなることが期待できる。
【０１１０】
このような初期値データを設定して符号化することで符号化効率を高められることが、例えば、日本国特許２８９１８１８号「符号化装置」に記載されている。上記先行技術は、符号化対象データをプリスキャンし、符号化処理と同一のコンテクストを生成し、その出現データ値の分布を統計し、出現頻度の高いデータ値を予測値初期値とし、かつ算出した出現確率から状態初期値を得て、その後符号化処理を行うことで符号化効率を向上させる。また、上記先行技術は、符号化対象データのプリスキャンから状態と予測値の初期値を得ることができなければ、類似したデータによる統計から代替初期値データを得る方法をとれば、伝送による通知なく予め共有しておくこともでき、かつ符号化効率を向上させられることが示されている。
【０１１１】
または、上記統計結果を基に算出できなければ、符号化対象データあるいは類似したデータを先に従来技術で説明した符号化処理を一旦適用して学習させた結果（状態と予測値のテーブル値）を初期値データとして設定して改めて符号化することもできる。
【０１１２】
このとき、このような初期値データは、１枚の符号化対象データあるいは類似データで複数回繰り返して統計・学習して作成してもよいし、また複数の類似データから統計・学習して平均的に作成してもよい。
【０１１３】
従来方式と異なる変数テーブルの初期値は、符号器と復号器の間でその設定情報を共有し得る限り、すべてのコンテクストに対して与えてもよいし、一部のコンテクストにのみ与えてもよい。また、初期値とて設定しなくても符号化・復号の過程で同期して設定値を動的に変更してもよい。
【０１１４】
このような効果を得る初期値データは、厳密にデータから出現確率を計算して設定してもよいが、符号化するデータをプリスキャンし、一度学習させた結果を初期値として設定することが容易である。プリスキャンが難しい場合には、傾向の似た画像による学習結果を初期値データとしてあらかじめ共有し代替してもよい。このとき、このような初期値データは、１枚の画像で複数回繰り返して学習して作成してもよいし、また複数の画像から学習して平均的に作成してもよい。
【０１１５】
ここで、従来方式と異なる変数テーブルの初期値は、符号器と復号器の間でその設定情報を共有し得る限り、すべてのコンテクストに対して与えてもよいし、この際設定を変更して共有設定すべき初期値データ量はコンテクストに比例するため通知する負荷が大きくなり過ぎるならば一部のコンテクストにのみ与えてもよい。また、初期値としなくても符号化・復号の過程で同期して設定値を変更してもよい。
【０１１６】
また、図４２のモデルテンプレートの参照画素を切り替えて変数テーブルへのインデクスであるコンテクストを変更することも考えられる。変数テーブルの規模の許す限り参照画素数を適所に増やすと、符号化効率の向上効果も望める。参照画素の選択は、例えばディザ画像のようにディザ周期分だけ離れた画素など相関度の高い画素を選択すればよい。
【０１１７】
ＱＭ−Ｃｏｄｅｒには、特定の参照画素を１つだけ変更できる適応テンプレート機能をもつが、規定のマーカで変更情報が通知されなければ標準テンプレートのまま適用される。よって、規定のマーカ通知なしに本実施の形態による共有設定情報によって変更を通知したり、またこの従来方式では変更できない画素、あるいは複数の画素の参照位置を変更するなどの形態も考えられる。
【０１１８】
また、図４２のテンプレートは２値画像符号化に最適化されたものであり、他のデータの符号化では別途規定に従ってコンテクストが生成されるが、同様に共有設定情報による変更は可能である。
【０１１９】
ＱＭ−Ｃｏｄｅｒにおける定数テーブルの設定値を変更する例について説明する。ここでも従来符号器の設定を変更して符号化することによって、総符号長が変わることが考えられる。例えば、図４３において、あるＬＳＺを小さくすればＬＰＳの出現推定確率を小さく見積もることになり、実際のＬＰＳ出現はその推定確率より大きいため、より多くの正規化処理（拡大シフト数の期待値）が必要となる。ＬＳＺを大きくすれば推定確率を大きく見積もることになり、実際のＭＰＳ出現確率は小さく見積もられ、早く有効領域が縮小するため、より正規化処理が発生しやすくなる。特に、推定値が実際と大きく異なるほど、正規化処理でのシフト数の増加に伴って、符号が長くなる。
【０１２０】
また、正規化処理と同期して行われる状態遷移先ＮＭＰＳ、ＮＬＰＳを変更しても間接的にＬＳＺ値の変更とみなせるため同様な効果があると考えられる。
【０１２１】
従来の設定値は基本的に最適化されているため、ここでの設定値変更は大きく値を外しさえしなければ符号化効率の低下も小さく抑えることができる。従来復号器で復号誤りを発生させるためだけならば、ＬＳＺ値の小さい変更で十分達成することができ、例えば変数テーブル設定値変更の方法と組み合わせて、ここで低下する符号化効率をカバーすることも期待できる。ＬＳＺの変更は、必ずしもすべてでなく、一部でもよい。また、その他の定数テーブルについても符号器と復号器で同様の設定変更を行う限り復号可能性は保証され、従来復号器で復号すれば復号エラーを発生させられる。
【０１２２】
このような設定変更は符号化・復号処理の開始時でなくてもよく、その処理過程で同期して対応する設定値を変更してもよい。
【０１２３】
また、状態数を増やしたり、減らすことにより設定変更を行ってもよい。この場合、追加した状態に遷移し、また追加した状態から他の状態へ遷移するように定数テーブルＮＭＰＳ、ＮＬＰＳを設定する。また、削除した状態には遷移することのないように定数テーブルＮＭＰＳ、ＮＬＰＳを設定する。これらの遷移情報は、推定確率の推移をみて、確率がＬＰＳならば下がる方に、ＭＰＳならば上がる方に状態遷移先を選択する。ここで、必要であれば従来定数テーブルも加えた複数の定数テーブルセットから１式を選択して使用してもよい。
【０１２４】
あるいは、一部の定数値を、その初期定数値、変数レジスタ値、カウンタ値、他の定数テーブル値などを基に参照時に逐次演算して変更する形態も考えられる。例えば、その時点の領域幅レジスタＡ３１のＮ倍（Ｎ≦１／２）をＬＳＺとしてもよい。また、ＬＳＺを複数用意し、領域幅レジスタＡ３１のおおよそのサイズによってＬＳＺのサイズを使い分けても構わない。
【０１２５】
さらに、ＱＭ−Ｃｏｄｅｒでは定数テーブルから参照される固定幅で割り当てられるＬＳＺは上位領域であるが、これを下位領域に割り当てることもできる。この場合、符号値は変わるが、処理過程の有効領域幅は基本的に変わらないため符号の表現精度は同一であり、伝送上の制御信号を除けば符号長は同じになるといえる。
【０１２６】
次に、その処理フローについて説明する。
【０１２７】
図１９は、符号化対象画素値３と予測値７が不一致のとき、すなわちＬＰＳを符号化する際に呼び出されるＣＯＤＥＬＰＳ処理フローである。本実施の形態では、符号操作部５３１Ａは、符号化部５０５’内の符号化規則５８０Ａを本フローのように変更して、Ｓ１２９のステップを加える。即ち、まず、Ｓ１２１では一時的にＡレジスタ３１値は、上方領域幅に更新される。Ｓ１２２の判定で、下方領域ＬＳＺの方が大きくなければ（Ｎｏ）、Ｓ１２４でＡレジスタ３１をＬＳＺとする。ＬＳＺの方が大きければ（Ｙｅｓ）、Ｓ１２９でＣレジスタ３０ＡにＬＳＺを加えて、情報領域下界値に更新する。Ｓ１２５の判定で定数ＳＷＴＣＨ値１２が１ならば、Ｓ１２６で予測値（ＭＰＳテーブル）の反転・更新を行う。ＬＰＳ符号化では、Ｓ１２７でＮＬＰＳテーブル１１参照による状態遷移を行い、Ｓ１２８でＲＥＮＯＲＭＥを呼び出して正規化処理を行う。
【０１２８】
図２０は、符号化対象画素値３と予測値７が一致のとき、すなわちＭＰＳを符号化する際に呼び出されるＣＯＤＥＭＰＳ処理フローである。本実施の形態では、符号操作部５３１Ａは、符号化部５０５’内の符号化規則５８０Ａを本フローのようにＳ１３８，Ｓ１３９を加える変更する。即ち、まず、Ｓ１３１では一時的にＡレジスタ３１値は、上方領域幅に更新される。Ｓ１３２の判定がＮｏならば、Ｓ１３８でＣレジスタ３０ＡにＬＳＺを加えて、情報領域下界値に更新して、そのままＣＯＤＥＭＰＳ処理を終了する。Ｓ１３２の判定がＹｅｓならば、必ずＳ１３６でＮＭＰＳテーブル１０参照による状態遷移を行い、Ｓ１３７でＲＥＮＯＲＭＥを呼び出して正規化処理を行う。Ｓ１３６およびＳ１３７の前に、Ｓ１３３の判定で、下方領域ＬＳＺの方が大きければ（Ｙｅｓ）、Ｓ１３５でＡレジスタ３１をＬＳＺとする。ＬＳＺの方が大きくなければ（Ｎｏ）、Ｓ１３９でＣレジスタ３０ＡにＬＳＺを加えて、情報領域下界値に更新する。
【０１２９】
図２１は、復号対象画素を復号するＤＥＣＯＤＥ処理フローである。本実施の形態では、符号操作部５３１Ｂは、符号化部５０９’内の復号規則５８１Ａを本フローのように変更する。即ち、まず、Ｓ２２１で一時的にＡレジスタ３１値は、上方領域幅に更新される。Ｓ２２２’の判定がＮｏならば、上方領域を復号する。まず、Ｓ２２９でＣＨＩＧＨレジスタ３８から下方領域幅の分だけ減じる。Ｓ２２３の判定がＹｅｓならば、Ｓ２２４’でＬＰＳ＿ＥＸＣＨＡＮＧＥを呼び出して、Ｓ２２５でＲＥＮＯＲＭＤを呼び出して正規化処理を行う。Ｓ２２３の判定がＮｏならば、正規化処理することなくＭＰＳを復号し、予測値７を画素値３とする。また、Ｓ２２２の判定がＹｅｓならば、下方領域を復号する。Ｓ２２７’でＭＰＳ＿ＥＸＣＨＡＮＧＥを呼び出して、Ｓ２２８でＲＥＮＯＲＭＤを呼び出して正規化処理を行う。なお、ＬＰＳ＿ＥＸＣＨＡＮＧＥ，ＭＰＳ＿ＥＸＣＨＡＮＧＥを呼び出すパスでは、それぞれ復号すべき領域は決まっていても領域の大小を比較しないと復号対象がＭＰＳかＬＰＳか判断できない。呼び出した処理フローにおいてそれぞれ復号される画素値３を決定する。
【０１３０】
図２２は、上方領域を復号するＬＰＳ＿ＥＸＣＨＡＮＧＥ処理フローである。本実施の形態では、符号操作部５３１Ｂは、復号部５０９’内の復号規則５８１Ａを本フローのように変更する。Ｓ２３１’の判定がＮｏならば、ＭＰＳを復号する。Ｓ２３２’でＣＨＩＧＨレジスタ３８から下方領域幅の分だけ減じ、Ｓ２３４で予測値７をそのまま画素値３とする。Ｓ２３５でＮＭＰＳテーブル１０参照による状態遷移を行う。また、Ｓ２３１’の判定がＹｅｓならばＬＰＳを復号する。Ｓ２３６’でＣＨＩＧＨレジスタ３８から下方領域幅の分だけ減じ、Ｓ２３８では非予測値「１−予測値」を画素値３とする。Ｓ２３９の判定がＹｅｓならば、Ｓ２４０で予測値（ＭＰＳテーブル）７の反転・更新を行い、Ｓ２４１でＮＬＰＳテーブル１１参照による状態遷移を行う。
【０１３１】
図２３は、下方領域を復号するＭＰＳ＿ＥＸＣＨＡＮＧＥ処理フローである。符号操作部５３１Ｂは、ＭＰＳ＿ＥＸＣＨＡＮＧＥ動作に対しても本フローのような変更を行う。Ｓ２５１’の判定がＮｏならばＬＰＳを復号する。Ｓ２５８でＡレジスタ３１値を下方領域幅ＬＳＺに更新し、Ｓ２５２では非予測値を画素値３とする。Ｓ２５３の判定がＹｅｓならば、Ｓ２５４で予測値（ＭＰＳテーブル）７の反転・更新を行う。Ｓ２５５でＮＬＰＳテーブル１１参照による状態遷移を行う。また、Ｓ２５１’の判定がＮｏならばＬＰＳを復号する。Ｓ２５９でＡレジスタ３１値を下方領域幅ＬＳＺに更新し、Ｓ２５６では予測値７をそのまま画素値３とする。Ｓ２５７でＮＭＰＳテーブル１０参照による状態遷移を行う。
【０１３２】
このような固定サイズの領域ＬＳＺの上下配置を交換した符号化と通常配置の符号化を同一データ構成単位内で適当なタイミングで入れ替えて行ってもよい。例えば、画像であればＮラインごとに配置を入れ替えたり、あるいは一方をＮライン、他方をＭラインで配置を入れ替えたりしてもよい。また、このような切替えをライン単位でなく画素単位で行ってもよい。符号器と復号器の変更情報の共有によれば、さらに、ランダムな切替えも可能である。
【０１３３】
ＪＢＩＧ方式が規定されたＩＴＵ−Ｔ勧告Ｔ．８２には、他にも典型的予測ＴＰ（Ｔｙｐｉｃａｌ  Ｐｒｅｄｉｃｔｉｏｎ）および決定的予測ＤＰ（Ｄｅｔｅｒｍｉｎｉｓｔｉｃ  Ｐｒｅｄｉｃｔｉｏｎ）が記載されている。これらは、以下に示す条件を満たす画素を符号化しないことで符号化対象画素数を削減することで圧縮率を向上させることを補助する。
【０１３４】
典型的予測は、階層的符号化時に符号化ラインごとに下位階層の対応画素と上位階層の対応画素が特定の条件を現符号化ラインですべて満たすとき、あるいは単独符号化時に現符号化ラインが直前ラインと同一であるときに判定シンボルを符号化し、対象画素群を符号化しないというものである。ここで、典型的予測の適用有無を規定のヘッダで定義せず、共有設定情報でヘッダ通知と逆適用を行う形態も考えられる。
【０１３５】
決定的予測とは、階層的符号化時に解像度の高い上位階層の対応画素値により解像度の低い下位階層の対応画素値が一意に決定するときに符号器は対象画素を符号化せず、復号器は復号せずにその決定値を画素値とする。ここでも、決定的予測の適用有無を規定のヘッダで定義せず、共有設定情報でヘッダ通知と逆適用を行う形態も考えられる。また、適用を規定のヘッダで通知しても、決定的予測における判定テーブル（定数）において、符号化不要と決定できる画素を決定できないと判定されるよう変更する形態も考えられる。判定テーブルを変更しなくとも、ある条件を満たすラインあるいは画素には決定的予測を適用しない形態も考えられる。
【０１３６】
このような典型的予測による判定シンボル符号化はシンボルの挿入・削除の一例、決定的予測の判定テーブルの変更は定数テーブル設定値変更の一例とみることができる。
【０１３７】
以上のように、秘匿された設定情報を共有することによって、データの再生品質制御および暗号化を実現する方法を説明したが、適用される符号化方式は必ずしも算術符号化である必要はない。本実施の形態に記載される符号化および復号は、画像のみではなく、音声、テキストをはじめ多様なデータに適用することが可能である。
【０１３８】
また、共有設定情報は、それ自身が設定変更の内容であってもよいし、あるいは符号に秘匿して付加したという情報だけ共有し、符号から抽出された設定情報によって間接的に具体的な変更内容が指示されてもよい。
【０１３９】
さらに、それらの設定変更情報は、直接使用できる状態でも、符号化あるいは暗号化が適用されている状態で共有されても構わない。本実施の形態の符号器および復号器において、符号送受の際に変更情報を通知せず、あらかじめ取り決められた変更情報を使用しても構わない。変更情報の設定は、符号器および復号器で同期して行えるならば処理の開始時でも、途中でも構わない。また、データ構成単位の重要度を基準に優先順位をつけ、設定変更を行うか、行わないかを決定し、さらにその符号送出順序を制御する場合でも構わない。
【０１４０】
また、以上の動作は、図１ないし図５に示される構成要素によるとして説明したが、これらの構成要素を汎用の計算機プログラムにより同等ステップで構成して、同様の機能を得るようにしてもよい。
【０１４１】
実施の形態２．
先の実施の形態１では、設定変更情報の共有によりデータの完全再生を可能とする簡易暗号化について説明した。逆に言えば、変更情報を共有しない復号器による復号結果の品質は保証できない。
【０１４２】
これに対し本実施の形態では、一般に使用される符号化方式の符号化／復号のパラメータをはじめとする設定内容の一部あるいは全部を秘匿して変更することによって、その設定変更情報をすべて共有する相手であれば、完全再生を保証する。更に加えて、部分的に設定変更情報を共有し、あるいは部分的に設定変更せずに符号化することによって、従来復号器のままで設定を変更せずに復号しても、再生品質が劣化したデータの一部分や概要が限定的に受信再生できる得られるように制御する。または、意図的にデータの概要さえもわからなくなるように設定変更を加えることも可能とする場合を説明する。
【０１４３】
具体的方法として、対象データをデータ構成単位に分割し、それぞれ独立に実施の形態１の方法および一般暗号化、あるいは暗号化しないものを組み合わせる。正規アクセス権を持たない復号器には解読しにくくするとともに、一方で設定情報の開示度を使い分けることによってデータ構成単位を再構成するときに各種の再生品質のレベルが得られるようにする。一つのデータ構成単位に対する個々の変更内容、あるいは複数のデータ構成単位に対する個々のデータ構成単位の変更内容について、変更内容を共有する段階でその開示の有無を組み合わせることで一つの符号から多様な再生品質を実現する。
【０１４４】
データコンテンツの流通を検討する。
【０１４５】
仮に暗号化を適用せず、その著作権者が使用料を徴収してデータコンテンツを流通させる場合を想定すると、不正利用者にも同じ再生品質のまま無断受信されてしまうことがあり、著作権を保護する必要性が出てくる。しかし、単純にデータを再生できないように強固な暗号化技術を適用して著作権を保護しようとすれば、アクセスできる者が限定され過ぎ、著作権者の意図したデータコンテンツ流通ビジネスにおいてその普及・発達を阻害することにもなりかねない。また、そのデータコンテンツの内容に関する情報をいくら文面で説明されても、実物を見聞きするのに比較すればその情報量は遠く及ばないといえる。そこで、本実施の形態のようなデータの再生品質の制御が必要になる。
【０１４６】
まず、図２４および図２５は、本実施の形態における符号器・復号器のブロック図の一例を示している。ここでは、データ全体に対して一つの符号器・復号器で共有する変更情報５２１を設定する場合も含めて、データを一つあるいは複数に分解したデータ構成単位５３５ごとに変更情報５２１を設定する形態について説明する。図２４，図２５のブロック図は、データ操作部及び符号操作部において、図２及び図４のブロック図の構成に対応している。
【０１４７】
データ構成単位５３５の導入を明確化するため、従来例の図３５（符号器）、図３６（復号器）の基本構成に対して構成単位分解部５３４、構成単位組立部５３６を説明に付加している。構成単位分解部５３４、構成単位組立部５３６は、データ構成単位に分解・組立するに当たっては、必要最小限以上のデータバッファまたはデータメモリを内蔵することが必要となる。また、モデル化部５０２Ａ’、５０２Ｂ’もパラメータ５０４の決定に参照が必要であればデータ構成単位のバッファまたはメモリを内蔵すること、あるいは構成単位分解部５３４、構成単位組立部５３６に内蔵されるデータバッファまたはデータメモリを参照できる機能が必要となる。変更情報５２１を符号５０７に埋め込んで通知する場合は、符号操作部５３１Ａ又は符号送信部５０６が埋め込み、符号操作部５３１Ｂ又は符号受信部５０８が分離する。
【０１４８】
図２４における符号器では、構成単位分解部５３４がデータ列５０１をデータ構成単位５３５に分解し、符号化する個々のデータ構成単位５３５を図３５におけるデータ列５０１に相当するものとして、実施の形態１で説明したような方法をとって暗号化を兼ねた符号化を行う。変更情報設計部５２０は、データ構成単位５３５に対する設計要件５１０を満たすように変更情報５２１を設計する。ここで、符号器における設計要件５１０は、変更情報５２１を設計するとき、構成単位分解部５３４が出力する形態をとっているが、その基準は符号器側として自主的に設定した条件であっても、または復号器側から要求された設計条件に基づくものであっても構わない。
【０１４９】
また、図２５における復号器では、図３６におけるデータ列５０１に相当するデータ構成単位５３５の簡易暗号解読を兼ねた復号を行い、データ構成単位５３５を構成単位組立部５３６へ出力し、構成単位組立部５３６はデータ構成単位５３５を組み立ててデータ列５０１を出力する。
【０１５０】
変更情報を秘匿してデータ構成単位を符号化および復号することは、個々のデータ構成単位の観点から見れば簡易暗号化とみなすことができる。データが１つの構成単位のみから構成されるとすれば、コンテンツの概要は示せないが、暗号化としてみることができる。
【０１５１】
本実施の形態の符号器では、データの構成単位ごとに従来符号器の設定と異なる、復号器と共有すべき設定情報を秘匿した状態で決定し、モデル化部５０２Ａ’、符号化部５０５’、符号送信部５０６’の設定を変更して符号化を行う。このように生成された符号は、従来符号器が生成する符号とは異なるため、従来復号器で復号しても元のデータには再生されない。ただし、データ構成単位に注目した場合、共有情報を特に設定せずに符号化したデータ構成単位の情報のみは、従来復号器でも正常に復号することができる。
【０１５２】
また、本実施の形態の復号器では、データの構成単位ごとに従来復号器の設定と異なる、秘匿された符号器との設定情報を共有化し、モデル化部５０２Ｂ’、復号部５０９’、符号受信部５０８’の設定を変更して復号を行い、復号されたデータ構成単位を再構成してデータを再生する。従来符号器で生成した符号は、元々共有設定情報がないため、本実施の形態の復号器で設定変更せずにそのまま復号できる。
【０１５３】
ここで、本実施の形態の符号器、復号器の組合せであっても、データ構成単位に設定変更を行って復号し、そのうち一部の設定情報を符号器が復号器に対して秘匿したまま共有させなければ、意図的に符号器への入力データ列と復号器の出力データ列は対称とはならないようにすることもできる。また、一部あるいはすべての共有情報は、通知手段を介して伝送するのではなく、あらかじめ所定の共有情報を設定することを取り決めておいても構わない。
【０１５４】
本実施の形態では、共有設定情報を得られず、従って変更しないまま復号された誤りを含むデータ構成単位を受信した場合、そのまま再構成したときの再生品質を制御することができる。つまり、従来はオリジナルデータにノイズを加えて符号化の前処理でデータを作り変えてから、標準の符号化および復号を行っているため、作り変えたデータが異なる符号化となっていた。従って、復号した後に、前処理の逆操作が必要であった。しかし、本実施の形態では符号は同一でも一部のデータ構成単位を共有設定情報の与えて誤りのあるデータ構成単位の候補を複数用意することができるので、そのいずれを再生に用いるかで、複数の再生品質を生成できるという特徴がある。例えば、画像データであれば再生品質は「画質」となって、変更情報を設定して符号化させて伝送し、それに基づく直接の復号結果がノイズとして全体に散りばめる情報とすることによって階調・解像度を意図的に劣化させる。または、全く本来の画像として見られないようにする情報撹乱やスクランブル的な効果を得る暗号化を実現することもできる。このような積極的な活用は、画像データに限ったものではなく、その他のデータにも応用でき、音声データにおいては再生品質は「音質」となり、例えば周波数の分割帯域をデータ構成単位にするなどして、上記のような変更情報により故意に発生させる復号誤りを音質制御に利用できる。こうして変更情報を共有しない従来の復号器での受信品質を意図的に劣化させることができる。
【０１５５】
従来復号器によって変更情報を設定せずに復号される誤りを含むデータ構成単位は、設定変更内容の設計次第で再生状況が変化するため、図２４に符号器におけるデータ構成単位５３５に対して、図５と同様に、これらの復号誤りをあらかじめ計算に入れながら設定変更内容を設計することも可能である。図２６にその所望の変更情報を設定する符号器の構成図を示す。ここで、この評価・再設計を適用した評価符号化は、データ全体として実行しても、あるいはデータ構成単位ごとに評価を実行しても構わない。
【０１５６】
複数のデータ構成単位に分割して符号化するとき、変更情報を設定するデータ構成単位の選択が必要となる。変更情報を設定しないデータ構成単位は従来復号器で正しく復号でき、例えば画像データにおいて概要を示すことが最重要であればその該当するデータ構成単位には変更情報を設定しないで符号化する。また、秘匿情報のようにデータの概要であっても再生できないようにするならば、最重要データ構成に対しては秘匿情報として単位に変更情報を設定して、符号化する。もちろん、すべてのデータ構成単位に同一あるいは独立の変更情報を設定してより強固な暗号化を実現しても構わない。さらに、再生品質を制御するならば、例えば画像データにおいて複数のデータ構成単位に対して個別に変更情報を設定して、共有すべき変更情報の開示／非開示を組み合わせて段階的に開示し、データ構成単位の復号誤り有無の状況の組合せで画質を制御する。画像データの概要から再生されるようにデータ構成単位の重要度の高い方から変更情報を開示し、すべて開示されたとき正規の最高画質となるようにしてもよい。また、重要度の高い順にデータ構成単位を並べ替えて符号を送出しても構わない。段階的開示の一例として、データの購入金額によってデータの再生品質へのアクセス権（使用契約）のランクを振り分けるような方法が考えられる。
【０１５７】
本実施の形態では、データ構成単位に分割し暗号化して情報を撹乱し、そのデータ構成単位への不正なアクセスから守るという目的だけでなく、更に高度な応用を実現できる。即ち、まず、一つのデータが複数のデータ構成単位に分解され、再度組み立てられるというプロセスに注目し、あらかじめ復号結果を想定して一部変則させた符号を生成し、従来のような外部からノイズ信号を与えることなく、変更情報を共有しないことによる復号誤りデータにより等価な効果を実現させる。また、同時に変更情報の与え方により、異なる再生品質となり得るデータを一つの符号コンテンツで供給する方法を示した。これらの方法により、データコンテンツの著作者の権利を保護し、かつ利用者へまず概要を公開することで購入・契約の意欲を促して、積極的にデータコンテンツが利用されることが期待できる。
【０１５８】
ここで、変更情報を共有しない復号器にとっては、変更情報を持つ符号器から送信された設定が変更されたデータ構成単位の情報は、重要度によって変更情報を変えてあるので、符号データは理論的な暗号処理による完全暗号データと等価なスクランブル情報ともなるし、あるいはある程度の識別品質を持つ概要データにもなりうる。もちろん、本実施の形態における符号器および復号器は、変更情報を設定しないときは、符号器は従来符号器と、また復号器は従来復号器と互換性をもつ。
【０１５９】
本実施の形態における、データ構成単位と再生品質制御に関する符号化適用例を示す。
【０１６０】
ここでは、まず本実施の形態の共有情報を設定した符号化および復号を符号化データ構成単位の一例であるビットプレーンや、グレイコード変換したビットプレーン、およびレベルプレーンについて適用する方法を示す。具体的な共有情報を設定する符号化および復号については後述する。
【０１６１】
国際標準符号化方式のＩＴＵ−Ｔ勧告Ｔ．８２には多値の画像をビットプレーン単位に分解し、各ビットプレーンを２値画像として符号化を行う方式が規定されている。図２７は、８ビット画像を８枚のビットプレーンで符号化する場合で、すべてのビットプレーンをこの従来方式（標準方式）で符号化する。本実施の形態では、符号器は一つあるいは複数のビットプレーンに対して設定の一部あるいは全部を変更した符号化を行うことにより従来符号器のままでは正しく復号できないようにする。
【０１６２】
同図は、ビットプレーン０〜７においてビットプレーン２を従来符号器の設定を変更して符号化する例を示している。即ち、図２４，図２６における符号器側の構成単位分解部５３４がビットプレーン２の画像に対してのみ、以後のモデル化及び符号化の過程で実施の形態１で説明した設定変更部５２３Ａと、データ操作部５３０Ａ又は符号操作部５３１Ａを用いて操作を行う。その他のビットプレーンに対しては、従来と同じモデル化と符号化を行う。上記対応して、図２５における復号器側の構成単位組立部５３６がビットプレーン２の画像に対してのみ、以後の復号及びモデル化の過程で実施の形態１で説明した設定変更部５２３Ｂと、データ操作部５３０Ｂ又は符号操作部５３１Ｂを用いた操作を行う。その他のビットプレーンに対しては、符号器側が行わなかったのと同様に、従来と同じ復号とモデル化を行う。これにより、真の画像との最大誤差は絶対値で２の２乗、ビットプレーンｎでは２のｎ乗となる。従来復号器で復号した場合の復号誤りビットプレーンによってその誤差がノイズとなって画質を劣化させ、正常な元の画像を表示できない。ここで、従来方式をどのように変更して符号化・復号するかという情報を符号器と復号器で共用できた場合のみ正しく復号できる。
【０１６３】
最も重要度の高い最上位ビット（ＭＳＢ：Ｍｏｓｔ  Ｓｉｇｎｉｆｉｃａｎｔ
Ｂｉｔ）を従来符号器の設定を変更して符号化するとノイズだけでなく、ほとんど概要も得られないほど元の画像として全く認識不可能にする形態も考えられ、実質的な暗号化の効果が得られることになる。
【０１６４】
また、複数のビットプレーンに従来符号器の設定を変更して符号化し、各ビットプレーンに対する設定変更情報の共有度により誤差の最大値を調整できる。この情報共有度とは、設定を変更して符号化したビットプレーンの位置情報や、異なる符号化方法の情報の開示度による。例えば、ビットプレーン１、２の符号化を従来符号器の設定を変更して符号化したとき、２（＝ｍ）プレーンを選択したので、正負および０を含めて｛２の（ｍ＋１）乗｝−１通りの誤差値が出現することになる。最大誤差の絶対値は各ビットプレーンの重みの総和（２の１乗）＋（２の２乗）＝６となるが、上記情報共有度によりビットプレーンの復号がすべて正しくできる場合、ビットプレーン１が誤りの場合、ビットプレーン２が誤りの場合、従来符号器によるビットプレーン１、２ともに誤りの場合が考えられ、最大誤差の絶対値は順に０、２、４、６となる。
【０１６５】
上記ビットプレーン符号化の場合、誤り（ノイズ）のない上位ビットプレーンのみで画像を表示することもできるが、その限定される分だけ低階調画像となることは避けられない。このような表示状態は復号過程で瞬間的にはあっても、そこで復号を強制終了させない限り、高階調ながら復号誤りに起因するノイズの載った画像を表示することになる。よって、変更情報を共有していないユーザには、階調の低い画像または階調は高くてもノイズの載った画像表示のみ許される。
【０１６６】
また、通常の復号器による復号結果にノイズを与える他の方法として、構成単位分解部５３４は、図２８に示すデータ変換を行うこともできる。この場合は、構成単位組立部５３６は、同じ図２８を使って逆変換する。データ値を、まず図２８に示すグレイコードなどで１対１に写像変換してから、その変換値をビットプレーン符号化する場合にも、問題なく適用可能である。同図は３ビットの例であり、常にデータ値の差が１ならば１つのみビットが異なるような配列規則をとり、データの構成ビット数に応じて拡張できる。従来復号器ではグレイコードで変換された復号データ値を逆変換しないため、これも簡易暗号化とみなすことができる。ここで、同じ３ビットであっても例に示した１通りではないので、より実質暗号強度を高めたければ、定期的にランダムに変換表を切り替えてもよい。グレイコードの変換規則にこだわらなければ、さらに多様な変換表を構成することもできる。
【０１６７】
また、出現したデータ値を他のデータ値０／１のランレングスによるデータレベルに変換して符号化するレベルプレーン符号化にも適用することができる。例えば、データ値Ｘは（Ｘ−１）個の‘０’と１個の‘１’のＸビットのレベルプレーンに変換する。この変換により、データ値そのもののときのビットプレーン数よりもプレーンが増加するが、冗長度がより抑圧し易くなるため圧縮率が向上することがある。
【０１６８】
また、他のデータ構成単位と再生品質制御に関する符号化適用例を示す。ここでは、まず本実施の形態の共有情報を設定した符号化および復号を符号化データ構成単位の一例であるカラーパレットについて適用する方法を示す。具体的な共有情報を設定する符号化および復号については後述する。
【０１６９】
比較的単純なデータ入替えで実現する例としては、カラーパレットによる画像符号化などに対しても有効である。パレットの「入替え」は、情報共有によって復号時に再修正可能である場合には「置換え」でもよいし、上記のような１対１の「写像変換」でもよい。従来暗号化のようなランダムな値、あるいは一定値との排他的論理和変換を行っても構わない。この例の場合、表示色が交換されたり、予期せぬ表示色が画像中に出現することになり、ノイズの載った画像あるいは全く内容のわからない画像として表示されることになる。
【０１７０】
さらに、共有情報を設定した符号化および復号を符号化データ構成単位の一例であるＤＣＴ変換、サブバンド変換、ウェーブレット変換を行った変換データについて適用する方法を示す。具体的な共有情報を設定する符号化および復号については後述する。
【０１７１】
まず、国際標準符号化方式のＩＴＵ−Ｔ勧告Ｔ．８２には、元の２値画像を最高解像度としてそこから何段階かの縮小を行い、最も粗い画像から順に符号化する階層的符号化が規定されている。この場合、構成単位分解部５３４は、図２９に示すように、最も粗い画像（単独層［最低解像度層］）は唯一単独で符号化を行い、その後の差分層は１段階粗い画像との差分情報を符号化するように指示する。本実施の形態では、ある解像度層に対して従来符号器の設定を変更して符号化指示することによって、それ以降のモデル化と符号化が実施の形態１の方法で行われ、それより上位のすべての高解像度層において差分情報が正しく取れなくなるため、変更情報を設定しない従来復号器では誤差なく復号できなくなる。
【０１７２】
上記階層的符号化の場合、誤り（ノイズ）のない解像度層までを利用して画像を表示することもできるが、解像度が低いため、所望のサイズに拡大して表示しなければならず、単純拡大処理や、そのとき斜めのエッジを滑らかにするなどの各種補間処理を行ったとしても元の画像を完全には再生しきれないことになる。
【０１７３】
この階層的符号化のような適用方法は、画像を帯域分割して符号化するサブバンド符号化やウェーブレット符号化などにも適用できる。国際標準符号化方式のＩＴＵ−Ｔ勧告Ｔ．８１をはじめ広く適用されているＤＣＴ（離散コサイン変換）など直交変換系の符号化にも帯域を分割して帯域ごとに符号化を制御することで応用できる。この場合、図３０に示したウェーブレットの一例では、再分割される上位層ＬＬを除くＬＬ、ＨＬ、ＬＨ、ＨＨ各部分をそれぞれ符号化し、符号を生成するが、構成単位分解部５３４が実施の形態１で説明した設定変更を行った帯域（第２層ＨＬ）は正しく復号ができなくなり、それを元に再構成される、より上位の階層も、従来復号器では正しく復号できなくなるために、乱れた画像となる。
【０１７４】
また、動画においても解像度、サイズとも同じ画像フレームを上記階層的符号化の解像度層に置き換えて考えれば、同様の画質制御を実現できることになる。
【０１７５】
さらに、最初に単独で符号化される解像度層、帯域、フレームに上記設定変更を適用すれば、この場合にも従来方式に対して暗号化を実現できることになる。
【０１７６】
上記に説明した例の手法は、２値画像、多値画像（階調画像）だけでなく、それらを基本成分として組み合わせて表現されるカラー画像にも適用できることは言うまでもない。カラー画像の構成成分は、ＲＧＢ（赤・緑・青）、ＹＭＣ（黄・マゼンダ・シアン）といった３原色成分や、ＹＣｂＣｒなどの輝度・色差成分、また各成分の表現精度にもよらない。また、上記のような階層的符号化でなくとも、１つの画像をブロックやストライプ（短冊）、あるいは自由な形状に分割してデータ構成単位とみなし、それぞれの部分ごとに適用することも可能である。この際、まず画像を分割してから、さらに階層的に符号化しても構わない。
【０１７７】
また、画像に限らず、そのデータの構成単位ごとの重要度によって符号送出順序を制御する場合を含む。例えば、重要なデータ構成単位から優先的に符号化して符号を生成し、復号を開始して初期に重要部分を詳細に再生させるような実装形態においても適用可能である。このとき、重要なデータ構成単位に設定変更による符号化を行い、設定変更なしに従来復号器で復号すれば、初期に詳細に再生されるべき重要なデータ構成単位の再生品質が制限されることになる。ここでの重要度の選択基準は、ＲＯＩ（Ｒｅｇｉｏｎ  Ｏｆ  Ｉｎｔｅｒｅｓｔ）と呼ばれる符号化のように、画像上の関心のある任意の部分から指定しても構わない。また、逆に重要部分を初期に再生させることなく、最後になって初めて詳細に再生されるような符号送出制御を行うことも可能である。これは、例えば画像応用ではいわゆるモザイク処理が挙げられる。これらのような制御を組み合わせて、いわゆるプログレッシブ再生を実現することができる。
【０１７８】
図３１は、２つのビットプレーンで構成されるデータの符号化・復号例を示している。上位ビットプレーンは、図１２に示したものである。下位ビットプレーンは、データ列０１００を第１コンテクストＣＸ１＝０、コンテクスト０，１の予測値ＭＰＳ（０）＝１、ＭＰＳ（１）＝０として、上位ビットプレーンと同じく区間を等分割して符号化したときの設定値別の復号データである。この２つのビットプレーンにより、設定値の組合せ６４通りで再生データは３６通りが実現され、共有する設定値の開示を意図的に制御すれば複数の再生品質として表現されることになる。
【０１７９】
また、以上の動作は、図１ないし図５に示される構成要素によるとして説明したが、これらの構成要素を汎用の計算機プログラムにより同等ステップで構成して、同様の機能を得るようにしてもよい。
【０１８０】
実施の形態３．
上記実施の形態２を利用したビジネス応用例を示す。
【０１８１】
共有設定される変更情報は、一例として図３２に示すデータ流通システムのように正規データアクセス権に対して課金として配信側が請求する課金請求手段６０１とその代価を支払う利用側の代価支払手段６０２に適用する。このとき、配信側と利用側の両者でより手続きが成立すると、共有情報通知手段６０３によって共有情報が通知されて入手するものとすれば、不正なデータアクセスを防止することができる。共有情報の通知方法は、データ通信、郵送等による配送などいずれでも構わない。まず、配信側では変更情報６０４を設定した符号器６０５でデータ６０６から符号６０７を生成し、通信あるいは媒体により利用側に送り、次に受信側では通知された共有情報を設定した復号器６０８で符号６０７をデータ６０９に復号する。ここで、共有設定情報６０４を段階的に開示することで再生品質を制御し、同一コンテンツ（符号）のままで、試験的に再生する時には再生品質を劣化あるいは限定させ、正式にアクセス権を入手した後に完全なデータが得られるようにする使用形態が考えられる。これは、データ構成単位ごとに図３２のような課金請求／代価支払の体系が構築される一例である。
【０１８２】
このような課金請求／代価支払によるデータ流通システムは、特に画像、音声に対して、サンプルを予め確認して購入する形態の電子カタログ販売形式での販売促進に有効である。ここでいう電子カタログ販売とは、インターネットからの閲覧・ダウンロード、電子メールなどを利用したオンライン通信販売だけでなく、フロッピーディスク、ハードディスクやＣＤ−ＲＯＭなどのディスク、ＤＡＴなどのテープ、メモリカード、メモリチップをはじめとした物理的な蓄積記録媒体による配送・配布販売、書籍・雑誌の本体（媒体形式）・付録などを含み、その実装は固定式、着脱式のどちらでも構わない。データの通信方法はデジタル、アナログ、さらに有線、無線、電波、光波、音波などを問わない。また、赤外線、地上波、衛星波、マイクロ波などの波長・周波数、搬送速度などに限定されるものではなく、単一で伝送されても他のデータと重畳して伝送されても構わない。さらに、データの蓄積記録方法は電気的、磁気的、光学的、位相などに限定されるものではなく、また読取り専用、上書き／追記可能なものなどいずれであっても構わない。
【０１８３】
課金請求／代価支払には、電子商取引（ＥＣ）を利用して決済する形態も含む。なお、本ビジネス形態は、課金請求／代価支払い（６０１〜６０２）、共有情報の通知（６０３〜６０４）、符号送受（６０４〜６０９）により構成されるが、符号送受の実サービスに対して課金請求／代価支払い、共有情報の通知は、通信で行われる場合、既存の暗号化技術分野で知られるＤＥＳなどの暗号強度のより高い暗号方式を含めた上位プロトコルにより実現することができる。
【０１８４】
図３３に、図３２の配信側におけるシステム構成の一例を示す。画像データは、スキャナ７０１、カメラ７０２、コンピュータグラフィック（ＣＧ）７０３のような画像入力機器／装置によって生成される。また、音声データであればマイク７０４、合成音声７０５のような音声入力機器／装置によって生成される。さらに、それらのデータはすでにメモリ／媒体７０６のような蓄積機器／装置にすでに蓄積されている場合も考えられ、それらはなんらかの圧縮された符号の形で存在する場合には復号器Ｃ７０７で復号してからデータ７０８が出力される。
【０１８５】
このように準備されるデータ７０８を符号器Ａ７０９は変更情報７１０を設定して符号化を行い、符号７１１を出力して図３２に示されるような通信／媒体によって流通させる。符号７１１は、流通前に一時的にメモリＡ７１２に蓄えられることもあり、特に通信による場合は利用者の所望のタイミングで符号７１１を配信する。また、符号化されるデータ７０８は、符号化の前に一時的にメモリＢ７１３に蓄えられ、このとき符号器Ｂ７１４で圧縮して符号の形で蓄積し、復号器Ｂ７１５で伸長して符号器Ａ７０９に送る形態では、利用者ごとに変更情報７１０を設定して符号器Ａ７０９で符号化し直して、個別に配信することを可能とする。さらに、符号器Ｂ７１４および復号器Ｂ７１５は符号器Ａ７０９のような変更情報７１６を設定して符号化してもよく、この場合は情報撹乱ではなく、非標準符号化であってもより高い圧縮率を達成して効率よく蓄積することを目的として、符号器Ａ７０９（変更情報７１０）と異なる変更情報７１６を設定して構わない。
【０１８６】
図３４に、図３２の利用側におけるシステム構成の一例を示す。変更情報７１０が設定されずに符号化されたデータあるいはデータ構成単位の符号７１１は、従来通り設定変更を行わない復号器Ｃ７５１で元通り復号可能である。変更情報７１０が設定されて符号化されている場合には、変更情報７１０を共有しない利用者や、あるいは電子カタログのサンプルとして概要を確認する場合には、復号器Ｃ７５１により変更情報７１０を設定せずに復号し、低再生品質データ７５２を得る。このとき、画像データであれば、ディスプレイ７５３やプリンタ７５４のような画像出力機器／装置によって確認する。また、音声データであれば、スピーカ７５５のような音声出力機器／装置で確認する。さらに、復号されたデータはメモリ／媒体７５６のような蓄積機器／装置に蓄積する形態では、蓄えられるデータは符号器Ｄ７５７によって符号に変換されることもある。ただし、利用者はデータの再生品質に関わらず、著作権保護や転用に関しては注意を要する。なお、説明の上で復号器Ｃ７５１は復号器Ａ７５８と分けているが、変更情報７１０の設定有無だけの違いで復号器Ａ７５８と共用することは容易である。
【０１８７】
変更情報７１０が設定されている符号７１１に対しては、正規に変更情報７１０を得た利用者は復号器Ａ７５８に変更情報７１０を設定して正常にデータ７５９を復号することができる。符号７１１は、復号前に一時的に装置内部のメモリＡ７６０に蓄積される形態や、復号されたデータを装置内部のメモリＢ７６１に蓄積される形態が考えられる。このとき、メモリＢ７６１には符号器Ｂ７６２で圧縮して符号の形で蓄積し、復号器Ｂ７６３で伸長して出力機器に送ることもできる。変更情報設定の解除された符号形式で蓄積されることも可能となり、また非標準符号化であってもより高い圧縮率を達成して効率よく蓄積することを目的として、復号器Ａ７５８（変更情報７１０）と異なる変更情報７６４を設定しても構わない。
【０１８８】
このように、利用側では、装置内部のメモリＡ７６０やメモリＢ７６１にのみデータの蓄積を許容し、復号器を再生専用とし、不正に高再生品質のまま無圧縮を含む他形式でメモリ／媒体７５６のような装置外部に再保存させないようにすることで、変更情報７１０の入手後も不正な転用を防止するような実装形態を実現する。この場合、装置構成としては画像や音声の出力機器／装置との一体型の形態や、あるいは外部のデータ蓄積機器への出力経路をメモリＡ７６０からメモリ／媒体７５６へ直接・専用で確保した形態が考えられる。
【０１８９】
また、復号器を搭載したハードウェア装置や、ＣＰＵ・ＬＳＩ（ＡＳＩＣ）チップ、ミドルウェアおよびソフトウェアのライブラリで実現されたアプリケーションの内部では、復号したデータをそのまま、あるいは自由に加工することを認容するが、通信および蓄積記録媒体を介して装置・アプリケーション外部への出力はできないようにした実装形態も考えられる。この場合、内部データの編集機能を装置が備えている形態となる。
【０１９０】
さらに、復号器はファクシミリのようなハードコピーによるデータ記録のみの形態でも、あるいはソフトコピーによるデータ表示のみの形態と採っても構わない。また、携帯電話を含む電話端末の形態で音声データの音質制御を行ってもよいし、その付帯した画像あるいは文字の表示装置で表示するデータに対して画質制御を行ってもよい。また、例えばＰＣ上で表示画面のコピーなど正規アプリケーションの画像出力手段以外による画像保存・蓄積を容易にとることができるインターネットブラウザのような画像再生手段では、共有変更情報を設定して表示の解像度を必要以上に上がらないようにすることも考えられる。この際、提供するブラウザの組込み型復号器（プラグイン・デコーダ）に上記制限機能を設けておく形態も有効な手段となる。
【０１９１】
【発明の効果】
以上のようにこの発明によれば、変更情報によりデータまたはパラメータを変更指示する設定変更部と、データ操作部または符号操作部の少なくともいずれかとを備えたので、符号器は、一つの符号データ列を用意するだけで、受信側である種々のレベルを持つ復号器側に、それぞれ符号化器側が期待する所望のレベル、例えば対応する変更情報を共有しない復号器に対しても概要データのみを出力できる等の、出力データ列を与えられる効果がある。
【０１９２】
また更に、評価部を備えたので、種々のレベルの復号器側で再生可能なデータ列となるよう、送信側である符号化器側で予め評価して、設定変更情報を定められる効果がある。
【０１９３】
また更に、設定変更部は、特定ビットの挿入／削除を行うので、別途の暗号化と比べて処理が簡単で回路規模が小さく、また処理時間が短くてすむという効果がある。
【０１９４】
また更に、符号操作部は、変数／定数またはレジスタ／カウンタ値または符号化規則を変更するので、別途の暗号化と比べて処理が簡単で回路規模が小さく、また処理時間が短くてすむという効果がある。
【０１９５】
また更に、構成単位分解部を備えたので、特定のデータ構成単位のみに設定変更情報による処理を行うだけで、符号化器側が望む簡易な暗号化が実現できて、別途の暗号化と比べて処理が簡単で回路規模が小さく、また処理時間が短くてすむという効果がある。
【図面の簡単な説明】
【図１】  この発明の実施の形態１における符号器の構成を示す図である。
【図２】  実施の形態１における他の符号器の構成を示す図である。
【図３】  この発明の実施の形態１における復号器の構成を示す図である。
【図４】  実施の形態１における他の復号器の構成を示す図である。
【図５】  実施の形態１における他の符号器の構成を示す図である。
【図６】  実施の形態１における変更情報と符号形式を示す図である。
【図７】  実施の形態１における他の変更情報と符号形式を示す図である。
【図８】  実施の形態１における他の変更情報と符号形式を示す図である。
【図９】  実施の形態１における変更情報を用いた処理を説明する図である。
【図１０】  実施の形態１における変更情報を用いた他の処理を説明する図である。
【図１１】  実施の形態１における変更情報を用いた他の処理を説明する図である。
【図１２】  実施の形態１におけるコンテクスト初期値を変更する例を説明する図である。
【図１３】  実施の形態１における演算レジスタ値を変更する例を説明する図である。
【図１４】  実施の形態１における演算レジスタ値の変更動作を説明する図である。
【図１５】  実施の形態１におけるＩＮＩＴＥＮＣ処理フローを説明する図である。
【図１６】  実施の形態１におけるＩＮＩＴＥＮＣ処理フロー図である。
【図１７】  実施の形態１におけるＦＬＵＳＨ処理フロー図である。
【図１８】  実施の形態１におけるＩＮＩＴＤＥＣ処理フロー図である。
【図１９】  実施の形態１におけるＣＯＤＥＬＰＳ処理フロー図である。
【図２０】  実施の形態１における他のＣＯＤＥＬＰＳ処理フロー図である。
【図２１】  実施の形態１におけるＤＥＣＯＤＥ処理フロー図である。
【図２２】  実施の形態１におけるＬＰＳ＿ＥＸＣＨＡＧＥ処理フロー図である。
【図２３】  実施の形態１におけるＭＰＳ＿ＥＸＣＨＡＧＥ処理フロー図である。
【図２４】  この発明の実施の形態２における符号器の構成を示す図である。
【図２５】  この発明の実施の形態２における復号器の構成を示す図である。
【図２６】  この発明の実施の形態２における他の符号器の構成を示す図である。
【図２７】  実施の形態２におけるビットプレーン符号化の動作を説明する図である。
【図２８】  実施の形態２におけるグレイコードへの変換を説明する図である。
【図２９】  実施の形態２における解像度階層化動作を説明する図である。
【図３０】  実施の形態２におけるウェーブレットの概念を説明する図である。
【図３１】  実施の形態２における２つのビットプレーンで構成される符号化・復号の例を示す図である。
【図３２】  この発明の実施の形態３におけるデータ流通システムの構成図である。
【図３３】  実施の形態３における配信側の装置構成図である。
【図３４】  実施の形態３における利用側の装置構成図である。
【図３５】  従来の符号器の構成を示す図である。
【図３６】  従来の復号器の構成を示す図である。
【図３７】  従来の、暗号化のために設けたデータビット入替器の動作を説明する図である。
【図３８】  従来の論理演算を用いた暗号化器を示す図である。
【図３９】  ２値算術符号化の概念を説明する図である。
【図４０】  ２値算術符号の符号化と復号動作を説明する図である。
【図４１】  減算型算術符号化と正規処理の概念を示す図である。
【図４２】  ＱＭ−Ｃｏｄｅｒの符号化器の構成図である。
【図４３】  ＱＭ−Ｃｏｄｅｒの復号器の構成図である。
【図４４】  画像処理における２ライン・３ラインモデルテンプレート図である。
【図４５】  符号化・復号の際して状態番号をインデクスとして参照する定数テーブルの設定図である。
【図４６】  符号化レジスタ、復号レジスタ、領域幅レジスタのビット配置図である。
【図４７】  従来のＥＮＣＯＤＥＲ処理フロー図である。
【図４８】  従来のＥＮＣＯＤＥ処理フロー図である。
【図４９】  従来のＣＯＤＥＬＰＳ処理フロー図である。
【図５０】  従来のＣＯＤＥＭＰＳ処理フロー図である。
【図５１】  従来のＲＥＭＯＲＭＥ処理フロー図である。
【図５２】  従来のＢＹＴＥＯＵＴ処理フロー図である。
【図５３】  従来のＩＮＩＴＥＮＣ処理フロー図である。
【図５４】  従来のＦＬＵＳＨ処理フロー図である。
【図５５】  従来のＣＬＥＡＲＢＩＴＳ処理フロー図である。
【図５６】  従来のＦＩＮＡＬＷＲＩＴＥＳＳ処理フロー図である。
【図５７】  従来のＤＥＣＯＤＥＲ処理フロー図である。
【図５８】  従来のＤＥＣＯＤＥ処理フロー図である。
【図５９】  従来のＬＰＳ＿ＥＸＣＨＡＮＧＥ処理フロー図である。
【図６０】  従来のＭＰＳ＿ＥＸＣＨＡＮＧＥ処理フロー図である。
【図６１】  従来のＭＰＳ＿ＥＸＣＨＡＮＧＥ処理フロー図である。
【図６２】  従来のＲＥＮＯＲＭＤ処理フロー図である。
【図６３】  従来のＩＮＩＴＤＥＣ処理フロー図である。
【図１】
0003798376.tif 000002
【図２】
0003798376.tif 000003
【図３】
0003798376.tif 000004
【図４】
0003798376.tif 000005
【図５】
0003798376.tif 000006
【図６】
0003798376.tif 000007
【図７】
0003798376.tif 000008
【図８】
0003798376.tif 000009
【図９】
0003798376.tif 000010
【図１０】
0003798376.tif 000011
【図１１】
0003798376.tif 000012
【図１２】
0003798376.tif 000013
【図１３】
0003798376.tif 000014
【図１４】
0003798376.tif 000015
【図１５】
0003798376.tif 000016
【図１６】
0003798376.tif 000017
【図１７】
0003798376.tif 000018
【図１８】
0003798376.tif 000019
【図１９】
0003798376.tif 000020
【図２０】
0003798376.tif 000021
【図２１】
0003798376.tif 000022
【図２２】
0003798376.tif 000023
【図２３】
0003798376.tif 000024
【図２４】
0003798376.tif 000025
【図２５】
0003798376.tif 000026
【図２６】
0003798376.tif 000027
【図２７】
0003798376.tif 000028
【図２８】
0003798376.tif 000029
【図２９】
0003798376.tif 000030
【図３０】
0003798376.tif 000031
【図３１】
0003798376.tif 000032
【図３２】
0003798376.tif 000033
【図３３】
0003798376.tif 000034
【図３４】
0003798376.tif 000035
【図３５】
0003798376.tif 000036
【図３６】
0003798376.tif 000037
【図３７】
0003798376.tif 000038
【図３８】
0003798376.tif 000039
【図３９】
0003798376.tif 000040
【図４０】
0003798376.tif 000041
【図４１】
0003798376.tif 000042
【図４２】
0003798376.tif 000043
【図４３】
0003798376.tif 000044
【図４４】
0003798376.tif 000045
【図４５】
0003798376.tif 000046
【図４６】
0003798376.tif 000047
【図４７】
0003798376.tif 000048
【図４８】
0003798376.tif 000049
【図４９】
0003798376.tif 000050
【図５０】
0003798376.tif 000051
【図５１】
0003798376.tif 000052
【図５２】
0003798376.tif 000053
【図５３】
0003798376.tif 000054
【図５４】
0003798376.tif 000055
【図５５】
0003798376.tif 000056
【図５６】
0003798376.tif 000057
【図５７】
0003798376.tif 000058
【図５８】
0003798376.tif 000059
【図５９】
0003798376.tif 000060
【図６０】
0003798376.tif 000061
【図６１】
0003798376.tif 000062
【図６２】
0003798376.tif 000063
【図６３】
0003798376.tif 000064