Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP3774425B2 - Data encoding / decoding method and apparatus, data encoding / decoding program, and recording medium recording the program - Google Patents
[go: Go Back, main page]

JP3774425B2 - Data encoding / decoding method and apparatus, data encoding / decoding program, and recording medium recording the program - Google Patents

Data encoding / decoding method and apparatus, data encoding / decoding program, and recording medium recording the program Download PDF

Info

Publication number
JP3774425B2
JP3774425B2 JP2002250994A JP2002250994A JP3774425B2 JP 3774425 B2 JP3774425 B2 JP 3774425B2 JP 2002250994 A JP2002250994 A JP 2002250994A JP 2002250994 A JP2002250994 A JP 2002250994A JP 3774425 B2 JP3774425 B2 JP 3774425B2
Authority
JP
Japan
Prior art keywords
block
encoded
encoding
generation block
buffer
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
Application number
JP2002250994A
Other languages
Japanese (ja)
Other versions
JP2004096174A (en
Inventor
純 村松
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NTT Inc
NTT Inc USA
Original Assignee
Nippon Telegraph and Telephone Corp
NTT Inc USA
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp, NTT Inc USA filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2002250994A priority Critical patent/JP3774425B2/en
Publication of JP2004096174A publication Critical patent/JP2004096174A/en
Application granted granted Critical
Publication of JP3774425B2 publication Critical patent/JP3774425B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、与えられた品質基準を保証する通信において用いられるデータ符号化・復号化方法及び装置に関し、特に、過去の系列の乱雑さを利用して、可能な限り短い符号長を達成するデータ符号化・復号化方法及び装置に関する。
【0002】
【従来の技術】
データ通信では、通信網上でのデータ転送量を圧縮し、また転送に必要な帯域幅を低減するために、情報源符号化を行う各種のデータ符号化・復号化方法及び装置が用いられている。
【0003】
このような情報源符号化の一つに、「フィードバックを持つビッツバック符号化」と呼ばれる手法がある。以下、「フィードバックを持つビッツバック符号化」を利用した従来の符号化システムについて説明する。図1は、フィードバックを持つビッツバック符号化を行う符号器の構成の概略を示しており、図2はこの符号器と対をなして使用される復号器の構成の概略を示している。
【0004】
図1に示すように、符号器10は、バッファ11、符号語選択装置12、算術復号器13及び多値情報源符号器14より構成されている。ここで、バッファ11には、あらかじめ適当な初期値が格納されている。この符号器による符号化では、まず最初に、符号語選択装置12が、入力データ15 vに対して、あらかじめ定められた条件つき確率分布
【0005】
【数1】

Figure 0003774425
【0006】
を求め、これを算術復号器13へ伝える。次に、算術復号器13は、バッファ11に格納されたもっとも古いデータを取り出し、これを元に符号語選択装置12から与えられた分布{Q(h|v)}h Hを仮定して復号を行い、変換後のデータhを多値情報源符号器14に伝える。取り出されたデータは、バッファ11から削除される。次に、多値情報源符号器14は、その入力(v,h)(入力データ15 v及び算術復号器から出力されるh)に対して、可変長の記号列を与えて、これをバッファ11に格納する。多値情報源符号器14は、一対の入力(v,h)に対して、可変長の記号列(これをb*とする)を与える全単射の写像で記述されるものであるので、b*に対して、対応する(v,h)が存在すれば、それは一意に定まる。上記の動作をあらかじめ定められた個数の入力データに関して行い、入力データがなくなって時点で、バッファ11に残されたデータを復号器20(図2参照)に伝える。
【0007】
図2に示すように、復号器20は、バッファ21、符号語選択装置22、算術復号器23および多値情報源復号器24より構成されている。ここで、バッファ21の初期状態として、相手側の符号器10の動作が終了した時点でのその符号器10のバッファ11の状態を与える。なお、バッファ21内のデータ新しさとは、バッファ11に格納された時間で決まるものとする。多値情報源復号器24は、多値情報源符号器14での写像の逆写像を実行するものであり、可変長の記号列b*に対して一意に定まる(v,h)を出力する。
【0008】
復号を行う場合、最初に多値情報源復号器24は、バッファ21にある最も新しいデータを取り出し、これから(v,h)を出力する。多値情報源復号器24から出力されるデータのうち、vは、再生データ25として外部にも出力される。取り出されたデータは、バッファ21から削除される。(v,h)のうち、hは算術符号器23へ伝えられる。vは、再生データ25として出力されるとともに、符号語選択装置22へも伝えられる。符号語選択装置22は、入力データvに対して、あらかじめ定められた条件つき確率分布{Q(h|v)}h Hを求め、これを算術符号器23へ伝える。算術符号器23は、多値情報源復号器24から送られたvをもとに、符号語選択装置22から与えられた分布{Q(h|v)}h Hを仮定して符号化を行う。変換後のデータはバッファ21に格納される。上記の動作をあらかじめ定められた回数行う。このようにして再生データ25が逐次得られるが、再生データ25は、入力データ15とは逆順の時系列として出力される。
【0009】
図1、図2に示すような従来の符号化装置および復号化装置について、参考文献[1]、pp. 104-128に詳しく記されている。
【0010】
なお、この技術分野に関する参考文献としては、例えば、
[1] B. J. Frey, Graphical models for machine learning and digital communication, MIT Press, 1998.
[2] J. Rissanen and G. G. Langdon, "Arithmetic coding," IBM Journal of Research and Development, vol. 23, pp. 149-162, 1976.
[3] S. Arimoto, "An algorithm for calculating the capacity of an arbitrary discrete memoryless channel," IEEE Trans. Inform. Theory, vol. IT-18, pp. 14-20, Jan. 1972.
[4] R. E. Blahut, "Comptation of channel capacity and rate-distortion functions," IEEE Trans. Inform. Theory, vol. IT-18, pp. 460-473, Jul. 1972.
[5] N. Tishby, F. C. Pereira, and W. Bialek," The information bottleneck method," Proc. of the 37-th Annual Allerton Conference on Comunication, Control and Computing, pp. 368-377, 1999.がある。
【0011】
【発明が解決しようとする課題】
上述した従来の符号化システムでは、符号器10内の多値情報源符号器14と復号器20内の多値情報源復号器24とが互いに逆写像の関係にあり、また、符号器10内の算術復号器13と復号器20内の算術符号器23が互いに逆写像の関係にあることから、復号器のバッファ21の状態は、符号器のバッファ11の状態を、逆順の時間で完全に再現する。したがって、上述した従来の符号化システムでは、入力データと再生データの間に歪み(データの食い違い)が全くないことを前提としており、入力データと再生データの間に歪みを許す場合の動作は保証されていない。
【0012】
ところが、より短い符号語長を実現するために、入力データと再生データとの間に歪みを許す必要がある場合がある。例えば、以下に述べるような多端子情報源符号化、有歪み情報源符号化、復号器に部分補助情報を伴う情報源符号化などにおいては、入力データと再生データとの間に歪みを許す必要がある。
【0013】
多端子情報源符号化:
多端子情報源符号化では、離れたところにある複数の入力データをそれぞれ別々の符号器を用いて符号化して、復号器はそれらの符号語を元に、入力データの組を再生する。図3は、2つの入力データX,ZをそれぞれレートRX,RZで符号化する装置を表している。すなわち、fX、fZでそれぞれ表される符号器30X、30Zが設けられており、これらからの符号語が、gで表されている復号器31に入力し、入力データの組(X,Z)を出力する。ここでは、X,Zは、入力データもしくは再生データを表す確率変数である。また、H(X|Z)、H(Z|X)はそれぞれ条件つきエントロピーであり、H(XZ)はエントロピーであって、いずれもアルゴリズムが達成する符号化レート下限を表している。そして、この多端子情報源符号化のシステムにおいては、RX≧H(X|Z)、RZ≧H(Z|X)、RX+RZ≧H(XZ)の関係が成り立っている。多端子情報源符号化では、入力データと再生データの間の歪みをできる限り小さく、それぞれの符号器の符号化レートをできる限り小さくすることが望ましい。
【0014】
有歪み情報源符号化:
有歪み情報源符号化では、入力データYと再生データZの間に、歪み尺度ρで計ることのできるあらかじめ定められた歪みを許容したうえで、符号化レートをできる限り小さくする符号化を行う。図4は、入力データYをレートRYで符号化して、再生データZの間の歪みがEYZρ(Y,Z)(Eは平均を表す)以下となるような装置を表している。すなわち、fYで表される符号器40が設けられており、これからの符号語が、gで表されている復号器41に入力して、再生データZが得られるようになっている。ここでは、Yは入力データを表す確率変数であり、Zは再生データを表す確率変数であり、I(Y;Z)は相互情報量すなわちアルゴリズムが達成する符号化レートであり、EYZρ(Y,Z)はアルゴリズムが達成する平均歪みである。
【0015】
復号器に部分補助情報を伴う情報源符号化:
復号器に部分補助情報を伴う情報源符号化では、復号器においてもう一つの情報Yが利用できることを前提として、入力データXを再生する。図5は補助情報YをレートI(Y;Z)で符号化し、入力データXをレートH(X|Z)で符号化してXを再生する装置を表している。X,Yを入力データもしくは出力データを表す確率変数、Zを事前に与える確率変数として、fX、fYでそれぞれ表される符号器50X、50Yが設けられており、符号器50Xからは条件付エントロピーH(X|Z)、すなわちアルゴリズムが達成する符号レートで符号語が出力され、符号器50Yからは相互情報量I(Y;Z)、すなわちアルゴリズムが達成する符号化レートで符号語が出力され、gで表される復号器51はこれらの符号語に基づいて再生データを出力する。ここでも、入力データと再生データの間の歪みをできる限り小さく、それぞれの符号器の符号化レートをできる限り小さくすることが望ましい。
【0016】
本発明は、上記の従来システムの欠点に鑑みてなされたものであり、歪みを許す符号化を行うことを可能とすることによって、より小さい符号化レートを実現することができる、データ符号化・復号化方法及び装置を提供することを目的とする。
【0017】
【課題を解決するための手段】
本発明のデータ符号化方法は、入力データを符号化する方法であって、複数のブロックに分割された入力データの一つのブロックを、符号化写像生成ブロックと符号化対象ブロックに分割するステップと、符号器バッファに格納された符号化写像生成ブロックと符号化対象ブロックから符号化写像を用いて符号化対象ブロックの符号語を得るステップと、無歪み符号器によって符号化写像生成ブロックを用いて符号化写像生成ブロックの符号語を得るステップと、符号器バッファに残るもっとも古い符号化写像生成ブロックを破棄し、符号化写像生成ブロックを新たに符号器バッファに蓄積するステップと、これらの各ステップを複数のブロックがなくなるまで繰り返し実行するステップと、を有する。
【0018】
本発明のデータ復号化方法は、例えば上述のようにして生成された符号化対象ブロックの符号語と符号化写像生成ブロックの符号語とから再生データを獲得する復号化方法であって、符号化対象ブロックの符号語を取り出し、その符号化対象ブロックの符号語と復号器バッファに格納された符号化写像生成ブロックとに基づいて復号化写像によって符号化対象ブロックの再生データを得るステップと、符号化写像生成ブロックの符号語を取り出して無歪み復号器によって符号化写像生成ブロックを得るステップと、復号器バッファに残るもっとも古い符号化写像生成ブロックを破棄し、復号した符号化写像生成ブロックを新たに復号器バッファに蓄積するステップと、符号化対象ブロックの再生データと復号した符号化写像生成ブロックを連結して出力するステップと、これらの各ステップを全ての符号語がなくなるまで繰り返し実行するステップと、を有する。
【0019】
本発明のデータ符号化装置は、入力データを符号化するデータ符号化装置であって、複数のブロックに分割された入力データの各ブロックを、符号化写像生成ブロックと符号化対象ブロックに分割するブロック分割装置と、符号化写像生成ブロックを一時的に格納する符号器バッファと、符号器バッファの内容と符号化対象ブロックから符号化写像を用いて符号化対象ブロックの符号語を得る符号化写像部と、符号化写像生成ブロックから符号化写像生成ブロックの符号語を得る無歪み符号器と、を有し、新たな符号化写像生成ブロックが入力するつど符号器バッファにおいて最も古い符号化写像生成ブロックが破棄され、その新たな符号化写像生成ブロックが符号器バッファに蓄積される。
【0020】
本発明のデータ復号化装置は、
符号化対象ブロックの符号語と符号化写像生成ブロックの符号語とから再生データを獲得するデータ復号化装置であって、符号化写像生成ブロックの符号語を一時的に格納する復号器バッファと、符号化対象ブロックの符号語を取り出し、その符号化対象ブロックの符号語と復号器バッファの内容とに基づいて復号化写像によって符号化対象ブロックの再生データを得る復号化写像部と、符号化写像生成ブロックの符号語を取り出して符号化写像生成ブロックを得る無歪み復号器と、符号化対象ブロックの再生データと復号した符号化写像生成ブロックを連結して出力するブロック連結装置と、を有し、新たな符号化写像生成ブロックが復号されるつど復号器バッファにおいて最も古い符号化写像生成ブロックが破棄され、その新たな符号化写像生成ブロックが復号器バッファに蓄積される。
【0021】
最適な符号化レートを達成するために符号をランダムに構成しているが、その場合には、符号器と復号器の間で、同期した乱数が必要となる。そこで本発明では、乱数を得るために、過去に符号化した系列の一部をバッファに蓄えておき、そこから符号をランダムに構成する。さらに、乱数の同期を取るために、観測データを符号化する際に、「符号化対象ブロック」と「符号化写像生成ブロック」の2つに分割して、別々の符号化を行う。
【0022】
本発明による符号化・復号化方法と従来法との違いは以下の点である。
【0023】
従来法では、符号語の全てがバッファに蓄えられていたが、本発明では、効率よく符号化されるデータとバッファに蓄えるデータとに入力データを分割して別々に符号化することによって、バッファの同期を保ちつつ、より小さな符号化レートを持つ歪みを許す符号化を実現している。
【0024】
また、従来法では、固定された符号化写像・復号化写像(従来法では多値情報源符号器・多値情報源復号器が該当する)を用いて、バッファの内容を無歪みで符号化していたが、本発明では、バッファの内容を用いて符号化写像・復号化写像を動的に変更させることによって、より小さな符号化レートを持つ歪みを許す符号化を実現している。
【0025】
【発明の実施の形態】
次に、本発明の好ましい実施の形態について、図面を参照して説明する。図6は、本発明の実施の一形態の符号化・復号化装置における符号化装置(符号器)の構成を示すブロック図であり、図7は図6の符号化装置と組み合わされて使用される復号化装置(復号器)の構成を示すブロック図である。以下の説明では、説明を分かりやすくするために、一つの情報源出力に関して記述しているが、実際には以下に述べる操作は複数の情報源出力に関して行われる。
【0026】
図6に示す符号器60は、入力データ65が入力し入力データ65をブロックに分割して各ブロックを符号化対象ブロック66と符号化写像生成ブロック67に分割するブロック分割装置61と、符号化写像生成ブロック67を一時的に格納するバッファ(すなわち符号器バッファ)62と、バッファ62の内容及び符号化対象ブロック66に基づいて符号化対象ブロックの符号語68を計算して出力する符号化写像部63と、符号化写像生成ブロック67から符号化写像生成ブロックの符号語69を計算して出力する無歪み符号器64と、から構成されている。ここで、符号化写像部63は、後述するような符号化写像を実行するものであり、無歪み符号器64とは、単射の写像で表されるものである。また、バッファ62には、適当な初期値が格納されている。
【0027】
次に、この符号器60の動作を説明する。最初に、ブロック分割装置61は、入力データ65をブロックに分割し、各ブロックを符号化対象ブロック66と符号化写像生成ブロック67とに分割する。次に、符号化写像部63は、バッファ62の内容を読み取り、情報源に即した符号化写像を用いて符号化対象ブロック66を符号化して符号化対象ブロックの符号語68を出力し、これを図7に示す復号器70に送信する。また、無歪み符号器64は、符号化写像生成ブロック67を符号化して符号化写像生成ブロック符号語69を出力し、これを復号器70に送信する。最後に、バッファ62は、その記録しているもっとも古いデータを破棄し、ブロック分割装置61から送られてきた符号化写像生成ブロック67を記録する。これらの処理は、入力データにおける処理すべきブロックがなくなるまで、繰り返して実行される。
【0028】
実際に符号化・復号化システムを構成する場合には、上述したような符号器60を必要な数だけ用意する。
【0029】
次に、復号器70について説明する。図7に示す復号器70は、複数の符号器60のそれぞれから符号化対象ブロックの符号語68及び符号化写像生成ブロックの符号語69を受け入れることができるようになっている。もちろん、単一の符号器60のみから符号化対象ブロックの符号語68及び符号化写像生成ブロックの符号語69が復号器70に入力してもよい。そして復号器70は、バッファ(すなわち復号器バッファ)71と、符号化対象ブロックの符号語68とバッファ71の内容とに基づき、復号化写像によって符号化対象ブロックの再生データ75を得る復号化写像部72と、符号化写像生成ブロックの符号語69を再生して符号化写像生成ブロック67を得る無歪み復号器73と、符号化対象ブロックの再生データ75と符号化写像生成ブロック67とを連結して再生データ76を得るブロック連結装置74と、から構成されている。ここで、無歪み復号器73は、図6で示される各符号器60の無歪み符号器64の表す写像の逆写像の集合体である。また、バッファ71は、各符号器60に対応するバッファ62の集合体として構成されており、各符号器のバッファ62と同じ初期値が格納され、初期値が格納された後は、無歪み復号器73から入力する符号化写像生成ブロック67を格納するようになっている。実際には、後述するように、符号器60のバッファ62に格納される初期値と復号器70のバッファ71に格納される初期値が一致するように、符号器60と復号器70の間で初期化処理が行われることになる。
【0030】
次に、この復号器70の動作を説明する。復号化写像部72は、バッファ71の内容を読み取り、図6に示すような各符号器60より符号化対象ブロックの符号語68を受信し、これらを用いて復号化写像により符号化対象ブロックの再生データ75を出力する。一方、無歪み復号器73は、各符号器60より符号化写像生成ブロック符号語69を受信し、これらより各符号器60の符号化写像生成ブロック67を再生する。続いて、ブロック連結装置74は、符号化対象ブロックの再生データ75と無歪み復号器から送られてきた符号化写像生成ブロック67を連結して、再生データ76とする。最後に、バッファ71は、その記録しているもっとも古いデータを破棄し、無歪み復号器73から送られてきた符号化写像生成ブロック67を記録する。
【0031】
以下、本発明の符号化・復号化方法及び装置について、多端子情報源符号化、有歪み情報源符号化、復号器に部分補助情報を伴う情報源符号化のそれぞれについて応用した場合を説明することにより、さらに詳しく説明する。最初に、以下の説明中に現れる記号の説明をする。
【0032】
集合
【0033】
【数2】
Figure 0003774425
【0034】
の補集合と要素数をそれぞれ
【0035】
【数3】
Figure 0003774425
【0036】
と書き、集合
【0037】
【数4】
Figure 0003774425
【0038】
の差集合を
【0039】
【数5】
Figure 0003774425
【0040】
と書く。集合
【0041】
【数6】
Figure 0003774425
【0042】
を有限集合とし、
【0043】
【数7】
Figure 0003774425
【0044】
とする。
【0045】
【数8】
Figure 0003774425
【0046】
のi番目の要素をxiもしくは[xn]iと記す。またxn≡x1*…*xnに対してxi j≡xi*…*xjとする。 文字列の結合を与える演算を*とする。例えば、xn=(x1,...,xn),ym=(y1,...,ym)に対してxn*ym≡(x1,...,xn,y1,...,ym)である。符号器
【0047】
【数9】
Figure 0003774425
【0048】
、復号器
【0049】
【数10】
Figure 0003774425
【0050】
、の復号誤り文字数d(xn)を次のように定義する。
【0051】
【数11】
Figure 0003774425
【0052】
これは、系列xnと再生された系列φn -1n(xn))との間の異なる文字の個数を表す。
【0053】
【数12】
Figure 0003774425
【0054】

【0055】
【数13】
Figure 0003774425
【0056】
桁で2進数表記したものとその逆写像とを、それぞれ、
【0057】
【数14】
Figure 0003774425
【0058】
と記述する。同様に、
【0059】
【数15】
Figure 0003774425
【0060】

【0061】
【数16】
Figure 0003774425
【0062】
桁で2進数表記したものとその逆写像とを、それぞれ、
【0063】
【数17】
Figure 0003774425
【0064】
と記述する。
【0065】
【数18】
Figure 0003774425
【0066】
値の確率変数Xが与えられた時、対応する確率分布をμXと書く。また
【0067】
【数19】
Figure 0003774425
【0068】
と書く。XのエントロピーH(X)を
【0069】
【数20】
Figure 0003774425
【0070】
と定義する。X,Yの結合エントロピーをH(XY)、Yが与えられたときのXの条件つきエントロピーをH(X|Y)≡H(XY)−H(Y)、X,Yの相互情報量をI(X;Y)≡H(X)+H(Y)−H(XY)とする。
【0071】
【数21】
Figure 0003774425
【0072】
上の確率分布ν、μのダイバージェンスD(ν‖μ)を以下のように定義する。
【0073】
【数22】
Figure 0003774425
【0074】
【数23】
Figure 0003774425
【0075】
から得られる経験分布
【0076】
【数24】
Figure 0003774425
【0077】
を次のように定義する。
【0078】
【数25】
Figure 0003774425
【0079】
これは、
【0080】
【数26】
Figure 0003774425
【0081】
が、系列xn中のaの出現頻度を表すことを意味する。
【0082】
【数27】
Figure 0003774425
【0083】
から得られる条件つき経験分布
【0084】
【数28】
Figure 0003774425
【0085】
は任意の
【0086】
【数29】
Figure 0003774425
【0087】
に対して、
【0088】
【数30】
Figure 0003774425
【0089】
を満たす条件つき確率分布として定義される。これはyi=bが成り立つようなiであってさらにxi=aが成り立つiの頻度を表す。
【0090】
実数0<α<∞,γ>0、自然数kに対して、ζ(α,γ),λ(α,k)を次のように定義する。これらは数式の記述を簡潔にするために用いられる。
【0091】
【数31】
Figure 0003774425
【0092】
iをnで割った余りをi%n,0≦i%n≦n−1とする。ここでiは2進数で表現されている場合もあることを注意しておく.
《多端子情報源符号化への応用》
ここで、本実施形態による符号化・復号化方法を多端子情報源符号化に適用した例を説明する。相関のある複数の情報源X,ZをそれぞれレートRX,RZで独立に符号化して復号器に送り、復号器がXとZを復号するものとする。システム構成としては、上述の図3に示したようなシステムを使用し、符号器30X、30Zとして、それぞれ、図6に示した符号器60を使用して情報源X,Yの符号化を行わせ、復号器31として図7に示した復号器70を使用してXとYとの復号を行わせるようにする。
【0093】
以下では、
【0094】
【数32】
Figure 0003774425
【0095】
を仮定し、次の定義を用いる。
【0096】
【数33】
Figure 0003774425
【0097】
【数34】
Figure 0003774425
【0098】
を次のように定義する。
【0099】
【数35】
Figure 0003774425
【0100】
そして
【0101】
【数36】
Figure 0003774425
【0102】
に適当な順序を与えたときの
【0103】
【数37】
Figure 0003774425
【0104】
の番号を
【0105】
【数38】
Figure 0003774425
【0106】
と記す。
【0107】
【数39】
Figure 0003774425
【0108】
を簡単に計算する方法として、算術符号(参考文献[2]参照)のアルゴリズム等が挙げられる。実際には、並べる順序は、性能の解析に影響しないので、任意に取ることができる。関数
【0109】
【数40】
Figure 0003774425
【0110】
を以下のように定義する。
【0111】
【数41】
Figure 0003774425
【0112】
πkは、
【0113】
【数42】
Figure 0003774425
【0114】
の元を
【0115】
【数43】
Figure 0003774425
【0116】
個ずつ束にして数字を割り当て、
【0117】
【数44】
Figure 0003774425
【0118】
の元にはそれらとは異なる数字を割り当てる写像である。大雑把に言うと、
【0119】
【数45】
Figure 0003774425
【0120】
等分されている。同様に
【0121】
【数46】
Figure 0003774425
【0122】
を定義し、
【0123】
【数47】
Figure 0003774425
【0124】
を用いてπk'を同様に定義する。
【0125】
k≡Mk+k2kとする。全体の系列長
【0126】
【数48】
Figure 0003774425
【0127】
に対して
【0128】
【数49】
Figure 0003774425
【0129】
を、それぞれ重なりのない、長さk+2のサブブロックに分割する。サブブロック
【0130】
【数50】
Figure 0003774425
【0131】
を次のように定義する。
【0132】
【数51】
Figure 0003774425
【0133】
【数52】
Figure 0003774425
【0134】
についても同様に定義する。
【0135】
【数53】
Figure 0003774425
【0136】
の要素を
【0137】
【数54】
Figure 0003774425
【0138】
桁の2進数で表記する写像をNXとし、その逆写像をNX -1とする。同様に、
【0139】
【数55】
Figure 0003774425
【0140】
の要素を
【0141】
【数56】
Figure 0003774425
【0142】
桁の2進数で表記する写像をNZとし、その逆写像をNZ -1とする。
【0143】
ここで、情報源Xを符号化する符号器(図3での符号器30X)での処理を説明する。上述したようにこの符号器には、図6に示した本発明による符号器60が使用される。図8は、符号化処理を説明するフローチャートである。なお、後述するように、情報源Zを符号化する符号器の動作も情報源Xを符号化する符号器の動作とほぼ同じであるから、図8は両方の符号器の動作を示しており、この図では、ステップA1〜A12は情報源Xを符号化する符号器の動作を表し、ステップB1〜B12は情報源Zを符号化する符号器の動作を表している。
【0144】
符号器60は、
【0145】
【数57】
Figure 0003774425
【0146】
で表されるバッファ62を持っているものとする。ステップA1〜A6は、符号器60のバッファ62及び復号器70のバッファ71を初期化するために符号器60で実施されるステップであり、初めてステップA8を実行する時点(i=0)では、符号器のバッファ62と復号器のバッファ71の内容が同一となる。ステップA7〜A12は、本発明の方法による符号化のステップである。
【0147】
まず、ステップA1においてi←−Mkとし、ステップA2において、情報源Xに対応した集合を用いてバッファ62の全てに適当な初期値を格納する。そして、ステップA3において、i番目のサブブロックについての符号語を復号器70に送り、ステップA4において、i番目のサブブロック(ただし符号化写像生成ブロックに対応する部分)を用いてバッファ62を更新する。その後、iをインクリメントし(ステップA5)、ステップA6においてi=0であるかどうかを判断し、i=0であればステップA7に移行するものとし、i<0であればステップA3に戻る。
【0148】
ステップA7において、ブロック分割装置61は入力データ65のブロックを符号化写像生成ブロック67と符号化対象ブロック66に分割し、ステップA8において、符号化写像部63は、情報源Xに対応した符号化写像を用いることにより、バッファ62の内容と符号化対象ブロック66とに基づいて、符号化対象ブロックの符号語68を計算し、復号器70に送信する。一方、無歪み符号器64は情報源Xに対応する単射写像で表されており、ステップA9において無歪み符号器64は、符号化写像生成ブロックの符号語69を計算して復号器70に送信する。その後、ステップA10において、i番目のサブブロックの符号化写像生成ブロックを使用して、バッファ62内の最も古いデータを破棄してバッファ62を更新する。その後、iをインクリメントし(ステップA11)、ステップA12において、処理対象のブロック(入力データ65)がなくなったかどうかを判断するためにi=qk−Mkかどうかを判断し、i=qk−Mkならば処理を終了し、そうでなければステップA7へ戻る。
【0149】
下表に、アルゴリズムとして、以上説明したXを符号化する符号器での処理を詳細に示す。
【0150】
【表1】
Figure 0003774425
【0151】
次に、情報源Zを符号化する符号器(図3での符号器30Z)での処理を説明する。上述したようにこの符号器には、図6に示した本発明による符号器60が使用される。実際には、Zの符号化に用いられる符号器での処理とXの符号器に用いられる符号器での処理は、情報源がXであるかZであるかの違いを除けばほとんど同じである。
【0152】
符号器60は、
【0153】
【数58】
Figure 0003774425
【0154】
を持っているものとする。図8におけるステップB1〜B6は、符号器60のバッファ62及び復号器70のバッファ71を初期化するために符号器60で実施されるステップであり、初めてステップB8を実行する時点(i=0)では、符号器のバッファ62と復号器のバッファ71の内容が同一となる。ステップB7〜B12は、本発明の方法による符号化のステップである。
【0155】
下表に、アルゴリズムとして、以上説明したZを符号化する符号器での処理を詳細に示す。ここで、Xの符号器でのアルゴリズムとの本質的な相違点は、バッファの更新に[x(i)]1を用いていた代わりに[z(i)]2を用いている点である。これは、
【0156】
【数59】
Figure 0003774425
【0157】
の独立性を保つためである。
【0158】
【表2】
Figure 0003774425
【0159】
次に、Xの符号語とZの符号語とが入力してこれらを復号して出力する復号器(図3での復号器31)での処理を説明する。上述したようにこの復号器には、図7に示した本発明による復号器70が使用される。図9は復号化処理を説明するフローチャートである。
【0160】
最初に、
【0161】
【数60】
Figure 0003774425
【0162】
を次のように定義する。
【0163】
【数61】
Figure 0003774425
【0164】
復号器のバッファ71は、
【0165】
【数62】
Figure 0003774425
【0166】
で表されるXの符号器のバッファ62と、
【0167】
【数63】
Figure 0003774425
【0168】
で表されるZの符号器のバッファ62と、で構成されている。さらに復号器70は、データベース
【0169】
【数64】
Figure 0003774425
【0170】
を持っているとする。
【0171】
ステップC1〜C7は、バッファ71の初期化するために復号器70で実施されるステップであり、初めてステップC8を実行する時点(i=0)では、符号器60のバッファ62と復号器70のバッファ71の内容が同一となる。ステップC8〜C15は、本発明の方法による復号化のステップである。
【0172】
まず、ステップC1においてi←−Mkとし、ステップC2において情報源X,Zのそれぞれごとにバッファ71に符号器60のバッファ62で用いたものと同じ集合の元を用いて初期値を格納する。そして、ステップC3において、XとZについてのそれぞれのi番目のサブブロックについての符号語を各符号器60から受信し、これを復号する。ステップC4では、XとZについて正しく復号されたサブブロック(符号化写像生成ブロックに対応する部分)を用いてバッファ71を更新する。さらにステップC5においては、情報源ごとにそのときのiの値に関してデータベースに対応する項目がある場合に、データベースも更新する。その後、iをインクリメントし(ステップC6)、ステップC7においてi=0であるかどうかを判断し、i=0であればステップC8に移行するものとし、i<0であればステップC3に戻る。
【0173】
ステップC8において、復号化写像部72は、ステップC5またはステップC10〜C12においてバッファ71から計算されたデータベースを用いて、符号化対象ブロックの再生データ75を計算する。すなわち、情報源ごとに符号化対象ブロックの符号語68を受信し、これに、その情報源に応じた復号化写像を適用して結果を求め、それらの結果に応じてデータベースを検索して符号化対象ブロックの再生データ75を決定する。
【0174】
ステップC9において、無歪み復号器73は、Xの符号器においてステップA9で符号化された符号化写像生成ブロックの符号語69を受信して、符号化写像生成ブロック67を復号し、同様に、Zの符号器においてステップB9で符号化された符号化写像生成ブロックの符号語69を受信して、符号化写像生成ブロック67を復号する。これらは常に正しく復号される。
【0175】
ステップC10においては、ステップC11におけるバッファ71の更新に先立って、その更新に関係する項目をデータベースから削除し、ステップC11においては、XとZについての正しく復号された符号化写像生成ブロックを用いて、バッファ71内の最も古いデータを破棄してバッファ71の更新を行い、ステップC12では、バッファ71での更新値に基づいてデータベースの更新を行う。その後、ステップC13において、ブロック連結装置74は、ステップC8で得られた符号化対象ブロックの再生データ75とステップC9で得られた符号化写像生成ブロック67を連結して再生データ76を得る。続いて、iをインクリメントし(ステップC14)、ステップC15において、処理対象のブロックがなくなったかどうかを判断するためにi=qk−Mkかどうかを判断し、i=qk−Mkならば処理を終了し、そうでなければステップC8へ戻る。
【0176】
下表に、アルゴリズムとして、以上説明した復号器での処理を詳細に示す。
【0177】
【表3】
Figure 0003774425
【0178】
【表4】
Figure 0003774425
【0179】
次に、上述した多端子情報源符号化への応用の一例について説明する。
【0180】
全体の系列
【0181】
【数65】
Figure 0003774425
【0182】
に対する符号器の総符号長をそれぞれ
【0183】
【数66】
Figure 0003774425
【0184】
とする。そして、復号誤り文字数を
【0185】
【数67】
Figure 0003774425
【0186】
とする。
【0187】
その結果、X,Zを上述の条件(1)〜(3)を満たす相関のある定常無記憶情報源とする。このとき、次の性質が成り立つ。
【0188】
【数68】
Figure 0003774425
【0189】
《有歪み情報源符号化への応用》
次に、本実施形態による符号化・復号化方法を有歪み情報源符号化に適用した例を説明する。ここでは、情報源YをレートRYで符号化し復号後に生じる歪みを許容するものとする。システム構成としては、上述の図4に示したようなシステムを使用し、符号器40として図6に示した符号器60を使用し、復号器41として図7に示した復号器70を使用するものとする。
【0190】
ここでは、歪み関数を
【0191】
【数69】
Figure 0003774425
【0192】
として、
【0193】
【数70】
Figure 0003774425
【0194】
を仮定する。そして、
【0195】
【数71】
Figure 0003774425
【0196】
とする。
【0197】
【数72】
Figure 0003774425
【0198】
を満たす結合分布
【0199】
【数73】
Figure 0003774425
【0200】
を取る。そして、Zを周辺分布
【0201】
【数74】
Figure 0003774425
【0202】
と対応する確率変数としたとき、I(y;z)>0を満たしていると仮定する。
【0203】
以下では、
【0204】
【数75】
Figure 0003774425
【0205】
とする。
【0206】
【数76】
Figure 0003774425
【0207】
を次のように定義する。
【0208】
【数77】
Figure 0003774425
【0209】
【数78】
Figure 0003774425
【0210】
を辞書式順序に並べた順序を与える関数をそれぞれ
【0211】
【数79】
Figure 0003774425
【0212】
とする。
【0213】
そして関数
【0214】
【数80】
Figure 0003774425
【0215】
を以下のように定義する。
【0216】
【数81】
Figure 0003774425
【0217】
σkは、
【0218】
【数82】
Figure 0003774425
【0219】
の元を
【0220】
【数83】
Figure 0003774425
【0221】
個ずつ束にして割り当てた数字を
【0222】
【数84】
Figure 0003774425
【0223】
によって
【0224】
【数85】
Figure 0003774425
【0225】
の元に移し、
【0226】
【数86】
Figure 0003774425
【0227】
の元にはあらかじめ定めた
【0228】
【数87】
Figure 0003774425
【0229】
を割り当てる写像である。ここで、
【0230】
【数88】
Figure 0003774425
【0231】
は以後の解析に影響しない。
【0232】
k≡Mk+k2kとする。全体の系列長
【0233】
【数89】
Figure 0003774425
【0234】
に対して、
【0235】
【数90】
Figure 0003774425
【0236】
を重なりのない長さk+1のサブブロックに分割し、サブブロック
【0237】
【数91】
Figure 0003774425
【0238】
を次のように定義する。
【0239】
【数92】
Figure 0003774425
【0240】
【数93】
Figure 0003774425
【0241】
の要素を
【0242】
【数94】
Figure 0003774425
【0243】
桁の2進数で表記する写像をNYとし、その逆写像をNY -1とする。
【0244】
ここで符号器(図4での符号器40)での処理を説明する。上述したようにこの符号器には、図6に示した本発明による符号器60が使用される。図10は、符号化処理を説明するフローチャートである。
【0245】
符号器60は、
【0246】
【数95】
Figure 0003774425
【0247】
で表されるバッファ62を持っているものとする。ステップF1〜F6は、符号器60のバッファ62及び復号器70のバッファ71を初期化するために符号器60で実施されるステップであり、初めてステップF8を実行する時点(i=0)では、符号器のバッファ62と復号器のバッファ71の内容が同一となる。ステップF7〜F12は、本発明の方法による符号化のステップである。
【0248】
まず、ステップF1においてi←−Mkとし、ステップF2において情報源Yに対応する集合を用いてバッファ62の全てに適当な初期値を格納する。そして、ステップF3において、i番目のサブブロックについての符号語を復号器70に送り、ステップF4において、i番目のサブブロック(ただし符号化写像生成ブロックに対応する部分)を用いてバッファ62を更新する。その後、iをインクリメントし(ステップF5)、ステップF6においてi=0であるかどうかを判断し、i=0であればステップF7に移行するものとし、i<0であればステップF3に戻る。
【0249】
ステップF7において、ブロック分割装置61は入力データ65のブロックを符号化写像生成ブロック67と符号化対象ブロック66に分割し、ステップF8において、符号化写像部63は、情報源Yに対応した符号化写像を用いることにより、バッファ62の内容と符号化対象ブロック66とに基づいて、符号化対象ブロックの符号語68を計算し、復号器70に送信する。一方、無歪み符号器64は情報源Yに対応する単射写像で表されるから、ステップF9においてこの無歪み符号器64は、符号化写像生成ブロックの符号語69を計算して復号器70に送信する。その後、ステップF10において、i番目のサブブロックの符号化写像生成ブロックを使用して、バッファ62内の最も古いデータを破棄してバッファ62を更新する。その後、iをインクリメントし(ステップF11)、ステップF12において、処理対象のブロック(入力データ65)がなくなったかどうかを判断するためにi=qk−Mkかどうかを判断し、i=qk−Mkならば処理を終了し、そうでなければステップF7へ戻る。
【0250】
下表に、アルゴリズムとして、以上説明した符号器での処理を詳細に示す。
【0251】
【表5】
Figure 0003774425
【0252】
次に、復号器(図3での復号器31)での処理を説明する。上述したようにこの復号器には、図7に示した本発明による復号器70が使用される。図11は復号化処理を説明するフローチャートである。
【0253】
復号器のバッファ71は、
【0254】
【数96】
Figure 0003774425
【0255】
で表される符号器のバッファ62で構成されている。
【0256】
ステップG1〜G6は、バッファ71の初期化するために復号器70で実施されるステップであり、初めてステップG8を実行する時点(i=0)では、符号器60のバッファ62と復号器70のバッファ71の内容が同一となる。ステップG7〜G12は、本発明の方法による復号化のステップである。
【0257】
まず、ステップG1においてi←−Mkとし、ステップG2においてバッファ71に符号器60のバッファ62で用いたものと同じ集合の元を用いて初期値を格納する。そして、ステップG3において、i番目のサブブロックについての符号語を各符号器60から受信し、これを復号する。ステップG4では、正しく復号されたサブブロック(符号化写像生成ブロックに対応する部分)を用いてバッファ71を更新する。その後、iをインクリメントし(ステップG5)、ステップG6においてi=0であるかどうかを判断し、i=0であればステップG7に移行するものとし、i<0であればステップG3に戻る。
【0258】
ステップG7において、復号化写像部72は、符号器60のステップF8で符号化された符号化対象ブロックの符号語68を受信し、この符号語とバッファ71の内容とに基づいて、情報源Yの復号化写像を用い、符号化対象ブロックの再生データ75を計算する。ステップG8において、無歪み復号器73は、符号器60においてステップF9で符号化された符号化写像生成ブロックの符号語69を受信して、符号化写像生成ブロック67を復号する。これは常に正しく復号される。ステップG9において、正しく復号された符号化写像生成ブロックを用いて、バッファ71内の最も古いデータを破棄してバッファ71の更新を行う。その後、ステップG10において、ブロック連結装置74は、ステップG7で得られた符号化対象ブロックの再生データ75とステップG8で得られた符号化写像生成ブロック67を連結して再生データ76を得る。続いて、iをインクリメントし(ステップG11)、ステップG12において、処理対象のブロックがなくなったかどうかを判断するためにi=qk−Mkかどうかを判断し、i=qk−Mkならば処理を終了し、そうでなければステップG7へ戻る。
【0259】
下表に、アルゴリズムとして、以上説明した復号器での処理を詳細に示す。
【0260】
【表6】
Figure 0003774425
【0261】
次に、上述した有歪み情報源符号化への応用の一例について説明する。
【0262】
全体の系列
【0263】
【数97】
Figure 0003774425
【0264】
に対する符号器の総符号長を
【0265】
【数98】
Figure 0003774425
【0266】
とする。そして、復号の際に生じた歪みを
【0267】
【数99】
Figure 0003774425
【0268】
とする。このとき、次の性質が成り立つ。
【0269】
性質:I(Y;Z)>0を満たす任意の分布pYZを取れば、
【0270】
【数100】
Figure 0003774425
【0271】
ところで、レートと歪みはトレードオフの関係があり、最適な組合せは、レート歪み曲線と呼ばれる次の曲線上にある。
【0272】
【数101】
Figure 0003774425
【0273】
分布pYZをArimoto-Blahutのアルゴリズム(参考文献[3],[4])を用いて、(I(Y;Z),EYZρ(Y,Z))がレート歪み曲線(歪みレート曲線)上にあるように取れば、次の性質が成立する。
【0274】
性質:(I(Y;Z),EYZρ(Y,Z))がレート歪み曲線(歪みレート曲線)上にあるように分布pYZを取れば、本実施形態によるアルゴリズムは漸近的に最適な有歪符号となる。
【0275】
《復号器に部分補助情報を伴う情報源符号化への応用》
次に、本実施形態による符号化・復号化方法を復号器に部分補助情報を伴う情報源符号化に適用した例を説明する。ここでは、情報源Yを部分補助情報としてレートRYで復号器に送り、Yと相関のある情報源XをレートRXで復号器に送って再生するものとする。システム構成としては、上述の図5に示したようなシステムを使用し、符号器50X、50Yとして、それぞれ、図6に示した符号器60を使用して情報源X,Yの符号化を行わせ、復号器51として図7に示した復号器70を使用してXの復号を行わせるようにする。
【0276】
ここでは、次の条件1〜4を満たす同時確率分布
【0277】
【数102】
Figure 0003774425
【0278】
を用意する。
【0279】
【表7】
Figure 0003774425
【0280】
【数103】
Figure 0003774425
【0281】
を以下のように定義する。
【0282】
【数104】
Figure 0003774425
【0283】
全体の系列長
【0284】
【数105】
Figure 0003774425
【0285】
に対して、
【0286】
【数106】
Figure 0003774425
【0287】
を、それぞれ重なりのない長さk+2のサブブロックに分割する。サブブロック
【0288】
【数107】
Figure 0003774425
【0289】
を次のように定義する。
【0290】
【数108】
Figure 0003774425
【0291】
【数109】
Figure 0003774425
【0292】
についても上記と同様に定義する。
【0293】
【数110】
Figure 0003774425
【0294】
の要素を
【0295】
【数111】
Figure 0003774425
【0296】
桁の2進数で表記する写像をNXとし、その逆写像をNX -1とする。
【0297】
【数112】
Figure 0003774425
【0298】
の要素を
【0299】
【数113】
Figure 0003774425
【0300】
桁の2進数で表記する写像をNYとし、その逆写像をNY -1とする。
【0301】
ここで、情報源Xを符号化する符号器(図5での符号器50X)での処理を説明する。上述したようにこの符号器には、図6に示した本発明による符号器60が使用される。図12は、符号化処理を説明するフローチャートである。
【0302】
上記と同様に、
【0303】
【数114】
Figure 0003774425
【0304】
を定義する。Xの符号器は、Slepian-Wolfの符号器とほとんど同じである。
【0305】
符号器は、
【0306】
【数115】
Figure 0003774425
【0307】
で表されるバッファ62を持っているものとする。ステップP1〜P6は、符号器60のバッファ62及び復号器70のバッファ71を初期化するために符号器60で実施されるステップであり、初めてステップP8を実行する時点(i=0)では、符号器のバッファ62と復号器のバッファ71の内容が同一となる。ステップP7〜P12は、本発明の方法による符号化のステップである。
【0308】
まず、ステップP1においてi←−Mkとし、ステップP2において情報源Xに対応する集合を用いてバッファ62の全てに適当な初期値を格納する。そして、ステップP3において、i番目のサブブロックについての符号語を復号器70に送り、ステップP4において、i番目のサブブロック(ただし符号化写像生成ブロックに対応する部分)を用いてバッファ62を更新する。その後、iをインクリメントし(ステップP5)、ステップP6においてi=0であるかどうかを判断し、i=0であればステップP7に移行するものとし、i<0であればステップP3に戻る。
【0309】
ステップP7において、ブロック分割装置61は入力データ65のブロックを符号化写像生成ブロック67と符号化対象ブロック66に分割し、ステップP8において、符号化写像部63は、情報源Xに対応した符号化写像を用いることにより、バッファ62の内容と符号化対象ブロック66とに基づいて、符号化対象ブロックの符号語68を計算し、復号器70に送信する。一方、情報源Xに対応する単射写像で表される無歪み符号器64は、ステップP9において、符号化写像生成ブロックの符号語69を計算して復号器70に送信する。その後、ステップP10において、i番目のサブブロックの符号化写像生成ブロックを使用して、バッファ62内の最も古いデータを破棄してバッファ62を更新する。その後、iをインクリメントし(ステップP11)、ステップP12において、処理対象のブロック(入力データ65)がなくなったかどうかを判断するためにi=qk−Mkかどうかを判断し、i=qk−Mkならば処理を終了し、そうでなければステップP7へ戻る。
【0310】
下表に、アルゴリズムとして、以上説明した情報源Xを符号化する符号器での処理を詳細に示す。
【0311】
【表8】
Figure 0003774425
【0312】
次に、部分補助情報源Yを符号化する符号器(図5での符号器50Y)での処理を説明する。上述したようにこの符号器には、図6に示した本発明による符号器60が使用される。実際には、この符号器での処理は、上述した有歪み情報源符号化での符号器での処理と、ほとんど同じである。図13は復号化処理を説明するフローチャートである。
【0313】
有歪み情報源符号化の場合と同様に、
【0314】
【数116】
Figure 0003774425
【0315】
を定義し、さらに、
【0316】
【数117】
Figure 0003774425
【0317】
を次のように定義する。
【0318】
【数118】
Figure 0003774425
【0319】
符号器60は、
【0320】
【数119】
Figure 0003774425
【0321】
で表されるバッファ62を持っているものとする。ステップQ1〜Q6は、符号器60のバッファ62を初期化するために符号器60で実施されるステップであり、初めてステップQ8を実行する時点(i=0)では、符号器のバッファ62と復号器のバッファ71の内容が同一となる。ステップQ7〜Q12は、本発明の方法による符号化のステップである。
【0322】
まず、ステップQ1においてi←−Mkとし、ステップQ2において部分補助情報源Yに対応する集合を用いてバッファ62の全てに適当な初期値を格納する。そして、ステップQ3において、i番目のサブブロックについての符号語を復号器70に送り、ステップQ4において、i番目のサブブロックを用いてバッファ62を更新する。その後、iをインクリメントし(ステップQ5)、ステップQ6においてi=0であるかどうかを判断し、i=0であればステップQ7に移行するものとし、i<0であればステップQ3に戻る。
【0323】
ステップQ7において、ブロック分割装置61は入力データ65のブロックを符号化写像生成ブロック67と符号化対象ブロック66に分割し、ステップQ8において、符号化写像部63は、部分補助情報源Yに応じた符号化写像を用いることにより、バッファ62の内容と符号化対象ブロック66とに基づいて、符号化対象ブロックの符号語68を計算し、復号器70に送信する。一方、ステップQ9において、部分補助情報源Yに対応する単射写像で表される無歪み符号器64は、符号化写像生成ブロックの符号語69を計算して復号器70に送信する。その後、ステップQ10において、i番目のサブブロックを使用して、バッファ62内の最も古いデータを破棄してバッファ62を更新する。その後、iをインクリメントし(ステップQ11)、ステップQ12において、処理対象のブロック(入力データ65)がなくなったかどうかを判断するためにi=qk−Mkかどうかを判断し、i=qk−Mkならば処理を終了し、そうでなければステップQ7へ戻る。
【0324】
下表に、アルゴリズムとして、以上説明した部分補助情報源Yを符号化する符号器での処理を詳細に示す。
【0325】
【表9】
Figure 0003774425
【0326】
次に、復号器(図3での復号器31)での処理を説明する。上述したようにこの復号器には、図7に示した本発明による復号器70が使用される。図14は復号化処理を説明するフローチャートである。
【0327】
【数120】
Figure 0003774425
【0328】
を次のように定義する。
【0329】
【数121】
Figure 0003774425
【0330】
復号器70のバッファ71は、
【0331】
【数122】
Figure 0003774425
【0332】
で表されるXの符号器のバッファ62と、
【0333】
【数123】
Figure 0003774425
【0334】
で表されるYの符号器のバッファ62と、で構成される。さらに復号器70は、データベース
【0335】
【数124】
Figure 0003774425
【0336】
を持っているとする。このデータベースは情報源Xに関するものである。
【0337】
ステップR1〜R7は、バッファ71の初期化するために復号器70で実施されるステップであり、初めてステップR8を実行する時点(i=0)では、符号器60のバッファ62と復号器70のバッファ71の内容が同一となる。ステップR8〜R15は、本発明の方法による復号化のステップである。
【0338】
まず、ステップR1においてi←−Mkとし、ステップR2において、情報源X及び部分補助情報源Yの双方に関しバッファ71に符号器60のバッファ62で用いたものと同じ集合の元を用いて初期値を格納する。そして、ステップR3において、XとYについてのそれぞれのi番目のサブブロックについての符号語を各符号器60から受信し、これを復号する。ステップR4では、XとYについて正しく復号されたサブブロックを用いてバッファ71を更新する。さらにステップR5においては、そのときのiの値に関して情報源Xについてのデータベースに対応する項目がある場合に、そのデータベースも更新する。その後、iをインクリメントし(ステップR6)、ステップR7においてi=0であるかどうかを判断し、i=0であればステップR8に移行するものとし、i<0であればステップR3に戻る。
【0339】
ステップR8において、復号化写像部72は、ステップR5またはステップR10〜R12においてバッファ71から計算されたデータベースを用いて、符号化対象ブロックの再生データ75を計算する。すなわち、情報源Xと部分補助情報源Yのそれぞれの符号化対象ブロックの符号語68を受信し、これに、それぞれに応じた復号化写像を適用して結果を求め、Xについての結果に応じてデータベースを検索し、これらから符号化対象ブロックの再生データ75を決定する。
【0340】
ステップR9において、無歪み復号器73は、Xの符号器においてステップP9で符号化された符号化写像生成ブロックの符号語69を受信して、符号化写像生成ブロック67を復号し、同様に、Yの符号器においてステップQ9で符号化された符号化写像生成ブロックの符号語69を受信して、符号化写像生成ブロック67を復号する。これらは常に正しく復号される。
【0341】
ステップR10においては、ステップR11におけるバッファ71の更新に先立って、その更新に関係する項目を情報源Xについてのデータベースから削除し、ステップR11においては、XとYについての正しく復号された符号化写像生成ブロックを用いて、バッファ71内の最も古いデータを破棄してバッファ71の更新を行い、ステップR12では、バッファ71での更新値に基づいて情報源Xについてのデータベースの更新を行う。その後、ステップR13において、ブロック連結装置74は、ステップR8で得られた符号化対象ブロックの再生データ75とステップR9で得られた符号化写像生成ブロック67を連結して再生データ76を得る。続いて、iをインクリメントし(ステップR14)、ステップR15において、処理対象のブロックがなくなったかどうかを判断するためにi=qk−Mkかどうかを判断し、i=qk−Mkならば処理を終了し、そうでなければステップR8へ戻る。
【0342】
下表に、アルゴリズムとして、以上説明した復号器での処理を詳細に示す。
【0343】
【表10】
Figure 0003774425
【0344】
【表11】
Figure 0003774425
【0345】
次に、上述した復号器に部分補助情報を伴う情報源符号化への応用の一例について説明する。
【0346】
全体の系列
【0347】
【数125】
Figure 0003774425
【0348】
に対するXの符号器の総符号長とYの符号器の総符号長とをそれぞれ
【0349】
【数126】
Figure 0003774425
【0350】
する。そして、復号誤り文字数を
【0351】
【数127】
Figure 0003774425
【0352】
とする。このとき、次の性質が成り立つ。
【0353】
性質:X,Yを相関のある定常無記憶情報源として、同時分布pXYZは上述の条件1〜4を満たしているとする。このとき、
【0354】
【数128】
Figure 0003774425
【0355】
一般に、最適なRXとRYの選択にはトレードオフの関係があり、双方を自由に小さくすることはできない。最適な(RX,RY)は、以下の関数の曲線上にある。
【0356】
【数129】
Figure 0003774425
【0357】
ここでinfの中のpXYZは、条件1〜4のうちの条件1〜3を満たしているものとする。
【0358】
このとき、次の性質が成り立つ。
【0359】
性質:RX>0,RY>0に対して(H(X|Z),I(Y;Z))が曲線RX(RY),RY(RX)上にあるように分布pXYZを取れば、本実施形態のアルゴリズムは漸近的に最適な復号器に部分情報を伴う情報源符号化アルゴリズムとなる。
【0360】
なお、既知の分布μXYから上記曲線上にあるpXYZを見つける方法として、参考文献[5]による近似解法がある。
【0361】
以上説明した本発明の手法による符号器と復号器とは、いずれも、それらを実現するためのコンピュータプログラムをマイクロプロセッサなどのコンピュータに読み込ませ、そのプログラムを実行させることによっても実現できる。本発明の手法によってデータの符号化や復号化を行うためのプログラムは、CD−ROMやフラッシュメモリなどの記録媒体によって、コンピュータに読み込まれる。
【0362】
このようなコンピュータは、一般に、CPU(中央処理装置)と、プログラムやデータを格納するためのハードディスク装置あるいは不揮発性メモリなどの外部記憶装置と、主メモリと、キーボードやマウスや各種スイッチなどの入力装置と、CRTや各種表示ランプなどの表示装置と、CD−ROMやフラッシュメモリなどの記録媒体を読み取る読み取り装置と、入力データを受け付けるともに符号語などを復号器に送信するために使用される(符号器を構成する場合)、あるいは符号語などを符号器から受け付けるとともに再生データを出力するために使用される(復号器を構成する場合)インタフェースと、を備えている。外部記憶装置、主メモリ、入力装置、表示装置、読み取り装置及びインタフェースは、いずれもCPUに接続している。このコンピュータでは、上述した符号化手順あるいは復号化手順を行うためのプログラムを格納した記録媒体を読み取り装置に装着し、記録媒体からプログラムを読み出して外部記憶装置に格納し、外部記憶装置に格納されたプログラムをCPUが実行することにより、上述した符号器あるいは復号器として機能して上述の符号化手順あるいは復号化手順が実行される。
【0363】
【発明の効果】
以上述べたように本発明は、入力データを分割してそれぞれ別の符号化を行い、分割されたデータの一方を符号化写像の構成に利用することにより、従来のシステムでは実現できなかった、復号誤りを許す符号化にも適用でき、過去の系列の乱雑さを利用した符号化効率の良い符号化システムを実現できる、という効果がある。
【図面の簡単な説明】
【図1】ビッツバック符号器の構成を示すブロック図である。
【図2】ビッツバック復号器の構成を示すブロック図である。
【図3】多端子情報源符号化によるシステムの構成を示すブロック図である。
【図4】有歪み情報源符号化によるシステムの構成を示すブロック図である。
【図5】復号器に部分補助情報を伴う情報源符号化によるシステムの構成を示すブロック図である。
【図6】本発明に基づく符号化方法を実行する符号器の構成を示すブロック図である。
【図7】本発明に基づく復号化方法を実行する復号器の構成を示すブロック図である。
【図8】多端子情報源符号化に適用した場合の符号化手順を説明するフローチャートである。
【図9】多端子情報源符号化に適用した場合の復号化手順を説明するフローチャートである。
【図10】有歪み情報源符号化に適用した場合の符号化手順を説明するフローチャートである。
【図11】有歪み情報源符号化に適用した場合の復号化手順を説明するフローチャートである。
【図12】復号器に部分補助情報を伴う情報源符号化に適用した場合の情報源の符号化手順を説明するフローチャートである。
【図13】復号器に部分補助情報を伴う情報源符号化に適用した場合の部分補助情報源の符号化手順を説明するフローチャートである。
【図14】復号器に部分補助情報を伴う情報源符号化に適用した場合の復号化手順を説明するフローチャートである。
【符号の説明】
10、30X、30Z、40、50X、50Y、60 符号器
11、21、62、71 バッファ
12、22 符号語選択装置
13 算術復号器
14 多値情報源符号器
15、65 入力データ
20、31、41、51、70 復号器
23 算術符号器
24 多値情報源復号器
25、76 再生データ
61 ブロック分割装置
63 符号化写像部
64 無歪み符号器
66 符号化対象ブロック
67 符号化写像生成ブロック
68 符号化対象ブロックの符号語
69 符号化写像生成ブロックの符号語
72 復号化写像部
73 無歪み復号器
74 ブロック連結装置
75 符号化対象ブロックの再生データ[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a data encoding / decoding method and apparatus used in communication that guarantees a given quality standard, and in particular, data that achieves the shortest possible code length by using the randomness of past sequences. The present invention relates to an encoding / decoding method and apparatus.
[0002]
[Prior art]
In data communication, various data encoding / decoding methods and apparatuses that perform information source encoding are used to compress the amount of data transferred over a communication network and reduce the bandwidth required for the transfer. Yes.
[0003]
One such information source coding is a technique called “bitsback coding with feedback”. Hereinafter, a conventional coding system using “bitsback coding with feedback” will be described. FIG. 1 shows an outline of a configuration of an encoder that performs Bitsback encoding with feedback, and FIG. 2 shows an outline of a configuration of a decoder used in a pair with the encoder.
[0004]
As shown in FIG. 1, the encoder 10 includes a buffer 11, a codeword selection device 12, an arithmetic decoder 13, and a multilevel information source encoder 14. Here, an appropriate initial value is stored in the buffer 11 in advance. In the encoding by this encoder, first, the code word selection device 12 performs a predetermined conditional probability distribution on the input data 15 v.
[0005]
[Expression 1]
Figure 0003774425
[0006]
Is transmitted to the arithmetic decoder 13. Next, the arithmetic decoder 13 takes out the oldest data stored in the buffer 11, and based on this, the distribution {Q (h | v)} given from the codeword selector 12h HAnd the converted data h is transmitted to the multi-level information source encoder 14. The extracted data is deleted from the buffer 11. Next, the multilevel information source encoder 14 gives a variable-length symbol string to the input (v, h) (input data 15 v and h output from the arithmetic decoder), and buffers it. 11. The multi-level information source encoder 14 receives a variable-length symbol string (which is expressed as b) for a pair of inputs (v, h).*B), it is described by a bijective map that gives*On the other hand, if there is a corresponding (v, h), it is uniquely determined. The above operation is performed on a predetermined number of input data, and when there is no input data, the data remaining in the buffer 11 is transmitted to the decoder 20 (see FIG. 2).
[0007]
As shown in FIG. 2, the decoder 20 includes a buffer 21, a codeword selection device 22, an arithmetic decoder 23, and a multilevel information source decoder 24. Here, as the initial state of the buffer 21, the state of the buffer 11 of the encoder 10 at the time when the operation of the partner encoder 10 is completed is given. The data freshness in the buffer 21 is determined by the time stored in the buffer 11. The multi-level information source decoder 24 executes the inverse mapping of the mapping in the multi-level information source encoder 14, and a variable length symbol string b.*(V, h) that is uniquely determined is output.
[0008]
When performing decoding, first, the multilevel information source decoder 24 takes out the newest data in the buffer 21 and outputs (v, h) from this. Of the data output from the multilevel information source decoder 24, v is also output to the outside as reproduced data 25. The extracted data is deleted from the buffer 21. Among (v, h), h is transmitted to the arithmetic encoder 23. v is output as reproduction data 25 and is also transmitted to the codeword selection device 22. The code word selection device 22 performs a predetermined conditional probability distribution {Q (h | v)} for the input data v.h HIs transmitted to the arithmetic encoder 23. The arithmetic encoder 23 uses the distribution {Q (h | v)} given from the codeword selector 22 based on v sent from the multilevel information source decoder 24.h HAssuming that The converted data is stored in the buffer 21. The above operation is performed a predetermined number of times. In this way, the reproduction data 25 is obtained sequentially, but the reproduction data 25 is output as a time series in reverse order to the input data 15.
[0009]
The conventional encoding device and decoding device shown in FIGS. 1 and 2 are described in detail in Reference [1], pp. 104-128.
[0010]
In addition, as a reference regarding this technical field, for example,
[1] B. J. Frey, Graphical models for machine learning and digital communication, MIT Press, 1998.
[2] J. Rissanen and G. G. Langdon, "Arithmetic coding," IBM Journal of Research and Development, vol. 23, pp. 149-162, 1976.
[3] S. Arimoto, "An algorithm for calculating the capacity of an arbitrary discrete memoryless channel," IEEE Trans. Inform. Theory, vol. IT-18, pp. 14-20, Jan. 1972.
[4] R. E. Blahut, "Comptation of channel capacity and rate-distortion functions," IEEE Trans. Inform. Theory, vol. IT-18, pp. 460-473, Jul. 1972.
[5] N. Tishby, F. C. Pereira, and W. Bialek, "The information bottleneck method," Proc. Of the 37-th Annual Allerton Conference on Comunication, Control and Computing, pp. 368-377, 1999.
[0011]
[Problems to be solved by the invention]
In the conventional coding system described above, the multilevel information source encoder 14 in the encoder 10 and the multilevel information source decoder 24 in the decoder 20 are in a reverse mapping relationship with each other. Since the arithmetic decoder 13 and the arithmetic encoder 23 in the decoder 20 are in inverse mapping relation to each other, the state of the decoder buffer 21 is completely the same as the state of the encoder buffer 11 in the reverse order. Reproduce. Therefore, the conventional coding system described above is based on the premise that there is no distortion (data discrepancy) between the input data and the reproduction data, and the operation when the distortion is allowed between the input data and the reproduction data is guaranteed. It has not been.
[0012]
However, in order to realize a shorter codeword length, it may be necessary to allow distortion between input data and reproduced data. For example, in multi-terminal information source coding, distortion information source coding, and information source coding with partial auxiliary information in the decoder as described below, it is necessary to allow distortion between input data and reproduction data. There is.
[0013]
Multi-terminal source coding:
In multi-terminal information source coding, a plurality of input data located at different locations are encoded using different encoders, and the decoder reproduces a set of input data based on these codewords. FIG. 3 shows that the two input data X and Z are each given a rate RX, RZRepresents an encoding device. That is, fX, FZRespectively represented by encoders 30X, 30ZThe codewords from these are input to the decoder 31 represented by g, and an input data set (X, Z) is output. Here, X and Z are random variables representing input data or reproduction data. H (X | Z) and H (Z | X) are conditional entropies, and H (XZ) is entropy, both of which represent the lower limit of the encoding rate achieved by the algorithm. In this multi-terminal information source coding system, RX≧ H (X | Z), RZ≧ H (Z | X), RX+ RZThe relationship of ≧ H (XZ) is established. In multi-terminal information source coding, it is desirable that the distortion between input data and reproduction data is as small as possible, and the coding rate of each encoder is as small as possible.
[0014]
Distorted source coding:
In the distortion information source encoding, encoding is performed so as to make the encoding rate as small as possible after allowing a predetermined distortion that can be measured by the distortion measure ρ between the input data Y and the reproduction data Z. . FIG. 4 shows that input data Y is rate RYAnd the distortion between the reproduction data Z is EYZThis represents a device that is equal to or less than ρ (Y, Z) (E represents an average). That is, fYThe code word from now is input to the decoder 41 represented by g, and the reproduction data Z is obtained. Here, Y is a random variable representing input data, Z is a random variable representing reproduced data, I (Y; Z) is a mutual information amount, that is, an encoding rate achieved by the algorithm, and EYZρ (Y, Z) is the average distortion achieved by the algorithm.
[0015]
Source coding with partial auxiliary information in the decoder:
In the information source encoding with partial auxiliary information in the decoder, the input data X is reproduced on the assumption that another information Y can be used in the decoder. FIG. 5 shows an apparatus for reproducing X by encoding auxiliary information Y at a rate I (Y; Z) and encoding input data X at a rate H (X | Z). Assuming that X and Y are random variables representing input data or output data, and Z is a random variable given in advance, fX, FYRespectively represented by encoders 50X, 50YThe encoder 50 is provided.XCodewords are output at conditional entropy H (X | Z), that is, at the code rate achieved by the algorithm.YCodewords are output at mutual information I (Y; Z), that is, at a coding rate achieved by the algorithm, and a decoder 51 represented by g outputs reproduction data based on these codewords. Here again, it is desirable to reduce the distortion between the input data and the reproduction data as much as possible and to make the encoding rate of each encoder as small as possible.
[0016]
The present invention has been made in view of the drawbacks of the above-described conventional system, and enables data encoding / encoding that can realize a smaller encoding rate by enabling encoding that allows distortion. An object is to provide a decoding method and apparatus.
[0017]
[Means for Solving the Problems]
  The data encoding method of the present invention is a method for encoding input data, and a step of dividing one block of input data divided into a plurality of blocks into an encoding map generation block and an encoding target block; , Encoder bufferEncoded map generation block stored inAnd obtaining a codeword of the encoding target block using the encoding mapping from the encoding target block, and obtaining a codeword of the encoding mapping generation block using the encoding mapping generation block by a distortion-free encoder, Discarding the oldest encoded map generation block remaining in the encoder buffer, accumulating the encoded map generation block in the encoder buffer, and repeatedly executing each of these steps until there are no more blocks; Have
[0018]
  The data decoding method of the present invention is a decoding method for acquiring reproduction data from, for example, a codeword of a block to be encoded generated as described above and a codeword of an encoded mapping generation block. The code word of the target block is extracted, and the code word of the target block and the decoder bufferEncoded map generation block stored inAnd a step of obtaining reproduction data of a block to be encoded by decoding mapping, a step of obtaining a code word of the encoding mapping generation block and obtaining an encoding mapping generation block by a distortion-free decoder, and a decoder buffer A step of discarding the remaining old encoded map generation block, newly storing the decoded encoded map generation block in the decoder buffer, and connecting the reproduction data of the encoding target block and the decoded encoded map generation block; A step of outputting, and a step of repeatedly executing each of these steps until all codewords are exhausted.
[0019]
A data encoding apparatus according to the present invention is a data encoding apparatus that encodes input data, and divides each block of the input data divided into a plurality of blocks into an encoded map generation block and an encoding target block. A block division device, an encoder buffer for temporarily storing an encoded map generation block, and an encoded map for obtaining a codeword of the target block using the encoded map from the content of the encoder buffer and the target block for encoding And an undistorted encoder that obtains a codeword of the encoded map generation block from the encoded map generation block, and the oldest encoded map generation in the encoder buffer each time a new encoded map generation block is input The block is discarded and the new encoded map generation block is stored in the encoder buffer.
[0020]
The data decoding apparatus of the present invention
A data decoding device for acquiring reproduction data from a codeword of a coding target block and a codeword of a coded map generation block, a decoder buffer for temporarily storing the codeword of the coded map generation block; A decoding mapping unit that extracts a code word of a block to be encoded and obtains reproduction data of the block to be encoded by decoding mapping based on the code word of the block to be encoded and the contents of the decoder buffer; A distortion-free decoder that extracts a code word of the generated block and obtains an encoded mapping generation block; and a block concatenation apparatus that connects the reproduced data of the encoding target block and the decoded encoded mapping generation block and outputs the result. Each time a new encoded map generation block is decoded, the oldest encoded map generation block is discarded in the decoder buffer and the new encoding is generated. Image generation block is accumulated in the decoder buffer.
[0021]
In order to achieve an optimal encoding rate, codes are randomly configured. In this case, synchronized random numbers are required between the encoder and the decoder. Therefore, in the present invention, in order to obtain a random number, a part of a sequence encoded in the past is stored in a buffer, and the code is randomly constructed therefrom. Furthermore, in order to synchronize the random numbers, when the observation data is encoded, it is divided into two, “encoding target block” and “encoded mapping generation block”, and separate encoding is performed.
[0022]
The difference between the encoding / decoding method according to the present invention and the conventional method is as follows.
[0023]
In the conventional method, all of the codewords are stored in the buffer. However, in the present invention, the input data is divided into data to be efficiently encoded and data to be stored in the buffer, and encoded separately. Encoding that allows distortion with a smaller encoding rate is realized.
[0024]
Also, in the conventional method, the content of the buffer is encoded without distortion using a fixed encoding map / decoding map (in the conventional method, a multi-level information source encoder / multi-level information source decoder is applicable). However, in the present invention, the encoding mapping / decoding mapping is dynamically changed using the contents of the buffer, thereby realizing encoding that allows distortion with a smaller encoding rate.
[0025]
DETAILED DESCRIPTION OF THE INVENTION
Next, a preferred embodiment of the present invention will be described with reference to the drawings. FIG. 6 is a block diagram showing a configuration of an encoding device (encoder) in the encoding / decoding device according to the embodiment of the present invention, and FIG. 7 is used in combination with the encoding device of FIG. It is a block diagram which shows the structure of the decoding apparatus (decoder). In the following description, in order to make the explanation easy to understand, a single information source output is described. However, in practice, the operations described below are performed for a plurality of information source outputs.
[0026]
The encoder 60 shown in FIG. 6 receives input data 65, divides the input data 65 into blocks, and divides each block into an encoding target block 66 and an encoded map generation block 67, and an encoding A buffer 62 (that is, an encoder buffer) for temporarily storing the mapping generation block 67, and a coding map for calculating and outputting a code word 68 of the coding target block based on the contents of the buffer 62 and the coding target block 66 And a non-distortion encoder 64 that calculates and outputs a code word 69 of the encoded map generation block from the encoded map generation block 67. Here, the encoding mapping unit 63 executes encoding mapping as will be described later, and the distortion-free encoder 64 is represented by a bijection mapping. The buffer 62 stores appropriate initial values.
[0027]
Next, the operation of the encoder 60 will be described. First, the block dividing device 61 divides the input data 65 into blocks, and divides each block into an encoding target block 66 and an encoded mapping generation block 67. Next, the encoding mapping unit 63 reads the contents of the buffer 62, encodes the encoding target block 66 using the encoding mapping according to the information source, and outputs the code word 68 of the encoding target block. Is transmitted to the decoder 70 shown in FIG. The distortionless encoder 64 encodes the encoded map generation block 67 and outputs an encoded map generation block codeword 69, which is transmitted to the decoder 70. Finally, the buffer 62 discards the oldest recorded data and records the encoded map generation block 67 sent from the block dividing device 61. These processes are repeatedly executed until there is no block to be processed in the input data.
[0028]
When actually configuring an encoding / decoding system, a necessary number of encoders 60 as described above are prepared.
[0029]
Next, the decoder 70 will be described. The decoder 70 shown in FIG. 7 can receive the code word 68 of the encoding target block and the code word 69 of the encoded mapping generation block from each of the plurality of encoders 60. Of course, the code word 68 of the encoding target block and the code word 69 of the encoded mapping generation block may be input to the decoder 70 only from the single encoder 60. Then, the decoder 70 obtains reproduction data 75 of the encoding target block by decoding mapping based on the buffer (that is, decoder buffer) 71, the code word 68 of the encoding target block, and the contents of the buffer 71. The unit 72, the distortion-free decoder 73 for reproducing the code word 69 of the encoded map generation block to obtain the encoded map generation block 67, the reproduction data 75 of the encoding target block and the encoded map generation block 67 are connected. And a block connecting device 74 for obtaining reproduction data 76. Here, the distortion-free decoder 73 is a collection of inverse mappings of mappings represented by the distortion-free encoder 64 of each encoder 60 shown in FIG. The buffer 71 is configured as an aggregate of buffers 62 corresponding to the encoders 60. The same initial values as the buffers 62 of the encoders are stored. After the initial values are stored, the distortion-free decoding is performed. The encoded map generation block 67 input from the device 73 is stored. Actually, as will be described later, the initial value stored in the buffer 62 of the encoder 60 and the initial value stored in the buffer 71 of the decoder 70 are matched between the encoder 60 and the decoder 70. Initialization processing is performed.
[0030]
  Next, the operation of the decoder 70 will be described. The decoding mapping unit 72 reads the contents of the buffer 71, receives the codeword 68 of the block to be encoded from each encoder 60 as shown in FIG. 6, and uses these to decode the block to be encoded by decoding mapping. Playback data 75 is output. On the other hand, the distortionless decoder 73 receives the encoded map generation block codeword 69 from each encoder 60, and reproduces the encoded map generation block 67 of each encoder 60 from these. Subsequently, the block concatenation device 74 concatenates the reproduction data 75 of the encoding target block and the encoded map generation block 67 sent from the distortion-free decoder, to obtain reproduction data 76. Finally, the buffer 71 discards the oldest recorded data, and the code sent from the undistorted decoder 73Conversion mapA generation block 67 is recorded.
[0031]
In the following, the encoding / decoding method and apparatus of the present invention will be described in the case of applying each of multi-terminal information source encoding, distortion information source encoding, and information source encoding with partial auxiliary information to the decoder. This will be described in more detail. First, the symbols appearing in the following explanation will be explained.
[0032]
set
[0033]
[Expression 2]
Figure 0003774425
[0034]
The complementary set and the number of elements
[0035]
[Equation 3]
Figure 0003774425
[0036]
Write, set
[0037]
[Expression 4]
Figure 0003774425
[0038]
The difference set of
[0039]
[Equation 5]
Figure 0003774425
[0040]
Write. set
[0041]
[Formula 6]
Figure 0003774425
[0042]
Is a finite set,
[0043]
[Expression 7]
Figure 0003774425
[0044]
And
[0045]
[Equation 8]
Figure 0003774425
[0046]
The i th element of xiOr [xn]i. Xn≡x1* ... * xnFor xi j≡xi* ... * xjAnd The operation that gives the concatenation of character strings is *. For example, xn= (X1, ..., xn), Ym= (Y1, ..., ym) For xn* Ym≡ (x1, ..., xn, y1, ..., ym). Encoder
[0047]
[Equation 9]
Figure 0003774425
[0048]
, Decoder
[0049]
[Expression 10]
Figure 0003774425
[0050]
, D (xn) Is defined as follows.
[0051]
## EQU11 ##
Figure 0003774425
[0052]
This is the series xnAnd regenerated series φn -1n(xn)) Represents the number of different characters.
[0053]
[Expression 12]
Figure 0003774425
[0054]
The
[0055]
[Formula 13]
Figure 0003774425
[0056]
The binary representation in digits and its inverse map, respectively,
[0057]
[Expression 14]
Figure 0003774425
[0058]
Is described. Similarly,
[0059]
[Expression 15]
Figure 0003774425
[0060]
The
[0061]
[Expression 16]
Figure 0003774425
[0062]
The binary representation in digits and its inverse map, respectively,
[0063]
[Expression 17]
Figure 0003774425
[0064]
Is described.
[0065]
[Formula 18]
Figure 0003774425
[0066]
Given a random variable X of values, the corresponding probability distributionXWrite. Also
[0067]
[Equation 19]
Figure 0003774425
[0068]
Write. X entropy H (X)
[0069]
[Expression 20]
Figure 0003774425
[0070]
It is defined as The combined entropy of X and Y is H (XY), and the conditional entropy of X when Y is given is H (X | Y) ≡H (XY) -H (Y), and the mutual information of X and Y is Let I (X; Y) ≡H (X) + H (Y) −H (XY).
[0071]
[Expression 21]
Figure 0003774425
[0072]
The divergence D (ν‖μ) of the above probability distribution ν and μ is defined as follows.
[0073]
[Expression 22]
Figure 0003774425
[0074]
[Expression 23]
Figure 0003774425
[0075]
Distribution from experience
[0076]
[Expression 24]
Figure 0003774425
[0077]
Is defined as follows.
[0078]
[Expression 25]
Figure 0003774425
[0079]
this is,
[0080]
[Equation 26]
Figure 0003774425
[0081]
Is the series xnIt means to express the appearance frequency of a.
[0082]
[Expression 27]
Figure 0003774425
[0083]
Conditional experience distribution obtained from
[0084]
[Expression 28]
Figure 0003774425
[0085]
Any
[0086]
[Expression 29]
Figure 0003774425
[0087]
Against
[0088]
[30]
Figure 0003774425
[0089]
Defined as a conditional probability distribution that satisfies This is yi= I such that = b and xi= Represents the frequency of i for which a holds.
[0090]
For a real number 0 <α <∞, γ> 0 and a natural number k, ζ (α, γ) and λ (α, k) are defined as follows. These are used to simplify the formula description.
[0091]
[31]
Figure 0003774425
[0092]
Let i% n, 0 ≦ i% n ≦ n−1 be the remainder of dividing i by n. Note that i may be expressed in binary.
<Application to multi-terminal source coding>
Here, an example in which the encoding / decoding method according to the present embodiment is applied to multi-terminal information source encoding will be described. A plurality of correlated information sources X and Z, each with a rate RX, RZAre independently encoded and sent to the decoder, and the decoder decodes X and Z. As a system configuration, the system as shown in FIG.X, 30Z6 to encode the information sources X and Y using the encoder 60 shown in FIG. 6, and to decode the X and Y using the decoder 70 shown in FIG. To do.
[0093]
Below,
[0094]
[Expression 32]
Figure 0003774425
[0095]
And the following definitions are used:
[0096]
[Expression 33]
Figure 0003774425
[0097]
[Expression 34]
Figure 0003774425
[0098]
Is defined as follows.
[0099]
[Expression 35]
Figure 0003774425
[0100]
And
[0101]
[Expression 36]
Figure 0003774425
[0102]
When given an appropriate order
[0103]
[Expression 37]
Figure 0003774425
[0104]
Number
[0105]
[Formula 38]
Figure 0003774425
[0106]
.
[0107]
[39]
Figure 0003774425
[0108]
As a method for easily calculating, an algorithm of an arithmetic code (see reference [2]) and the like can be mentioned. Actually, the arrangement order does not affect the performance analysis, and can be arbitrarily set. function
[0109]
[Formula 40]
Figure 0003774425
[0110]
Is defined as follows.
[0111]
[Expression 41]
Figure 0003774425
[0112]
πkIs
[0113]
[Expression 42]
Figure 0003774425
[0114]
The origin of
[0115]
[Equation 43]
Figure 0003774425
[0116]
Assign numbers in bundles,
[0117]
(44)
Figure 0003774425
[0118]
It is a mapping that assigns different numbers to them. Roughly speaking,
[0119]
[Equation 45]
Figure 0003774425
[0120]
It is equally divided. As well
[0121]
[Equation 46]
Figure 0003774425
[0122]
Define
[0123]
[Equation 47]
Figure 0003774425
[0124]
Using πkDefine 'as well.
[0125]
qk≡Mk+ K22kAnd Overall series length
[0126]
[Formula 48]
Figure 0003774425
[0127]
Against
[0128]
[Formula 49]
Figure 0003774425
[0129]
Are divided into sub-blocks of length k + 2 that do not overlap each other. Sub-block
[0130]
[Equation 50]
Figure 0003774425
[0131]
Is defined as follows.
[0132]
[Formula 51]
Figure 0003774425
[0133]
[Formula 52]
Figure 0003774425
[0134]
Is defined in the same way.
[0135]
[53]
Figure 0003774425
[0136]
Elements of
[0137]
[Formula 54]
Figure 0003774425
[0138]
N is a mapping expressed in binary digits.XAnd its inverse map is NX -1And Similarly,
[0139]
[Expression 55]
Figure 0003774425
[0140]
Elements of
[0141]
[56]
Figure 0003774425
[0142]
N is a mapping expressed in binary digits.ZAnd its inverse map is NZ -1And
[0143]
Here, an encoder for encoding the information source X (the encoder 30 in FIG. 3).X) Will be described. As described above, the encoder 60 according to the present invention shown in FIG. 6 is used for this encoder. FIG. 8 is a flowchart for explaining the encoding process. As will be described later, since the operation of the encoder that encodes the information source Z is almost the same as the operation of the encoder that encodes the information source X, FIG. 8 shows the operation of both encoders. In this figure, steps A1 to A12 represent the operation of the encoder that encodes the information source X, and steps B1 to B12 represent the operation of the encoder that encodes the information source Z.
[0144]
The encoder 60
[0145]
[Equation 57]
Figure 0003774425
[0146]
It is assumed that a buffer 62 represented by Steps A1 to A6 are steps performed by the encoder 60 to initialize the buffer 62 of the encoder 60 and the buffer 71 of the decoder 70. At the time when the step A8 is executed for the first time (i = 0), The contents of the encoder buffer 62 and the decoder buffer 71 are the same. Steps A7 to A12 are encoding steps according to the method of the present invention.
[0147]
First, in step A1, i ← −MkIn step A2, appropriate initial values are stored in all the buffers 62 using a set corresponding to the information source X. In step A3, the code word for the i-th sub-block is sent to the decoder 70, and in step A4, the buffer 62 is updated using the i-th sub-block (the portion corresponding to the encoded mapping generation block). To do. Thereafter, i is incremented (step A5). In step A6, it is determined whether i = 0. If i = 0, the process proceeds to step A7. If i <0, the process returns to step A3.
[0148]
In step A7, the block dividing device 61 divides the block of the input data 65 into an encoded map generation block 67 and an encoding target block 66, and in step A8, the encoding map unit 63 performs encoding corresponding to the information source X. By using the mapping, based on the contents of the buffer 62 and the encoding target block 66, the code word 68 of the encoding target block is calculated and transmitted to the decoder 70. On the other hand, the distortion-free encoder 64 is represented by a bijection map corresponding to the information source X. Send. Thereafter, in step A10, the oldest data in the buffer 62 is discarded using the encoded map generation block of the i-th sub-block, and the buffer 62 is updated. Thereafter, i is incremented (step A11). In step A12, i = q to determine whether or not there is no block to be processed (input data 65).k-MkI = qk-MkIf so, the process ends. If not, the process returns to step A7.
[0149]
The following table shows in detail the processing in the encoder that encodes X described above as an algorithm.
[0150]
[Table 1]
Figure 0003774425
[0151]
Next, an encoder for encoding the information source Z (the encoder 30 in FIG. 3).Z) Will be described. As described above, the encoder 60 according to the present invention shown in FIG. 6 is used for this encoder. In practice, the processing at the encoder used for encoding Z and the processing at the encoder used for the X encoder are almost the same except for the difference of whether the information source is X or Z. is there.
[0152]
The encoder 60
[0153]
[Formula 58]
Figure 0003774425
[0154]
Suppose you have Steps B1 to B6 in FIG. 8 are steps performed by the encoder 60 in order to initialize the buffer 62 of the encoder 60 and the buffer 71 of the decoder 70. When the step B8 is executed for the first time (i = 0). ), The contents of the encoder buffer 62 and the decoder buffer 71 are the same. Steps B7 to B12 are encoding steps according to the method of the present invention.
[0155]
The following table shows in detail the processing in the encoder that encodes Z described above as an algorithm. Here, the essential difference from the algorithm in the X encoder is that [x (i)]1Instead of using [z (i)]2It is a point using. this is,
[0156]
[Formula 59]
Figure 0003774425
[0157]
This is in order to maintain the independence.
[0158]
[Table 2]
Figure 0003774425
[0159]
Next, processing in a decoder (decoder 31 in FIG. 3) that inputs X codewords and Z codewords, decodes them, and outputs them will be described. As described above, the decoder 70 according to the present invention shown in FIG. 7 is used for this decoder. FIG. 9 is a flowchart for explaining the decoding process.
[0160]
At first,
[0161]
[Expression 60]
Figure 0003774425
[0162]
Is defined as follows.
[0163]
[Equation 61]
Figure 0003774425
[0164]
The decoder buffer 71 is
[0165]
[62]
Figure 0003774425
[0166]
An X encoder buffer 62 represented by:
[0167]
[Equation 63]
Figure 0003774425
[0168]
And a buffer 62 of the Z encoder represented by Furthermore, the decoder 70 has a database
[0169]
[Expression 64]
Figure 0003774425
[0170]
Suppose you have
[0171]
Steps C1 to C7 are steps performed by the decoder 70 to initialize the buffer 71. At the time when the step C8 is executed for the first time (i = 0), the buffer 62 of the encoder 60 and the decoder 70 The contents of the buffer 71 are the same. Steps C8 to C15 are decoding steps according to the method of the present invention.
[0172]
First, in step C1, i ← −MkIn step C2, the initial values are stored in the buffer 71 for each of the information sources X and Z using the same set elements as used in the buffer 62 of the encoder 60. In step C3, the codeword for each i-th sub-block for X and Z is received from each encoder 60 and decoded. In step C4, the buffer 71 is updated using the sub-blocks correctly decoded for X and Z (part corresponding to the encoded map generation block). Furthermore, in step C5, when there is an item corresponding to the database regarding the value of i at that time for each information source, the database is also updated. Thereafter, i is incremented (step C6). In step C7, it is determined whether i = 0. If i = 0, the process proceeds to step C8. If i <0, the process returns to step C3.
[0173]
In step C8, the decoding mapping unit 72 calculates reproduction data 75 of the encoding target block using the database calculated from the buffer 71 in step C5 or steps C10 to C12. That is, the code word 68 of the block to be encoded is received for each information source, and a decoding map corresponding to the information source is applied to the code word 68 to obtain a result. The reproduction data 75 of the conversion target block is determined.
[0174]
In step C9, the distortion-free decoder 73 receives the codeword 69 of the encoded map generation block encoded in step A9 in the X encoder, decodes the encoded map generation block 67, and similarly, The code word 69 of the encoded map generation block encoded in step B9 is received by the encoder of Z, and the encoded map generation block 67 is decoded. These are always decoded correctly.
[0175]
In step C10, prior to updating the buffer 71 in step C11, items related to the update are deleted from the database, and in step C11, a correctly decoded encoded mapping generation block for X and Z is used. The oldest data in the buffer 71 is discarded and the buffer 71 is updated. In step C12, the database is updated based on the updated value in the buffer 71. Thereafter, in step C13, the block concatenation device 74 concatenates the reproduction data 75 of the encoding target block obtained in step C8 and the encoded map generation block 67 obtained in step C9 to obtain reproduction data 76. Subsequently, i is incremented (step C14). In step C15, i = q to determine whether or not there is no block to be processed.k-MkI = qk-MkIf so, the process ends. If not, the process returns to Step C8.
[0176]
The following table shows the processing in the decoder described above in detail as an algorithm.
[0177]
[Table 3]
Figure 0003774425
[0178]
[Table 4]
Figure 0003774425
[0179]
Next, an example of application to the above-described multi-terminal information source encoding will be described.
[0180]
Whole series
[0181]
[Equation 65]
Figure 0003774425
[0182]
The total code length of the encoder for
[0183]
[Equation 66]
Figure 0003774425
[0184]
And And the number of decoding error characters
[0185]
[Expression 67]
Figure 0003774425
[0186]
And
[0187]
As a result, X and Z are set as correlated steady memoryless information sources satisfying the above conditions (1) to (3). At this time, the following properties hold.
[0188]
[Equation 68]
Figure 0003774425
[0189]
<Application to distortion source coding>
Next, an example in which the encoding / decoding method according to the present embodiment is applied to distortion information source encoding will be described. Here, information source Y is rate RYThe distortion that occurs after encoding and decoding is allowed. As the system configuration, the system shown in FIG. 4 is used, the encoder 60 shown in FIG. 6 is used as the encoder 40, and the decoder 70 shown in FIG. 7 is used as the decoder 41. Shall.
[0190]
Here, the distortion function
[0191]
[Equation 69]
Figure 0003774425
[0192]
As
[0193]
[Equation 70]
Figure 0003774425
[0194]
Assuming And
[0195]
[Equation 71]
Figure 0003774425
[0196]
And
[0197]
[Equation 72]
Figure 0003774425
[0198]
Connection distribution satisfying
[0199]
[Equation 73]
Figure 0003774425
[0200]
I take the. And Z is the marginal distribution
[0201]
[Equation 74]
Figure 0003774425
[0202]
, It is assumed that I (y; z)> 0 is satisfied.
[0203]
Below,
[0204]
[75]
Figure 0003774425
[0205]
And
[0206]
[76]
Figure 0003774425
[0207]
Is defined as follows.
[0208]
[77]
Figure 0003774425
[0209]
[Formula 78]
Figure 0003774425
[0210]
Function to give the order of lexicographic order
[0211]
[79]
Figure 0003774425
[0212]
And
[0213]
And function
[0214]
[80]
Figure 0003774425
[0215]
Is defined as follows.
[0216]
[Formula 81]
Figure 0003774425
[0217]
σkIs
[0218]
[Formula 82]
Figure 0003774425
[0219]
The origin of
[0220]
[Formula 83]
Figure 0003774425
[0221]
Numbers assigned in bundles
[0222]
[Expression 84]
Figure 0003774425
[0223]
By
[0224]
[Expression 85]
Figure 0003774425
[0225]
Moved to
[0226]
[86]
Figure 0003774425
[0227]
Pre-determined
[0228]
[Expression 87]
Figure 0003774425
[0229]
Is a mapping that assigns here,
[0230]
[Equation 88]
Figure 0003774425
[0231]
Does not affect subsequent analysis.
[0232]
qk≡Mk+ K22kAnd Overall series length
[0233]
[Expression 89]
Figure 0003774425
[0234]
Against
[0235]
[90]
Figure 0003774425
[0236]
Is divided into non-overlapping sub-blocks of length k + 1 and sub-blocks
[0237]
[91]
Figure 0003774425
[0238]
Is defined as follows.
[0239]
[Equation 92]
Figure 0003774425
[0240]
[Equation 93]
Figure 0003774425
[0241]
Elements of
[0242]
[Equation 94]
Figure 0003774425
[0243]
N is a mapping expressed in binary digits.YAnd its inverse map is NY -1And
[0244]
Here, the processing in the encoder (encoder 40 in FIG. 4) will be described. As described above, the encoder 60 according to the present invention shown in FIG. 6 is used for this encoder. FIG. 10 is a flowchart for explaining the encoding process.
[0245]
The encoder 60
[0246]
[95]
Figure 0003774425
[0247]
It is assumed that a buffer 62 represented by Steps F1 to F6 are steps performed by the encoder 60 to initialize the buffer 62 of the encoder 60 and the buffer 71 of the decoder 70. At the time when the step F8 is executed for the first time (i = 0), The contents of the encoder buffer 62 and the decoder buffer 71 are the same. Steps F7 to F12 are encoding steps according to the method of the present invention.
[0248]
First, in step F1, i ← −MkIn step F2, appropriate initial values are stored in all the buffers 62 using the set corresponding to the information source Y. In step F3, the code word for the i-th sub-block is sent to the decoder 70, and in step F4, the buffer 62 is updated using the i-th sub-block (the portion corresponding to the encoded mapping generation block). To do. Thereafter, i is incremented (step F5). In step F6, it is determined whether i = 0. If i = 0, the process proceeds to step F7. If i <0, the process returns to step F3.
[0249]
In step F7, the block dividing device 61 divides the block of the input data 65 into an encoded map generation block 67 and an encoding target block 66, and in step F8, the encoding map unit 63 encodes corresponding to the information source Y. By using the mapping, based on the contents of the buffer 62 and the encoding target block 66, the code word 68 of the encoding target block is calculated and transmitted to the decoder 70. On the other hand, since the distortion-free encoder 64 is represented by a bijective map corresponding to the information source Y, the distortion-free encoder 64 calculates the code word 69 of the encoded map generation block in step F9 and decodes the decoder 70. Send to. Thereafter, in step F10, the oldest data in the buffer 62 is discarded and the buffer 62 is updated using the encoded map generation block of the i-th sub-block. Thereafter, i is incremented (step F11). In step F12, i = q to determine whether or not there is no block to be processed (input data 65).k-MkI = qk-MkIf so, the process ends. If not, the process returns to Step F7.
[0250]
The table below shows the processing in the encoder described above in detail as an algorithm.
[0251]
[Table 5]
Figure 0003774425
[0252]
Next, processing in the decoder (decoder 31 in FIG. 3) will be described. As described above, the decoder 70 according to the present invention shown in FIG. 7 is used for this decoder. FIG. 11 is a flowchart for explaining the decoding process.
[0253]
The decoder buffer 71 is
[0254]
[Equation 96]
Figure 0003774425
[0255]
It is comprised by the buffer 62 of the encoder represented by these.
[0256]
Steps G1 to G6 are steps performed by the decoder 70 to initialize the buffer 71. At the time when the step G8 is executed for the first time (i = 0), the buffer 62 of the encoder 60 and the decoder 70 The contents of the buffer 71 are the same. Steps G7 to G12 are decoding steps according to the method of the present invention.
[0257]
First, in step G1, i ← −MkIn step G2, the initial value is stored in the buffer 71 using the same set of elements as used in the buffer 62 of the encoder 60. In step G3, the code word for the i-th sub-block is received from each encoder 60 and decoded. In step G4, the buffer 71 is updated using the correctly decoded sub-block (the part corresponding to the encoded map generation block). Thereafter, i is incremented (step G5). In step G6, it is determined whether i = 0. If i = 0, the process proceeds to step G7. If i <0, the process returns to step G3.
[0258]
In step G7, the decoding mapping unit 72 receives the code word 68 of the block to be encoded encoded in step F8 of the encoder 60, and based on the code word and the contents of the buffer 71, the information source Y The reproduction data 75 of the block to be encoded is calculated using the decoded map. In step G8, the distortion-free decoder 73 receives the code map 69 of the encoded map generation block encoded in step F9 by the encoder 60, and decodes the encoded map generation block 67. This is always correctly decoded. In step G9, the oldest data in the buffer 71 is discarded using the encoded map generation block that has been correctly decoded, and the buffer 71 is updated. Thereafter, in step G10, the block concatenation device 74 concatenates the reproduction data 75 of the encoding target block obtained in step G7 and the encoded map generation block 67 obtained in step G8 to obtain reproduction data 76. Subsequently, i is incremented (step G11). In step G12, i = q to determine whether or not there is no block to be processed.k-MkI = qk-MkIf so, the process ends. If not, the process returns to step G7.
[0259]
The following table shows the processing in the decoder described above in detail as an algorithm.
[0260]
[Table 6]
Figure 0003774425
[0261]
Next, an example of application to the above-described distortion information source coding will be described.
[0262]
Whole series
[0263]
[Equation 97]
Figure 0003774425
[0264]
The total code length of the encoder for
[0265]
[Equation 98]
Figure 0003774425
[0266]
And And the distortion that occurred during decoding
[0267]
[99]
Figure 0003774425
[0268]
And At this time, the following properties hold.
[0269]
Property: Arbitrary distribution p satisfying I (Y; Z)> 0YZIf you take
[0270]
[Expression 100]
Figure 0003774425
[0271]
By the way, there is a trade-off relationship between rate and distortion, and the optimum combination is on the following curve called a rate distortion curve.
[0272]
## EQU1 ##
Figure 0003774425
[0273]
Distribution pYZUsing the Arimoto-Blahut algorithm (references [3], [4]), (I (Y; Z), EYZIf ρ (Y, Z)) is on the rate distortion curve (distortion rate curve), the following properties are established.
[0274]
Properties: (I (Y; Z), EYZThe distribution p so that ρ (Y, Z)) is on the rate distortion curve (distortion rate curve).YZIf this is taken, the algorithm according to the present embodiment is asymptotically the optimal distorted code.
[0275]
<< Application to source coding with partial auxiliary information in decoder >>
Next, an example in which the encoding / decoding method according to the present embodiment is applied to information source encoding with partial auxiliary information in a decoder will be described. Here, rate R with information source Y as partial auxiliary informationYThe information source X correlated with Y is sent to the decoder at the rate RXAnd sent to the decoder for playback. As the system configuration, the system as shown in FIG.X, 50Y6, each of the information sources X and Y is encoded using the encoder 60 shown in FIG. 6, and X is decoded using the decoder 70 shown in FIG. 7 as the decoder 51. Like that.
[0276]
Here, the joint probability distribution satisfying the following conditions 1 to 4
[0277]
## EQU10 ##
Figure 0003774425
[0278]
Prepare.
[0279]
[Table 7]
Figure 0003774425
[0280]
[Formula 103]
Figure 0003774425
[0281]
Is defined as follows.
[0282]
[Formula 104]
Figure 0003774425
[0283]
Overall series length
[0284]
[Formula 105]
Figure 0003774425
[0285]
Against
[0286]
[Formula 106]
Figure 0003774425
[0287]
Are divided into sub-blocks of length k + 2 that do not overlap each other. Sub-block
[0288]
[Expression 107]
Figure 0003774425
[0289]
Is defined as follows.
[0290]
[Formula 108]
Figure 0003774425
[0291]
[Formula 109]
Figure 0003774425
[0292]
Is defined in the same manner as described above.
[0293]
## EQU1 ##
Figure 0003774425
[0294]
Elements of
[0295]
[Formula 111]
Figure 0003774425
[0296]
N is a mapping expressed in binary digits.XAnd its inverse map is NX -1And
[0297]
## EQU1 ##
Figure 0003774425
[0298]
Elements of
[0299]
[Formula 113]
Figure 0003774425
[0300]
N is a mapping expressed in binary digits.YAnd its inverse map is NY -1And
[0301]
Here, an encoder for encoding the information source X (the encoder 50 in FIG. 5).X) Will be described. As described above, the encoder 60 according to the present invention shown in FIG. 6 is used for this encoder. FIG. 12 is a flowchart for explaining the encoding process.
[0302]
As above,
[0303]
[Formula 114]
Figure 0003774425
[0304]
Define The X encoder is almost the same as the Slepian-Wolf encoder.
[0305]
The encoder is
[0306]
[Expression 115]
Figure 0003774425
[0307]
It is assumed that a buffer 62 represented by Steps P1 to P6 are steps performed by the encoder 60 to initialize the buffer 62 of the encoder 60 and the buffer 71 of the decoder 70. At the time when the step P8 is executed for the first time (i = 0), The contents of the encoder buffer 62 and the decoder buffer 71 are the same. Steps P7 to P12 are encoding steps according to the method of the present invention.
[0308]
First, in step P1, i ← −MkIn step P2, appropriate initial values are stored in all the buffers 62 using the set corresponding to the information source X. In step P3, the code word for the i-th sub-block is sent to the decoder 70. In step P4, the buffer 62 is updated using the i-th sub-block (the portion corresponding to the encoded mapping generation block). To do. Thereafter, i is incremented (step P5). In step P6, it is determined whether i = 0. If i = 0, the process proceeds to step P7. If i <0, the process returns to step P3.
[0309]
In step P7, the block dividing device 61 divides the block of the input data 65 into the encoded map generation block 67 and the encoding target block 66. By using the mapping, based on the contents of the buffer 62 and the encoding target block 66, the code word 68 of the encoding target block is calculated and transmitted to the decoder 70. On the other hand, the undistorted encoder 64 represented by the bijective map corresponding to the information source X calculates the codeword 69 of the encoded map generation block and transmits it to the decoder 70 in step P9. Thereafter, in step P10, the oldest data in the buffer 62 is discarded using the encoded map generation block of the i-th sub-block, and the buffer 62 is updated. Thereafter, i is incremented (step P11). In step P12, i = q to determine whether or not the block to be processed (input data 65) is gone.k-MkI = qk-MkIf so, the process ends. If not, the process returns to Step P7.
[0310]
The following table shows in detail the processing in the encoder that encodes the information source X described above as an algorithm.
[0311]
[Table 8]
Figure 0003774425
[0312]
Next, an encoder for encoding the partial auxiliary information source Y (the encoder 50 in FIG. 5).Y) Will be described. As described above, the encoder 60 according to the present invention shown in FIG. 6 is used for this encoder. Actually, the processing in this encoder is almost the same as the processing in the encoder in the distortion information source encoding described above. FIG. 13 is a flowchart for explaining the decoding process.
[0313]
As with distortion source coding,
[0314]
[Formula 116]
Figure 0003774425
[0315]
Define
[0316]
[Expression 117]
Figure 0003774425
[0317]
Is defined as follows.
[0318]
[Formula 118]
Figure 0003774425
[0319]
The encoder 60
[0320]
[Formula 119]
Figure 0003774425
[0321]
It is assumed that a buffer 62 represented by Steps Q1 to Q6 are steps performed by the encoder 60 to initialize the buffer 62 of the encoder 60. When the step Q8 is executed for the first time (i = 0), the decoding is performed with the buffer 62 of the encoder. The contents of the buffer 71 of the container are the same. Steps Q7 to Q12 are encoding steps according to the method of the present invention.
[0322]
First, in step Q1, i ← −MkIn step Q2, appropriate initial values are stored in all the buffers 62 using the set corresponding to the partial auxiliary information source Y. In step Q3, the code word for the i-th sub-block is sent to the decoder 70, and in step Q4, the buffer 62 is updated using the i-th sub-block. Thereafter, i is incremented (step Q5). In step Q6, it is determined whether i = 0. If i = 0, the process proceeds to step Q7. If i <0, the process returns to step Q3.
[0323]
In step Q7, the block dividing device 61 divides the block of the input data 65 into the encoded map generation block 67 and the encoding target block 66, and in step Q8, the encoded mapping unit 63 responds to the partial auxiliary information source Y. By using the encoding map, the code word 68 of the encoding target block is calculated based on the contents of the buffer 62 and the encoding target block 66 and transmitted to the decoder 70. On the other hand, in step Q 9, the distortion-free encoder 64 represented by a bijective map corresponding to the partial auxiliary information source Y calculates the code word 69 of the encoded map generation block and transmits it to the decoder 70. Thereafter, in step Q10, the oldest data in the buffer 62 is discarded using the i-th sub-block, and the buffer 62 is updated. Thereafter, i is incremented (step Q11). In step Q12, i = q to determine whether or not there is no block to be processed (input data 65).k-MkI = qk-MkIf so, the process ends. If not, the process returns to step Q7.
[0324]
The following table shows in detail the processing in the encoder that encodes the partial auxiliary information source Y described above as an algorithm.
[0325]
[Table 9]
Figure 0003774425
[0326]
Next, processing in the decoder (decoder 31 in FIG. 3) will be described. As described above, the decoder 70 according to the present invention shown in FIG. 7 is used for this decoder. FIG. 14 is a flowchart for explaining the decoding process.
[0327]
[Expression 120]
Figure 0003774425
[0328]
Is defined as follows.
[0329]
[Equation 121]
Figure 0003774425
[0330]
The buffer 71 of the decoder 70 is
[0331]
[Equation 122]
Figure 0003774425
[0332]
An X encoder buffer 62 represented by:
[0333]
[Formula 123]
Figure 0003774425
[0334]
Y encoder buffer 62 represented by Furthermore, the decoder 70 has a database
[0335]
[Expression 124]
Figure 0003774425
[0336]
Suppose you have This database relates to the information source X.
[0337]
Steps R1 to R7 are steps performed by the decoder 70 to initialize the buffer 71. At the time when the step R8 is executed for the first time (i = 0), the buffer 62 of the encoder 60 and the decoder 70 The contents of the buffer 71 are the same. Steps R8 to R15 are decoding steps according to the method of the present invention.
[0338]
First, in step R1, i ← −MkIn step R2, initial values are stored in the buffer 71 for both the information source X and the partial auxiliary information source Y using the same set of elements as used in the buffer 62 of the encoder 60. In step R3, the codeword for each i-th sub-block for X and Y is received from each encoder 60 and decoded. In step R4, the buffer 71 is updated using sub-blocks correctly decoded for X and Y. Further, in step R5, if there is an item corresponding to the database for the information source X regarding the value of i at that time, the database is also updated. Thereafter, i is incremented (step R6). In step R7, it is determined whether i = 0. If i = 0, the process proceeds to step R8. If i <0, the process returns to step R3.
[0339]
In step R8, the decoding mapping unit 72 calculates reproduction data 75 of the encoding target block using the database calculated from the buffer 71 in step R5 or steps R10 to R12. That is, the codeword 68 of each encoding target block of the information source X and the partial auxiliary information source Y is received, and a decoding map corresponding to the codeword 68 is applied thereto to obtain a result. Then, the database is searched, and the reproduction data 75 of the encoding target block is determined from these.
[0340]
In step R9, the distortion-free decoder 73 receives the codeword 69 of the encoded map generation block encoded in step P9 in the X encoder, decodes the encoded map generation block 67, and similarly, The encoded map generation block 67 is decoded by receiving the code word 69 of the encoded map generation block encoded in step Q9 in the Y encoder. These are always decoded correctly.
[0341]
In step R10, prior to updating the buffer 71 in step R11, items related to the update are deleted from the database for the information source X, and in step R11, the correctly decoded encoded maps for X and Y are deleted. Using the generated block, the oldest data in the buffer 71 is discarded and the buffer 71 is updated. In step R12, the database for the information source X is updated based on the updated value in the buffer 71. Thereafter, in step R13, the block concatenation device 74 concatenates the reproduction data 75 of the block to be encoded obtained in step R8 and the encoded map generation block 67 obtained in step R9 to obtain reproduction data 76. Subsequently, i is incremented (step R14). In step R15, i = q to determine whether or not there is no block to be processed.k-MkI = qk-MkIf so, the process ends. If not, the process returns to step R8.
[0342]
The following table shows the processing in the decoder described above in detail as an algorithm.
[0343]
[Table 10]
Figure 0003774425
[0344]
[Table 11]
Figure 0003774425
[0345]
Next, an example of application to information source coding with partial auxiliary information in the above-described decoder will be described.
[0346]
Whole series
[0347]
[Expression 125]
Figure 0003774425
[0348]
The total code length of the X encoder and the total code length of the Y encoder for
[0349]
[Expression 126]
Figure 0003774425
[0350]
To do. And the number of decoding error characters
[0351]
[Expression 127]
Figure 0003774425
[0352]
And At this time, the following properties hold.
[0353]
Property: Simultaneous distribution p with X and Y as correlated steady memoryless information sourcesXYZAssume that the above conditions 1 to 4 are satisfied. At this time,
[0354]
[Expression 128]
Figure 0003774425
[0355]
In general, optimal RXAnd RYThere is a trade-off relationship between the choices, and both cannot be reduced freely. Optimal (RX, RY) Is on the curve of the following function.
[0356]
[Expression 129]
Figure 0003774425
[0357]
P in inf hereXYZSatisfies the conditions 1-3 of the conditions 1-4.
[0358]
At this time, the following properties hold.
[0359]
Property: RX> 0, RY(H (X | Z), I (Y; Z)) is curve R for> 0X(RY), RY(RX) Distribution p as aboveXYZIf this is taken, the algorithm of this embodiment will be an information source encoding algorithm with partial information in an asymptotically optimal decoder.
[0360]
The known distribution μXYTo p on the above curveXYZThere is an approximate solution according to the reference [5].
[0361]
Both the encoder and the decoder according to the method of the present invention described above can be realized by reading a computer program for realizing them into a computer such as a microprocessor and executing the program. A program for encoding and decoding data by the method of the present invention is read into a computer by a recording medium such as a CD-ROM or a flash memory.
[0362]
Such a computer generally has a CPU (central processing unit), an external storage device such as a hard disk device or a nonvolatile memory for storing programs and data, a main memory, and inputs such as a keyboard, a mouse, and various switches. It is used to display a device, a display device such as a CRT or various display lamps, a reading device that reads a recording medium such as a CD-ROM or a flash memory, and accepts input data and transmits a code word or the like to a decoder ( An interface for receiving a code word or the like from the encoder and outputting reproduction data (for configuring a decoder). The external storage device, main memory, input device, display device, reading device, and interface are all connected to the CPU. In this computer, a recording medium storing a program for performing the above-described encoding procedure or decoding procedure is loaded into a reading device, the program is read from the recording medium, stored in an external storage device, and stored in the external storage device. When the program is executed by the CPU, the above-described encoding procedure or decoding procedure is executed by functioning as the above-described encoder or decoder.
[0363]
【The invention's effect】
As described above, the present invention divides the input data and performs separate encoding, and one of the divided data is used for the configuration of the encoded map, which cannot be realized in the conventional system. The present invention can also be applied to encoding that allows decoding errors, and has an effect of realizing an encoding system with high encoding efficiency that uses the randomness of past sequences.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration of a Bitsback encoder.
FIG. 2 is a block diagram showing a configuration of a Bitsback decoder.
FIG. 3 is a block diagram showing a system configuration based on multi-terminal information source encoding.
FIG. 4 is a block diagram showing a system configuration based on distortion information source coding.
FIG. 5 is a block diagram showing the configuration of a system based on information source coding with partial auxiliary information in a decoder.
FIG. 6 is a block diagram showing a configuration of an encoder that executes an encoding method according to the present invention.
FIG. 7 is a block diagram showing a configuration of a decoder that executes a decoding method according to the present invention.
FIG. 8 is a flowchart illustrating an encoding procedure when applied to multi-terminal information source encoding.
FIG. 9 is a flowchart illustrating a decoding procedure when applied to multi-terminal information source encoding.
FIG. 10 is a flowchart illustrating an encoding procedure when applied to distortion information source encoding.
FIG. 11 is a flowchart illustrating a decoding procedure when applied to distortion information source encoding.
FIG. 12 is a flowchart for explaining an information source encoding procedure when applied to information source encoding with partial auxiliary information in a decoder;
FIG. 13 is a flowchart illustrating an encoding procedure of a partial auxiliary information source when applied to information source encoding with partial auxiliary information in a decoder.
FIG. 14 is a flowchart for explaining a decoding procedure when the decoder is applied to information source coding with partial auxiliary information.
[Explanation of symbols]
10, 30X, 30Z, 40, 50X, 50Y60 encoder
11, 21, 62, 71 buffer
12, 22 Codeword selection device
13 Arithmetic decoder
14 Multi-level information source encoder
15, 65 Input data
20, 31, 41, 51, 70 Decoder
23 Arithmetic encoder
24 Multi-level information source decoder
25, 76 Playback data
61 Block divider
63 Coding map part
64 Undistorted encoder
66 Encoding target block
67 Encoded Map Generation Block
68 Codeword of the encoding target block
69 Codeword of encoded map generation block
72 Decoding mapping unit
73 Undistorted decoder
74 Block connecting device
75 Playback data of encoding target block

Claims (14)

入力データを符号化する方法であって、
複数のブロックに分割された入力データの一つのブロックを、符号化写像生成ブロックと符号化対象ブロックに分割するステップと、
符号器バッファに格納された符号化写像生成ブロックと前記符号化対象ブロックから符号化写像を用いて符号化対象ブロックの符号語を得るステップと、
無歪み符号器によって前記符号化写像生成ブロックを用いて符号化写像生成ブロックの符号語を得るステップと、
前記符号器バッファに残るもっとも古い符号化写像生成ブロックを破棄し、符号化写像生成ブロックを新たに前記符号器バッファに蓄積するステップと、
前記各ステップを前記複数のブロックがなくなるまで繰り返し実行するステップと、
を有する、データ符号化方法。
A method for encoding input data, comprising:
Dividing one block of input data divided into a plurality of blocks into an encoding map generation block and an encoding target block;
Obtaining a codeword of the encoding target block from the encoding mapping generation block stored in the encoder buffer and the encoding target block using the encoding mapping;
Obtaining a codeword of the encoded map generation block using the encoded map generation block by a distortion-free encoder;
Discarding the oldest encoded mapping generation block remaining in the encoder buffer and newly storing the encoded mapping generation block in the encoder buffer;
Repeatedly executing each step until the plurality of blocks disappears;
A data encoding method comprising:
前記符号器バッファを初期化するとともに、前記各符号語が入力する復号器内に設けられた復号器バッファの内容を前記バッファの内容と一致させるために、前記復号器に対してデータを送信するステップをさらに有する、請求項1に記載のデータ符号化方法。The encoder buffer is initialized, and data is transmitted to the decoder in order to match the contents of the decoder buffer provided in the decoder to which each code word is input with the contents of the buffer. The data encoding method according to claim 1, further comprising a step. 符号化対象ブロックの符号語と符号化写像生成ブロックの符号語とから再生データを獲得する復号化方法であって、
前記符号化対象ブロックの符号語を取り出し、当該符号化対象ブロックの符号語と復号器バッファに格納された符号化写像生成ブロックとに基づいて復号化写像によって符号化対象ブロックの再生データを得るステップと、
前記符号化写像生成ブロックの符号語を取り出して無歪み復号器によって符号化写像生成ブロックを得るステップと、
前記復号器バッファに残るもっとも古い符号化写像生成ブロックを破棄し、復号した符号化写像生成ブロックを新たに前記復号器バッファに蓄積するステップと、
前記符号化対象ブロックの再生データと前記復号した符号化写像生成ブロックを連結して出力するステップと、
前記各ステップを全ての符号語がなくなるまで繰り返し実行するステップと、
を有するデータ復号化方法。
A decoding method for acquiring reproduction data from a codeword of a block to be encoded and a codeword of an encoded map generation block,
A step of taking out a code word of the encoding target block and obtaining reproduction data of the encoding target block by decoding mapping based on the code word of the encoding target block and the encoded mapping generation block stored in the decoder buffer When,
Extracting a codeword of the encoded map generation block and obtaining an encoded map generation block by a distortion-free decoder;
Discarding the oldest encoded map generation block remaining in the decoder buffer and newly storing the decoded encoded map generation block in the decoder buffer;
Concatenating and outputting the reproduction data of the encoding target block and the decoded encoded mapping generation block;
Repeatedly executing each step until all codewords are exhausted;
A data decoding method comprising:
異なる複数の符号器によって符号化された前記符号化対象ブロックの符号語と前記符号化写像生成ブロックの符号語とから再生データを獲得する、請求項3に記載のデータ復号化方法。The data decoding method according to claim 3, wherein reproduction data is obtained from a codeword of the encoding target block encoded by a plurality of different encoders and a codeword of the encoded mapping generation block. 前記復号器バッファの初期化のために、前記符号化対象ブロックの符号語と前記符号化写像生成ブロックの符号語とを符号化した符号器から、前記復号器バッファの内容を前記符号器の符号器バッファの内容と一致させるための情報を受信するステップをさらに有する、請求項3または4に記載のデータ復号化方法。For initialization of the decoder buffer, from the encoder that has encoded the codeword of the block to be encoded and the codeword of the encoded mapping generation block, the content of the decoder buffer is changed to the code of the encoder. 5. The data decoding method according to claim 3 or 4, further comprising a step of receiving information for matching the contents of the storage buffer. 前記符号化対象ブロックの符号語と前記符号化写像生成ブロックの符号語は、請求項1または2のいずれか1項に記載のデータ符号化方法によって符号化されたものである、請求項3乃至5のいずれか1項に記載のデータ復号化方法。The codeword of the encoding target block and the codeword of the encoded mapping generation block are encoded by the data encoding method according to any one of claims 1 and 2. 6. The data decoding method according to any one of 5 above. 入力データを符号化するデータ符号化装置であって、
複数のブロックに分割された入力データの各ブロックを、符号化写像生成ブロックと符号化対象ブロックに分割するブロック分割装置と、
前記符号化写像生成ブロックを一時的に格納する符号器バッファと、
前記符号器バッファの内容と前記符号化対象ブロックから符号化写像を用いて符号化対象ブロックの符号語を得る符号化写像部と、
前記符号化写像生成ブロックから前記符号化写像生成ブロックの符号語を得る無歪み符号器と、
を有し、
新たな符号化写像生成ブロックが入力するつど前記符号器バッファにおいて最も古い符号化写像生成ブロックが破棄され、当該新たな符号化写像生成ブロックが前記符号器バッファに蓄積される、データ符号化装置。
A data encoding device for encoding input data,
A block dividing device that divides each block of input data divided into a plurality of blocks into an encoded mapping generation block and an encoding target block;
An encoder buffer for temporarily storing the encoded map generation block;
An encoding mapping unit that obtains a codeword of an encoding target block using an encoding mapping from the content of the encoder buffer and the encoding target block;
A distortionless encoder for obtaining a codeword of the encoded map generation block from the encoded map generation block;
Have
A data encoding apparatus, wherein each time a new encoded map generation block is input, the oldest encoded map generation block in the encoder buffer is discarded, and the new encoded map generation block is stored in the encoder buffer.
符号化対象ブロックの符号語と符号化写像生成ブロックの符号語とから再生データを獲得するデータ復号化装置であって、
前記符号化写像生成ブロックの符号語を一時的に格納する復号器バッファと、
前記符号化対象ブロックの符号語を取り出し、該符号化対象ブロックの符号語と前記復号器バッファの内容とに基づいて復号化写像によって符号化対象ブロックの再生データを得る復号化写像部と、
前記符号化写像生成ブロックの符号語を取り出して符号化写像生成ブロックを得る無歪み復号器と、
前記符号化対象ブロックの再生データと前記復号した符号化写像生成ブロックを連結して出力するブロック連結装置と、
を有し、
新たな符号化写像生成ブロックが復号されるつど前記復号器バッファにおいて最も古い符号化写像生成ブロックが破棄され、当該新たな符号化写像生成ブロックが前記復号器バッファに蓄積される、データ復号化装置。
A data decoding device for acquiring reproduction data from a codeword of a block to be encoded and a codeword of an encoded mapping generation block,
A decoder buffer for temporarily storing codewords of the encoded map generation block;
A decoding mapping unit that extracts a code word of the encoding target block and obtains reproduction data of the encoding target block by decoding mapping based on the code word of the encoding target block and the content of the decoder buffer;
A distortion-free decoder that obtains an encoded map generation block by extracting a codeword of the encoded map generation block;
A block concatenation device for concatenating and outputting the reproduction data of the encoding target block and the decoded encoded map generation block;
Have
A data decoding device in which each time a new encoded map generation block is decoded, the oldest encoded map generation block is discarded in the decoder buffer, and the new encoded map generation block is stored in the decoder buffer. .
複数の符号器から前記符号化対象ブロックの符号語と符号化写像生成ブロックの符号語とが入力し、前記複数の符号器の各々ごとに対応して前記復号器バッファが構成され、初期化処理において前記符号器内の符号器バッファの内容と対応する前記復号器バッファの内容が一致させられる、請求項8に記載のデータ復号化装置。The codeword of the encoding target block and the codeword of the encoded mapping generation block are input from a plurality of encoders, and the decoder buffer is configured corresponding to each of the plurality of encoders, and an initialization process The data decoding device according to claim 8, wherein the content of the decoder buffer corresponding to the content of the encoder buffer in the encoder is matched. 前記符号化対象ブロックの符号語と前記符号化写像生成ブロックの符号語は、請求項7に記載のデータ符号化装置から送信されたものである、請求項8または9のいずか1項に記載のデータ復号化装置。The codeword of the encoding target block and the codeword of the encoded mapping generation block are those transmitted from the data encoding device according to claim 7, according to any one of claims 8 and 9. The data decoding device described. コンピュータに、
複数のブロックに分割された入力データの一つのブロックを、符号化写像生成ブロックと符号化対象ブロックに分割する処理と、
符号器バッファに格納された符号化写像生成ブロックと前記符号化対象ブロックから符号化写像を用いて符号化対象ブロックの符号語を得る処理と、
無歪み符号器によって前記符号化写像生成ブロックを用いて符号化写像生成ブロックの符号語を得る処理と、
前記符号器バッファに残るもっとも古い符号化写像生成ブロックを破棄し、符号化写像生成ブロックを新たに前記符号器バッファに蓄積する処理と、
前記各処理を前記複数のブロックがなくなるまで繰り返し実行する処理と、
を実行させる、データ符号化プログラム。
On the computer,
A process of dividing one block of input data divided into a plurality of blocks into an encoding map generation block and an encoding target block;
A process of obtaining a code word of the encoding target block using the encoding mapping from the encoding mapping generation block stored in the encoder buffer and the encoding target block;
A process of obtaining a codeword of the encoded map generation block using the encoded map generation block by a distortion-free encoder;
Discarding the oldest encoded map generation block remaining in the encoder buffer and newly storing the encoded map generation block in the encoder buffer;
A process of repeatedly executing each of the processes until the plurality of blocks disappear;
A data encoding program for executing
コンピュータに、
符号化対象ブロックの符号語と符号化写像生成ブロックの符号語とを受信する処理と、
前記符号化対象ブロックの符号語を取り出し、当該符号化対象ブロックの符号語と復号器バッファに格納された符号化写像生成ブロックとに基づいて復号化写像によって符号化対象ブロックの再生データを得る処理と、
前記符号化写像生成ブロックの符号語を取り出して無歪み復号器によって符号化写像生成ブロックを得る処理と、
前記復号器バッファに残るもっとも古い符号化写像生成ブロックを破棄し、復号した符号化写像生成ブロックを新たに前記復号器バッファに蓄積する処理と、
前記符号化対象ブロックの再生データと前記復号した符号化写像生成ブロックを連結して出力する処理と、
前記各処理を全ての符号語がなくなるまで繰り返し実行する処理と、
を実行させる、データ復号化プログラム。
On the computer,
A process of receiving a codeword of an encoding target block and a codeword of an encoding mapping generation block;
Processing for extracting a code word of the encoding target block and obtaining reproduction data of the encoding target block by decoding mapping based on the code word of the encoding target block and the encoded mapping generation block stored in the decoder buffer When,
A process of taking a codeword of the encoded map generation block and obtaining an encoded map generation block by a distortion-free decoder;
Discarding the oldest encoded map generation block remaining in the decoder buffer and newly storing the decoded encoded map generation block in the decoder buffer;
A process of concatenating and outputting the reproduction data of the encoding target block and the decoded encoded mapping generation block;
A process of repeatedly executing each process until all codewords are exhausted;
A data decryption program for executing
コンピュータが読み取り可能な記録媒体であって、請求項11に記載のデータ符号化プログラムを格納した記録媒体。A computer-readable recording medium storing the data encoding program according to claim 11. コンピュータが読み取り可能な記録媒体であって、請求項12に記載のデータ復号化プログラムを格納した記録媒体。A recording medium readable by a computer and storing the data decoding program according to claim 12.
JP2002250994A 2002-08-29 2002-08-29 Data encoding / decoding method and apparatus, data encoding / decoding program, and recording medium recording the program Expired - Fee Related JP3774425B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002250994A JP3774425B2 (en) 2002-08-29 2002-08-29 Data encoding / decoding method and apparatus, data encoding / decoding program, and recording medium recording the program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002250994A JP3774425B2 (en) 2002-08-29 2002-08-29 Data encoding / decoding method and apparatus, data encoding / decoding program, and recording medium recording the program

Publications (2)

Publication Number Publication Date
JP2004096174A JP2004096174A (en) 2004-03-25
JP3774425B2 true JP3774425B2 (en) 2006-05-17

Family

ID=32057689

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002250994A Expired - Fee Related JP3774425B2 (en) 2002-08-29 2002-08-29 Data encoding / decoding method and apparatus, data encoding / decoding program, and recording medium recording the program

Country Status (1)

Country Link
JP (1) JP3774425B2 (en)

Also Published As

Publication number Publication date
JP2004096174A (en) 2004-03-25

Similar Documents

Publication Publication Date Title
KR101841103B1 (en) Vlsi efficient huffman encoding apparatus and method
JP4905562B2 (en) Data compression apparatus and data restoration apparatus
US8456332B2 (en) Systems and methods for compression of logical data objects for storage
US5703581A (en) Method and apparatus for data compression and decompression
JPH08228342A (en) Compression method and context modeler
JP2005217842A (en) Data compression method, data restoration method and program thereof
JP4179640B2 (en) Arithmetic coding and decoding of information signals
CN103702133B (en) A kind of compression of images methods of exhibiting and its device
JP5656593B2 (en) Apparatus and method for decoding encoded data
JPH07295785A (en) Data compressing method
Saravanan et al. Enhancing efficiency of huffman coding using Lempel Ziv coding for image compression
JP2836467B2 (en) Binary symbol encoding / decoding circuit
US20060170574A1 (en) Method and apparatus for compressing and decompressing data, and computer product
JP2011114546A (en) Data compressor, data decompressor, data compression program, and data decompression program
JP3774425B2 (en) Data encoding / decoding method and apparatus, data encoding / decoding program, and recording medium recording the program
JP4758494B2 (en) Circuit and method for converting bit length to code
TW516326B (en) Data transformation for explicit transmission of control information
KR101256893B1 (en) Apparatus and method for encoding/coding data
JP3429623B2 (en) High-speed variable-length code decoding device
JP2002185331A (en) How to filter digital data
JP2005521324A (en) Method and apparatus for lossless data compression and decompression
JP4953145B2 (en) Character string data compression apparatus and method, and character string data restoration apparatus and method
Alwahab New Technology to improve an Image Compression using the LZW Algorithm
Chandrasekhar et al. Compressing feature sets with digital search trees
JP3688064B2 (en) Image compression method and image compression apparatus

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040728

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20040728

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20040728

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20050614

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20051114

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20051116

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060116

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: 20060208

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060217

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: 20090224

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100224

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110224

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110224

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120224

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130224

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees