JP2006520155A - 可変長誤り訂正符号の構築のための方法および装置 - Google Patents

可変長誤り訂正符号の構築のための方法および装置 Download PDF

Info

Publication number
JP2006520155A
JP2006520155A JP2006506322A JP2006506322A JP2006520155A JP 2006520155 A JP2006520155 A JP 2006520155A JP 2006506322 A JP2006506322 A JP 2006506322A JP 2006506322 A JP2006506322 A JP 2006506322A JP 2006520155 A JP2006520155 A JP 2006520155A
Authority
JP
Japan
Prior art keywords
code
distance
length
word
minimum
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.)
Pending
Application number
JP2006506322A
Other languages
English (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.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips Electronics NV
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 Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Publication of JP2006520155A publication Critical patent/JP2006520155A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/63Joint error correction and other techniques
    • H03M13/6312Error control coding in combination with data compression
    • H03M13/6318Error control coding in combination with data compression using variable length codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/033Theoretical methods to calculate these checking codes
    • H03M13/036Heuristic code construction methods, i.e. code construction or code search based on using trial-and-error
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/19Single error correction without using particular properties of the cyclic codes, e.g. Hamming codes, extended or generalised Hamming codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/21Non-linear codes, e.g. m-bit data word to n-bit code word [mBnB] conversion with error detection or error correction

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Nonlinear Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Error Detection And Correction (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本発明は可変長誤り訂正(VLEC:variable-length error-correcting)符号技術に関するものであり、その主要なステップは:必要とされる全パラメータを定義し、固定長L1を有する符号を生成し、そうして得られる集合W内に符号語から最小発散距離dmin離れたあらゆる可能なL1元項を保存し(こうして得られた新しい集合Wが空でなければあらゆる語の末尾に追加の1ビットが添加される)、あらゆる符号語と距離の基準を満たさないWのすべての語を消去し、最終的な集合Wのあらゆる語が別の距離基準を満たすことを検証することである。本発明によれば、符号語消去はもはや直前に得たグループだけで行うのではなく、符号語消去工程においてアルゴリズムが所与の長さLsのグループに途中をスキップして戻って行うような動作を実現することが提案される。これにより非常にすばやく短い符号長に立ち戻り、先行諸方法の多くのステップをスキップすることができるようになる。

Description

本発明は可変長誤り訂正符号を構築する方法に関するものであり、該方法は:
(1)必要とされるパラメータ:符号語の長さの最小値および最大値としてそれぞれL1およびLmax、各符号語の間の自由距離dfree(該距離dfreeは、VLEC符号Cについて、あらゆる任意の拡張符号の集合におけるハミング距離の最小値である)、必要とされる符号語の数S、を初期化し、
(2)長さL1で最小距離bminの固定長符号Cを生成し、ここで、bmin=min{bk;k=1,2,…,R}、bkは符号Cの符号語長Lkに関連した距離で、符号Cにおける長さLkのあらゆる符号語の間のハミング距離の最小値として定義されるものであり、RはCにおける異なる符号語長の数であり、該生成ステップはnビットの長さで距離d離れた語の集合Wを生成し、
(3)集合W内でCの符号語から距離dmin離れたあらゆる可能なL1元項を列挙して保存し(該距離dminは、VLEC符号Cについて、Cの長さの異なる符号語のあらゆる可能な対の間のあらゆる発散距離の最小値である)、前記集合Wが空でなければあらゆる語の末尾に追加の1ビットを添加することによって語の数を倍加し、該保存ステップはこれにより集合Wを先の集合の二倍の語を有しその各語の長さがL1+1である新しい集合で置き換え、
(4)集合Wの語のうちCのあらゆる符号語とのcmin距離を満たさないものすべてを消去し、該距離cminは符号Cの最小収束距離であり、
(5)語がみつからないか、あるいはビット数の最大値に達した場合には、より多くの語をみつけるために距離の制約を減らし、
(6)集合Wのあらゆる語が距離bminであるよう制御し、みつかった語を次いで符号Cに追加し、
(7)符号語の必要数に達していない場合にはステップ(1)〜(6)を繰り返し、当該方法によってそれ以上継続する可能性がなくなるか、あるいは符号語の必要数に達するかするまで続け、
(8)Cの符号語の数がSより大きい場合には、VLEC符号の構造に基づき、各符号語長を情報源の確率で重みをかけて得られる平均長ALを計算し、該ALがALminより小さければ該ALがALminになるものとし(ALmin=ALの最小値)、対応する符号構造が記憶装置に保存される、
ステップを有するものである。
本発明はまた、前記構築方法を実行できるようにする、対応する装置にも関する。
図1に示した古典的な通信チェーンは、情報源Sからくる信号を符号化するため、情報源符号化手段1(SCOD:source coder)、続いて通信路符号化手段2(CCOD:channel coder)、そしてこうして得られた符号化信号を通信路3を通じて伝送したのちに通信路復号手段4(CDEC:channel decoder)、情報源復号手段5(SDEC:source decoder)を有する。復号された信号は受信者に向けて送られることが意図されている。情報源符号化においては古典的には可変長符号(VLC:variable-length code)がその圧縮機能のために用いられ、付随する通信路符号化技術は現実の伝送通信路の影響(減衰、雑音など)に対処するものである。だが、情報源符号化が除去しようとした冗長性を通信路符号化が再導入しようとしていることになるので、これらの技術を効率的に調整して、複雑さを容認可能レベルに抑えつつ全体としてのシステムを改善できないものかと研究が重ねられてきた。
そのような路線の中で提案された解決法のなかでも、可変長誤り訂正(VLEC:variable-length error correcting)符号は誤り訂正機能を備えながら可変長であるという利点を呈するものであるが、これらの符号を構築するのは小さなアルファベットに対してでもかなり時間がかかり(情報源のアルファベットが大きくなると実用にならないほどになってしまう)、構築の複雑さも難点となっていた。そのことはのちに示す。
まず最初に、古典的なVLCのいくつかの定義と性質を想起しておかねばならない。符号CとはS個の符号語の集合{c1,c2,c3,…,ci,…,cS}である。各符号語には長さli=|ci|が定義され、一般性を失うことなくl1≦l2≦l3≦…≦li≦…≦lSとできる。符号Cにおける異なる符号語長の数はRと呼ばれ、明らかにR≦Sである。これらの異なる符号語長はL1,L2,L3,…,Li,…,LRと表され、ここでL1<L2<L3<…<LRである。そして可変長符号すなわちVLCという構造は、(s1@L1,s2@L2,s3@L3,……,sR@LR)で表される。これは、長さL1の符号語s1個、長さL2の符号語s2個、長さL3の符号語s3個、……長さLRの符号語sR個、ということに対応する。VLCを使う際、ある所与の情報源についての圧縮効率は、該情報源からの記号を伝送するのに必要とされるビット数に関係してくる。この効率を推定する尺度として、しばしば符号の平均長ALが使われる。これはすなわち、一語を伝送するのに必要とされるビット数の平均であり、該平均長は、各記号aiが符号語ciに対応付けられるとすると、次の関係式(1)によって与えられる。
Figure 2006520155
これは次の式(2)に等価である。
Figure 2006520155
ここで、源データAについて、S個の源記号が{a1,a2,a3,…,aS}で表されており、P(ai)はこれらの各記号が生起するそれぞれの確率で、ΣP(ai)=1(和はi=1からi=Sまで)である。ALminを平均長ALの最小値とすると、ALminに達したときの各記号の対応付けは、P(a1)≧P(a2)≧P(a3)≧…≧P(ai)≧…≧P(aS)となるようなものであることはすぐわかる。受信者が符号化された情報を復号できるような仕方でデータをエンコードするには、VLCは次の性質を満たしている必要がある:非特異的であり(あらゆる符号語が異なる、すなわち一つの符号語には一つの源記号しか対応しない)、そして一意的に復号可能である(すなわち、符号語のいかなる列も、もとの正しい源記号に、誤りなく、あいまいさなしに対応付けることが可能である)。
VLC符号のいくつかの一般的な性質を見直す際に有用なさまざまな距離の概要を提示しておくことは、VLEC符号理論において使われる誤り訂正機能の考えを想起する上で助けとなることであろう。
(a)ハミング重みとハミング距離:wを長さnの語で、w=(w1,w2,…,wn)とすると、wのハミング重み、あるいは単に重みは、w内における0でない記号の数W(w)である。
Figure 2006520155
そしてw1およびw2を長さnが同じ二つの語で、i=1,2に対してwi=(wi1,wi2,wi3,…,win)とすると、w1とw2の間のハミング距離(あるいは単に距離)は、w1とw2で異なっている位置の数である(たとえば、二進の場合、2を法とする加法の前提で、
H(w1,w2)=W(w1+w2) (4)
であることは容易にわかる)。ところが、ハミング距離は定義により固定長符号に限定される。よって、VLEC符号を考える前に他の距離を定義しておくことにする。
(b)fi=w1 iw2 i…wn iをVLEC符号Cのn個の語の連結とすると、集合FN={fi:|fi|=N}はCのN次の拡張符号と呼ばれる。
(c)最小ブロック距離と全体的最小ブロック距離:VLEC符号Cの符号語長Lkに関連する最小ブロック距離bkは、同一の長さLkをもつCのあらゆる異なる符号語の間のハミング距離の最小値として定義される。
bk=min{H(ci,cj):ci,cj∈C,i≠j,|ci|=|cj|=Lk} k=1,…,R (5)
一方、前記VLEC符号Cの全体的最小ブロック距離bminは、あらゆる可能な長さLkに対する最小ブロック距離のうちの最小値であるが、これは次式で定義される。
bmin=min{bk:k=1,…,R} (6)
(d)発散距離と最小発散距離:VLEC符号Cの長さの異なる二つの符号語をci=xi1xi2…xil[i]およびcj=xj1xj2…xjl[j]とすると、ここでci,cj∈C,li=|ci|,lj=|cj|でli>lj〔以下、添え字ではliをl[i]と示したり便宜上コンマで他の添え字と区切ったりすることがある〕であるが、前記二つの符号語の間の発散距離は次式で定義される。
D(ci,cj)=H(xi1xi2…xil[i],xj1xj2…xjl[j]) (7)
すなわち、これは長さljの符号語とより長い符号語の長さljのプレフィックスとの間のやはりハミング距離である。一方、前記VLEC符号Cの最小発散距離dminは不均等な長さのCの符号語のあらゆる可能な対の間のあらゆる発散距離の最小値であり、次式で与えられる。
dmin=min{D(ci,cj):ci,cj∈C,|ci|≠|cj|} (8)
(e)収束距離と最小収束距離:VLEC符号Cの長さの異なる二つの符号語をci=xi1xi2…xil[i]およびcj=xj1xj2…xjl[j]とすると、ここで|ci|=li>|cj|=ljであり、前記二つの符号語の間の収束距離は次式で定義される。
C(ci,cj)=H(xi,l[i]−l[J]+1xi,l[i]−l[J]+2…xil[i], xj1xj2…xjl[j])(9)
すなわち、これは長さljの符号語とより長い符号語の長さljのサフィックスとの間のやはりハミング距離である。一方、前記VLEC符号Cの最小収束距離cminは不均等な長さのCの符号語のあらゆる可能な対の間のあらゆる収束距離の最小値であり、次式で与えられる。
cmin=min{C(ci,cj):ci,cj∈C,|ci|≠|cj|} (10)
(f)自由距離:ある符号の自由距離dfreeとは、何らかの共通状態Siから発散して別の何らかの共通状態Sjに収束する(j>i)ようなあらゆる任意の拡大符号列の集合における、最小のハミング距離である。
dfree=min{H(fi,fj):fi,fj∈FN,N=1,2,…,∞} (11)
VLCのときに使った構造モデルにならって、VLEC符号Cの構造を次のように書くことができる。
S1@L1,b1;S2@L2,b2;…;SR@LR,bR;dmin,cmin (12)
ここで、すべてのi=1,2,…,Rに対して(Rが異なる符号語長の数であったことを想起されたい)長さLiで最小ブロック距離biのSi個の符号語がある。そして最小発散距離dminと最小収束距離cminがある。VLEC符号の最も重要なパラメータはその自由距離dfreeである。この自由距離が、誤り訂正能力という意味での符号の実力を大きく左右する。VLEC符号の自由距離は次式によって制限を受けることが示される。
dfree≧min(bmin,dmin+cmin) (13)
以上の定義を想起したことで、VLEC符号構築における現状最新技術のこれからの説明がより容易になる。1974年に導入された第一の種類のVLEC符号はαプロンプト符号と呼ばれるもので、これとαt1,t2,…,tRプロンプト符合と呼ばれるこの族の拡張とはいずれも共通の本質的な性質を有している:ciへの距離が他のどの符号語cj(j≠i)への距離よりも近い語の集合をα(ci)で表すとすると、α(ci)に含まれるいかなる列も別のα(ci)に含まれる列のプレフィックスにはならない。このような符号の構築はきわめて簡単である。その構築アルゴリズムはそれぞれの長さでの符号語の数によって調整できるので、所与の情報源および所与のdfreeに対して最良のプロンプト符号をみつけることが可能となる。しかし、この最良符号は圧縮効率という面では貧弱なはたらきである。
固定長線形ブロック符号の生成行列からVLEC符号を構築できるようにするという、より最近の構築法は、V.Buttigiegによる博士論文“Variable-length error-correcting codes”(University of Manchester,England,1995)という文献によって提案された。符号・反符号構築法と呼ばれるこのアルゴリズムは、行の結合と列の並べ替えによって右端の列に反符号を形成することに基づいている。ひとたび符号・反符号生成行列が得られれば、VLEC符号は単に行列の乗算によって得られる。
この技法にはしかしながらいくつかの難点がある。第一に、反符号を得るために必要とされる行の結合と列の並べ替えを見出す明示的な方法がない。さらに、この構築法は情報源の統計情報を考慮に入れておらず、したがってしばしば最適にならないことがある(VLEC符号に対して後処理をすることで平均長のより小さな符号をみつけられる)。同じ文献において、著者は次いで発見的方法と呼ばれる改良された方法を提案している。これは、ある指定された情報源について既知のよりよい圧縮率と、誤りに対するある所定の保護とを与えるようなVLEC符号の構築をコンピュータによって探し出すことに基づいている。すなわち、指定された全体的最小ブロック距離、発散距離、収束距離(よってdfreeの最小値も)をもち、情報源の統計に適合した符号長をもつことで選択された自由距離(実際にはbmin=dmin+cmin=dfreeでdmin=[dfree/2]ととる)および指定された情報源について平均符号語長が最小のものが得られるようにした符号Cをコンピュータ探索によって構築するのである。
この発見的方法の主要なステップについて、図2から図4のフローチャートを参照しつつこれから説明することにする。ここで、次のパラメータ:符号語の最小長L1、符号語の最大長Lmax、各符号語の間の自由距離dfree、必要とされる符号語の数S、を使っている。
コンピュータ探索を開始するには(「開始」)、必要とされるあらゆるパラメータをまず指定しておかねばならない:L1(最小符号語長で、これは要求される最小発散距離以上でなければならない)、Lmax(最大符号語長)、符号語間のさまざまな距離(dfree、bmin、dmin、cmin)、S(所与の情報源によって必要とされる符号語の数)である。そしてこれらのパラメータを選ぶにあたってはいくつかの関係が課されている。
L1≧dmin
bmin=dfree
dmin+cmin=dfree
そうしてこのアルゴリズムの第一段階(参照符号11)が実行される。これは長さL1で最小ブロック距離bminの固定長符号(初期値としてCに入れられる)をある最大数の符号語を使って生成することからなる。この段階は事実上初期化に相当し、たとえば図5で扱う貪欲アルゴリズム(GA:greedy algorithm)や図7で扱う多数決アルゴリズム(MVA:majority voting algorithm)のようなアルゴリズムによって実行される。あるいは新たに提案された変形―GAS(Greedy Algorithm by Step[ステップによる貪欲アルゴリズム])と表現される―を使ってもよく、これは上述した二つの方法の変形からなる。GASはGAで使われる探索方法で、符号語の半分を消去する代わりに、当該グループの最後の符号語だけが消去されるようにしたものである。前記二つのアルゴリズムは距離d離れたnビットの長さの語の集合Wを生成する上で有用である。実際上は、MVAのほうがGAよりも多くの語をみつけることに気がつくかもしれないが、圧縮率のわずかばかりの向上のためにあまりに多くの時間を要求する。そのことは図6および図8の表に示されている。それはそれぞれGA、MVAについて、図9の表で定義されている26記号からなる英語の情報源について異なるdfreeの値を用いて得られる最良符号構造を比較しているものである。
このアルゴリズムの第二段階は、図2の参照符号21〜24の要素に対応し(21+22=工程A0、23+24=工程A2)、Wと呼ばれる集合中でC中の符号語から距離dmin離れたあらゆる可能なL1元項を列挙し、保存するものである(ステップ21)。dmin≧bminであれば、Wは空である。現在の符号への最小拡散距離を満たすあらゆる語からなるこの集合Wが空でなければ(試験22の|W|=0?への答えがNOの場合)、Wにおけるすべての語の右端に0を添加したもの、1を添加したものをつくることで語の長さを1増すことによってWにおける語の数は二倍にされる(ステップ24)。ただし、最大ビット数を超えていた場合(試験23への答えがYESの場合)は除く。前記ステップ24の出力において、この修正された集合Wは先のWに比べて二倍の語を有しており、各語の長さはL1+1となっている。
このアルゴリズムの第三段階は、要素31〜35(=図2の工程A3)に対応し、集合W中でC中のすべての符号語とのcmin距離(最小収束距離)を満たさないすべての語を消去する(ステップ31)ものである(すなわち、前記最小収束距離を満たす語だけを残して新しいWに保存し、他の語はみな捨てる)。この時点で、新しい集合Wは、Cの符号語と比較したときに、要求されているCの符号語との最小発散距離と最小収束距離の条件(dminおよびcminの両方)を満たす語の集合となっている。新しい集合Wが空でなければ(試験32の|W|=0?への答えがNOの場合)、Wにおいて最小ブロック距離を満たす最大数の語を選択する。これは集合Wのすべての語(みな同じ長さである)が少なくともbminの最小距離を有することを保証するためである。このステップ33はGAまたはMVAによって実現されるものであるが(この場合、GAまたはMVAのために初期値として使われる集合は現在のWであって、n元項集合ではないことに注意)、その終わりに、こうして得られた語がすでにCに含まれている符号語に追加される(ステップ34)。
ステップ21の終わりで語がみつからなかった(すなわちWが空である)場合(試験22の|W|=0?への答えがYESの場合)、あるいは最大ビット数に達するかそれを超えていた場合(試験23への答えがYESの場合)、アルゴリズムは第四段階にはいる(図3のステップ41から46で、また同じ図で工程A1とも示されている)。これは選択の自由を増やすことによって、処理の行き詰まりを解くために用いられる。より具体的にはW中のすべての語に追加ビット(同時に数ビット)を添加して新しいグループが前のものより多くのビットを含むようにする。直前のグループに十分な符号語があれば(連続する試験41および42で直前のグループに含まれる符号語の数、その前のグループがあるかどうかを調べる)、前記グループから符号語の一部が消去される(前述の通り)。そのような消去によって距離の制約を減らし、以前よりも多くの符号語をみつけることができるようになる。実のところ、ここに記述した古典的な発見的方法は、最大数の短い長さの符号語から始まり、それらに高確率の記号を割り当て、高い圧縮率を得ようとしている。しかし、時には短い長さからなる集合の大きさが必要とされる符号語の数Sと相容れないこともある。この観点から、若干の符号語をまびくことによって自由度が増え、当該符号についての距離および記号数に対する当初の要求が満たされうる位置に達することができるようになる。この消去プロセスは各長さに対して最大一つの符号語が残るまで続けられる。ステップ31の終わりにWが空であれば(試験32の|W|=0?への答えがYESの場合)、ステップ23、24、31、32が繰り返される。もし要求される符号語数に達していなければ(この第三段階の終わりに設けられている試験35で答えがNOの場合)、ステップ21から24および31から35が繰り返され、前記ステップがそれ以上みつける可能性のある語がなくなるか、あるいは要求されている符号語数に達するかするまで続けなければならない。
もし前記の要求されている符号語数に達していたら、すなわちCの符号語数がSに等しいかそれを超えていたら(試験35の答えがYESの場合)、こうして得られたVLEC符号の構造が、ステップ51から56を含む第五段階(図4に示してあり、また同図で工程A4と示されている)において、平均長ALを計算するために使われる。これは各符号語長に情報源の生起確率で重みをかけ、それを現在の最良の値と比較することによってなされる。このVLEC符号の前記平均長ALがALの最小値(=ALmin)より小さければ、このALがALminとなり、この新しいAL値および対応する符号構造が記憶装置に保存される(ステップ51)。これらのステップ51および後続ステップ(第五段階、工程A4)はアルゴリズム内で先のグループに戻ることができ、前記アルゴリズムの他の段階が常に現在のグループに対して実行されているのと対照的である。そのような戻り操作で戻る段階は1である。すなわち、この戻り操作は網羅的なものと見なすことができる。
この最良VLEC符号の探索を続けるには、同一構造を保持することを避けることが必要である。さもないとアルゴリズムはループになってしまう。現在の符号の直前に追加されたグループが消去される(ステップ52、53)。より長い符号語をもっとたくさんみつけられるようにより短い符号語を消去するかどうかが判断され(試験54:グループ内の符号語数が1より大きいか?)、前のグループの一部の符号語(GAでは半数、MVAでは「最良の」もの)が消去される(ステップ55)。これがアルゴリズムをステップ21(図2)のはじめに戻って反復させ(ステップ56)、異なるVLEC構造をみつけるために行われるのである(消去される符号語の数は語を選択するのにどの方法を使うかに依存する:GA法が使われ、線形符号を得たいのであれば符号語の半分を消去することが必要である一方、MVA法では一つの符号語―最良のもの、すなわち次のグループにより多くの符号語がみつかるようなもの―が消去される)。
しかしながら、ここまでに述べてきた発見的方法は、該方法の実装において、しばしば非常に不自然な符号構造を考慮したり、(漏れがないようにするあまり)非常な複雑さが認められるほど慎重な進み方をしたりする。その上比較的時間がかかり、よって実用にならなくなることもある。そのため、2002年10月23日に申請された欧州特許出願、書類番号02292624.0(PHFR020110)において、こうした欠点を避けることによって複雑さの面で利となりうる改良された構築方法が提案されている。可変長誤り訂正符号を構築するための該方法は:
(1)必要とされるパラメータ:符号語の長さの最小値および最大値としてそれぞれL1およびLmax、各符号語の間の自由距離dfree(該距離dfreeは、VLEC符号Cについて、あらゆる任意の拡張符号の集合におけるハミング距離の最小値である)、必要とされる符号語の数S、を初期化し、
(2)長さL1で最小距離bminの固定長符号Cを生成し(ステップ11)、ここで、bmin=min{bk;k=1,2,…,R}、bkは符号Cの符号語長Lkに関連した距離で、符号Cにおける長さLkのあらゆる符号語の間のハミング距離の最小値として定義されるものであり、RはCにおける異なる符号語長の数であり、該生成ステップ11はnビットの長さで距離がdの語の集合Wを生成し、
(3)集合W内でCの符号語から距離dmin離れたあらゆる可能なL1元項を列挙して保存し(ステップ21)(該距離dminは、VLEC符号Cについて、Cの長さの異なる符号語のあらゆる可能な対の間のあらゆる発散距離の最小値である)、前記集合Wが空でなければあらゆる語の末尾に追加の1ビットを添加することによって語の数を倍加し、該保存ステップはこれにより集合Wを先の集合の二倍の語を有しその各語の長さがL1+1である新しい集合で置き換え、
(4)集合Wの語のうちCのあらゆる符号語とのcmin距離を満たさないものすべてを消去し(ステップ31)、該距離cminは符号Cの最小収束距離であり、
(5)語がみつからないか、あるいはビット数の最大値に達した場合には、より多くの語をみつけるために距離の制約を減らし(ステップ41)、
(6)集合Wのあらゆる語が距離bminであるよう制御し、みつかった語を次いで符号Cに追加し(ステップ34)、
(7)符号語の必要数に達していない場合には(ステップ35)ステップ(1)〜(6)(すなわち、ステップ21から35)を繰り返し、当該方法によってそれ以上継続する可能性がなくなるか、あるいは符号語の必要数に達するかするまで続け、
(8)Cの符号語の数がSより大きい場合には、VLEC符号の構造に基づき、各符号語長を情報源の確率で重みをかけて得られる平均長ALを計算し(工程A4)、該ALがALminより小さければ該ALがALminになるものとし(ALmin=ALの最小値)、対応する符号構造が記憶装置に保存される、
ステップを有するものであり、該構築方法はさらに、集合Wの各語の末尾に高々1ビットしか追加されないことを特徴としている。
シミュレーションによると、古典的な発見的方法を用いた場合、得られた最良符号のほとんどどれにもホール(すなわち、構造長における長さのとび)がない。前記引用文献では、たいていの良好な符号は長さのとびがなく、よって調査されたVLEC符号の集合はそれにしたがい減らすことができると考えられている(それはALをあまり変えることなくシミュレーション時間と該方法の実装の複雑さの削減につながる)。この仮説に基づき、前記方法は、上に引用した欧州特許文献では、集合Wの各語の末尾に2ビット以上の追加をすることを避けるように修正されている。この新しい構造では回路45は取り消されている。これはすなわち、語に数ビットの追加を添加することはもはや許されず、1ビットの添加のみが許されるということであり、これは図3に関連して言うと、工程A1の単純化につながる(図11)。対応する実装(改良された発見的構築法で、「ホールのない最適化法」ともいう)は図10および図11において図示されている。これらは前記方法に対応するフローチャートの前半および後半である(図2から図4に見られた要素と同一の要素は同じ参照符号で示されている)。図2〜図4のフローチャートとの関係では、古典的な発見的技法に関連するうちで前記改良された方法の実装に無用の部分が取り消されている。
(a)ステップ31の終わりにWが空である場合(試験32の|W|=0?への答えがYESの場合)、今では次の段階は(図10参照)ステップ23、24、31、32の反復ではなく、前記「ホールのない」方法によれば、(前記反復の代わりに)工程55を実行する回路の入力への直接接続91の確立である。この工程55はステップ21〜24、31〜35の大域的な反復の前に一部の符号語または最良の符号語を消去しておくものであり、その次には以前と同様に工程21以下が続く。
(b)該方法の第四段階は今では単一のステップ、工程41にまで減らされている。これは「直前のグループの語数=1?」の検査である。この答えがNOであれば、ステップ55の入力との直接リンクが確立される。前記工程55を実行し、次いで工程21以下を実行するためである。答えがYESの場合には、工程52〜54の組の入力との接続102が確立される。
こうして得られた結果が図12の表に掲げてある。これは、26記号の英語情報源について、符号語を選択するのにGAS法を使った場合である。図13に掲げる結果と比較した場合、dfree=3については結果は完全に最適ではないものの(符号構造は長さL=11のところにホールがある)、他のdfree値については厳密に全く劣化が見られず、2.5から4倍の時間的利得が得られることを考えると、ALの上昇は本当に許容範囲内である。同じことは、本解決を図7で得られたものと比べるときにもあてはまる。そこではMVAの複雑さの影響が明らかになっている。同様に、GA法について符号語の選択の際にホールなしとする最適化を適用すれば、dfree=3の場合にALがわずかに上昇するだけの犠牲で時間的利得を得ることができる。最後に、図5はその一方で現解決ではホールなしの最適化がGASに起因する複雑さをほぼ完全に埋め合わせしているため、許容できる時間的利得でALはより改善される。しかしながら、前記欧州特許文献に記載されているこのような方法に関しては、生成されたVLEC符号中に短い符号語が多すぎる場合がある。
したがって、本発明の目的の一つは、(符号長の短い符号語が多すぎて当該アルゴリズムが痛々しいほど困っているような場合に)より短い符号長にきわめてすばやく立ち戻って多くのアルゴリズムステップをスキップすることのできる、改良された構築方法を提案することである。
この目的のため、本発明は本記載の導入部において規定したようなものであり、さらに前記消去が直前に得たグループだけでなく、より短い長さに非常にすばやく立ち戻るために所与の長さのグループにおいても実現されることを特徴とする、方法に関している。
本発明のある可能な改良された実装によれば、本発明は同様の方法ではあるが、今や好ましくは集合Wの各語の末尾に高々1ビットしか追加されず、さらに前記消去が直前に得たグループだけでなく、より短い長さに非常にすばやく立ち戻るために所与の長さのグループにおいても実現されることを特徴とする、方法に関している。
また、前記構築方法を実行するための装置を提案することも本発明の目的の一つである。
この目的のため、本発明はここに提案される二つの解決のうちのいずれかに基づいた可変長誤り訂正符号構築方法を実行するための装置に関するものである。
これから例を用い、図面を参照しながら本発明について説明する。
先に想起した古典的な発見的プロセスにおける符号語スタックの展開を考えると、符号語の消去を直前に得た符号語のグループだけではなく、より一般的にいかなる所与の長さのグループについても行うことができ、それによりより短い符号長に直接立ち戻れるようにする、すなわち短い符号語が多すぎるような場合に多くのアルゴリズムステップをスキップすることを提案してもよいであろう。
したがって、符号語消去段階において当該アルゴリズムがスキップする先の符号長をLsとすると(sはスキップを表す)、Ls最適化と呼ぶ本方法において、消去すべき符号語をさがす際により短い長さまで注意深くジャンプすることによって元来の発見的アルゴリズムの一部をスキップすることが提案される(ただし、考慮されている符号語グループの長さLがLsより短い場合には古典的な方法が適用されることは自明であり、その長さLのグループ内で消去が行われる)。「ホールなし」方法および「発見的」方法の先の第五段階(工程A4)に関し、このプロセスはもはや網羅的ではなくなる。つまり、前記戻り操作にあまり多くの時間を費やすのを避けるためによりすばやく以前のグループにまで戻り、目標の長さLsに到達することが可能ということである。ただし、前述のようにLsより短い長さについては古典的方法が維持される。したがって、L1とLsの間に含まれる長さのことは「自由な長さ」、すなわち自由度のある長さと呼ばれる。これらの長さが探索過程において一つずつ短い長さに向かっていくものだからである(自由な長さの数が増大すると、シミュレーション時間も増えた、指数関数的に)。
本発明に基づく方法は「Ls最適化」と呼ばれ、図10(ホールなし最適化法という先の方法の変化のない部分)と図14(ホールなし最適化法の変更された部分)を組み合わせて形成されるフローチャートに表される。該図14は図11に対し、上に提案された技術的施策を導入することによって改変したものである。
前記施策によれば、現在の符号の直前に追加されたグループが消去されるが、それは一つ前のこのグループの符号語長CLが(試験61)Ls以下である場合(試験61で答えがNOの場合)に限られる(この場合、試験61に続くステップは先述したのと同じ:ステップ53、54、そして試験54の出力において55または52である)。前記符号語長がLsより大きければ(試験61の答えがYESの場合)、追加的なステップ62が設けられており、ビット長Lsの符号語のグループに行ってLsビットより長いグループをすべて消去する。ステップ62の出力からは前述したのと同じステップ54、55が設けられている。
実際上は、シミュレーション結果によると、Lmaxを許容される最大符号語長としてLs<Lmaxについてきわめてよい圧縮率が得られている(Lsの値を増やすにつれてALの値が改善されていき最終的に一定値―最良値―に至ることが見て取れ、この振る舞いからLs=L1から始めて前記一定値に達するまでLsを増やしていくという動的なLsの選択が可能であることが示唆される)。前記26記号の英語情報源について得られた結果が図15の表に示されている(×はLsが区間[L1,Lmax]に属さなければならないことから取り得ない値を、「符号なし」はLsの値が短すぎてアルゴリズムが失敗に終わった、すなわち初期パラメータを満足させるVLEC符号がみつからなかったことを示す)。これらの結果を図12の表の一つと比較すると、dfree=3での約5倍からdfree=7での約2500まで顕著な時間的利得が見て取れる。本Ls最適化アルゴリズムによってもたらされる計算時間の削減により、208記号のMPEG−4情報源のためのVLEC符号を見出すことも可能となる。GAS,ホールなし最適化、Ls最適化をみな含むアルゴリズムを使って得られた結果が図16の表に示されている。
本発明に基づく方法は上述した実装に限られるものでないことは理解しておく必要がある。別の実装としては、たとえば「ホールなし」法と本「Ls最適化」法の特徴を組み合わせたものに対応するものであることができる。この場合、本発明に基づく方法は集合Wの各語の末尾に高々1ビットしか追加されず、同時に前記消去が直前に得たグループだけでなく、より短い長さに非常にすばやく立ち戻るために所与の長さのグループにおいても実現されるようなものとなる。
通常の通信過程を表す図である。 VLEC符号を構築するのに使われる従来の方法(発見的方法と呼ばれる)の主要なステップを図解するフローチャートのはじめの部分である。 VLEC符号を構築するのに使われる従来の方法(発見的方法と呼ばれる)の主要なステップを図解するフローチャートの図2に続く部分である。 VLEC符号を構築するのに使われる従来の方法(発見的方法と呼ばれる)の主要なステップを図解するフローチャートの最後の部分である。 図2から図4の方法の初期化に使われるアルゴリズム(貪欲アルゴリズムまたはGAと呼ばれる)の図解である。 図5のアルゴリズムを使って発見的構築法によって構築した、ある情報源に対するさまざまなVLEC符号を示す表である。 図2から図4の方法の初期化に使われるもう一つのアルゴリズム(多数決アルゴリズムまたはMVAと呼ばれる)の図解である。 図7のアルゴリズムを使って発見的構築法によって構築した、ある情報源に対するさまざまなVLEC符号を示すもう一つの表である。 26記号の英語情報源について、源記号とその生起確率との間の対応を示す表である。 図2から図4で示された従来の方法の改良の実装を図解するフローチャートの前半部分である。 図2から図4で示された従来の方法の改良の実装を図解するフローチャートの後半部分である。 図6および図8の表において扱ったのと同じ26記号の英語情報源について、GASを使ったときのさまざまなVLEC符号を示すもう一つの表である。 図12と同じ情報源について、前述したGASと本発明に基づく構築方法の両方を使ったときのさまざまなVLEC符号を示すもう一つの表である。 本発明に基づく方法を実行したときの図11のフローチャートの修正を示す図である。 本発明に基づく方法を実行したときの、26記号の英語情報源について得られた結果を示す表である。 別の情報源について同様にして得られた結果を示す表である。
符号の説明
11 L1、bminの符号生成
21 Wの要素を列挙・保存
22 |W|=0?
23 最大ビット数超過?
24 追加の1ビットを添加
31 Wでcminに適合する語のみ保持
32 |W|=0?
33 Wで適合する最大数の語を選択
34 符号語に追加
35 必要数に達したか?
41 直前のグループの語数=1?
42 その前のグループあり?
43 その前のグループに行って消去
44 Wの要素を列挙・保存
45 追加の数ビットを添加
46 最大ビット数超過?
51 記憶装置に保存
52 前のグループあり?
53 前のグループに行って消去
54 符号語の数>1?
55 直前のグループの符号語を消去
61 前のグループの符号語長検査
62 符号語長がLsビットのグループに行って消去

Claims (3)

  1. 可変長誤り符号を構築する方法であって:
    (1)必要とされるパラメータ:符号語の長さの最小値および最大値としてそれぞれL1およびLmax、各符号語の間の自由距離dfree(該距離dfreeは、VLEC符号Cについて、あらゆる任意の拡張符号の集合におけるハミング距離の最小値である)、必要とされる符号語の数S、を初期化し、
    (2)長さL1で最小距離bminの固定長符号Cを生成し、ここで、bmin=min{bk;k=1,2,…,R}、bkは符号Cの符号語長Lkに関連した距離で、符号Cにおける長さLkのあらゆる符号語の間のハミング距離の最小値として定義されるものであり、RはCにおける異なる符号語長の数であり、該生成ステップはnビットの長さで距離d離れた語の集合Wを生成し、
    (3)集合W内でCの符号語から距離dmin離れたあらゆる可能なL1元項を列挙して保存し(該距離dminは、VLEC符号Cについて、Cの長さの異なる符号語のあらゆる可能な対の間のあらゆる発散距離の最小値である)、前記集合Wが空でなければあらゆる語の末尾に追加の1ビットを添加し、該保存ステップはこれにより集合Wを先の集合の二倍の語を有しその各語の長さがL1+1である新しい集合で置き換え、
    (4)集合Wの語のうちCのあらゆる符号語とのcmin距離を満たさないものすべてを消去し、該距離cminは符号Cの最小収束距離であり、
    (5)語がみつからないか、あるいはビット数の最大値に達した場合には、より多くの語をみつけるために距離の制約を減らし、
    (6)集合Wのあらゆる語が距離bminであるよう制御し、みつかった語を次いで符号Cに追加し、
    (7)符号語の必要数に達していない場合にはステップ(1)〜(6)を繰り返し、当該方法によってそれ以上継続する可能性がなくなるか、あるいは符号語の必要数に達するかするまで続け、
    (8)Cの符号語の数がSより大きい場合には、VLEC符号の構造に基づき、各符号語長を情報源の確率で重みをかけて得られる平均長ALを計算し、該ALがALminより小さければ該ALがALminになるものとし(ALmin=ALの最小値)、対応する符号構造が記憶装置に保存される、
    ステップを有し、前記消去が直前に得たグループだけでなく、より短い長さに非常にすばやく立ち戻るために所与の長さ値のグループにおいても実現されることを特徴とする方法。
  2. 可変長誤り符号を構築する方法であって:
    (1)必要とされるパラメータ:符号語の長さの最小値および最大値としてそれぞれL1およびLmax、各符号語の間の自由距離dfree(該距離dfreeは、VLEC符号Cについて、あらゆる任意の拡張符号の集合におけるハミング距離の最小値である)、必要とされる符号語の数S、を初期化し、
    (2)長さL1で最小距離bminの固定長符号Cを生成し、ここで、bmin=min{bk;k=1,2,…,R}、bkは符号Cの符号語長Lkに関連した距離で、符号Cにおける長さLkのあらゆる符号語の間のハミング距離の最小値として定義されるものであり、RはCにおける異なる符号語長の数であり、該生成ステップはnビットの長さで距離d離れた語の集合Wを生成し、
    (3)集合W内でCの符号語から距離dmin離れたあらゆる可能なL1元項を列挙して保存し(該距離dminは、VLEC符号Cについて、Cの長さの異なる符号語のあらゆる可能な対の間のあらゆる発散距離の最小値である)、前記集合Wが空でなければあらゆる語の末尾に追加の1ビットを添加し、該保存ステップはこれにより集合Wを先の集合の二倍の語を有しその各語の長さがL1+1である新しい集合で置き換え、
    (4)集合Wの語のうちCのあらゆる符号語とのcmin距離を満たさないものすべてを消去し、該距離cminは符号Cの最小収束距離であり、
    (5)語がみつからないか、あるいはビット数の最大値に達した場合には、より多くの語をみつけるために距離の制約を減らし、
    (6)集合Wのあらゆる語が距離bminであるよう制御し、みつかった語を次いで符号Cに追加し、
    (7)符号語の必要数に達していない場合にはステップ(1)〜(6)を繰り返し、当該方法によってそれ以上継続する可能性がなくなるか、あるいは符号語の必要数に達するかするまで続け、
    (8)Cの符号語の数がSより大きい場合には、VLEC符号の構造に基づき、各符号語長を情報源の確率で重みをかけて得られる平均長ALを計算し、該ALがALminより小さければ該ALがALminになるものとし(ALmin=ALの最小値)、対応する符号構造が記憶装置に保存される、
    ステップを有し、前記集合Wの各語の末尾に高々1ビットしか追加されず、さらに前記消去が直前に得たグループだけでなく、より短い長さに非常にすばやく立ち戻るために所与の長さ値のグループにおいても実現されることを特徴とする方法。
  3. 請求項1または2のうちいずれか一項記載の可変長誤り符号構築方法を実行する装置。
JP2006506322A 2003-03-11 2004-03-04 可変長誤り訂正符号の構築のための方法および装置 Pending JP2006520155A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP03290604 2003-03-11
PCT/IB2004/000682 WO2004082148A1 (en) 2003-03-11 2004-03-04 Method and device for building a variable-length error code

Publications (1)

Publication Number Publication Date
JP2006520155A true JP2006520155A (ja) 2006-08-31

Family

ID=32981966

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006506322A Pending JP2006520155A (ja) 2003-03-11 2004-03-04 可変長誤り訂正符号の構築のための方法および装置

Country Status (6)

Country Link
US (1) US7178094B2 (ja)
EP (1) EP1604459A1 (ja)
JP (1) JP2006520155A (ja)
KR (1) KR20050114647A (ja)
CN (1) CN1759536A (ja)
WO (1) WO2004082148A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1762102A (zh) 2003-03-20 2006-04-19 皇家飞利浦电子股份有限公司 用于建立变长纠错码的方法和装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3267142B2 (ja) * 1996-02-23 2002-03-18 ケイディーディーアイ株式会社 可変長符号生成装置
US5745504A (en) * 1996-06-25 1998-04-28 Telefonaktiebolaget Lm Ericsson Bit error resilient variable length code
WO2002095955A1 (en) * 2001-05-22 2002-11-28 Koninklijke Philips Electronics N.V. Method of decoding a variable-length codeword sequence
WO2003043202A1 (en) * 2001-11-13 2003-05-22 Koninklijke Philips Electronics N.V. Method of decoding a variable-length codeword sequence
WO2003047112A2 (en) * 2001-11-27 2003-06-05 Koninklijke Philips Electronics N.V. Signal processing method, and corresponding encoding method and device
EP1556954A1 (en) * 2002-10-23 2005-07-27 Koninklijke Philips Electronics N.V. Method and device for building a variable-length error code

Also Published As

Publication number Publication date
US20060101318A1 (en) 2006-05-11
WO2004082148A1 (en) 2004-09-23
EP1604459A1 (en) 2005-12-14
US7178094B2 (en) 2007-02-13
CN1759536A (zh) 2006-04-12
KR20050114647A (ko) 2005-12-06

Similar Documents

Publication Publication Date Title
CN111628785B (zh) 使用硬选取硬译码模式下的译码器产生软信息的方法
US10326478B2 (en) Apparatus and method for encoding and decoding data in twisted polar code
Hashemi et al. Partitioned successive-cancellation list decoding of polar codes
US7644335B2 (en) In-place transformations with applications to encoding and decoding various classes of codes
US10742239B2 (en) Method for decoding a polar code with inversion of unreliable bits
US20070162821A1 (en) Parity check matrix, method of generating parity check matrix, encoding method and error correction apparatus
US8347172B2 (en) Method for decoding using dynamic scheduling scheme for low density parity check codes and apparatus thereof
US11177834B2 (en) Communication method and apparatus using polar codes
CN110661533B (zh) 优化译码器存储极化码译码性能的方法
Grinchenko et al. Improving performance of multithreshold decoder over binary erasure channel
JP2006135813A (ja) 低密度パリティチェック符号復号器及び方法
JP2006523989A (ja) 可変長誤り訂正符号の構築のための方法および装置
JP2004349901A (ja) ターボ復号器及びそれに用いるダイナミック復号方法
JP2006523399A (ja) 可変長誤り訂正符号の構築のための方法および装置
JP2006520155A (ja) 可変長誤り訂正符号の構築のための方法および装置
US8091012B2 (en) System and method for decreasing decoder complexity
US7222283B2 (en) Method and device for building a variable-length error code
WO2020139234A1 (en) Performance enhancement of polar codes for short frame lengths considering error propagation effects
Qi et al. An improved successive cancellation decoder for polar codes
KR101257776B1 (ko) 상태-체크 코드를 이용한 부호화 방법 및 부호화 장치
Gligoroski et al. New Directions in Coding: From Statistical Physics to Quasigroup String Transformations
Al-Lawati et al. On Decoding Binary Quasi-Perfect Codes Over Markov Noise Channels