JP3798376B2 - 複数品質データ生成符号化器、及び複数品質データ生成符号化方法 - Google Patents
複数品質データ生成符号化器、及び複数品質データ生成符号化方法 Download PDFInfo
- Publication number
- JP3798376B2 JP3798376B2 JP2002554978A JP2002554978A JP3798376B2 JP 3798376 B2 JP3798376 B2 JP 3798376B2 JP 2002554978 A JP2002554978 A JP 2002554978A JP 2002554978 A JP2002554978 A JP 2002554978A JP 3798376 B2 JP3798376 B2 JP 3798376B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- unit
- encoding
- change information
- code
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/40—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
- H03M7/4006—Conversion to or from arithmetic code
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/40—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
Description
【発明の属する技術分野】
この発明はファクシミリ、インターネット、画像データベース等の精細イメージデータを含むデータ送受信装置において、主として送信側の意図により送信データから各種の品質レベルの受信データを与える装置、システムに関するものである。
【0002】
【従来の技術】
従来の技術を説明する。
図35および図36は、従来の符号器および復号器のブロック構成図を示している。図35の符号器において、データ列501はモデル化部502Aでここのデータ値503とその(符号化)パラメータ504を順次出力し、符号化部505で符号化され、符号送信部506によって符号507が出力される。
【0003】
また、図36の復号器において、符号507は符号受信部508に入力され、復号部509は復号すべきデータ値503に対してモデル化部502Bから順次入力される(復号)パラメータ504と符号507から復号したデータ値503をモデル化部502Bへ出力し、データ列501を出力する。
【0004】
ここで、従来符号器では、図35のデータ列501の入力(A点)で図37で示されるデータビット入替器のように結線によりビットを入れ替えたり、あるいは符号507の出力(B点)で図38で示される暗号器のように暗号鍵560を元にした乱数発生器561からの発生乱数との排他的論理和(ExOR)を用いた暗号化を行って、データ内容を秘匿する操作を行う。
【0005】
従来復号器では、図36の符号507の入力(B点)で符号器と同じ乱数との排他的論理和(ExOR)を用いて暗号を解読して符号507に戻し、あるいはデータ列501の出力(A点)でビットを入れ替えて元のデータ列501に戻す。
【0006】
このように、従来符号器、従来復号器は、符号化(圧縮)部、復号(解凍)部とは独立に、A点またはB点で暗号化を適用する構成をとり、復号処理は符号化された元のデータ列を完全に再生するものである。
【0007】
このような従来技術については、例えば特開平8−331395の「多値画像伝送装置」に、上記のようにビットを入れ替たり、あるいはビット値の簡単な論理変換を用いてデータを秘匿する例が開示されている。また、例えば特開平7−111646の「スクランブル装置、デスクランブル装置および信号処理装置」に上記暗号化の例が開示されている。さらに、例えば特開平8−181966の「送信装置並びに受信装置並びに通信処理システム」に、複数の階層に分離して符号化した符号を秘匿強度の異なる暗号化を行うこと、また特開平9−205630の「テレビジョン信号送信・受信方法、及びテレビジョン信号送信・受信装置」に複数のチャンネルに分離して符号化・送信されたデータに対して一部を再生しないことで、アクセス権の有無やその権利種別によって受信データの再生品質を変える例が開示されている。
【0008】
また、従来の符号化方式の一例として、高い圧縮率が得られる算術符号化を利用する暗号化について説明する。まず、最も代表的な算術符号化の符号器(Encoder)・復号器(Decoder)には、ITU−Tの国際標準勧告T.82およびT.81に記載されるQM−Coderがある。一般に、算術符号化では、従来の符号化がデータの性質の変化に追従できずに圧縮率が上がらなかったのに対し、圧縮率の低下を抑えるためにその性質変化を学習して最適化を図っている。特に、符号化・復号パラメータの決定では、符号化・復号済みのデータを参照し、また符号化・復号結果をフィードバックして更新される。よって、復号器は、一度復号に誤りが発生するとそれ以後符号器と共通のパラメータを生成・選択できなくなり、その後の復号データに対して致命的となる。
【0009】
この算術符号化の特徴を暗号化に利用した従来技術が、例えば生成された算術符号の先頭あるいは所定ビット間隔にダミービットを付加、あるいは符号ビットを反転したり、またテーブル値を変更する例が特開平5−56267の「符号化復号化方法」に、また後述の算術符号化パラメータである有効領域の初期値を変更する例が特開平6−112840の「符号化復号化方法およびその装置」に、さらに有効領域および推定確率の初期値、また割当て領域幅を変更する例が特開平11−073102の「秘密鍵暗号化復号化方法及びその装置」に開示されている。これらは、いずれも変更値を暗号鍵としている。
【0010】
算術符号について具体的に動作を説明する前に、図39で2値算術符号化の概念を説明する。算術符号化は、0.0以上1.0未満の数直線上の2進小数座標値が符号となる。処理過程において、上記数直線上の範囲を有効領域として2値シンボルの出現確率に比例して分割し、実際に出現したシンボルに対応する部分領域を新たな有効領域として分割を繰り返す。MPS(More Probable Symbol)は出現確率がより高いデータ値が出たことを示す優勢シンボル、LPS(Less Probable Symbol)は出現確率がより低いデータ値が出たことを示す劣勢シンボルである。最終シンボルで更新された有効領域内の1つの座標を符号として出力する。処理中は、符号を有効領域の下界値として計算し、同図において上界値と下界値の差である有効領域幅とともに更新される。符号は、座標末尾に続く0を切り捨てた有効領域内で有効桁数が最小の座標値を選択することもできる。このとき、復号時に不足する符号ビットは、切り捨てた0を補填する。或いは、符号化で切り捨てるビット値、復号で補填するビット値は、操作ビット値が一致すれば1でも構わない。
【0011】
図40を用いて2値算術符号の符号化および復号の例を説明する。同図において、数直線上の小数値は2進座標、シンボル0はMPS、シンボル1はLPSを示す。符号化において、区間幅Aの初期値は1.000、符号Cの初期値は0.000とし、2値データ列DN=0101を符号化は次のように進められる。第1の2値データ0は、コンテクスト0に対する予測値0から「予測一致」としてシンボル0(MPS)となり、新たな区間幅をその対応区間A0とする。ここで、便宜上、コンテクストは直前のデータ値、シンボル対応区間は等分割(一般には出現確率比)とし、LPS対応区間A1をMPS対応区間A0より上位に配置する。また、直前のデータ値のない第1の2値データに対するコンテクスト(初期値)は0、またコンテクスト0、1に対応する予測値(初期値)はいずれも0として、図中における最初の参照を枠で囲んで示した。次に、第2の2値データ1は、直前(第1)データ値0をコンテクストとし、その予測値0から「予測不一致」としてシンボル1(LPS)となり、新たな区間幅をその対応区間A1とする。このとき、有効区間下界値となるように更新するため符号Cに部分区間幅A0を加える。同様に、第3、第4の2値データ値についても処理し、最終有効区間の下界値C=0.0101000を符号値とする。
【0012】
復号においては、区間幅Aの初期値は1.000、符号Cの初期値は上記2値小数0.0101000とし、コンテクストと予測値の初期値は符号化と同じ値を採ることによって復号は次のように進められる。第1の2値データの復号に当たって符号化同様にコンテクスト0に対する予測値0が得られ、符号Cは下方部分区間A0内に含まれるので、その対応するシンボル0(MPS)、つまり予測一致であることから予測値0をそのまま2値データ値0として復号する。第2の2値データ1は、直前(第1)データ値0をコンテクストとし、その予測値0が得られ、符号Cは上方部分区間A1内に含まれるので、その対応するシンボル1(LPS)、つまり予測不一致であることから非予測値(1−予測値0)を2値データ値1として復号する。このとき、符号Cは有効区間下界値からの変位として更新するため符号Cから部分区間幅A0を減じる。同様に、第3、第4の2値データ値についても処理し、順に2値データ値0、1が復号され、符号化した2値データが誤りなく復号されていることがわかる。
【0013】
算術符号化の実用化に当たっては、符号演算時の有効桁数増加に対処した減算型算術符号化が一般に用いられる。以下、算術符号は減算型算術符号を指すものとし、QM−Coderも減算型算術符号に分類される。図41は、減算型算術符号化と正規化処理の概念を示す図である。ここで、有効領域が1/2(0.100)を下回ると2のべき乗倍して1/2(0.100)以上に拡大する正規化処理を行う。これにより、計算時の2進小数部の桁数は一定に保たれる。このとき、整数部は小数点から続く1とその上位の0となった桁は後の座標計算で桁上がりの伝播によって変更されることあるため符号値が確定できないが、それらの桁よりも上位の桁には桁上がりの伝播がないため出力してしまうことができる。
【0014】
QM−Coderは、ITU−Tの国際標準勧告T.82に記載されるテーブルおよび処理フローによって実現できる。以下、符号化対象データを2値画像として上記国際標準勧告で規定される符号化及び復号の標準動作について説明する。
【0015】
QM−Coderの符号器および復号器のブロック構成図を図42、図43に示す。本従来例では、画像メモリ5Aおよび5Bを符号器、復号器の内部に配置されるものとして説明する。
【0016】
QM符号器1Aにおける画像メモリ5Aは、入力される画像6を蓄積し、符号化の対象となる画素(Pixel)に対してモデルテンプレート(Model Template)で指定された近隣の符号化済みの10画素の参照パターンであるコンテクスト(10ビット。総数1024)を生成し、同時に符号化対象画素を出力する。
【0017】
QM復号器1Bにおける画像メモリ5Bは、すでに復号された復号画素を蓄積し、これから復号の対象とする画素に対するコンテクストを生成して出力し、そのコンテクストを使用して復号された復号対象画素を得て蓄え、画像6を出力する。
【0018】
画像メモリ5A、5Bには、コンテクストを生成するための図44に示される2ラインおよび3ラインの標準モデルテンプレートが用意されており、符号化/復号処理開始時にいずれかを選択して使用する。どちらを使用したかという情報は符号データのヘッダによって通知され、符号器と復号器が共通のものを使用することになる。
【0019】
QM−Coderでは、符号化/復号対象画素に対する各コンテクストごとに画素値の予測一致確率を推定し、その変動に伴って学習しながら符号化/復号を進める。学習は、コンテクストをインデクスとする2つの変数テーブルを書き換えることによって行われる。1つは、出現する確率の高い画素値MPSを予測値として記憶する各1ビットのMPSテーブル7である。もう1つは、予測値の予測一致確率の程度を総計113の状態(State)に分類した状態番号(0〜112)を記憶する各7ビットのSTテーブル8である。
【0020】
変数テーブルの他に、符号化/復号の際に状態番号(ステート)をインデクスとして参照する定数テーブル(確率推定テーブル)が存在する。そのテーブル設定値を図45に示す。
【0021】
LPS領域幅を16ビットで表すLSZテーブル9、MPS遷移先を7ビットで表すNMPSテーブル10、LPS遷移先を7ビットで表すNLPSテーブル11、予測値反転判定を1ビットで表すSWTCHテーブル12である。(ここで示した英字の変数・定数テーブル名は、後述の処理フローで用いる配列名とする。)
LSZテーブル9は、算術符号器13A/算術復号器13B内の演算部で参照され、適応予測の学習には直接的には関係しない。算術符号器13A/算術復号器13Bの内部ではLSZ値を用いて演算が行われ、演算精度が低下した際には正規化処理(リノーマライズ。Renormalize)を行う。この正規化処理が行われれるとき、同時に学習を行う。
【0022】
正規化処理を発生したときの符号化/復号シンボル14が優勢シンボルであればNMPS値を、劣勢シンボルであればNLPS値をSTテーブル8に書き込み、状態が遷移される。優勢シンボルとは、符号化/復号対象画素3が予測値MPS7と等しいことを示し、劣勢シンボルとはそれらが等しくないことを示している。符号化のとき画素シンボル変換器15Aがシンボル14を算術符号器13Aへ出力し、復号のとき算術復号器13Bがシンボル14をシンボル画素変換器15Bへ出力する。算術符号器13A、算術復号器13Bは、更新処理器16,17へ正規化実行とシンボルを知らせて、その画素に対するコンテクストによって示される予測値7とステート8の値のみを更新させる。
【0023】
また、正規化処理が劣勢シンボルによるものであるとき、その予測一致確率が1/2であればMPS値7を反転(演算「1−MPS」)させてMPSテーブル7に書き込む。一致確率が1/2であるかどうかは、SWTCH値12をフラグとして判定することができる。
【0024】
このように、2つの変数テーブルST8およびMPS7に対して、それぞれ更新処理を行い、個別に管理しなければならない。図42と図43において、テーブルST8およびMPS7の各更新処理器17,16が更新値を決定し、テーブル値を書き換えることによって更新処理が行われる。
【0025】
図42,図43の画像6、符号4は、図35,図36のデータ列501、符号507に対応する。また、図42,図43のコンテクスト2、画素3、画像メモリ5A,5Bは、図35,図36のパラメータ504、データ値503、モデル化部502A,502Bに対応する。図42,図43のステートテーブル8と予測テーブル7から算術符号器13A、算術復号器13Bまでは、図35,図36の符号化部、復号部に対応する。また、図42,図43の算術符号器13A、算術復号器13Bの符号4側の入出力対応部分が図35,図36の符号送信部506、符号受信部508に対応する。
【0026】
符号化処理フローおよび復号処理フローを説明する前に、符号化レジスタC30A、復号レジスタC30Bおよび領域幅レジスタA31のビット配置を図46に示す。
【0027】
符号化レジスタC30Aにおいて、bit15とbit16の間に小数点を設定し、“x”(16ビット)はLSZ9に対する演算部Cx32であり、キャリがある場合はより上位へ伝搬する。“s”(3ビット)はスペーサビット部Cs33、“b”(8ビット)はバイト出力部Cb(Cbレジスタ)34、“c”(1ビット)は桁上がり判定部Cc35である。符号化の過程において、Cレジスタ値は符号4として符号化したシンボルに対応させた領域の下界値となるように更新される。
【0028】
復号レジスタC30Bにおいて、下位ワードCLOW36と上位ワードCHIGH38は32ビットのレジスタとして実現でき、MSBであるbit31の上位に小数点を設定し、“b”(8ビット)はバイト入力部(CLOWレジスタ36)の上位バイトCb37、“x”(16ビット)はLSZ9に対する演算部Cx(CHIGHレジスタ38)39である。復号の過程において、Cレジスタ値は復号したシンボルに対応させた領域の下界値からその領域内の座標である符号4へのオフセット値となるように更新される。
【0029】
領域幅レジスタA31は符号化/復号で共通とし、符号化/復号レジスタ30A,30Bの小数点に対応して、“x”レジスタ部に合わせて“a”(16ビット)が小数部として配置され、初期状態の値でのみ整数部(bit16)が“1”となる。領域幅(領域サイズともいう)は、A−LSZ(下方領域幅)またはLSZ(上方領域幅)に更新され、初期値(整数部=“1”)を除いて1/2の重みを示すbit15が“1”となるように正規化され、1/2以上に保つことによって上方領域幅としていかなるLSZ9を選択しても下方領域の確保を保証している。正規化処理では、Aレジスタ31、Cレジスタ30Aまたは30Bを同時に拡大する。
【0030】
QM−Coderでは、状態に対して固定サイズとなる上方領域LSZ9は通常LPSに割り当てられるが、下方領域が上方領域より小さくなるときにはMPSに割り当てる「条件付きMPS/LPS交換」を行っている。LPSを符号化/復号したとき、および「条件付きMPS/LPS交換」を適用してMPSを符号化/復号したときには正規化処理が必ず行われる。
【0031】
このレジスタのビット配置を基に、符号化の処理フロー、復号の処理フローを説明する。処理フロー中の用語「レイヤ」は階層的符号化の場合の「(解像度)層」、「ストライプ」は画像をNライン単位(最終ストライプのみNライン以下)で区切った「短冊」を意味する。ここでは、レイヤ数=1として説明するが、複数レイヤの符号化/復号への拡張を妨げるものではない。
【0032】
符号化/復号処理フローを説明するために、図42、図43、図46で説明した変数、テーブル、レジスタの他に、次の補助変数CT50、BUFFER51、SC52、TEMP53を使用する。CT50は、正規化処理によるCレジスタ30A、30BおよびAレジスタ31のシフト数を計数し、値が0となったとき次の符号バイト入出力を行うための補助変数である。BUFFER51は、符号化のときCレジスタ30Aから出力された符号バイト値、復号のときCレジスタ30Bへ入力される符号バイト値を格納する補助変数である。SC52は、符号化のみで使用され、Cレジスタ30Aから出力された符号バイト値が0xffであるときその連続数を計数する補助変数である。TEMP53は、符号化のみで使用され、BUFFER51への桁上がりを検出し、桁上がり処理後はその下位8ビットを新たなBUFFER値51とするための補助変数である。Cレジスタ30AからTEMP53を介して設定されるBUFFER51は桁上がり処理を行うことなく0xffとなることはなく、その時点でBUFFER51から下位、つまりBUFFER51、SC52個の0xffはCレジスタ30Aより上位への桁上がりあれば変更されるためCレジスタ30Aから出力されていても符号4として確定できていない。
【0033】
図47は、符号化処理の全体の流れを示すENCODER処理フローである。勧告T.82の本処理フローにあるTP(Typical Prediction)およびDP(Deterministic Prediction)に関する処理は本発明および従来例の基本処理とは直接的な関係がないため省略する。まず、S101ではINITENCを呼び出し、符号化処理の初期化を行う。S102では画素PIX3とコンテクストCX2の組を1つずつ読み出し、S103ではENCODEによって符号化を行う。S104ではストライプ(または画像)が終了するまでS102およびS103を繰り返し、終了したときS105でFLUSHを呼び出して符号化処理の後処理を行う。
【0034】
図48は、符号化対象画素値3と予測値7の一致・不一致から呼び出す処理を切り替えるENCODE処理フローである。S111では画素値3と予測値7の一致・不一致を判定し、一致ならばMPS、不一致ならばLPSを符号化する。S113ではCODEMPSを呼び出してMPSを、S112ではCODELPSを呼び出してLPSを符号化する。
【0035】
図49は、符号化対象画素値3と予測値7が不一致のとき、すなわちLPSを符号化する際に呼び出されるCODELPS処理フローである。まず、S121では一時的にAレジスタ31値は、下方領域幅に更新される。S122の判定がYesならば、条件付きMPS/LPS交換が適用され、下方領域を符号化するためAレジスタ31はそのままとし、Cレジスタ30Aは更新しない。S122の判定がNoならば、上方領域を符号化し、S123で領域下界値であるCレジスタ30A、S124で領域幅であるAレジスタ31を更新する。S125の判定で定数SWTCH値12が1ならば、S126で予測値(MPSテーブル)の反転・更新を行う。LPS符号化では、S127でNLPSテーブル11参照による状態遷移を行い、S128でRENORMEを呼び出して正規化処理を行う。
【0036】
図50は、符号化対象画素値3と予測値7が一致のとき、すなわちMPSを符号化する際に呼び出されるCODEMPS処理フローである。まず、S131では一時的にAレジスタ31値は、下方領域幅に更新される。S132の判定がNoならばそのままCODEMPS処理を終了する。S132の判定がYesならば、必ずS136でNMPSテーブル10参照による状態遷移を行い、S137でRENORMEを呼び出して正規化処理を行う。S136およびS137の前に、S133の判定がYesならば、下方領域を符号化するためAレジスタ31はそのままとし、Cレジスタ30Aは更新しない。S133の判定がNoならば、条件付きMPS/LPS交換が適用され、上方領域を符号化し、S134でCレジスタ30A、S135でAレジスタ31を更新する。
【0037】
図51は、正規化処理を行うRENORME処理フローである。S141ではAレジスタ31、S142ではCレジスタ30Aを1ビット上位へシフトすることによって2倍の乗算と等価な演算を行う。S143で変数CT50から1を減じ、S144で変数CT50が0か否か判定し、判定がYesならばS145でBYTEOUT処理を呼び出してCレジスタ30Aから1バイト符号4を出力する。S146の判定は、正規化処理の終了判定を行っており、Aレジスタ31が0x8000未満ならばS141からS145を繰り返し、0x8000以上となれば領域が1/2以上となり終了する。
【0038】
図52は、Cレジスタ30Aから1バイトずつ符号4を出力させるBYTEOUT処理フローである。出力するバイトは符号化レジスタC30Aのバイト出力部Cb34である。桁上がりを判定するための桁上がり判定部Cc35も同時に処理する。S151でCbレジスタ34およびCcレジスタ35の計9ビットを変数TEMP53に設定する。S152で桁上がりがある場合(TEMP>0x100;Cc=1)、桁上がりがない場合にはS159で0xFFである場合、0xFF未満である場合に分けてバイト出力を処理する。S152の判定がYesの場合、すでにCレジスタ30Aから出力済みの符号4をS153でBUFFER51値に桁上がりの1を加えた値、S154でSC52個のバイト値0(蓄積していた0xFFが桁上がりの伝搬により0x00となった)の合計SC+1バイトが桁上がりを伝搬された符号値として確定する。S155で変数SC52を0とし、S156で変数BUFFER51に変数TEMPの下位8ビットを設定する。S157で変数TEMP53として処理したCcレジスタ35,Cbレジスタ34をクリアし、S158で次の出力まで8ビットを処理するため変数CT50に8を設定する。S159の判定がYesの場合は、符号4は確定できず、変数値SC52に1を加えて0xFFを蓄積する。S159の判定がNoの場合は、すでにCレジスタ30Aから出力済みの符号4をS153でBUFFER値、S154でSC52個のバイト値0xFFの合計SC+1バイトが符号値として確定する。S163で変数SC52を0とし、S164で変数BUFFER51に変数TEMP53(桁上がりがないためそのまま8ビット)を設定する。
【0039】
図53は、符号化開始時のSTテーブル8、MPSテーブル7および各変数の初期値を設定するINITENC処理フローである。S171の「このレイヤの第1ストライプ」はレイヤおよびストライプの概念を持ち込まない場合「画像の符号化開始の時点」を意味し、複数のストライプから構成される画像では変数テーブルをストライプごとに初期化せずに処理を続けることもできる。S171では、このレイヤの画素の第1ストライプか、またはテーブルを強制リセットするのかを判定する。S171の判定がYesならば、S172ですべてのコンテクストCX2に対して変数テーブルST8、MPS7を初期化する。S173はSC52を、S174はAレジスタ31値を、S175はCレジスタ30Aを、S176は変数CT50を初期化する。変数CT50の初期値11はCbレジスタ34のビット数とCsレジスタ33のビット数の和であり、11ビット処理したとき最初の符号出力を行うことになる。S171の判定がNoの場合は、S177では変数テーブルの初期化を行わず、同じレイヤの直前のストライプ終端のテーブル値を再設定する。
【0040】
図54は、符号化終了時に符号化レジスタ30Aに残った値を掃き出す処理を含めた後処理を行うFLUSH処理フローである。S181でCLEARBITSを呼び出してCレジスタ30Aに残った符号の有効桁数を最小にする。S182はFINALWRITESを呼び出して変数BUFFER51、SC52およびCレジスタ30Aの符号4を最終的に出力する。S183で符号4の第1バイトは変数BUFFER51がCレジスタ30A値の出力に先だって(整数部として)出力されるため除去する。S184で符号4は最終有効領域内の小数座標であるから、必要であれば終端に連続するバイト0x00は除去する。
【0041】
図55は、符号化終了時の符号4の有効桁数を最小とするための処理を行うCLEARBITS処理フローである。これによって、符号4は終端に可能な限り0x00が連続する値となる。S191は変数TEMP53として最終有効領域の上界値の下位2バイト(Cxレジスタ32)をクリアした値を設定している。S192では上界値の下位2バイトのクリアした値とCレジスタ30A値との大小を比較する。S192の判定がYesならば、S193で変数値TEMP53にクリアし過ぎた1ビット分(0x8000)を戻してCレジスタ30A値とする。S192の判定がNoならば、変数値TEMP53をCレジスタ30A値とする。
【0042】
図56は、符号化終了時点で確定した符号をCレジスタ30Aに残った値まで書き出すFINALWRITES処理フローである。S201でCレジスタを変数値CT50で示されるビット数だけシフトして符号出力および桁上がり判定を可能とする。S202で桁上がりの有無を判定する。S202の判定がYesならば桁上がりがあり、Noならば桁上がりはない。BYTEOUT処理フローと同様にS203、S204で桁上がりのある符号値、S207、S208で桁上がりのない符号値とするCレジスタから出力済みのSC+1バイトの符号4を確定する。S205でCbレジスタ値(1バイト)、S206でその下位1バイトを出力して符号出力が完了する。
【0043】
図57は、復号処理の全体の流れを示すDECODER処理フローである。符号化処理の図47と同様に、勧告T.82の本処理フローにあるTPおよびDPに関する処理は本発明および従来例とは関係がないため省略する。まず、S211ではINITDECを呼び出し、復号処理の初期化を行う。S212ではコンテクストCX2の組を1つずつ読み出し、S213ではDECODEによって画素PIX3の復号を行う。S214ではストライプ(または画像)が終了するまでS212およびS213を繰り返す。
【0044】
図58は、復号対象画素を復号するDECODE処理フローである。まず、S221で一時的にAレジスタ31値は、下方領域幅に更新される。S222の判定がYesならば、下方領域を復号する。S223の判定がYesならば、S224でMPS_EXCHANGEを呼び出して、S225でRENORMDを呼び出して正規化処理を行う。S223の判定がNoならば、正規化処理することなくMPSを復号し、S226で予測値7を画素値3とする。また、S222の判定がNoならば、上方領域を復号する。S227でLPS_EXCHANGEを呼び出して、S228でRENORMDを呼び出して正規化処理を行う。MPS_EXCHANGE,LPS_EXCHANGEを呼び出すパスでは、それぞれ復号すべき領域は決まっていても領域の大小を比較しないと復号対象がMPSかLPSか判断できない。呼び出した処理フローでそれぞれ復号される画素値3を決定する。
【0045】
図59は、上方領域を復号するLPS_EXCHANGE処理フローである。S231の判定がYesならばMPSを復号する。S232でCレジスタ30Bを、S233でAレジスタ31を更新する。S234では予測値7をそのまま画素値3とする。S235でNMPSテーブル10参照による状態遷移を行う。また、S231の判定がNoならばLPSを復号する。S236でCレジスタ30Bを、S237でAレジスタ31を更新する。S238では非予測値「1−予測値」を画素値3とする。S239の判定がYesならば、S240で予測値(MPSテーブル)7の反転・更新を行う。S241でNLPSテーブル11参照による状態遷移を行う。
【0046】
図60は、下方領域を復号するMPS_EXCHANGE処理フローである。S251の判定がYesならばLPSを復号する。S252では非予測値を画素値3とする。S253の判定がYesならば、S254で予測値(MPSテーブル)7の反転・更新を行う。S255でNLPSテーブル11参照による状態遷移を行う。また、S251の判定がNoならばLPSを復号する。S256では予測値7をそのまま画素値3とする。S257でNMPSテーブル10参照による状態遷移を行う。
【0047】
図61は、正規化処理を行うRENORMD処理フローである。S261で変数CT50が0か否か判定し、判定がYesならばS262でBYTEINを呼び出してCレジスタ30Bに1バイト符号4を入力する。S263ではAレジスタ31、S264ではCレジスタ30Bを1ビット上位へシフトすることによって2倍の乗算と等価な演算を行う。S265でCT50から1を減じる。S266の判定は、正規化処理の終了判定を行っており、Aレジスタ31が0x8000未満ならばS261からS265を繰り返す。S267で変数CT50が0か否か判定し、判定がYesならばS268でBYTEINを呼び出してCレジスタ30Bに1バイト符号を入力する。
【0048】
図62は、Cレジスタ30Bに符号4を1バイトずつ読み込むBYTEIN処理フローである。SCD(Stripe Coded Data)はストライプに対する符号4である。S271で判定がYesの場合、読み出す符号4がないため変数BUFFER51は0とする。S273で変数BUFFER51をCLOWレジスタ36(Cb37)に読み込み、S274で次の入力まで8ビットを処理するため変数CT50に8を設定する。また、判定がNoの場合、1バイト符号4を変数BUFFER51に読み込む。
【0049】
図63は、復号開始時のSTテーブル8、MPSテーブル7および各変数の初期値を設定するINITDEC処理フローである。テーブルの初期値設定に関するS281、S282、S290については、符号化処理のINITENC処理フローのS171、S172、S177と同様である。Cレジスタ30Bの初期値は、Cxレジスタ39およびCbレジスタ37に符号4を3バイト読み込むことで設定される。S283でCレジスタ30Bをクリアし、S284でBYTEINを呼び出して符号4をCbレジスタ37に1バイト読み込む。S285でCレジスタ30Bを8ビットシフトして、S286でBYTEINを呼び出して符号4をCbレジスタ37に1バイト読み込む。S287でCレジスタ30Bを8ビットシフトして、S288でBYTEINを呼び出して符号4をCbレジスタ37に1バイト読み込む。これで、合計3バイトの符号4をCxレジスタ39およびCbレジスタ37に設定したことになる。S289ではAレジスタ31の初期値を設定する。
【0050】
【発明が解決しようとする課題】
従来のデータ再生品質制御方法では、符号化側または送信側は、ユーザが所望する、あるいはユーザに提供できる様々なレベルの再生品質のデータコンテンツを提供するためには、対応したレベル毎に個別にデータを用意しなければならず、大きな蓄積領域を必要とするという課題があった。
【0051】
またデータコンテンツの利用者側にとっては、データの概要をあらかじめ確認し、その後データ全体を受信するため、複数回の受信操作を必要とするという課題があった。
【0052】
また、従来のデータコンテンツの符号は、不正に転用された場合であっても、復号されたとき再生品質は常に同一であるため、コンテンツの秘匿性を保持できないという課題があった。
【0053】
さらに、データへの正当なアクセスを促進するために暗号化を行うが、この暗号化が符号化とは独立した処理となるため、その処理負荷および処理時間がかかるという課題があった。特にS/Wなど並列処理(パラレル処理)ができない構成では直列処理(シーケンシャル処理)しなければならず、規模が増大し、時間もかかるという課題があった。
【0054】
この発明は、上記のような課題を解決するためになされたもので、符号化側または送信側では一つの符号データを配布するだけでユーザに統一した情報を提供でき、復号側の受信ユーザは、同一符号データから予め持っている変更情報を適用するか否かで、再生品質の異なるデータコンテンツを復号する。
【0055】
また、データコンテンツの不正な転用に対しては、再生品質を制限したり、再生を不可能とすることによって、正規のユーザのみ正しい情報が得られる。
【0056】
また更に、符号化に当って疑似的な暗号化を行い、符号化と暗号化、解読と復号が独立した処理とはならず、その処理負荷および処理時間を軽減する。
【0057】
【課題を解決するための手段】
この発明に係る複数品質データ生成符号化器は、入力データ列を所定の設定値に基づいて符号化して符号列を出力する符号化部と、
与えられた設計要件から上記符号化部の上記所定の設定値に対する変更情報を得て、符号操作をさせる該変更情報を設定して出力する設定変更部と、
上記符号化部から出力された上記符号列の再生品質を所定の評価基準で評価し、該評価した再生品質が所定の評価基準を満たすまで上記変更情報を再設定させる評価部と、
上記評価部から与えられた上記再設定された変更情報を上記設定変更部から得て、該得た再設定された変更情報に基づき上記符号化部に符号列を出力させる符号操作部と、
上記評価部における上記再生品質が上記所定の評価基準を満たしたときの上記変更情報と上記符号列を出力する符号送信部と、を備えた。
【0058】
また、上記符号操作部は、上記設定変更部から上記符号化部の内部で符号化するシンボル列に特定ビットを挿入または削除する変更情報を得ると、上記符号化部に指示して、
上記符号化部は、上記符号操作部からの指示で上記変更情報に基づいて上記特定ビットを挿入または削除する操作を行うようにした。
【0059】
また、上記符号操作部は、上記設定変更部から上記符号化部が出力する符号列に特定ビットを挿入または削除する変更情報を得ると、上記符号化部に指示して、
上記符号化部は、上記符号操作部からの指示で上記変更情報に基づいて上記特定ビットを挿入または削除する操作を行うようにした。
【0060】
また、入力のデータ列を細分化して所定のデータ構成単位に分解して符号化部への入力とする構成単位分解部を備え、
上記設定変更部と上記符号化操作部は、上記細分化した所定のデータ構成単位毎に操作を行うようにした。
【0061】
また、変更情報は、予め実変更情報が記憶されている設定記憶領域の位置を指定して得るようにして、
符号操作部が変更操作を行う符号化にあたっては、上記位置指定された領域にある上記実変更情報に基づいて処理を行うようにした。
【0062】
この発明に係る複数品質データ生成符号化方法は、入力データ列を所定の設定値に基づいて符号化して符号列を出力する符号化ステップと、
与えられた設計要件から上記符号化ステップが基準とする上記所定の設定値に対する変更情報を得て、符号操作をさせる該変更情報を設定して出力する設定変更ステップと、
上記符号化ステップで得られた上記符号列の再生品質を所定の評価基準で評価し、該評価した再生品質が所定の評価基準を満たすまで上記変更情報を再設定させる評価ステップと、
上記評価ステップで評価が得られた上再設定された変更情報を上記設定変更ステップで得て、該得た再設定された変更情報に基づき上記符号化ステップに符号列を出力させる符号操作ステップと、
上記評価ステップにおける上記再生品質が上記所定の評価基準を満たしたときの上記変更情報と上記符号列を出力する符号送信ステップと、を備えた。
【0063】
【発明の実施の形態】
実施の形態1.
一般に符号器/復号器は、データの圧縮を行う符号器とその解凍を行う復号器の組合せによりデータの再現が保証され、上記従来例に示したような国際標準符号化や、業界標準として定着した符号化なども、規定された方法によりデータの再現を実現している。これらを通信で相互に接続する装置としてはファクシミリが代表として挙げられる。
【0064】
近年のインフラの発達に伴い、コンピュータシステムを利用した、例えばインターネットなどの普及によりこれらの標準的な符号化による圧縮が適用された、あるいは圧縮されないままの電子データが容易にダウンロードできるようになり、また、書籍・雑誌の付録やダイレクトメールなどにより入手される蓄積媒体に収められているデータも数多く存在する。しかしながら、それらのコンテンツには著作権の問題もあることからこれらのデータを圧縮すると同時に暗号化して保護し、正規にアクセス権を得た者だけがデータを参照できることが望ましい。一方では、圧縮を行う符号化と暗号化の処理を別々に行うことは、実装規模や実行時間をより大きくすることになり好ましくない。
【0065】
図1ないし図4は、本発明の実施の形態における符号器および復号器のブロック構成図である。
【0066】
図1及び図2の符号器において、新しい要素である、所望の設計要件510を満たすように変更情報設計部520は暗号鍵となる変更情報521を出力する。変更情報521は、情報共有部522により符号器と復号器の間で共有されるが、符号中に埋め込んでもよいし、上位プロトコルレベルで符号とは別に通信してもよいし、また書面や媒体等による配送によってもよい。また、その変更情報521は別途暗号化が施されてもよい。同じく新規要素である、設定変更部523Aは、与えられた変更情報521をモデル化部502A’、符号化部505’、符号送信部506’、後述のデータ操作部530Aおよび符号操作部531Aにそれぞれの変更情報521a、521b、521c、521d、521eを送る。これらの変更情報を、1つ以上設定する。
【0067】
図3と図4の復号器においては、設定変更部523Bは、与えられた変更情報521をモデル化部502B’、復号部509’、符号受信部508’、後述のデータ操作部530Bおよび符号操作部531Bに対して、それぞれの変更情報521a’、521b’、521c’、521d’、521e’を送る。設定変更部523A、523Bは、変更情報521を解釈して符号器、復号器へ適用すべき形式で指示する。図1,図2のモデル化部502A’、符号化部505’、符号送信部506’、図3,図4のモデル化部502B’、復号部509’、符号受信部508’は従来の符号器、復号器内の同様要素において変更情報を設定できるようにしたものであって、その他の基本的な動作は従来の各要素と同じものである。
【0068】
モデル化部502A’、502B’は、データ操作部530A,530Bからの変更情報521a、521a’に基づく指示により、データ値503に対するパラメータ504を変更する。パラメータ504は、例えばコンテクストであって、モデル化部502A’、502B’によってそのデータ列501の特徴を抽出する参照データを変更したり、増減させる。
【0069】
新規要素のデータ操作部530A、530Bは、変更情報521d、521d’による指示により、データ列501に対してモデル化部502A’、502B’が順次扱うデータ値503とその対となるパラメータ504を、図1,図3に示すように、データ値レベルで操作する。即ち、モデル化部の出力であるデータ値503、パラメータ504のいずれかを操作する。例えば、符号器においてデータ操作部530Aがダミーのデータ値503およびパラメータ504を挿入して符号化すれば、復号器においてはデータ操作部530Bはそのダミーのパラメータ504からダミーのデータ値503を復号して真のデータ列501から削除する。また例えば、符号器においてデータ操作部530Aがあるデータ値503を削除して変更情報521dにより通知して符号化すれば、復号器においてデータ操作部530Bはその削除されたデータ値503を通知された変更情報521d’から得て真のデータ列501となるよう追加する。データ操作部530A,530Bは、図2,図4のように、設定変更部523A,523Bの出力する変更情報521d,521d’を得て、モデル化部502A,502Bへ変更情報の指示に従い、データ列や生成されるコンテクストを操作して設定するよう指示する構成をとっても構わない。
【0070】
符号化部505’、符号送信部506’は、変更情報521b、521cによる指示により、また符号受信部508’、復号部509’は、変更情報521c’、521b’による指示により、静的および動的な参照値(定数・変数テーブル値)および他の保持値(レジスタ値・カウンタ値)、または割当・配置などの対応規則を変更し、その変更により派生する符号器および復号器の内部で必要な符号507の変更処理を行う。
【0071】
新規要素の符号操作部531A、531Bは、変更情報521e、521e’による指示により、符号送信部506’が送信した符号507、符号受信部508’が受信する符号507を生成された符号レベルで直接操作する。即ち、図1の符号器において符号操作部531Aが符号507にダミーの符号ビットを挿入して送信すれば、図3の復号器において符号操作部531Bはそのダミーの符号ビットを削除する。また、符号器において符号操作部531Aが符号507のある符号ビットを削除して変更情報521dにより通知して符号化すれば、復号器において符号操作部531Bはその削除された符号ビットを通知された変更情報521d’から得て真の符号507となるよう追加挿入する。さらに、上記符号ビットの挿入や削除によらず、取決めによって該当する符号ビットの反転を行う。符号操作部531A,531Bは、図2,図4のように、設定変更部523A,523Bの出力する変更情報521e,521e’を得て、符号化部505、符号送信部506、また、符号受信部508、復号部509へ変更情報の指示に従い、符号化部505、復号部509内部の図42,図43でいう変数テーブル、定数テーブルの値、算術符号器13A、算術復号器13B、レジスタ、カウンタの値や符号化/復号規則を操作して設定するよう指示する構成をとっても構わない。
【0072】
ここで、データ操作部530A、符号操作部531Aが挿入あるいは削除し、またデータ操作部530B、符号操作部531Bが削除あるいは挿入するするデータ値503、符号507の符号ビット、あるいは符号507中で反転させる符号ビットは、変更情報521で通知できれば位置・数とも制限する必要はない。
【0073】
また、符号化部505’、符号送信部506’、符号受信部508’、復号部509’の参照値、保持値、対応規則の変更は、変更情報521で通知でき、かつ同期がとれるならば、符号化・復号処理の最初であっても、その処理の途中であっても構わない。
【0074】
さらに、変更情報521を符号中に埋め込んで送信・受信する一つの実施形態として、符号操作部531Aは変更情報521を符号送信部506’の出力する符号507に埋め込んで送信し、受信側の符号操作部531Bは符号受信部508’へ入力する符号507に埋め込まれた変更情報521を分離して設定変更部523Bへ通知する。また、変更情報521は符号507への埋込みの適用に関わらず、別の通信や配送によって通知する実施形態も含めて、それ自身に別途情報撹乱するために従来の暗号化を適用しても構わない。
【0075】
従来復号器によって変更情報を設定せずに復号される誤りを含んだ復号データは、設定変更内容の設計次第で再生状況が変化する。特に、リアルタイム通信系でなく時間に追われずに済むデータベースのような蓄積系の装置・アプリケーションの場合、これらの復号誤りをあらかじめ計算に入れながら設定変更内容を設計すれば、復号時に所望の値のSNR(信号誤り率)やビットレートになるよう符号化しておくことも可能である。
【0076】
図5に所望の変更情報を設定する符号器の構成図を示す。同図において、符号507がデータ列501に対する設計要件510に厳密に合致させる必要があるときには、図1に示されたように変更情報設計部520の設計した変更情報521を設定して符号化し、出力される符号507を復号器へ送出する前に、評価部532は上記のSNRあるいはビットレートなどの所望の評価基準から符号507をあらかじめ評価し、設計要件510に合わないと変更情報設計部520に変更情報521を再度設計するように再設計要求533を出力する。このとき、評価部532は、符号507の長さのみで評価できず、元のデータとの比較まで必要ならば標準復号器の復号結果をあらかじめ再現し評価することもある。よって、再設計をした後に再度符号化を繰り返し、設計要件に合致した時点の変更情報521を復号器と共有し、そのときの符号507を符号送信部506’は出力する。図5に示されるように、評価部532は、符号507から上記評価を行い、変更情報を再設計しながら符号を出力すればよい。
【0077】
情報共有部522から設定変更部523A、523Bを経て共有される設定の変更情報521は、図6のように変更情報521自身が設定の変更内容541であってもよい。変更内容541は、図1の符号器の変更情報521a、521b、521c、521d、521eとして各部に作用し、また図3の復号器の変更情報521a’、521b’、521c’、521d’、521e’として各部に作用する。また、図7のように変更情報521は符号507に秘匿して付加したという抽出情報542だけ共有されて、符号507から間接的に抽出された変更内容541が具体的に指示され、図6と同様に作用させてもよい。あるいは、図8のように抽出情報542によって符号器・復号器(装置またはアプリケーション)に内蔵された設定記憶領域543から選択し、変更内容541が指示されることによって図6と同様に作用させてもよい。設定記憶領域543を内蔵する構成は、符号化あるいは復号の専用装置、専用アプリケーションの形態をとっても構わない。設定記憶領域543の実装形態は、用意される変更内容の蓄積容量が一つであっても複数であっても構わず、また一度設定した値を更新できるようにしても構わない。
【0078】
このように指示される変更内容541を符号器・復号器に設定して符号化・復号を行う。ここで、それらの変更情報521(抽出情報542)あるいは変更内容541は、直接使用できる状態でも、符号化あるいは暗号化が実際の参照直前まで適用されている状態で共有されても構わない。また、変更情報521は符号器側が設定し共有するとき復号器に通知してもよいし、あるいは復号器側が指定した変更情報521に対して符号器が符号化時に適用し符号を生成して送信しても構わない。このように、復号器側が指定する変更情報521は復号器固有の能力的な制約を含んでもよく、また符号器側は指定された変更情報521を設定して符号を生成する構成を採る場合、変更情報521を符号器側から復号器側に再び送信する必要はない。
【0079】
このように、算術符号化を利用した暗号化について、暗号鍵として共有する設定変更情報は、直接の変更内容であったり、あるいは符号中あるいは符号器/復号器の記憶領域に設けられた変更内容を間接的に抽出するための情報である。このような変更内容や抽出情報は暗号鍵として符号器から復号器に通知する際に個別に暗号化や符号化を適用することもありうるが、原則としてはそこまでの必要はなく、変更情報を共有して符号化と復号を行うことで、容易に正しい情報を伝送できる。
【0080】
図9は、符号化部505’内部で行うデータ値503から予測値との一致・不一致に予測変換したシンボル列550(図42のシンボル4)の操作を示している。符号器では、符号操作部531Aにより符号化部505’が行う符号化結果のシンボル列550にダミーシンボルを挿入したり、シンボルを削除し、その操作を変更情報521により通知する。復号器では、受信した符号(図43のシンボル4)から通知された変更情報521から符号操作部531Bにより復号部509’内部で挿入されたダミーシンボルを削除し、または削除されているシンボルを戻して、シンボル列550(図43のシンボル4)を再現する。同様に、図10は、図2のデータ操作部530Aがデータ列501(図42,図43の画素3と対応するコンテクスト2)にダミーデータを挿入し、図4のデータ操作部530Bが対応データを削除してデータ列501に戻す操作を示す。また、図11は、図1の符号操作部531A、531Bが符号507(図42,図43の符号4)に対して行う操作を示す。これらの挿入・削除する操作は、単独でも、同時に組み合わせて、連続し、また散りばめて適用しても構わない。符号中にダミー符号ビットの挿入、符号ビットの削除する場合は、符号化方式あるいは通信方式で規定されたマーカコードが発生しないようにしなければならない。特に、算術符号の場合には桁上がり制御の適用もあるため符号ビット単位で操作するより符号バイト単位で操作する方がその回避が容易となる。また、挿入・削除に加えて、値の反転、置換による操作しても構わない。
【0081】
図12は、図2において、データ操作部530Aが行う、コンテクスト初期値を変更する算術符号による符号化・復号の例を示している。同時にコンテクスト1に対する予測値MPS(1)も変更している。コンテクスト初期値の変更は、データ操作部がモデル化部のコンテクスト初期値を変更する。また、予測値の変更は符号化部505’、復号部509’内の予測値テーブル7の値を符号操作部531A,531Bが変更する。符号化において、4ビットのデータ列1101は、第1コンテクスト(CX1)を1、コンテクスト0および1に対する予測値の初期値(MPS(0),MPS(1))をその順に0、1とすれば、従来の形態の図40と同様に有効区間の等分割を繰り返すことによって、中央に示した区間分割の推移によりシンボル列0011に変換されて、最終有効区間の下界値とした符号0.0011000が得られる。
【0082】
復号においては、等分割という条件からシンボル列0011が間違いなく再現され、ここでコンテクスト初期値および各予測値の初期値として符号化と同一値を与えれば正常に復号されるが、同図の復号例のように異なる値を与えれば復号されるデータ列は0011となって符号化したデータ列1101と同じにはならない。同様に、この符号値を初期値の他の組合せ{CX1,MPS(0),MPS(1)}={0,0,1}、{0,1,0}、{0,1,1}、{1,0,0}、{1,1,0}、{1,1,1}で復号すると、復号データ列は順に0010、1000、1100、0011、0111、1100となって符号化したデータ列とは一致しない。
【0083】
ここで、区間分割に当たっては単純に等分割(=1通り)、また予測値テーブルへのインデクスであるコンテクストも直前1画素としていたため、この場合では初期値の設定組合せも8通り可能であるが符号化と同一データが復号されるのは同じ設定値を設定した場合の1通りしかない。この例では、{0,0,0}と{1,0,0}のように、同じ符号で異なる初期値を与えても復号シンボル列が一致する可能性はあるが、データ列が短いこと、区間を単純に等分していること、予測値反転などの学習を行っていないことなどがその原因となっている。例えば、従来の形態で説明したQM−Coderでは、区間分割の配分を決める状態数が113通りあり、またJBIG/JPEG符号化方式の標準テンプレートによるコンテクストも10画素参照の1024通りある。本発明のような情報撹乱を目的とすれば、それらの初期値を独立に変更することにより達成できる。さらに、各状態についても代表確率値、状態遷移先、予測値反転判定フラグの変更や、状態数の増減を行うこともできる。コンテクストも参照画素を増減させたり、参照位置を変更することも可能である。これらの操作に対応できない復号器は、正規の区間へのマッピングが行えなくなり、シンボルの誤判定は復号データ値およびパラメータ学習を誤らせ、一度復号を誤ったことから過去の復号データ値(画素)を参照するコンテクストの生成およびそのパラメータの抽出にも影響し、壊滅的な結果を与える。
【0084】
次に、算術符号を適用する場合の例として、上記従来例に示したQM−Coderの処理フローを使用し、主として符号化部505’、復号部509’に関する変更情報を共有化による暗号化を実現する具体的なパラメータ設定値の変更例を説明する。
【0085】
符号化の際に、区間幅A、符号Cに初期値を与えることも同様に復号結果を撹乱することになる。また、復号パラメータは符号化パラメータと同じものが使用できる場合でも、符号器が意図的にパラメータ以外の部分で、ビット操作、部分的隠匿、ダミー付加により符号値を異ならせたり、ダミーのデータ値(あるいはシンボル)を余分に加えれば、復号器が同様の補正を行えなければ、復号結果は正しく得られないことになる。このビット操作には、ビット反転や、排他的論理和によるマスキングなどを適用すればよい。また、部分的隠匿では符号の一部分を隠して別途通知したり、ダミー付加では符号にダミーのビット(やバイト)を挿入するようなものが挙げられる。ダミーのデータ値(あるいはシンボル)の付加では、復号器は符号器で挿入されたものと同じパラメータで復号して削除しなければならないが、そのダミーデータを以降のコンテクストの生成などに参照するか否かは符号器、復号器で同一の取扱いが必要である。
【0086】
まず、QM−Coderにおける演算レジスタの設定値を変更する例について説明する。例えば、図53のINITENC処理フローで演算レジスタである符号化レジスタC30A、領域幅レジスタA31は、A=0x10000(S174)、C=0(S175)で初期値を設定している。この値は、図13において(a)に示したA=1.0、C=0に相当する。この2つの初期値から最終的な符号値は、0.0(=C)以上1.0(=C+A)未満で示される範囲の座標値となる。
【0087】
Aレジスタ31初期値のみを変更する場合、図13(b)のようにA=0.9とすると最終的な符号値は0.0以上0.9未満となり、Cレジスタ30A初期値のみを変更する場合、同図(c)のようにC=0.1とすると符号値は0.1以上1.1未満となる。初期値A、Cと同時に変更した場合が同図(d)、(e)である。
【0088】
次に、図53のINITENC処理フローで初期値を変更した場合には、図63のINITDEC処理フローにも変更を加えなければならない。初期値A(S174)を変更した場合は、S289で同じ初期値を設定する。また初期値C(S175)を変更した場合には、復号開始前、つまり図63のINITDEC初期フローの最後に、すでに符号を読み込んで初期化したCから、S175で設定した初期値分だけ差し引き、本来の符号原点を合わせる新規補正処理を追加する。
【0089】
ここで、Aレジスタ31の初期値を1/2(=0x8000)未満に設定すると、符号化・復号を行う前に正規化処理が必要となる。よって、上記処理フロー最後にAレジスタ31値を0x8000と大小判定し、小さければRENORME、RENORMD処理フローを呼び出すようにする。
【0090】
このように、Cレジスタ30A、30B、Aレジスタ31の初期値を上記従来例から変更し、正規にアクセスを許可されたユーザだけがその変更値を共有することによって正しい復号データを得られるようする。また、不正にアクセスしようとするユーザには復号誤りのあるデータしか得られなくなる。
【0091】
また、QM−Coderにおける符号バイト入出力タイミングを測定するためのビットカウンタの設定値を変更する例について説明する。例えば、図53のINITENC処理フローでCTカウンタ50の初期値は、Csレジスタ33、Cbレジスタ34の合計ビット長に相当する11(=3+8)が設定される(S176)。この状態が、図14(a)である。正規化処理によって、符号化開始時のCxレジスタ32の最上位ビットが11ビット(初期設定部S176)シフトされてCbレジスタ34の最上位ビットとなったとき、図52のBYTEOUT処理フローでCbレジスタ34部の8ビットを符号バイトとして出力する。以降は、このとき未出力のCsレジスタ33の最上位ビットが同じようにCbレジスタ34の最上位ビットまで8ビット(再設定部S158)シフトされるごとにCbレジスタ34部から同様に符号バイトを出力していく。
【0092】
図14(b)は、初期値CTを11より小さくした場合を示している。例えば、図53のINITENC処理フローでS176を変更してCT=9とすると、2ビット余分に符号が出力されることになる。この場合、復号開始前、つまり図63のINITDEC初期フローの最後に、2ビット余分に読み込み、符号上位2ビットを破棄する新規補正処理を追加する。この場合、シフトしてCHIGHレジスタ38の上位から押し出される2ビットはそのまま破棄されることになる。
【0093】
図14(c)は、初期値CTを11より大きくした場合を示している。例えば、図53のINITENC処理フローでS176を変更してCT=13とすると、出力する時点で2ビットの符号が消失することになる。この場合、図63のINITDEC処理フローの最初に設定するCレジスタ30B初期値に、符号最上位2ビットを補完し、8ビットシフトしてから、符号データを読み込み始めるように新規補完処理を追加する。このとき補完する2ビットの情報は符号器で消失したビットが設定されなければならない。この符号ビットの補完は、上記Cレジスタ30Aに初期値を与えることにより符号範囲が整数部まで及んだときにも当てはまる。
【0094】
いずれの場合でも、Cレジスタ30Bの初期化はCHIGHレジスタ38の16ビットを正規の符号ビットが満たした時点で終了する。
【0095】
また、このようなCTカウンタ50と直接関係なく、符号に余分なダミーデータを付加しておくことも同様な効果があると考えられる。復号器は余分な付加データを正しく除去できなければ正しい復号はできない。符号中の付加する場所は最初であっても途中であっても正しく除去できるならば構わない。また上記余分なデータには内容的に意味があってもなくても構わない。本発明における実施の形態に関わる情報などを付加することもできる。バイト単位で付加する方がCTカウンタ50の操作がないためより簡易となるが、ビット単位で付加するためにはCTカウンタ50の操作や符号の任意ビットの操作も必要となる。
【0096】
このように、CTカウンタ50の初期値を上記従来例から変更し、正規にアクセスを許可されたユーザだけがその変更値を共有することによって正しい復号データを得られるようする。また、不正にアクセスしようとするユーザには復号誤りのあるデータしか得られなくなる。また、符号へダミーデータを埋め込むことによっても同様である。
【0097】
さらに、QM−Coderにおいて、符号化の過程でバイト0xFFでないBUFFERに続くバイト0xFFの数を記憶するスタックカウンタの設定値を変更する例について説明する。例えば、図53のINITENC処理フローでSCカウンタ52の初期値は0であり、このとき符号系列は図15の(a)のように出力されていく。第1バイトは図54のFLUSH処理フローのS183で除去される。図53のINITENC処理フローにおいて、SCカウンタ52の初期値を0以上の整数を設定すると、図15(b)のように第1バイトの直後にSCバイトの余分な符号バイトが挿入される。この余分に挿入されたバイトは、復号開始時に図63のINITDEC処理フローで除去しなければならない。
【0098】
挿入される符号バイトを置き換えて、共有設定に限らず有意な情報を埋め込んで符号を送信してもよい。その際、この情報自身がすでに直接使用できる状態でも、符号化あるいは暗号化が適用されている状態で挿入されても構わない。
【0099】
さて、QM−Coderにおける上記Cレジスタ30A、30B、Aレジスタ31、上記CTカウンタ50、上記SCカウンタ52についての初期値変更の一例を図16のINITENC処理フロー、図17のFLUSH、図18のINITDEC処理フローを用いて従来と異なる動作について説明する。
【0100】
図16のINITENC処理フローにおいて、S178は後述する変数テーブルおよび定数テーブルの設定変更であり、必要ならばS178の初期化後にも設定変更を行うものとする。ここで、S173’のSCカウンタ52、S174’のAレジスタ31、S175’のCレジスタ30A、S176’のCTカウンタ50における各変更初期値は、SCinit、Ainit、Cinit、CTinitとする。これらは、図2の符号操作部531Aが符号化部505の各レジスタ・カウンタ・テーブルの設定値を操作する。
【0101】
また、図17のFLUSH処理フローにおいて、S185で必要であれば符号操作部531AがSCカウンタ52初期値の設定変更(SC70)を行って、余分に挿入される符号バイトを置き換える。ここで、置き換えない場合、SC個のバイト0xFFとなり、伝送制御バイト0x00の挿入は考慮していない。
【0102】
図18のINITDEC処理フローにおいて、S291は図15のINITENC処理フローのS178と同様の設定変更を行う。以降、新規のフローにおいて、符号操作部531Bが復号部509’内の各レジスタ・カウンタ・テーブルの設定値を操作する。S292では、SCカウンタ52の初期値SCinitを符号器が設定変更した場合、S293で受信した符号の先頭SCinitバイトを復号器が分離除去する。この分離除去される部分に有意な情報が埋め込まれている場合には別途利用すればよい。S294で符号化側のCTカウンタ50の初期値CTinitを設定変更した場合、その値が11であれば従来通りS283からS288の処理を行う。初期値が11より小さければ、従来通りのS283からS288の処理を行った後、S295のシフト処理を行って符号上位(11−CTinit)ビットの符号Clostを切り捨て、共有する設定情報として通知する。このとき、実装上CHIGHレジスタ38より上位にレジスタが続くならば、CHIGHレジスタ38、CLOWレジスタ36のみをマスクする。そしてS296でCTカウンタ50値からそのシフトビット数を減じる。また、初期値が11より大きければ、S283’で送信時消失した符号ビットClostを共有設定情報からCレジスタ30Bに補完し、正規の符号ビットがCHIGHレジスタ38を満たすまでS284からS287’およびS297の処理を行う。
【0103】
S287’では補完された符号ビットによってシフト数は8ビット未満となり、S297でCLOWレジスタ36に残る符号ビット数にCTカウンタ50値を更新する。よって、この時点では従来のS288の符号バイト読込みは発生しない。Cレジスタ30Bへの符号読込み後、S289’でAレジスタ31に初期値Ainitを設定する。またS298でCレジスタ30Aに与えた初期値Cinit分をCHIGHレジスタ38から差し引く。
【0104】
ここで、説明を行った初期値変更の処理フローは、基本的にAinit+Cinit≦0x10000を想定しており、その和が0x10000を超える場合には、Cinit分の補正とCTinitとの絡みもあるが消失する整数部(初期状態のCsレジスタ33以上)の符号ビットの補完について別途対策が必要となる。また、同様にCTinitも11±7までの範囲を想定しており、その範囲を超えると図18のINITDEC処理フローにおけるCレジスタ30Bの符号バイト読込み回数に別途変更が必要となる。
【0105】
さて、従来符号器に対して設定を変更して符号化することによって、総符号長が変わることが容易に想像できる。これは共通の符号化条件でない以上、違う結果が得られることからも明らかである。
【0106】
上記従来例でも説明したQM−Coderでは、図54のFLUSHのS184で符号最後に続く0x00を除去し、図62のBYTEIN処理フローのS272でも符号が足りなくなったとき0x00を補填することが規定されているが、符号が余る場合については特に規定されていない。仮に符号が余った場合には、復号画像の符号終端まで読み飛ばして、その余った符号は参照しなければよいなどの処理が考えられる。しかし、標準に準拠した復号器であっても、符号が余る場合は規定されておらずその実装によっては停止・終了してしまうこともありうるため、従来復号器で本発明による実施の形態における符号を復号した際には符号が不足して0x00を規定通り補填する方が望ましいといえる。ここでいう「符号が不足する」とは、設定変更しないで生成した符号長より必ずしも短くなるということでなく、読込みバイト数も変わってくるため、設定変更して生成した符号を設定変更せず復号して「符号が余らない」ということが第一である。その次に、従来の設定変更なしの符号長より短くなることも望ましいといえる。
【0107】
ただし、データを不正に再生できなくする暗号化の一方法として適用する場合は、符号が余って従来復号器が停止・終了することを必ずしも回避する必要はないが、算術復号器はそれ自体ではエラー検出機能がないことに注意を要する。
【0108】
本実施の形態では、変数テーブルに初期値を持たせる例について説明する。
【0109】
従来方式では、図42のINITENC、図52のINITDECのS172,S282において、すべてのコンテクストに対して状態と予測値の変数テーブルST、MPSに初期値0を設定している。符号化・復号が進むにつれて学習によってデータの発生状況(出現推定確率)に適応した状態・予測値に収束していく。上記初期値は、2値データ0,1ともに出現確率が1/2で出現することを想定している。よって、学習して本来の出現推定確率の状態、予測値に落ち着くまでにある程度の時間がかかる。よって、上記初期値以外の値を与える場合、落ち着くべき値により近ければ収束時間は短くなり、離れていれば長くなると考えられる。状態と予測値により適した初期値を与えられるならば、収束時間短縮だけでなく、推定確率の誤差も小さくなるため、符号化効率も向上し、より符号長が小さくなることが期待できる。
【0110】
このような初期値データを設定して符号化することで符号化効率を高められることが、例えば、日本国特許2891818号「符号化装置」に記載されている。上記先行技術は、符号化対象データをプリスキャンし、符号化処理と同一のコンテクストを生成し、その出現データ値の分布を統計し、出現頻度の高いデータ値を予測値初期値とし、かつ算出した出現確率から状態初期値を得て、その後符号化処理を行うことで符号化効率を向上させる。また、上記先行技術は、符号化対象データのプリスキャンから状態と予測値の初期値を得ることができなければ、類似したデータによる統計から代替初期値データを得る方法をとれば、伝送による通知なく予め共有しておくこともでき、かつ符号化効率を向上させられることが示されている。
【0111】
または、上記統計結果を基に算出できなければ、符号化対象データあるいは類似したデータを先に従来技術で説明した符号化処理を一旦適用して学習させた結果(状態と予測値のテーブル値)を初期値データとして設定して改めて符号化することもできる。
【0112】
このとき、このような初期値データは、1枚の符号化対象データあるいは類似データで複数回繰り返して統計・学習して作成してもよいし、また複数の類似データから統計・学習して平均的に作成してもよい。
【0113】
従来方式と異なる変数テーブルの初期値は、符号器と復号器の間でその設定情報を共有し得る限り、すべてのコンテクストに対して与えてもよいし、一部のコンテクストにのみ与えてもよい。また、初期値とて設定しなくても符号化・復号の過程で同期して設定値を動的に変更してもよい。
【0114】
このような効果を得る初期値データは、厳密にデータから出現確率を計算して設定してもよいが、符号化するデータをプリスキャンし、一度学習させた結果を初期値として設定することが容易である。プリスキャンが難しい場合には、傾向の似た画像による学習結果を初期値データとしてあらかじめ共有し代替してもよい。このとき、このような初期値データは、1枚の画像で複数回繰り返して学習して作成してもよいし、また複数の画像から学習して平均的に作成してもよい。
【0115】
ここで、従来方式と異なる変数テーブルの初期値は、符号器と復号器の間でその設定情報を共有し得る限り、すべてのコンテクストに対して与えてもよいし、この際設定を変更して共有設定すべき初期値データ量はコンテクストに比例するため通知する負荷が大きくなり過ぎるならば一部のコンテクストにのみ与えてもよい。また、初期値としなくても符号化・復号の過程で同期して設定値を変更してもよい。
【0116】
また、図42のモデルテンプレートの参照画素を切り替えて変数テーブルへのインデクスであるコンテクストを変更することも考えられる。変数テーブルの規模の許す限り参照画素数を適所に増やすと、符号化効率の向上効果も望める。参照画素の選択は、例えばディザ画像のようにディザ周期分だけ離れた画素など相関度の高い画素を選択すればよい。
【0117】
QM−Coderには、特定の参照画素を1つだけ変更できる適応テンプレート機能をもつが、規定のマーカで変更情報が通知されなければ標準テンプレートのまま適用される。よって、規定のマーカ通知なしに本実施の形態による共有設定情報によって変更を通知したり、またこの従来方式では変更できない画素、あるいは複数の画素の参照位置を変更するなどの形態も考えられる。
【0118】
また、図42のテンプレートは2値画像符号化に最適化されたものであり、他のデータの符号化では別途規定に従ってコンテクストが生成されるが、同様に共有設定情報による変更は可能である。
【0119】
QM−Coderにおける定数テーブルの設定値を変更する例について説明する。ここでも従来符号器の設定を変更して符号化することによって、総符号長が変わることが考えられる。例えば、図43において、あるLSZを小さくすればLPSの出現推定確率を小さく見積もることになり、実際のLPS出現はその推定確率より大きいため、より多くの正規化処理(拡大シフト数の期待値)が必要となる。LSZを大きくすれば推定確率を大きく見積もることになり、実際のMPS出現確率は小さく見積もられ、早く有効領域が縮小するため、より正規化処理が発生しやすくなる。特に、推定値が実際と大きく異なるほど、正規化処理でのシフト数の増加に伴って、符号が長くなる。
【0120】
また、正規化処理と同期して行われる状態遷移先NMPS、NLPSを変更しても間接的にLSZ値の変更とみなせるため同様な効果があると考えられる。
【0121】
従来の設定値は基本的に最適化されているため、ここでの設定値変更は大きく値を外しさえしなければ符号化効率の低下も小さく抑えることができる。従来復号器で復号誤りを発生させるためだけならば、LSZ値の小さい変更で十分達成することができ、例えば変数テーブル設定値変更の方法と組み合わせて、ここで低下する符号化効率をカバーすることも期待できる。LSZの変更は、必ずしもすべてでなく、一部でもよい。また、その他の定数テーブルについても符号器と復号器で同様の設定変更を行う限り復号可能性は保証され、従来復号器で復号すれば復号エラーを発生させられる。
【0122】
このような設定変更は符号化・復号処理の開始時でなくてもよく、その処理過程で同期して対応する設定値を変更してもよい。
【0123】
また、状態数を増やしたり、減らすことにより設定変更を行ってもよい。この場合、追加した状態に遷移し、また追加した状態から他の状態へ遷移するように定数テーブルNMPS、NLPSを設定する。また、削除した状態には遷移することのないように定数テーブルNMPS、NLPSを設定する。これらの遷移情報は、推定確率の推移をみて、確率がLPSならば下がる方に、MPSならば上がる方に状態遷移先を選択する。ここで、必要であれば従来定数テーブルも加えた複数の定数テーブルセットから1式を選択して使用してもよい。
【0124】
あるいは、一部の定数値を、その初期定数値、変数レジスタ値、カウンタ値、他の定数テーブル値などを基に参照時に逐次演算して変更する形態も考えられる。例えば、その時点の領域幅レジスタA31のN倍(N≦1/2)をLSZとしてもよい。また、LSZを複数用意し、領域幅レジスタA31のおおよそのサイズによってLSZのサイズを使い分けても構わない。
【0125】
さらに、QM−Coderでは定数テーブルから参照される固定幅で割り当てられるLSZは上位領域であるが、これを下位領域に割り当てることもできる。この場合、符号値は変わるが、処理過程の有効領域幅は基本的に変わらないため符号の表現精度は同一であり、伝送上の制御信号を除けば符号長は同じになるといえる。
【0126】
次に、その処理フローについて説明する。
【0127】
図19は、符号化対象画素値3と予測値7が不一致のとき、すなわちLPSを符号化する際に呼び出されるCODELPS処理フローである。本実施の形態では、符号操作部531Aは、符号化部505’内の符号化規則580Aを本フローのように変更して、S129のステップを加える。即ち、まず、S121では一時的にAレジスタ31値は、上方領域幅に更新される。S122の判定で、下方領域LSZの方が大きくなければ(No)、S124でAレジスタ31をLSZとする。LSZの方が大きければ(Yes)、S129でCレジスタ30AにLSZを加えて、情報領域下界値に更新する。S125の判定で定数SWTCH値12が1ならば、S126で予測値(MPSテーブル)の反転・更新を行う。LPS符号化では、S127でNLPSテーブル11参照による状態遷移を行い、S128でRENORMEを呼び出して正規化処理を行う。
【0128】
図20は、符号化対象画素値3と予測値7が一致のとき、すなわちMPSを符号化する際に呼び出されるCODEMPS処理フローである。本実施の形態では、符号操作部531Aは、符号化部505’内の符号化規則580Aを本フローのようにS138,S139を加える変更する。即ち、まず、S131では一時的にAレジスタ31値は、上方領域幅に更新される。S132の判定がNoならば、S138でCレジスタ30AにLSZを加えて、情報領域下界値に更新して、そのままCODEMPS処理を終了する。S132の判定がYesならば、必ずS136でNMPSテーブル10参照による状態遷移を行い、S137でRENORMEを呼び出して正規化処理を行う。S136およびS137の前に、S133の判定で、下方領域LSZの方が大きければ(Yes)、S135でAレジスタ31をLSZとする。LSZの方が大きくなければ(No)、S139でCレジスタ30AにLSZを加えて、情報領域下界値に更新する。
【0129】
図21は、復号対象画素を復号するDECODE処理フローである。本実施の形態では、符号操作部531Bは、符号化部509’内の復号規則581Aを本フローのように変更する。即ち、まず、S221で一時的にAレジスタ31値は、上方領域幅に更新される。S222’の判定がNoならば、上方領域を復号する。まず、S229でCHIGHレジスタ38から下方領域幅の分だけ減じる。S223の判定がYesならば、S224’でLPS_EXCHANGEを呼び出して、S225でRENORMDを呼び出して正規化処理を行う。S223の判定がNoならば、正規化処理することなくMPSを復号し、予測値7を画素値3とする。また、S222の判定がYesならば、下方領域を復号する。S227’でMPS_EXCHANGEを呼び出して、S228でRENORMDを呼び出して正規化処理を行う。なお、LPS_EXCHANGE,MPS_EXCHANGEを呼び出すパスでは、それぞれ復号すべき領域は決まっていても領域の大小を比較しないと復号対象がMPSかLPSか判断できない。呼び出した処理フローにおいてそれぞれ復号される画素値3を決定する。
【0130】
図22は、上方領域を復号するLPS_EXCHANGE処理フローである。本実施の形態では、符号操作部531Bは、復号部509’内の復号規則581Aを本フローのように変更する。S231’の判定がNoならば、MPSを復号する。S232’でCHIGHレジスタ38から下方領域幅の分だけ減じ、S234で予測値7をそのまま画素値3とする。S235でNMPSテーブル10参照による状態遷移を行う。また、S231’の判定がYesならばLPSを復号する。S236’でCHIGHレジスタ38から下方領域幅の分だけ減じ、S238では非予測値「1−予測値」を画素値3とする。S239の判定がYesならば、S240で予測値(MPSテーブル)7の反転・更新を行い、S241でNLPSテーブル11参照による状態遷移を行う。
【0131】
図23は、下方領域を復号するMPS_EXCHANGE処理フローである。符号操作部531Bは、MPS_EXCHANGE動作に対しても本フローのような変更を行う。S251’の判定がNoならばLPSを復号する。S258でAレジスタ31値を下方領域幅LSZに更新し、S252では非予測値を画素値3とする。S253の判定がYesならば、S254で予測値(MPSテーブル)7の反転・更新を行う。S255でNLPSテーブル11参照による状態遷移を行う。また、S251’の判定がNoならばLPSを復号する。S259でAレジスタ31値を下方領域幅LSZに更新し、S256では予測値7をそのまま画素値3とする。S257でNMPSテーブル10参照による状態遷移を行う。
【0132】
このような固定サイズの領域LSZの上下配置を交換した符号化と通常配置の符号化を同一データ構成単位内で適当なタイミングで入れ替えて行ってもよい。例えば、画像であればNラインごとに配置を入れ替えたり、あるいは一方をNライン、他方をMラインで配置を入れ替えたりしてもよい。また、このような切替えをライン単位でなく画素単位で行ってもよい。符号器と復号器の変更情報の共有によれば、さらに、ランダムな切替えも可能である。
【0133】
JBIG方式が規定されたITU−T勧告T.82には、他にも典型的予測TP(Typical Prediction)および決定的予測DP(Deterministic Prediction)が記載されている。これらは、以下に示す条件を満たす画素を符号化しないことで符号化対象画素数を削減することで圧縮率を向上させることを補助する。
【0134】
典型的予測は、階層的符号化時に符号化ラインごとに下位階層の対応画素と上位階層の対応画素が特定の条件を現符号化ラインですべて満たすとき、あるいは単独符号化時に現符号化ラインが直前ラインと同一であるときに判定シンボルを符号化し、対象画素群を符号化しないというものである。ここで、典型的予測の適用有無を規定のヘッダで定義せず、共有設定情報でヘッダ通知と逆適用を行う形態も考えられる。
【0135】
決定的予測とは、階層的符号化時に解像度の高い上位階層の対応画素値により解像度の低い下位階層の対応画素値が一意に決定するときに符号器は対象画素を符号化せず、復号器は復号せずにその決定値を画素値とする。ここでも、決定的予測の適用有無を規定のヘッダで定義せず、共有設定情報でヘッダ通知と逆適用を行う形態も考えられる。また、適用を規定のヘッダで通知しても、決定的予測における判定テーブル(定数)において、符号化不要と決定できる画素を決定できないと判定されるよう変更する形態も考えられる。判定テーブルを変更しなくとも、ある条件を満たすラインあるいは画素には決定的予測を適用しない形態も考えられる。
【0136】
このような典型的予測による判定シンボル符号化はシンボルの挿入・削除の一例、決定的予測の判定テーブルの変更は定数テーブル設定値変更の一例とみることができる。
【0137】
以上のように、秘匿された設定情報を共有することによって、データの再生品質制御および暗号化を実現する方法を説明したが、適用される符号化方式は必ずしも算術符号化である必要はない。本実施の形態に記載される符号化および復号は、画像のみではなく、音声、テキストをはじめ多様なデータに適用することが可能である。
【0138】
また、共有設定情報は、それ自身が設定変更の内容であってもよいし、あるいは符号に秘匿して付加したという情報だけ共有し、符号から抽出された設定情報によって間接的に具体的な変更内容が指示されてもよい。
【0139】
さらに、それらの設定変更情報は、直接使用できる状態でも、符号化あるいは暗号化が適用されている状態で共有されても構わない。本実施の形態の符号器および復号器において、符号送受の際に変更情報を通知せず、あらかじめ取り決められた変更情報を使用しても構わない。変更情報の設定は、符号器および復号器で同期して行えるならば処理の開始時でも、途中でも構わない。また、データ構成単位の重要度を基準に優先順位をつけ、設定変更を行うか、行わないかを決定し、さらにその符号送出順序を制御する場合でも構わない。
【0140】
また、以上の動作は、図1ないし図5に示される構成要素によるとして説明したが、これらの構成要素を汎用の計算機プログラムにより同等ステップで構成して、同様の機能を得るようにしてもよい。
【0141】
実施の形態2.
先の実施の形態1では、設定変更情報の共有によりデータの完全再生を可能とする簡易暗号化について説明した。逆に言えば、変更情報を共有しない復号器による復号結果の品質は保証できない。
【0142】
これに対し本実施の形態では、一般に使用される符号化方式の符号化/復号のパラメータをはじめとする設定内容の一部あるいは全部を秘匿して変更することによって、その設定変更情報をすべて共有する相手であれば、完全再生を保証する。更に加えて、部分的に設定変更情報を共有し、あるいは部分的に設定変更せずに符号化することによって、従来復号器のままで設定を変更せずに復号しても、再生品質が劣化したデータの一部分や概要が限定的に受信再生できる得られるように制御する。または、意図的にデータの概要さえもわからなくなるように設定変更を加えることも可能とする場合を説明する。
【0143】
具体的方法として、対象データをデータ構成単位に分割し、それぞれ独立に実施の形態1の方法および一般暗号化、あるいは暗号化しないものを組み合わせる。正規アクセス権を持たない復号器には解読しにくくするとともに、一方で設定情報の開示度を使い分けることによってデータ構成単位を再構成するときに各種の再生品質のレベルが得られるようにする。一つのデータ構成単位に対する個々の変更内容、あるいは複数のデータ構成単位に対する個々のデータ構成単位の変更内容について、変更内容を共有する段階でその開示の有無を組み合わせることで一つの符号から多様な再生品質を実現する。
【0144】
データコンテンツの流通を検討する。
【0145】
仮に暗号化を適用せず、その著作権者が使用料を徴収してデータコンテンツを流通させる場合を想定すると、不正利用者にも同じ再生品質のまま無断受信されてしまうことがあり、著作権を保護する必要性が出てくる。しかし、単純にデータを再生できないように強固な暗号化技術を適用して著作権を保護しようとすれば、アクセスできる者が限定され過ぎ、著作権者の意図したデータコンテンツ流通ビジネスにおいてその普及・発達を阻害することにもなりかねない。また、そのデータコンテンツの内容に関する情報をいくら文面で説明されても、実物を見聞きするのに比較すればその情報量は遠く及ばないといえる。そこで、本実施の形態のようなデータの再生品質の制御が必要になる。
【0146】
まず、図24および図25は、本実施の形態における符号器・復号器のブロック図の一例を示している。ここでは、データ全体に対して一つの符号器・復号器で共有する変更情報521を設定する場合も含めて、データを一つあるいは複数に分解したデータ構成単位535ごとに変更情報521を設定する形態について説明する。図24,図25のブロック図は、データ操作部及び符号操作部において、図2及び図4のブロック図の構成に対応している。
【0147】
データ構成単位535の導入を明確化するため、従来例の図35(符号器)、図36(復号器)の基本構成に対して構成単位分解部534、構成単位組立部536を説明に付加している。構成単位分解部534、構成単位組立部536は、データ構成単位に分解・組立するに当たっては、必要最小限以上のデータバッファまたはデータメモリを内蔵することが必要となる。また、モデル化部502A’、502B’もパラメータ504の決定に参照が必要であればデータ構成単位のバッファまたはメモリを内蔵すること、あるいは構成単位分解部534、構成単位組立部536に内蔵されるデータバッファまたはデータメモリを参照できる機能が必要となる。変更情報521を符号507に埋め込んで通知する場合は、符号操作部531A又は符号送信部506が埋め込み、符号操作部531B又は符号受信部508が分離する。
【0148】
図24における符号器では、構成単位分解部534がデータ列501をデータ構成単位535に分解し、符号化する個々のデータ構成単位535を図35におけるデータ列501に相当するものとして、実施の形態1で説明したような方法をとって暗号化を兼ねた符号化を行う。変更情報設計部520は、データ構成単位535に対する設計要件510を満たすように変更情報521を設計する。ここで、符号器における設計要件510は、変更情報521を設計するとき、構成単位分解部534が出力する形態をとっているが、その基準は符号器側として自主的に設定した条件であっても、または復号器側から要求された設計条件に基づくものであっても構わない。
【0149】
また、図25における復号器では、図36におけるデータ列501に相当するデータ構成単位535の簡易暗号解読を兼ねた復号を行い、データ構成単位535を構成単位組立部536へ出力し、構成単位組立部536はデータ構成単位535を組み立ててデータ列501を出力する。
【0150】
変更情報を秘匿してデータ構成単位を符号化および復号することは、個々のデータ構成単位の観点から見れば簡易暗号化とみなすことができる。データが1つの構成単位のみから構成されるとすれば、コンテンツの概要は示せないが、暗号化としてみることができる。
【0151】
本実施の形態の符号器では、データの構成単位ごとに従来符号器の設定と異なる、復号器と共有すべき設定情報を秘匿した状態で決定し、モデル化部502A’、符号化部505’、符号送信部506’の設定を変更して符号化を行う。このように生成された符号は、従来符号器が生成する符号とは異なるため、従来復号器で復号しても元のデータには再生されない。ただし、データ構成単位に注目した場合、共有情報を特に設定せずに符号化したデータ構成単位の情報のみは、従来復号器でも正常に復号することができる。
【0152】
また、本実施の形態の復号器では、データの構成単位ごとに従来復号器の設定と異なる、秘匿された符号器との設定情報を共有化し、モデル化部502B’、復号部509’、符号受信部508’の設定を変更して復号を行い、復号されたデータ構成単位を再構成してデータを再生する。従来符号器で生成した符号は、元々共有設定情報がないため、本実施の形態の復号器で設定変更せずにそのまま復号できる。
【0153】
ここで、本実施の形態の符号器、復号器の組合せであっても、データ構成単位に設定変更を行って復号し、そのうち一部の設定情報を符号器が復号器に対して秘匿したまま共有させなければ、意図的に符号器への入力データ列と復号器の出力データ列は対称とはならないようにすることもできる。また、一部あるいはすべての共有情報は、通知手段を介して伝送するのではなく、あらかじめ所定の共有情報を設定することを取り決めておいても構わない。
【0154】
本実施の形態では、共有設定情報を得られず、従って変更しないまま復号された誤りを含むデータ構成単位を受信した場合、そのまま再構成したときの再生品質を制御することができる。つまり、従来はオリジナルデータにノイズを加えて符号化の前処理でデータを作り変えてから、標準の符号化および復号を行っているため、作り変えたデータが異なる符号化となっていた。従って、復号した後に、前処理の逆操作が必要であった。しかし、本実施の形態では符号は同一でも一部のデータ構成単位を共有設定情報の与えて誤りのあるデータ構成単位の候補を複数用意することができるので、そのいずれを再生に用いるかで、複数の再生品質を生成できるという特徴がある。例えば、画像データであれば再生品質は「画質」となって、変更情報を設定して符号化させて伝送し、それに基づく直接の復号結果がノイズとして全体に散りばめる情報とすることによって階調・解像度を意図的に劣化させる。または、全く本来の画像として見られないようにする情報撹乱やスクランブル的な効果を得る暗号化を実現することもできる。このような積極的な活用は、画像データに限ったものではなく、その他のデータにも応用でき、音声データにおいては再生品質は「音質」となり、例えば周波数の分割帯域をデータ構成単位にするなどして、上記のような変更情報により故意に発生させる復号誤りを音質制御に利用できる。こうして変更情報を共有しない従来の復号器での受信品質を意図的に劣化させることができる。
【0155】
従来復号器によって変更情報を設定せずに復号される誤りを含むデータ構成単位は、設定変更内容の設計次第で再生状況が変化するため、図24に符号器におけるデータ構成単位535に対して、図5と同様に、これらの復号誤りをあらかじめ計算に入れながら設定変更内容を設計することも可能である。図26にその所望の変更情報を設定する符号器の構成図を示す。ここで、この評価・再設計を適用した評価符号化は、データ全体として実行しても、あるいはデータ構成単位ごとに評価を実行しても構わない。
【0156】
複数のデータ構成単位に分割して符号化するとき、変更情報を設定するデータ構成単位の選択が必要となる。変更情報を設定しないデータ構成単位は従来復号器で正しく復号でき、例えば画像データにおいて概要を示すことが最重要であればその該当するデータ構成単位には変更情報を設定しないで符号化する。また、秘匿情報のようにデータの概要であっても再生できないようにするならば、最重要データ構成に対しては秘匿情報として単位に変更情報を設定して、符号化する。もちろん、すべてのデータ構成単位に同一あるいは独立の変更情報を設定してより強固な暗号化を実現しても構わない。さらに、再生品質を制御するならば、例えば画像データにおいて複数のデータ構成単位に対して個別に変更情報を設定して、共有すべき変更情報の開示/非開示を組み合わせて段階的に開示し、データ構成単位の復号誤り有無の状況の組合せで画質を制御する。画像データの概要から再生されるようにデータ構成単位の重要度の高い方から変更情報を開示し、すべて開示されたとき正規の最高画質となるようにしてもよい。また、重要度の高い順にデータ構成単位を並べ替えて符号を送出しても構わない。段階的開示の一例として、データの購入金額によってデータの再生品質へのアクセス権(使用契約)のランクを振り分けるような方法が考えられる。
【0157】
本実施の形態では、データ構成単位に分割し暗号化して情報を撹乱し、そのデータ構成単位への不正なアクセスから守るという目的だけでなく、更に高度な応用を実現できる。即ち、まず、一つのデータが複数のデータ構成単位に分解され、再度組み立てられるというプロセスに注目し、あらかじめ復号結果を想定して一部変則させた符号を生成し、従来のような外部からノイズ信号を与えることなく、変更情報を共有しないことによる復号誤りデータにより等価な効果を実現させる。また、同時に変更情報の与え方により、異なる再生品質となり得るデータを一つの符号コンテンツで供給する方法を示した。これらの方法により、データコンテンツの著作者の権利を保護し、かつ利用者へまず概要を公開することで購入・契約の意欲を促して、積極的にデータコンテンツが利用されることが期待できる。
【0158】
ここで、変更情報を共有しない復号器にとっては、変更情報を持つ符号器から送信された設定が変更されたデータ構成単位の情報は、重要度によって変更情報を変えてあるので、符号データは理論的な暗号処理による完全暗号データと等価なスクランブル情報ともなるし、あるいはある程度の識別品質を持つ概要データにもなりうる。もちろん、本実施の形態における符号器および復号器は、変更情報を設定しないときは、符号器は従来符号器と、また復号器は従来復号器と互換性をもつ。
【0159】
本実施の形態における、データ構成単位と再生品質制御に関する符号化適用例を示す。
【0160】
ここでは、まず本実施の形態の共有情報を設定した符号化および復号を符号化データ構成単位の一例であるビットプレーンや、グレイコード変換したビットプレーン、およびレベルプレーンについて適用する方法を示す。具体的な共有情報を設定する符号化および復号については後述する。
【0161】
国際標準符号化方式のITU−T勧告T.82には多値の画像をビットプレーン単位に分解し、各ビットプレーンを2値画像として符号化を行う方式が規定されている。図27は、8ビット画像を8枚のビットプレーンで符号化する場合で、すべてのビットプレーンをこの従来方式(標準方式)で符号化する。本実施の形態では、符号器は一つあるいは複数のビットプレーンに対して設定の一部あるいは全部を変更した符号化を行うことにより従来符号器のままでは正しく復号できないようにする。
【0162】
同図は、ビットプレーン0〜7においてビットプレーン2を従来符号器の設定を変更して符号化する例を示している。即ち、図24,図26における符号器側の構成単位分解部534がビットプレーン2の画像に対してのみ、以後のモデル化及び符号化の過程で実施の形態1で説明した設定変更部523Aと、データ操作部530A又は符号操作部531Aを用いて操作を行う。その他のビットプレーンに対しては、従来と同じモデル化と符号化を行う。上記対応して、図25における復号器側の構成単位組立部536がビットプレーン2の画像に対してのみ、以後の復号及びモデル化の過程で実施の形態1で説明した設定変更部523Bと、データ操作部530B又は符号操作部531Bを用いた操作を行う。その他のビットプレーンに対しては、符号器側が行わなかったのと同様に、従来と同じ復号とモデル化を行う。これにより、真の画像との最大誤差は絶対値で2の2乗、ビットプレーンnでは2のn乗となる。従来復号器で復号した場合の復号誤りビットプレーンによってその誤差がノイズとなって画質を劣化させ、正常な元の画像を表示できない。ここで、従来方式をどのように変更して符号化・復号するかという情報を符号器と復号器で共用できた場合のみ正しく復号できる。
【0163】
最も重要度の高い最上位ビット(MSB:Most Significant
Bit)を従来符号器の設定を変更して符号化するとノイズだけでなく、ほとんど概要も得られないほど元の画像として全く認識不可能にする形態も考えられ、実質的な暗号化の効果が得られることになる。
【0164】
また、複数のビットプレーンに従来符号器の設定を変更して符号化し、各ビットプレーンに対する設定変更情報の共有度により誤差の最大値を調整できる。この情報共有度とは、設定を変更して符号化したビットプレーンの位置情報や、異なる符号化方法の情報の開示度による。例えば、ビットプレーン1、2の符号化を従来符号器の設定を変更して符号化したとき、2(=m)プレーンを選択したので、正負および0を含めて{2の(m+1)乗}−1通りの誤差値が出現することになる。最大誤差の絶対値は各ビットプレーンの重みの総和(2の1乗)+(2の2乗)=6となるが、上記情報共有度によりビットプレーンの復号がすべて正しくできる場合、ビットプレーン1が誤りの場合、ビットプレーン2が誤りの場合、従来符号器によるビットプレーン1、2ともに誤りの場合が考えられ、最大誤差の絶対値は順に0、2、4、6となる。
【0165】
上記ビットプレーン符号化の場合、誤り(ノイズ)のない上位ビットプレーンのみで画像を表示することもできるが、その限定される分だけ低階調画像となることは避けられない。このような表示状態は復号過程で瞬間的にはあっても、そこで復号を強制終了させない限り、高階調ながら復号誤りに起因するノイズの載った画像を表示することになる。よって、変更情報を共有していないユーザには、階調の低い画像または階調は高くてもノイズの載った画像表示のみ許される。
【0166】
また、通常の復号器による復号結果にノイズを与える他の方法として、構成単位分解部534は、図28に示すデータ変換を行うこともできる。この場合は、構成単位組立部536は、同じ図28を使って逆変換する。データ値を、まず図28に示すグレイコードなどで1対1に写像変換してから、その変換値をビットプレーン符号化する場合にも、問題なく適用可能である。同図は3ビットの例であり、常にデータ値の差が1ならば1つのみビットが異なるような配列規則をとり、データの構成ビット数に応じて拡張できる。従来復号器ではグレイコードで変換された復号データ値を逆変換しないため、これも簡易暗号化とみなすことができる。ここで、同じ3ビットであっても例に示した1通りではないので、より実質暗号強度を高めたければ、定期的にランダムに変換表を切り替えてもよい。グレイコードの変換規則にこだわらなければ、さらに多様な変換表を構成することもできる。
【0167】
また、出現したデータ値を他のデータ値0/1のランレングスによるデータレベルに変換して符号化するレベルプレーン符号化にも適用することができる。例えば、データ値Xは(X−1)個の‘0’と1個の‘1’のXビットのレベルプレーンに変換する。この変換により、データ値そのもののときのビットプレーン数よりもプレーンが増加するが、冗長度がより抑圧し易くなるため圧縮率が向上することがある。
【0168】
また、他のデータ構成単位と再生品質制御に関する符号化適用例を示す。ここでは、まず本実施の形態の共有情報を設定した符号化および復号を符号化データ構成単位の一例であるカラーパレットについて適用する方法を示す。具体的な共有情報を設定する符号化および復号については後述する。
【0169】
比較的単純なデータ入替えで実現する例としては、カラーパレットによる画像符号化などに対しても有効である。パレットの「入替え」は、情報共有によって復号時に再修正可能である場合には「置換え」でもよいし、上記のような1対1の「写像変換」でもよい。従来暗号化のようなランダムな値、あるいは一定値との排他的論理和変換を行っても構わない。この例の場合、表示色が交換されたり、予期せぬ表示色が画像中に出現することになり、ノイズの載った画像あるいは全く内容のわからない画像として表示されることになる。
【0170】
さらに、共有情報を設定した符号化および復号を符号化データ構成単位の一例であるDCT変換、サブバンド変換、ウェーブレット変換を行った変換データについて適用する方法を示す。具体的な共有情報を設定する符号化および復号については後述する。
【0171】
まず、国際標準符号化方式のITU−T勧告T.82には、元の2値画像を最高解像度としてそこから何段階かの縮小を行い、最も粗い画像から順に符号化する階層的符号化が規定されている。この場合、構成単位分解部534は、図29に示すように、最も粗い画像(単独層[最低解像度層])は唯一単独で符号化を行い、その後の差分層は1段階粗い画像との差分情報を符号化するように指示する。本実施の形態では、ある解像度層に対して従来符号器の設定を変更して符号化指示することによって、それ以降のモデル化と符号化が実施の形態1の方法で行われ、それより上位のすべての高解像度層において差分情報が正しく取れなくなるため、変更情報を設定しない従来復号器では誤差なく復号できなくなる。
【0172】
上記階層的符号化の場合、誤り(ノイズ)のない解像度層までを利用して画像を表示することもできるが、解像度が低いため、所望のサイズに拡大して表示しなければならず、単純拡大処理や、そのとき斜めのエッジを滑らかにするなどの各種補間処理を行ったとしても元の画像を完全には再生しきれないことになる。
【0173】
この階層的符号化のような適用方法は、画像を帯域分割して符号化するサブバンド符号化やウェーブレット符号化などにも適用できる。国際標準符号化方式のITU−T勧告T.81をはじめ広く適用されているDCT(離散コサイン変換)など直交変換系の符号化にも帯域を分割して帯域ごとに符号化を制御することで応用できる。この場合、図30に示したウェーブレットの一例では、再分割される上位層LLを除くLL、HL、LH、HH各部分をそれぞれ符号化し、符号を生成するが、構成単位分解部534が実施の形態1で説明した設定変更を行った帯域(第2層HL)は正しく復号ができなくなり、それを元に再構成される、より上位の階層も、従来復号器では正しく復号できなくなるために、乱れた画像となる。
【0174】
また、動画においても解像度、サイズとも同じ画像フレームを上記階層的符号化の解像度層に置き換えて考えれば、同様の画質制御を実現できることになる。
【0175】
さらに、最初に単独で符号化される解像度層、帯域、フレームに上記設定変更を適用すれば、この場合にも従来方式に対して暗号化を実現できることになる。
【0176】
上記に説明した例の手法は、2値画像、多値画像(階調画像)だけでなく、それらを基本成分として組み合わせて表現されるカラー画像にも適用できることは言うまでもない。カラー画像の構成成分は、RGB(赤・緑・青)、YMC(黄・マゼンダ・シアン)といった3原色成分や、YCbCrなどの輝度・色差成分、また各成分の表現精度にもよらない。また、上記のような階層的符号化でなくとも、1つの画像をブロックやストライプ(短冊)、あるいは自由な形状に分割してデータ構成単位とみなし、それぞれの部分ごとに適用することも可能である。この際、まず画像を分割してから、さらに階層的に符号化しても構わない。
【0177】
また、画像に限らず、そのデータの構成単位ごとの重要度によって符号送出順序を制御する場合を含む。例えば、重要なデータ構成単位から優先的に符号化して符号を生成し、復号を開始して初期に重要部分を詳細に再生させるような実装形態においても適用可能である。このとき、重要なデータ構成単位に設定変更による符号化を行い、設定変更なしに従来復号器で復号すれば、初期に詳細に再生されるべき重要なデータ構成単位の再生品質が制限されることになる。ここでの重要度の選択基準は、ROI(Region Of Interest)と呼ばれる符号化のように、画像上の関心のある任意の部分から指定しても構わない。また、逆に重要部分を初期に再生させることなく、最後になって初めて詳細に再生されるような符号送出制御を行うことも可能である。これは、例えば画像応用ではいわゆるモザイク処理が挙げられる。これらのような制御を組み合わせて、いわゆるプログレッシブ再生を実現することができる。
【0178】
図31は、2つのビットプレーンで構成されるデータの符号化・復号例を示している。上位ビットプレーンは、図12に示したものである。下位ビットプレーンは、データ列0100を第1コンテクストCX1=0、コンテクスト0,1の予測値MPS(0)=1、MPS(1)=0として、上位ビットプレーンと同じく区間を等分割して符号化したときの設定値別の復号データである。この2つのビットプレーンにより、設定値の組合せ64通りで再生データは36通りが実現され、共有する設定値の開示を意図的に制御すれば複数の再生品質として表現されることになる。
【0179】
また、以上の動作は、図1ないし図5に示される構成要素によるとして説明したが、これらの構成要素を汎用の計算機プログラムにより同等ステップで構成して、同様の機能を得るようにしてもよい。
【0180】
実施の形態3.
上記実施の形態2を利用したビジネス応用例を示す。
【0181】
共有設定される変更情報は、一例として図32に示すデータ流通システムのように正規データアクセス権に対して課金として配信側が請求する課金請求手段601とその代価を支払う利用側の代価支払手段602に適用する。このとき、配信側と利用側の両者でより手続きが成立すると、共有情報通知手段603によって共有情報が通知されて入手するものとすれば、不正なデータアクセスを防止することができる。共有情報の通知方法は、データ通信、郵送等による配送などいずれでも構わない。まず、配信側では変更情報604を設定した符号器605でデータ606から符号607を生成し、通信あるいは媒体により利用側に送り、次に受信側では通知された共有情報を設定した復号器608で符号607をデータ609に復号する。ここで、共有設定情報604を段階的に開示することで再生品質を制御し、同一コンテンツ(符号)のままで、試験的に再生する時には再生品質を劣化あるいは限定させ、正式にアクセス権を入手した後に完全なデータが得られるようにする使用形態が考えられる。これは、データ構成単位ごとに図32のような課金請求/代価支払の体系が構築される一例である。
【0182】
このような課金請求/代価支払によるデータ流通システムは、特に画像、音声に対して、サンプルを予め確認して購入する形態の電子カタログ販売形式での販売促進に有効である。ここでいう電子カタログ販売とは、インターネットからの閲覧・ダウンロード、電子メールなどを利用したオンライン通信販売だけでなく、フロッピーディスク、ハードディスクやCD−ROMなどのディスク、DATなどのテープ、メモリカード、メモリチップをはじめとした物理的な蓄積記録媒体による配送・配布販売、書籍・雑誌の本体(媒体形式)・付録などを含み、その実装は固定式、着脱式のどちらでも構わない。データの通信方法はデジタル、アナログ、さらに有線、無線、電波、光波、音波などを問わない。また、赤外線、地上波、衛星波、マイクロ波などの波長・周波数、搬送速度などに限定されるものではなく、単一で伝送されても他のデータと重畳して伝送されても構わない。さらに、データの蓄積記録方法は電気的、磁気的、光学的、位相などに限定されるものではなく、また読取り専用、上書き/追記可能なものなどいずれであっても構わない。
【0183】
課金請求/代価支払には、電子商取引(EC)を利用して決済する形態も含む。なお、本ビジネス形態は、課金請求/代価支払い(601〜602)、共有情報の通知(603〜604)、符号送受(604〜609)により構成されるが、符号送受の実サービスに対して課金請求/代価支払い、共有情報の通知は、通信で行われる場合、既存の暗号化技術分野で知られるDESなどの暗号強度のより高い暗号方式を含めた上位プロトコルにより実現することができる。
【0184】
図33に、図32の配信側におけるシステム構成の一例を示す。画像データは、スキャナ701、カメラ702、コンピュータグラフィック(CG)703のような画像入力機器/装置によって生成される。また、音声データであればマイク704、合成音声705のような音声入力機器/装置によって生成される。さらに、それらのデータはすでにメモリ/媒体706のような蓄積機器/装置にすでに蓄積されている場合も考えられ、それらはなんらかの圧縮された符号の形で存在する場合には復号器C707で復号してからデータ708が出力される。
【0185】
このように準備されるデータ708を符号器A709は変更情報710を設定して符号化を行い、符号711を出力して図32に示されるような通信/媒体によって流通させる。符号711は、流通前に一時的にメモリA712に蓄えられることもあり、特に通信による場合は利用者の所望のタイミングで符号711を配信する。また、符号化されるデータ708は、符号化の前に一時的にメモリB713に蓄えられ、このとき符号器B714で圧縮して符号の形で蓄積し、復号器B715で伸長して符号器A709に送る形態では、利用者ごとに変更情報710を設定して符号器A709で符号化し直して、個別に配信することを可能とする。さらに、符号器B714および復号器B715は符号器A709のような変更情報716を設定して符号化してもよく、この場合は情報撹乱ではなく、非標準符号化であってもより高い圧縮率を達成して効率よく蓄積することを目的として、符号器A709(変更情報710)と異なる変更情報716を設定して構わない。
【0186】
図34に、図32の利用側におけるシステム構成の一例を示す。変更情報710が設定されずに符号化されたデータあるいはデータ構成単位の符号711は、従来通り設定変更を行わない復号器C751で元通り復号可能である。変更情報710が設定されて符号化されている場合には、変更情報710を共有しない利用者や、あるいは電子カタログのサンプルとして概要を確認する場合には、復号器C751により変更情報710を設定せずに復号し、低再生品質データ752を得る。このとき、画像データであれば、ディスプレイ753やプリンタ754のような画像出力機器/装置によって確認する。また、音声データであれば、スピーカ755のような音声出力機器/装置で確認する。さらに、復号されたデータはメモリ/媒体756のような蓄積機器/装置に蓄積する形態では、蓄えられるデータは符号器D757によって符号に変換されることもある。ただし、利用者はデータの再生品質に関わらず、著作権保護や転用に関しては注意を要する。なお、説明の上で復号器C751は復号器A758と分けているが、変更情報710の設定有無だけの違いで復号器A758と共用することは容易である。
【0187】
変更情報710が設定されている符号711に対しては、正規に変更情報710を得た利用者は復号器A758に変更情報710を設定して正常にデータ759を復号することができる。符号711は、復号前に一時的に装置内部のメモリA760に蓄積される形態や、復号されたデータを装置内部のメモリB761に蓄積される形態が考えられる。このとき、メモリB761には符号器B762で圧縮して符号の形で蓄積し、復号器B763で伸長して出力機器に送ることもできる。変更情報設定の解除された符号形式で蓄積されることも可能となり、また非標準符号化であってもより高い圧縮率を達成して効率よく蓄積することを目的として、復号器A758(変更情報710)と異なる変更情報764を設定しても構わない。
【0188】
このように、利用側では、装置内部のメモリA760やメモリB761にのみデータの蓄積を許容し、復号器を再生専用とし、不正に高再生品質のまま無圧縮を含む他形式でメモリ/媒体756のような装置外部に再保存させないようにすることで、変更情報710の入手後も不正な転用を防止するような実装形態を実現する。この場合、装置構成としては画像や音声の出力機器/装置との一体型の形態や、あるいは外部のデータ蓄積機器への出力経路をメモリA760からメモリ/媒体756へ直接・専用で確保した形態が考えられる。
【0189】
また、復号器を搭載したハードウェア装置や、CPU・LSI(ASIC)チップ、ミドルウェアおよびソフトウェアのライブラリで実現されたアプリケーションの内部では、復号したデータをそのまま、あるいは自由に加工することを認容するが、通信および蓄積記録媒体を介して装置・アプリケーション外部への出力はできないようにした実装形態も考えられる。この場合、内部データの編集機能を装置が備えている形態となる。
【0190】
さらに、復号器はファクシミリのようなハードコピーによるデータ記録のみの形態でも、あるいはソフトコピーによるデータ表示のみの形態と採っても構わない。また、携帯電話を含む電話端末の形態で音声データの音質制御を行ってもよいし、その付帯した画像あるいは文字の表示装置で表示するデータに対して画質制御を行ってもよい。また、例えばPC上で表示画面のコピーなど正規アプリケーションの画像出力手段以外による画像保存・蓄積を容易にとることができるインターネットブラウザのような画像再生手段では、共有変更情報を設定して表示の解像度を必要以上に上がらないようにすることも考えられる。この際、提供するブラウザの組込み型復号器(プラグイン・デコーダ)に上記制限機能を設けておく形態も有効な手段となる。
【0191】
【発明の効果】
以上のようにこの発明によれば、変更情報によりデータまたはパラメータを変更指示する設定変更部と、データ操作部または符号操作部の少なくともいずれかとを備えたので、符号器は、一つの符号データ列を用意するだけで、受信側である種々のレベルを持つ復号器側に、それぞれ符号化器側が期待する所望のレベル、例えば対応する変更情報を共有しない復号器に対しても概要データのみを出力できる等の、出力データ列を与えられる効果がある。
【0192】
また更に、評価部を備えたので、種々のレベルの復号器側で再生可能なデータ列となるよう、送信側である符号化器側で予め評価して、設定変更情報を定められる効果がある。
【0193】
また更に、設定変更部は、特定ビットの挿入/削除を行うので、別途の暗号化と比べて処理が簡単で回路規模が小さく、また処理時間が短くてすむという効果がある。
【0194】
また更に、符号操作部は、変数/定数またはレジスタ/カウンタ値または符号化規則を変更するので、別途の暗号化と比べて処理が簡単で回路規模が小さく、また処理時間が短くてすむという効果がある。
【0195】
また更に、構成単位分解部を備えたので、特定のデータ構成単位のみに設定変更情報による処理を行うだけで、符号化器側が望む簡易な暗号化が実現できて、別途の暗号化と比べて処理が簡単で回路規模が小さく、また処理時間が短くてすむという効果がある。
【図面の簡単な説明】
【図1】 この発明の実施の形態1における符号器の構成を示す図である。
【図2】 実施の形態1における他の符号器の構成を示す図である。
【図3】 この発明の実施の形態1における復号器の構成を示す図である。
【図4】 実施の形態1における他の復号器の構成を示す図である。
【図5】 実施の形態1における他の符号器の構成を示す図である。
【図6】 実施の形態1における変更情報と符号形式を示す図である。
【図7】 実施の形態1における他の変更情報と符号形式を示す図である。
【図8】 実施の形態1における他の変更情報と符号形式を示す図である。
【図9】 実施の形態1における変更情報を用いた処理を説明する図である。
【図10】 実施の形態1における変更情報を用いた他の処理を説明する図である。
【図11】 実施の形態1における変更情報を用いた他の処理を説明する図である。
【図12】 実施の形態1におけるコンテクスト初期値を変更する例を説明する図である。
【図13】 実施の形態1における演算レジスタ値を変更する例を説明する図である。
【図14】 実施の形態1における演算レジスタ値の変更動作を説明する図である。
【図15】 実施の形態1におけるINITENC処理フローを説明する図である。
【図16】 実施の形態1におけるINITENC処理フロー図である。
【図17】 実施の形態1におけるFLUSH処理フロー図である。
【図18】 実施の形態1におけるINITDEC処理フロー図である。
【図19】 実施の形態1におけるCODELPS処理フロー図である。
【図20】 実施の形態1における他のCODELPS処理フロー図である。
【図21】 実施の形態1におけるDECODE処理フロー図である。
【図22】 実施の形態1におけるLPS_EXCHAGE処理フロー図である。
【図23】 実施の形態1におけるMPS_EXCHAGE処理フロー図である。
【図24】 この発明の実施の形態2における符号器の構成を示す図である。
【図25】 この発明の実施の形態2における復号器の構成を示す図である。
【図26】 この発明の実施の形態2における他の符号器の構成を示す図である。
【図27】 実施の形態2におけるビットプレーン符号化の動作を説明する図である。
【図28】 実施の形態2におけるグレイコードへの変換を説明する図である。
【図29】 実施の形態2における解像度階層化動作を説明する図である。
【図30】 実施の形態2におけるウェーブレットの概念を説明する図である。
【図31】 実施の形態2における2つのビットプレーンで構成される符号化・復号の例を示す図である。
【図32】 この発明の実施の形態3におけるデータ流通システムの構成図である。
【図33】 実施の形態3における配信側の装置構成図である。
【図34】 実施の形態3における利用側の装置構成図である。
【図35】 従来の符号器の構成を示す図である。
【図36】 従来の復号器の構成を示す図である。
【図37】 従来の、暗号化のために設けたデータビット入替器の動作を説明する図である。
【図38】 従来の論理演算を用いた暗号化器を示す図である。
【図39】 2値算術符号化の概念を説明する図である。
【図40】 2値算術符号の符号化と復号動作を説明する図である。
【図41】 減算型算術符号化と正規処理の概念を示す図である。
【図42】 QM−Coderの符号化器の構成図である。
【図43】 QM−Coderの復号器の構成図である。
【図44】 画像処理における2ライン・3ラインモデルテンプレート図である。
【図45】 符号化・復号の際して状態番号をインデクスとして参照する定数テーブルの設定図である。
【図46】 符号化レジスタ、復号レジスタ、領域幅レジスタのビット配置図である。
【図47】 従来のENCODER処理フロー図である。
【図48】 従来のENCODE処理フロー図である。
【図49】 従来のCODELPS処理フロー図である。
【図50】 従来のCODEMPS処理フロー図である。
【図51】 従来のREMORME処理フロー図である。
【図52】 従来のBYTEOUT処理フロー図である。
【図53】 従来のINITENC処理フロー図である。
【図54】 従来のFLUSH処理フロー図である。
【図55】 従来のCLEARBITS処理フロー図である。
【図56】 従来のFINALWRITESS処理フロー図である。
【図57】 従来のDECODER処理フロー図である。
【図58】 従来のDECODE処理フロー図である。
【図59】 従来のLPS_EXCHANGE処理フロー図である。
【図60】 従来のMPS_EXCHANGE処理フロー図である。
【図61】 従来のMPS_EXCHANGE処理フロー図である。
【図62】 従来のRENORMD処理フロー図である。
【図63】 従来のINITDEC処理フロー図である。
Claims (5)
- 入力データ列を所定の設定値に基づいて符号化して符号列を出力する符号化部と、
与えられた設計要件から上記符号化部の上記所定の設定値に対して1つ以上の変更情報を設計する変更情報設計部と、
上記変更情報設計部が設計した変更情報を得て、該変更情報を上記符号化部に設定する設定変更部と、
上記符号化部から出力された上記符号列の再生品質を所定の評価基準で評価し、該評価した再生品質が所定の評価基準を満たすまで上記変更情報を再設定させる評価部と、
上記所定の評価基準を満たした変更情報を復号の際に適用すべき共有する変更情報とする情報共有部と、を備えて、
符号化器は、1つ以上の設定した、上記情報共有部が持つ共有する変更情報を部分的に、または段階的に復号器に開示することを特徴とする複数品質データ生成符号化器。 - 入力のデータ列を細分化して所定のデータ構成単位に分解して符号化部への入力とする構成単位分解部を備え、
上記符号化部は、上記所定のデータ構成単位に分解された入力データ列毎に上記所定の設定値に基づいて符号化し、
変更情報設計部は、上記構成単位分解部が分解した上記所定のデータ構成単位毎に与えられた設計要件から上記符号化部の所定の設定値に対して1つ以上の変更情報を設計し、
情報共有部は、上記1つ以上の変更情報を上記データ構成単位毎に共有することを特徴とする請求項1記載の複数品質データ生成符号化器。 - 変更情報は、予め実変更情報が記憶されている設定記憶領域の位置を指定して得るようにして、
符号化及び復号に際しては、上記位置指定された領域にある上記実変更情報に基づいて処理を行うことを特徴とする請求項1記載の複数品質データ生成符号化器。 - 入力データ列を所定の設定値に基づいて符号化して符号列を出力する符号化ステップと、
与えられた設計要件から上記符号化ステップが基準とする上記所定の設定値に対して1つ以上の変更情報を設定する変更情報設計ステップと、
上記変更情報設計ステップで設定した変更情報を得て、該変更情報を上記符号化ステップに出力する設定変更ステップと、
上記符号化ステップで得られた上記符号列の再生品質を所定の評価基準で評価し、該評価した再生品質が所定の評価基準を満たすまで上記変更情報を再設定させる評価ステップと、
上記所定の評価基準を満たした変更情報を復号の際に適用すべき共有する変更情報とす
る情報共有ステップと、を備えて、
符号化器は、1つ以上の設定した、上記情報共有ステップで共有する変更情報を部分的に、または段階的に復号器に開示することを特徴とする複数品質データ生成符号化方法。 - 入力のデータ列を細分化して所定のデータ構成単位に分解して符号化ステップ前の入力とする構成単位分解ステップを備え、
上記符号化ステップは、上記所定のデータ構成単位に分解された入力データ列毎に上記所定の設定値に基づいて符号化し、
変更情報設計ステップは、上記構成単位分解ステップが分解した上記所定のデータ構成単位毎に与えられた設計要件から上記符号化ステップにおける所定の設定値に対して1つ以上の変更情報を設計し、
情報共有ステップは、上記1つ以上の変更情報を上記データ構成単位毎に共有することを特徴とする請求項4記載の複数品質データ生成符号化方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000396972 | 2000-12-27 | ||
JP2000396972 | 2000-12-27 | ||
PCT/JP2001/011172 WO2002054602A1 (fr) | 2000-12-27 | 2001-12-20 | Codeur et decodeur de creation de donnees de qualites multiples, systeme de codage/decodage de donnees de quantites multiples, procedes de codage et de decodage de creation de donnees de qualites multiples, et procede de codage/decodage de creation de donnees de qualites multiples |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2002054602A1 JPWO2002054602A1 (ja) | 2004-05-13 |
JP3798376B2 true JP3798376B2 (ja) | 2006-07-19 |
Family
ID=18862172
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002554978A Expired - Fee Related JP3798376B2 (ja) | 2000-12-27 | 2001-12-20 | 複数品質データ生成符号化器、及び複数品質データ生成符号化方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US6756921B2 (ja) |
JP (1) | JP3798376B2 (ja) |
WO (1) | WO2002054602A1 (ja) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6999627B2 (en) * | 2001-12-19 | 2006-02-14 | Freescale Semiconductor, Inc. | Deterministic prediction in an image processing system |
DE10229976B4 (de) * | 2002-07-03 | 2007-06-28 | T-Mobile Deutschland Gmbh | Verfahren zur Ver- und Entschlüsselung von nach dem Verfahren der priorisierten Pixelübertragung übertragenen oder gespeicherten digitalen Daten |
US7474792B2 (en) * | 2002-12-02 | 2009-01-06 | Ricoh Company, Ltd. | Image processing apparatus for using distortion amount information |
JP3983708B2 (ja) * | 2003-04-22 | 2007-09-26 | 株式会社リコー | ファクシミリ装置 |
US7064684B2 (en) * | 2004-06-01 | 2006-06-20 | Peter Lablans | Sequence detection by multi-valued coding and creation of multi-code sequences |
JP4618676B2 (ja) | 2005-04-28 | 2011-01-26 | 株式会社リコー | 構造化文書符号の転送方法、画像処理システム、サーバ装置、プログラム及び情報記録媒体 |
US20070202843A1 (en) * | 2006-02-15 | 2007-08-30 | Samsung Elctronics Co., Ltd. | Method and system for data partitioning and encoding for transmission of uncompressed video over wireless communication channels |
US8665967B2 (en) * | 2006-02-15 | 2014-03-04 | Samsung Electronics Co., Ltd. | Method and system for bit reorganization and packetization of uncompressed video for transmission over wireless communication channels |
US20070230461A1 (en) * | 2006-03-29 | 2007-10-04 | Samsung Electronics Co., Ltd. | Method and system for video data packetization for transmission over wireless channels |
JP4602947B2 (ja) * | 2006-07-06 | 2010-12-22 | シャープ株式会社 | ファクシミリ通信システムおよび画像処理装置 |
JP4717780B2 (ja) * | 2006-11-01 | 2011-07-06 | キヤノン株式会社 | 符号化装置及びその制御方法 |
US8175041B2 (en) * | 2006-12-14 | 2012-05-08 | Samsung Electronics Co., Ltd. | System and method for wireless communication of audiovisual data having data size adaptation |
US8176524B2 (en) * | 2008-04-22 | 2012-05-08 | Samsung Electronics Co., Ltd. | System and method for wireless communication of video data having partial data compression |
US8537038B1 (en) * | 2010-10-22 | 2013-09-17 | Smith Micro Software, Inc. | Efficient compression method for sorted data representations |
US10084611B2 (en) * | 2012-06-29 | 2018-09-25 | Siemens Schweiz Ag | Programmable symbol animation pre-processor for building automation graphics |
JP6525838B2 (ja) * | 2015-09-28 | 2019-06-05 | キヤノン株式会社 | 情報処理装置、方法、及びプログラム |
JP6648461B2 (ja) * | 2015-09-30 | 2020-02-14 | 富士ゼロックス株式会社 | 情報処理装置およびプログラム |
US11762566B2 (en) | 2018-01-22 | 2023-09-19 | Arm Limited | Programmable mapping of guard tag storage locations |
GB2570326B (en) * | 2018-01-22 | 2020-06-10 | Advanced Risc Mach Ltd | Multiple guard tag setting instruction |
CN115276662B (zh) * | 2022-07-27 | 2023-01-31 | 杭州跃马森创信息科技有限公司 | 一种微服务用户信息高效压缩传输方法 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
USRE35781E (en) | 1989-01-31 | 1998-05-05 | Mitsubishi Denki Kabushiki Kaisha | Coding method of image information |
JPH0834432B2 (ja) | 1989-01-31 | 1996-03-29 | 三菱電機株式会社 | 符号化装置及び符号化方法 |
JPH0834434B2 (ja) | 1990-02-26 | 1996-03-29 | 三菱電機株式会社 | 符号化装置及び符号化方法 |
JP3081032B2 (ja) * | 1991-08-23 | 2000-08-28 | 株式会社リコー | 符号化復号化方法 |
JP3131051B2 (ja) * | 1992-09-30 | 2001-01-31 | 株式会社リコー | 符号化復号化方法およびその装置 |
JPH07111646A (ja) | 1993-10-12 | 1995-04-25 | Matsushita Electric Ind Co Ltd | スクランブル装置、デスクランブル装置および信号処理装置 |
JPH08181966A (ja) | 1994-12-27 | 1996-07-12 | Toshiba Corp | 送信装置並びに受信装置並びに通信処理システム |
JP3392592B2 (ja) | 1995-06-05 | 2003-03-31 | 株式会社リコー | 多値画像伝送装置 |
JPH09205630A (ja) | 1996-01-26 | 1997-08-05 | Matsushita Electric Ind Co Ltd | テレビジョン信号送信・受信方法、及びテレビジョン信号送信・受信装置 |
US5818369A (en) * | 1996-03-07 | 1998-10-06 | Pegasus Imaging Corporation | Rapid entropy coding for data compression or decompression |
JPH1051766A (ja) * | 1996-08-05 | 1998-02-20 | Mitsubishi Electric Corp | 画像符号化データ変換装置 |
JPH1173102A (ja) * | 1997-08-29 | 1999-03-16 | Oki Data:Kk | 秘密鍵暗号化復号化方法及びその装置 |
WO2000031878A1 (en) * | 1998-11-20 | 2000-06-02 | Interval Research Corporation | Low cost video compression using fast, modified z-coding of wavelet pyramids |
-
2001
- 2001-12-20 JP JP2002554978A patent/JP3798376B2/ja not_active Expired - Fee Related
- 2001-12-20 WO PCT/JP2001/011172 patent/WO2002054602A1/ja active Application Filing
- 2001-12-20 US US10/398,033 patent/US6756921B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
US6756921B2 (en) | 2004-06-29 |
JPWO2002054602A1 (ja) | 2004-05-13 |
US20040036635A1 (en) | 2004-02-26 |
WO2002054602A1 (fr) | 2002-07-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3798376B2 (ja) | 複数品質データ生成符号化器、及び複数品質データ生成符号化方法 | |
Celik et al. | Lossless generalized-LSB data embedding | |
US6512836B1 (en) | Systems and methods for etching digital watermarks | |
TW420932B (en) | Image compression using directional predictive coding of the wavelet coefficients | |
US7457419B2 (en) | Information processing method and apparatus for encrypting encoded data | |
US7362860B2 (en) | Image data encryption method, image data transform method, apparatus for the methods, computer program, and computer-readable storage medium | |
WO2004003840A2 (en) | System and method for embedding information in digital signals | |
CN101352045B (zh) | 用于产生经标记的数据流的方法和装置、用于将水印插入到经标记的数据流中的方法和装置以及经标记的数据流 | |
JP2002123428A (ja) | 所定のコンテンツの安全な配信のための階層暗号化スキーム | |
Pan et al. | Visual cryptography scheme for secret color images with color QR codes | |
JP2004040248A (ja) | 情報処理装置、情報処理方法、プログラム、記憶媒体 | |
JP3854502B2 (ja) | 電子透かしの埋め込み方法および抽出方法 | |
JP2004040237A (ja) | 画像処理装置及び方法、並びにコンピュータプログラム及びコンピュータ可読記憶媒体 | |
Papadopoulos et al. | Sequential multiple LSB methods and real-time data hiding: variations for visual cryptography ciphers | |
JP3919612B2 (ja) | 画像処理装置及び方法、並びにコンピュータプログラム及びコンピュータ可読記憶媒体 | |
Wang et al. | High-capacity reversible data hiding in encrypted images based on prediction error compression and block selection | |
Wang et al. | Reversible data hiding in encrypted image with separable data extraction from image decryption | |
JP2021522759A (ja) | Drmコンテンツパッケージング装置及びそれを含むdrmコンテンツパッケージングシステム及びdrmコンテンツパッケージング方法 | |
JP2004032538A (ja) | 情報処理装置及び情報処理方法 | |
KR102484385B1 (ko) | 이미지 부호화 및 복호화 장치 및 그 작동 방법 | |
Chen et al. | Data Hiding in AMBTC Images Using Selective XOR Hiding Scheme. | |
CN114612317B (zh) | 一种用于对抗均值滤波的秘密图像分享方法和系统 | |
JP2004112658A (ja) | コンテンツの符号化方法および復号化方法 | |
Morita et al. | Progressive transmission of continuous tone images using multi-level error diffusion method | |
Ya et al. | High-Capacity Reversible Data Hiding in Encrypted Image Based on Hierarchical Quad-Tree Coding and Multi-MSB Prediction. Electronics 2021, 10, 664 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20040517 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20041018 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050817 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051003 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060117 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060309 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20060418 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060419 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100428 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100428 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110428 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |